aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.h
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2019-10-25 09:37:13 +0100
committerDavid Shah <dave@ds0.me>2019-10-25 09:37:13 +0100
commit36c07a0f45b13e4cf34e6db3b73ccf864af522f0 (patch)
tree45733cdbac1f0045cea5f57a44e4ed8229a8d7d7 /ecp5/arch.h
parentb582ba810cc54282d4c574bee80a7339c8da17f9 (diff)
downloadnextpnr-36c07a0f45b13e4cf34e6db3b73ccf864af522f0.tar.gz
nextpnr-36c07a0f45b13e4cf34e6db3b73ccf864af522f0.tar.bz2
nextpnr-36c07a0f45b13e4cf34e6db3b73ccf864af522f0.zip
ecp5: Fix routing to shared DSP control inputs
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ecp5/arch.h')
-rw-r--r--ecp5/arch.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/ecp5/arch.h b/ecp5/arch.h
index a479abb6..444dfa07 100644
--- a/ecp5/arch.h
+++ b/ecp5/arch.h
@@ -1048,6 +1048,11 @@ struct Arch : BaseCtx
// Special case for delay estimates due to its physical location
// being far from the logical location of its primitive
WireId gsrclk_wire;
+ // Improves directivity of routing to DSP inputs, avoids issues
+ // with different routes to the same physical reset wire causing
+ // conflicts and slow routing
+ std::unordered_map<WireId, std::pair<int, int>> wire_loc_overrides;
+ void setupWireLocations();
mutable std::unordered_map<DelayKey, std::pair<bool, DelayInfo>> celldelay_cache;