aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-18 14:18:56 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-18 14:18:56 +0200
commitce2a9f2af12bd06b9a50e48b05dad1eadbad149e (patch)
tree0a78d6cbc9db6964cddcccdfba69c3dcf94ce0fa /common
parentf30d477c8129c3c189866a4bc862724d4e8d4398 (diff)
downloadnextpnr-ce2a9f2af12bd06b9a50e48b05dad1eadbad149e.tar.gz
nextpnr-ce2a9f2af12bd06b9a50e48b05dad1eadbad149e.tar.bz2
nextpnr-ce2a9f2af12bd06b9a50e48b05dad1eadbad149e.zip
Move contents of design.h to nextpnr.h
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common')
-rw-r--r--common/design.cc20
-rw-r--r--common/design.h86
-rw-r--r--common/nextpnr.h60
3 files changed, 59 insertions, 107 deletions
diff --git a/common/design.cc b/common/design.cc
deleted file mode 100644
index 8fc3a781..00000000
--- a/common/design.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * nextpnr -- Next Generation Place and Route
- *
- * Copyright (C) 2018 Clifford Wolf <clifford@clifford.at>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#include "nextpnr.h"
diff --git a/common/design.h b/common/design.h
deleted file mode 100644
index cae50904..00000000
--- a/common/design.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * nextpnr -- Next Generation Place and Route
- *
- * Copyright (C) 2018 Clifford Wolf <clifford@clifford.at>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#ifndef DESIGN_H
-#define DESIGN_H
-
-#ifndef NEXTPNR_H
-#error Include "design.h" via "nextpnr.h" only.
-#endif
-
-NEXTPNR_NAMESPACE_BEGIN
-
-struct CellInfo;
-
-struct PortRef
-{
- CellInfo *cell = nullptr;
- IdString port;
-};
-
-struct NetInfo
-{
- IdString name;
- PortRef driver;
- std::vector<PortRef> users;
- std::unordered_map<IdString, std::string> attrs;
-
- // wire -> uphill_pip
- std::unordered_map<WireId, PipId> wires;
-};
-
-enum PortType
-{
- PORT_IN = 0,
- PORT_OUT = 1,
- PORT_INOUT = 2
-};
-
-struct PortInfo
-{
- IdString name;
- NetInfo *net;
- PortType type;
-};
-
-struct CellInfo
-{
- IdString name, type;
- std::unordered_map<IdString, PortInfo> ports;
- std::unordered_map<IdString, std::string> attrs, params;
-
- BelId bel;
- // cell_port -> bel_pin
- std::unordered_map<IdString, IdString> pins;
-};
-
-struct Context : Arch
-{
- std::unordered_map<IdString, NetInfo *> nets;
- std::unordered_map<IdString, CellInfo *> cells;
-
- Context(ArchArgs args) : Arch(args)
- {
- // ...
- }
-};
-
-NEXTPNR_NAMESPACE_END
-
-#endif
diff --git a/common/nextpnr.h b/common/nextpnr.h
index 3d505844..8986ba13 100644
--- a/common/nextpnr.h
+++ b/common/nextpnr.h
@@ -142,6 +142,64 @@ struct GraphicElement
NEXTPNR_NAMESPACE_END
#include "arch.h"
-#include "design.h"
+
+NEXTPNR_NAMESPACE_BEGIN
+
+struct CellInfo;
+
+struct PortRef
+{
+ CellInfo *cell = nullptr;
+ IdString port;
+};
+
+struct NetInfo
+{
+ IdString name;
+ PortRef driver;
+ std::vector<PortRef> users;
+ std::unordered_map<IdString, std::string> attrs;
+
+ // wire -> uphill_pip
+ std::unordered_map<WireId, PipId> wires;
+};
+
+enum PortType
+{
+ PORT_IN = 0,
+ PORT_OUT = 1,
+ PORT_INOUT = 2
+};
+
+struct PortInfo
+{
+ IdString name;
+ NetInfo *net;
+ PortType type;
+};
+
+struct CellInfo
+{
+ IdString name, type;
+ std::unordered_map<IdString, PortInfo> ports;
+ std::unordered_map<IdString, std::string> attrs, params;
+
+ BelId bel;
+ // cell_port -> bel_pin
+ std::unordered_map<IdString, IdString> pins;
+};
+
+struct Context : Arch
+{
+ std::unordered_map<IdString, NetInfo *> nets;
+ std::unordered_map<IdString, CellInfo *> cells;
+
+ Context(ArchArgs args) : Arch(args)
+ {
+ // ...
+ }
+};
+
+NEXTPNR_NAMESPACE_END
#endif