mistral: Use the iterators

This commit is contained in:
Olivier Galibert 2021-10-19 22:19:18 +02:00
parent 3b99db294f
commit 8d330f1dc7
2 changed files with 9 additions and 12 deletions

View File

@ -21,7 +21,7 @@ jobs:
- name: Execute build nextpnr - name: Execute build nextpnr
env: env:
MISTRAL_PATH: ${{ github.workspace }}/deps/mistral MISTRAL_PATH: ${{ github.workspace }}/deps/mistral
MISTRAL_REVISION: 8f78291541df10d70fde6c9c58765c437807c68d MISTRAL_REVISION: 98ec7f69bfd5ab77e608ccd47ede988b45a7d99b
run: | run: |
source ./.github/ci/build_mistral.sh source ./.github/ci/build_mistral.sh
get_dependencies get_dependencies

View File

@ -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... // 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"); log_info("Initialising routing graph...\n");
int pip_count = 0; int pip_count = 0;
for (const auto &mux : cyclonev->dest_node_to_rmux) { for (const auto &rnode : cyclonev->rnodes()) {
const auto &rmux = cyclonev->rmux_info[mux.second]; WireId dst_wire(rnode.id());
WireId dst_wire(mux.first); for (const auto &src : rnode.sources()) {
for (const auto &src : rmux.sources) { WireId src_wire(src);
if (CycloneV::rn2t(src) == CycloneV::NONE) wires[dst_wire].wires_uphill.push_back(src_wire);
continue; wires[src_wire].wires_downhill.push_back(dst_wire);
WireId src_wire(src); ++pip_count;
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); log_info(" imported %d wires and %d pips\n", int(wires.size()), pip_count);