aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-07-30 15:35:40 +0200
committerClifford Wolf <clifford@clifford.at>2018-07-30 15:35:40 +0200
commit0daffec2a0efdbea36201eeb5666d208a10d0226 (patch)
treeeffbd8bfd41387213ee0ae3c899e1b25b47e4476 /ecp5
parentb5f90d381481dc3658c408b162aa433e183f79f4 (diff)
downloadnextpnr-0daffec2a0efdbea36201eeb5666d208a10d0226.tar.gz
nextpnr-0daffec2a0efdbea36201eeb5666d208a10d0226.tar.bz2
nextpnr-0daffec2a0efdbea36201eeb5666d208a10d0226.zip
Add predictDelay Arch API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'ecp5')
-rw-r--r--ecp5/arch.cc5
-rw-r--r--ecp5/arch.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 55fe5704..88b5e4d4 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -413,6 +413,11 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const
return 200 * (abs(src.location.x - dst.location.x) + abs(src.location.y - dst.location.y));
}
+delay_t Arch::predictDelay(WireId src, WireId dst) const
+{
+ return 200 * (abs(src.location.x - dst.location.x) + abs(src.location.y - dst.location.y));
+}
+
// -----------------------------------------------------------------------
bool Arch::place() { return placer1(getCtx()); }
diff --git a/ecp5/arch.h b/ecp5/arch.h
index b6aac9cf..13f2db1f 100644
--- a/ecp5/arch.h
+++ b/ecp5/arch.h
@@ -776,6 +776,7 @@ struct Arch : BaseCtx
// -------------------------------------------------
delay_t estimateDelay(WireId src, WireId dst) const;
+ delay_t predictDelay(WireId src, WireId dst) const;
delay_t getDelayEpsilon() const { return 20; }
delay_t getRipupDelayPenalty() const { return 200; }
float getDelayNS(delay_t v) const { return v * 0.001; }