aboutsummaryrefslogtreecommitdiffstats
path: root/mistral
diff options
context:
space:
mode:
authorOlivier Galibert <galibert@pobox.com>2021-10-19 22:19:18 +0200
committerOlivier Galibert <galibert@pobox.com>2021-10-19 22:25:55 +0200
commit8d330f1dc762e07535d148f41fcf7e32d91b060d (patch)
treecef6955763008f21324e1cdee8738ab211a7cc49 /mistral
parent3b99db294f95d7da8160efd6d67ebfd50ca9ef0f (diff)
downloadnextpnr-8d330f1dc762e07535d148f41fcf7e32d91b060d.tar.gz
nextpnr-8d330f1dc762e07535d148f41fcf7e32d91b060d.tar.bz2
nextpnr-8d330f1dc762e07535d148f41fcf7e32d91b060d.zip
mistral: Use the iterators
Diffstat (limited to 'mistral')
-rw-r--r--mistral/arch.cc19
1 files changed, 8 insertions, 11 deletions
diff --git a/mistral/arch.cc b/mistral/arch.cc
index 60456846..52a6a72b 100644
--- a/mistral/arch.cc
+++ b/mistral/arch.cc
@@ -87,17 +87,14 @@ Arch::Arch(ArchArgs args)
// This import takes about 5s, perhaps long term we can speed it up, e.g. defer to Mistral more...
log_info("Initialising routing graph...\n");
int pip_count = 0;
- for (const auto &mux : cyclonev->dest_node_to_rmux) {
- const auto &rmux = cyclonev->rmux_info[mux.second];
- WireId dst_wire(mux.first);
- for (const auto &src : rmux.sources) {
- if (CycloneV::rn2t(src) == CycloneV::NONE)
- continue;
- WireId src_wire(src);
- wires[dst_wire].wires_uphill.push_back(src_wire);
- wires[src_wire].wires_downhill.push_back(dst_wire);
- ++pip_count;
- }
+ for (const auto &rnode : cyclonev->rnodes()) {
+ WireId dst_wire(rnode.id());
+ for (const auto &src : rnode.sources()) {
+ WireId src_wire(src);
+ wires[dst_wire].wires_uphill.push_back(src_wire);
+ wires[src_wire].wires_downhill.push_back(dst_wire);
+ ++pip_count;
+ }
}
log_info(" imported %d wires and %d pips\n", int(wires.size()), pip_count);