aboutsummaryrefslogtreecommitdiffstats
path: root/generic
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 /generic
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 'generic')
-rw-r--r--generic/arch.cc5
-rw-r--r--generic/arch.h2
-rw-r--r--generic/archdefs.h9
3 files changed, 13 insertions, 3 deletions
diff --git a/generic/arch.cc b/generic/arch.cc
index b7ec847e..b9ec1695 100644
--- a/generic/arch.cc
+++ b/generic/arch.cc
@@ -372,6 +372,11 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const
return (dx + dy) * grid_distance_to_delay;
}
+delay_t Arch::getBudgetOverride(const PortRef& pr, delay_t v) const
+{
+ return v;
+}
+
// ---------------------------------------------------------------
bool Arch::place() { return placer1(getCtx()); }
diff --git a/generic/arch.h b/generic/arch.h
index ea4bb565..977cc4d5 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -157,6 +157,7 @@ struct Arch : BaseCtx
bool checkWireAvail(WireId wire) const;
IdString getBoundWireNet(WireId wire) const;
IdString getConflictingWireNet(WireId wire) const;
+ DelayInfo getWireDelay(WireId wire) const { return DelayInfo(); }
const std::vector<WireId> &getWires() const;
PipId getPipByName(IdString name) const;
@@ -189,6 +190,7 @@ struct Arch : BaseCtx
delay_t getRipupDelayPenalty() const { return 1.0; }
float getDelayNS(delay_t v) const { return v; }
uint32_t getDelayChecksum(delay_t v) const { return 0; }
+ delay_t getBudgetOverride(const PortRef& pr, delay_t v) const;
bool pack() { return true; }
bool place();
diff --git a/generic/archdefs.h b/generic/archdefs.h
index 06d4ec6e..b318d5af 100644
--- a/generic/archdefs.h
+++ b/generic/archdefs.h
@@ -29,11 +29,14 @@ struct DelayInfo
{
delay_t delay = 0;
- delay_t raiseDelay() const { return delay; }
+ delay_t minRaiseDelay() const { return delay; }
+ delay_t maxRaiseDelay() const { return delay; }
- delay_t fallDelay() const { return delay; }
+ delay_t minFallDelay() const { return delay; }
+ delay_t maxFallDelay() const { return delay; }
- delay_t avgDelay() const { return delay; }
+ delay_t minDelay() const { return delay; }
+ delay_t maxDelay() const { return delay; }
DelayInfo operator+(const DelayInfo &other) const
{