From c5562429760b444133fcb2391236275b0c353670 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 21 Jul 2018 13:38:44 +0200 Subject: Add getWireDelay API Signed-off-by: Clifford Wolf --- ecp5/arch.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ecp5') diff --git a/ecp5/arch.h b/ecp5/arch.h index 944aedea..bf36ef2f 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; -- cgit v1.2.3 From 78f40ca0af493b9ba07bb8d7c95f558f2c04d4cb Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 21 Jul 2018 13:52:59 +0200 Subject: Change DelayInfo semantics to what we actually need Signed-off-by: Clifford Wolf --- ecp5/archdefs.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'ecp5') 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 { -- cgit v1.2.3 From 926c186ec78efb086364a05ba7e83e68fa116301 Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Sat, 21 Jul 2018 13:05:09 -0700 Subject: Add Arch::getBudgetOverride() to eliminate hack for COUT --- ecp5/arch.cc | 5 +++++ ecp5/arch.h | 1 + 2 files changed, 6 insertions(+) (limited to 'ecp5') 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 bf36ef2f..ec98d029 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h @@ -757,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; // ------------------------------------------------- -- cgit v1.2.3