diff options
author | Alessandro Comodi <acomodi@antmicro.com> | 2021-07-01 11:56:55 +0200 |
---|---|---|
committer | Alessandro Comodi <acomodi@antmicro.com> | 2021-07-01 12:36:05 +0200 |
commit | dd7cfccbae42b0f746676582eb6187d16d2bd557 (patch) | |
tree | 042eb6c61e328f56ee1757203a4d0442c07b9955 | |
parent | 2124da44d87353dd0c7b0d2bf57ddf7789d9c39c (diff) | |
download | nextpnr-dd7cfccbae42b0f746676582eb6187d16d2bd557.tar.gz nextpnr-dd7cfccbae42b0f746676582eb6187d16d2bd557.tar.bz2 nextpnr-dd7cfccbae42b0f746676582eb6187d16d2bd557.zip |
interchange: phys: do not output nets which have no users
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
-rw-r--r-- | fpga_interchange/fpga_interchange.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fpga_interchange/fpga_interchange.cpp b/fpga_interchange/fpga_interchange.cpp index 8d54335d..89f1f958 100644 --- a/fpga_interchange/fpga_interchange.cpp +++ b/fpga_interchange/fpga_interchange.cpp @@ -535,11 +535,22 @@ void FpgaInterchange::write_physical_netlist(const Context * ctx, const std::str phys_cell.setPhysType(PhysicalNetlist::PhysNetlist::PhysCellType::PORT); } - auto nets = phys_netlist.initPhysNets(ctx->nets.size()); + int nets_to_remove = 0; + for(auto & net_pair : ctx->nets) { + auto &net = *net_pair.second; + + if (net.users.empty()) + nets_to_remove++; + } + + auto nets = phys_netlist.initPhysNets(ctx->nets.size() - nets_to_remove); auto net_iter = nets.begin(); for(auto & net_pair : ctx->nets) { auto &net = *net_pair.second; + if (net.users.empty()) + continue; + const CellInfo *driver_cell = net.driver.cell; auto net_out = *net_iter++; |