diff options
author | gatecat <gatecat@ds0.me> | 2021-07-12 11:43:18 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-07-12 11:43:18 +0100 |
commit | f03abe14d19a8e05bfd5c15f168ae8b25a1285c0 (patch) | |
tree | aeb2cf09d41a4d7e184abc906b8d8e01cb85977f | |
parent | 8604b030088d9b0895a9384b21e37a97741a1ba2 (diff) | |
download | nextpnr-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>
-rw-r--r-- | fpga_interchange/dedicated_interconnect.cc | 8 |
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)) { |