diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-06-29 20:36:34 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-06-29 20:36:34 +0200 |
commit | c73759f9f10753e383c8ecab5343fe94e03fc74d (patch) | |
tree | 95bcabd2d9e09138e9e7cad938666c105ab2b719 /ice40/arch.h | |
parent | 302ccc14cfa4344aeefa413e4d686e1c279552fa (diff) | |
download | nextpnr-c73759f9f10753e383c8ecab5343fe94e03fc74d.tar.gz nextpnr-c73759f9f10753e383c8ecab5343fe94e03fc74d.tar.bz2 nextpnr-c73759f9f10753e383c8ecab5343fe94e03fc74d.zip |
Split "arch.h" in "arch.h" and "archdefs.h"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'ice40/arch.h')
-rw-r--r-- | ice40/arch.h | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/ice40/arch.h b/ice40/arch.h index 044a81f1..9ed30f93 100644 --- a/ice40/arch.h +++ b/ice40/arch.h @@ -21,72 +21,8 @@ #error Include "arch.h" via "nextpnr.h" only. #endif -#ifdef NEXTPNR_ARCH_TOP - NEXTPNR_NAMESPACE_BEGIN -typedef int delay_t; - -struct DelayInfo -{ - delay_t delay = 0; - - delay_t raiseDelay() const { return delay; } - delay_t fallDelay() const { return delay; } - delay_t avgDelay() const { return delay; } - - DelayInfo operator+(const DelayInfo &other) const - { - DelayInfo ret; - ret.delay = this->delay + other.delay; - return ret; - } -}; - -// ----------------------------------------------------------------------- - -enum BelType : int32_t -{ - TYPE_NONE, - TYPE_ICESTORM_LC, - TYPE_ICESTORM_RAM, - TYPE_SB_IO, - TYPE_SB_GB, - TYPE_ICESTORM_PLL, - TYPE_SB_WARMBOOT, - TYPE_SB_MAC16, - TYPE_ICESTORM_HFOSC, - TYPE_ICESTORM_LFOSC, - TYPE_SB_I2C, - TYPE_SB_SPI, - TYPE_IO_I3C, - TYPE_SB_LEDDA_IP, - TYPE_SB_RGBA_DRV, - TYPE_ICESTORM_SPRAM, -}; - -enum PortPin : int32_t -{ - PIN_NONE, -#define X(t) PIN_##t, -#include "portpins.inc" -#undef X - PIN_MAXIDX -}; - -enum WireType : int8_t -{ - WIRE_TYPE_NONE = 0, - WIRE_TYPE_LOCAL = 1, - WIRE_TYPE_GLOBAL = 2, - WIRE_TYPE_SP4_VERT = 3, - WIRE_TYPE_SP4_HORZ = 4, - WIRE_TYPE_SP12_HORZ = 5, - WIRE_TYPE_SP12_VERT = 6 -}; - -// ----------------------------------------------------------------------- - /**** Everything in this section must be kept in sync with chipdb.py ****/ template <typename T> struct RelPtr @@ -242,72 +178,6 @@ extern const char chipdb_blob_8k[]; /************************ End of chipdb section. ************************/ -// ----------------------------------------------------------------------- - -struct BelId -{ - int32_t index = -1; - - bool operator==(const BelId &other) const { return index == other.index; } - bool operator!=(const BelId &other) const { return index != other.index; } -}; - -struct WireId -{ - int32_t index = -1; - - bool operator==(const WireId &other) const { return index == other.index; } - bool operator!=(const WireId &other) const { return index != other.index; } -}; - -struct PipId -{ - int32_t index = -1; - - bool operator==(const PipId &other) const { return index == other.index; } - bool operator!=(const PipId &other) const { return index != other.index; } -}; - -struct BelPin -{ - BelId bel; - PortPin pin; -}; - -NEXTPNR_NAMESPACE_END - -namespace std { -template <> struct hash<NEXTPNR_NAMESPACE_PREFIX BelId> -{ - std::size_t operator()(const NEXTPNR_NAMESPACE_PREFIX BelId &bel) const noexcept { return hash<int>()(bel.index); } -}; - -template <> struct hash<NEXTPNR_NAMESPACE_PREFIX WireId> -{ - std::size_t operator()(const NEXTPNR_NAMESPACE_PREFIX WireId &wire) const noexcept - { - return hash<int>()(wire.index); - } -}; - -template <> struct hash<NEXTPNR_NAMESPACE_PREFIX PipId> -{ - std::size_t operator()(const NEXTPNR_NAMESPACE_PREFIX PipId &pip) const noexcept { return hash<int>()(pip.index); } -}; - -template <> struct hash<NEXTPNR_NAMESPACE_PREFIX BelType> : hash<int> -{ -}; - -template <> struct hash<NEXTPNR_NAMESPACE_PREFIX PortPin> : hash<int> -{ -}; -} // namespace std - -NEXTPNR_NAMESPACE_BEGIN - -// ----------------------------------------------------------------------- - struct BelIterator { int cursor; @@ -440,16 +310,6 @@ struct PipRange PipIterator end() const { return e; } }; -NEXTPNR_NAMESPACE_END - -#endif // NEXTPNR_ARCH_TOP - -// ----------------------------------------------------------------------- - -#ifdef NEXTPNR_ARCH_BOTTOM - -NEXTPNR_NAMESPACE_BEGIN - struct ArchArgs { enum @@ -838,5 +698,3 @@ struct Arch : BaseCtx }; NEXTPNR_NAMESPACE_END - -#endif // NEXTPNR_ARCH_BOTTOM |