diff options
author | gatecat <gatecat@ds0.me> | 2021-12-12 15:37:36 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-12 15:37:36 +0000 |
commit | c76e1be39748d947fa99839063b677b0450891cd (patch) | |
tree | 8d1c6714cc9398b77de7871315077f379a8d9254 /ecp5/arch.cc | |
parent | cb362c2256fd18a4dc7ce624cbd4b027b56442b3 (diff) | |
parent | fc5b34254f47ef76150ec9f9edc85cda20681656 (diff) | |
download | nextpnr-c76e1be39748d947fa99839063b677b0450891cd.tar.gz nextpnr-c76e1be39748d947fa99839063b677b0450891cd.tar.bz2 nextpnr-c76e1be39748d947fa99839063b677b0450891cd.zip |
Merge pull request #867 from mkj/mkj/routerspeed2
Improvements to ecp5 router speed
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r-- | ecp5/arch.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc index 34bdfa1b..ec64fb82 100644 --- a/ecp5/arch.cc +++ b/ecp5/arch.cc @@ -123,6 +123,27 @@ Arch::Arch(ArchArgs args) : args(args) y_ids.push_back(y_id); id_to_y[y_id] = i; } + + wire_tile_vecidx.resize(chip_info->num_tiles, -1); + int n_wires = 0; + for (auto e : getWires()) { + if (e.index == 0) { + wire_tile_vecidx.at(e.location.y * chip_info->width + e.location.x) = n_wires; + } + n_wires++; + } + wire2net.resize(n_wires, nullptr); + wire_fanout.resize(n_wires, 0); + + pip_tile_vecidx.resize(chip_info->num_tiles, -1); + int n_pips = 0; + for (auto e : getPips()) { + if (e.index == 0) { + pip_tile_vecidx.at(e.location.y * chip_info->width + e.location.x) = n_pips; + } + n_pips++; + } + pip2net.resize(n_pips, nullptr); } // ----------------------------------------------------------------------- |