aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <e.hung@imperial.ac.uk>2018-07-26 21:37:19 -0700
committerEddie Hung <e.hung@imperial.ac.uk>2018-07-26 21:37:19 -0700
commit97e546041e109fdade1099b056c7166578314846 (patch)
tree14f1cf4127db713e18839a68a9cfb23b9422fdf3
parent21d46fb633383909609a9f8adbb543ae6e7ed70c (diff)
downloadnextpnr-97e546041e109fdade1099b056c7166578314846.tar.gz
nextpnr-97e546041e109fdade1099b056c7166578314846.tar.bz2
nextpnr-97e546041e109fdade1099b056c7166578314846.zip
Revert "Remove Arch::getBudgetOverride()"
This reverts commit 749dae4ae5b2b719237af5db28e98ff671bae265.
-rw-r--r--ecp5/arch.cc2
-rw-r--r--ecp5/arch.h1
-rw-r--r--generic/arch.cc2
-rw-r--r--generic/arch.h1
-rw-r--r--ice40/arch.cc7
-rw-r--r--ice40/arch.h1
6 files changed, 14 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 55fe5704..79f65562 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -413,6 +413,8 @@ 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::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 b6aac9cf..860b086d 100644
--- a/ecp5/arch.h
+++ b/ecp5/arch.h
@@ -780,6 +780,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/generic/arch.cc b/generic/arch.cc
index 5c9864ab..03a6b122 100644
--- a/generic/arch.cc
+++ b/generic/arch.cc
@@ -403,6 +403,8 @@ 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 01a90ee1..df21fbe4 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -198,6 +198,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/ice40/arch.cc b/ice40/arch.cc
index 3803f842..fec35a0f 100644
--- a/ice40/arch.cc
+++ b/ice40/arch.cc
@@ -587,6 +587,13 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const
return xscale * abs(xd) + yscale * abs(yd) + offset;
}
+delay_t Arch::getBudgetOverride(const PortRef &pr, delay_t v) const
+{
+ if (pr.port == id("COUT"))
+ return 0;
+ return v;
+}
+
// -----------------------------------------------------------------------
bool Arch::place() { return placer1(getCtx()); }
diff --git a/ice40/arch.h b/ice40/arch.h
index 51cbe725..048a9053 100644
--- a/ice40/arch.h
+++ b/ice40/arch.h
@@ -688,6 +688,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;
// -------------------------------------------------