aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5
diff options
context:
space:
mode:
authorEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-21 20:08:53 +0000
committerEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-21 20:08:53 +0000
commiteeb93d6eda613c0946867118c1ff93f2462e417f (patch)
treeee25b6376879c7add61b02a73a882d8518353afe /ecp5
parent1f6897733b57f03cf7f5ccab46c27de811d42167 (diff)
parent926c186ec78efb086364a05ba7e83e68fa116301 (diff)
downloadnextpnr-eeb93d6eda613c0946867118c1ff93f2462e417f.tar.gz
nextpnr-eeb93d6eda613c0946867118c1ff93f2462e417f.tar.bz2
nextpnr-eeb93d6eda613c0946867118c1ff93f2462e417f.zip
Merge branch 'redist_slack' into 'redist_slack'
Redist slack See merge request SymbioticEDA/nextpnr!14
Diffstat (limited to 'ecp5')
-rw-r--r--ecp5/arch.cc5
-rw-r--r--ecp5/arch.h7
-rw-r--r--ecp5/archdefs.h11
3 files changed, 20 insertions, 3 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 1510a27f..90f88384 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -328,6 +328,11 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const
return abs(src.location.x - dst.location.x) + abs(src.location.y - dst.location.y);
}
+delay_t Arch::getBudgetOverride(const PortRef& pr, delay_t v) const
+{
+ return v;
+}
+
// -----------------------------------------------------------------------
bool Arch::place() { return placer1(getCtx()); }
diff --git a/ecp5/arch.h b/ecp5/arch.h
index 944aedea..ec98d029 100644
--- a/ecp5/arch.h
+++ b/ecp5/arch.h
@@ -578,6 +578,12 @@ struct Arch : BaseCtx
return wire_to_net.at(wire);
}
+ DelayInfo getWireDelay(WireId wire) const
+ {
+ DelayInfo delay;
+ return delay;
+ }
+
WireRange getWires() const
{
WireRange range;
@@ -751,6 +757,7 @@ struct Arch : BaseCtx
delay_t getRipupDelayPenalty() const { return 200; }
float getDelayNS(delay_t v) const { return v * 0.001; }
uint32_t getDelayChecksum(delay_t v) const { return v; }
+ delay_t getBudgetOverride(const PortRef& pr, delay_t v) const;
// -------------------------------------------------
diff --git a/ecp5/archdefs.h b/ecp5/archdefs.h
index 941607ba..40442e1b 100644
--- a/ecp5/archdefs.h
+++ b/ecp5/archdefs.h
@@ -32,9 +32,14 @@ struct DelayInfo
{
delay_t delay = 0;
- delay_t raiseDelay() const { return delay; }
- delay_t fallDelay() const { return delay; }
- delay_t avgDelay() const { return delay; }
+ delay_t minRaiseDelay() const { return delay; }
+ delay_t maxRaiseDelay() const { return delay; }
+
+ delay_t minFallDelay() const { return delay; }
+ delay_t maxFallDelay() const { return delay; }
+
+ delay_t minDelay() const { return delay; }
+ delay_t maxDelay() const { return delay; }
DelayInfo operator+(const DelayInfo &other) const
{