aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'ice40/arch.h')
-rw-r--r--ice40/arch.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/ice40/arch.h b/ice40/arch.h
index 85fb9fc0..f3a46f5c 100644
--- a/ice40/arch.h
+++ b/ice40/arch.h
@@ -515,6 +515,8 @@ struct Arch : BaseCtx
return id(chip_info->bel_data[bel.index].name.get());
}
+ uint32_t getBelChecksum(BelId bel) const { return bel.index; }
+
void bindBel(BelId bel, IdString cell)
{
assert(bel != BelId());
@@ -607,6 +609,8 @@ struct Arch : BaseCtx
return id(chip_info->wire_data[wire.index].name.get());
}
+ uint32_t getWireChecksum(WireId wire) const { return wire.index; }
+
void bindWire(WireId wire, IdString net)
{
assert(wire != WireId());
@@ -646,6 +650,8 @@ struct Arch : BaseCtx
PipId getPipByName(IdString name) const;
IdString getPipName(PipId pip) const;
+ uint32_t getPipChecksum(PipId pip) const { return pip.index; }
+
void bindPip(PipId pip, IdString net)
{
assert(pip != PipId());
@@ -755,8 +761,10 @@ struct Arch : BaseCtx
void estimatePosition(BelId bel, int &x, int &y, bool &gb) const;
delay_t estimateDelay(WireId src, WireId dst) const;
- delay_t getDelayEpsilon() const { return 10; }
+ delay_t getDelayEpsilon() const { return 20; }
+ 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; }
// -------------------------------------------------