aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/arch.h
diff options
context:
space:
mode:
authorSergiusz Bazanski <q3k@q3k.org>2018-06-22 14:29:28 +0100
committerSergiusz Bazanski <q3k@q3k.org>2018-06-22 14:29:28 +0100
commit858acc5c1c0ee4bbdfb8d2012b80cda656ca39db (patch)
tree7cc94b94e40c05c5a7baae61c9d0db4f23a31b60 /ice40/arch.h
parent98b1f0c041b01d07f64e8e04503f8eccb05a93de (diff)
parentf86a0d6c8c8792c36c87cf345665ce7c9fbcc60f (diff)
downloadnextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.tar.gz
nextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.tar.bz2
nextpnr-858acc5c1c0ee4bbdfb8d2012b80cda656ca39db.zip
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/gl
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; }
// -------------------------------------------------