aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-12-12 15:37:36 +0000
committerGitHub <noreply@github.com>2021-12-12 15:37:36 +0000
commitc76e1be39748d947fa99839063b677b0450891cd (patch)
tree8d1c6714cc9398b77de7871315077f379a8d9254 /ecp5/arch.cc
parentcb362c2256fd18a4dc7ce624cbd4b027b56442b3 (diff)
parentfc5b34254f47ef76150ec9f9edc85cda20681656 (diff)
downloadnextpnr-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.cc21
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);
}
// -----------------------------------------------------------------------