aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/dedicated_interconnect.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-07-12 11:43:18 +0100
committergatecat <gatecat@ds0.me>2021-07-12 11:43:18 +0100
commitf03abe14d19a8e05bfd5c15f168ae8b25a1285c0 (patch)
treeaeb2cf09d41a4d7e184abc906b8d8e01cb85977f /fpga_interchange/dedicated_interconnect.cc
parent8604b030088d9b0895a9384b21e37a97741a1ba2 (diff)
downloadnextpnr-f03abe14d19a8e05bfd5c15f168ae8b25a1285c0.tar.gz
nextpnr-f03abe14d19a8e05bfd5c15f168ae8b25a1285c0.tar.bz2
nextpnr-f03abe14d19a8e05bfd5c15f168ae8b25a1285c0.zip
interchange: Skip IO ports in dedicated routing check
These have already been dealt with in arch_pack_io Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'fpga_interchange/dedicated_interconnect.cc')
-rw-r--r--fpga_interchange/dedicated_interconnect.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/fpga_interchange/dedicated_interconnect.cc b/fpga_interchange/dedicated_interconnect.cc
index 5f89e15b..56b6b706 100644
--- a/fpga_interchange/dedicated_interconnect.cc
+++ b/fpga_interchange/dedicated_interconnect.cc
@@ -425,6 +425,10 @@ bool DedicatedInterconnect::isBelLocationValid(BelId bel, const CellInfo *cell)
continue;
}
+ if (ctx->io_port_types.count(net->driver.cell->type)) {
+ continue;
+ }
+
// Only check sink BELs.
if (net->driver.cell == cell && net->driver.port == port_name) {
if (!is_driver_on_net_valid(bel, cell, port_name, net)) {
@@ -454,6 +458,10 @@ void DedicatedInterconnect::explain_bel_status(BelId bel, const CellInfo *cell)
// This net doesn't have a driver, probably not valid?
NPNR_ASSERT(net->driver.cell != nullptr);
+ if (ctx->io_port_types.count(net->driver.cell->type)) {
+ continue;
+ }
+
// Only check sink BELs.
if (net->driver.cell == cell && net->driver.port == port_name) {
if (!is_driver_on_net_valid(bel, cell, port_name, net)) {