diff options
author | Eddie Hung <eddieh@ece.ubc.ca> | 2018-08-06 17:17:39 -0700 |
---|---|---|
committer | Eddie Hung <eddieh@ece.ubc.ca> | 2018-08-06 17:17:39 -0700 |
commit | 6768a5c03e59e75ac20c666419b4e42cc16118e1 (patch) | |
tree | 46ef0184637fcb4299194cdcab25875c00958139 | |
parent | f3e46df7095582b23ffcd4726e1b33cd77df6ba0 (diff) | |
download | nextpnr-6768a5c03e59e75ac20c666419b4e42cc16118e1.tar.gz nextpnr-6768a5c03e59e75ac20c666419b4e42cc16118e1.tar.bz2 nextpnr-6768a5c03e59e75ac20c666419b4e42cc16118e1.zip |
Add Arch::isIOCell() to ecp5 and generic
-rw-r--r-- | ecp5/arch.cc | 6 | ||||
-rw-r--r-- | ecp5/arch.h | 2 | ||||
-rw-r--r-- | generic/arch.h | 2 |
3 files changed, 10 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc index d2d62241..4a3e8ef3 100644 --- a/ecp5/arch.cc +++ b/ecp5/arch.cc @@ -500,6 +500,12 @@ IdString Arch::getPortClock(const CellInfo *cell, IdString port) const { return bool Arch::isClockPort(const CellInfo *cell, IdString port) const { return false; } +bool Arch::isIOCell(const CellInfo *cell) const +{ + return cell->type == id("TRELLIS_IO"); +} + + std::vector<std::pair<std::string, std::string>> Arch::getTilesAtLocation(int row, int col) { std::vector<std::pair<std::string, std::string>> ret; diff --git a/ecp5/arch.h b/ecp5/arch.h index e00e111a..fd8d0a13 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -833,6 +833,8 @@ struct Arch : BaseCtx bool isClockPort(const CellInfo *cell, IdString port) const; // Return true if a port is a net bool isGlobalNet(const NetInfo *net) const; + // Return true if a cell is an IO + bool isIOCell(const CellInfo *cell) const; // ------------------------------------------------- // Placement validity checks diff --git a/generic/arch.h b/generic/arch.h index 59fe8d05..e7010885 100644 --- a/generic/arch.h +++ b/generic/arch.h @@ -215,6 +215,8 @@ struct Arch : BaseCtx bool getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, DelayInfo &delay) const; IdString getPortClock(const CellInfo *cell, IdString port) const; bool isClockPort(const CellInfo *cell, IdString port) const; + // Return true if a cell is an IO + bool isIOCell(const CellInfo *cell) const; bool isValidBelForCell(CellInfo *cell, BelId bel) const; bool isBelLocationValid(BelId bel) const; |