diff options
author | Eddie Hung <e.hung@imperial.ac.uk> | 2018-07-26 21:00:26 -0700 |
---|---|---|
committer | Eddie Hung <e.hung@imperial.ac.uk> | 2018-07-26 21:00:26 -0700 |
commit | d5c2332ebf5dd9b84e3a6fd2a99e8df70150bd33 (patch) | |
tree | 0f641516654085dd24bb69889ef466041234f684 /generic/arch.cc | |
parent | f45e688354c13f38bda3ba4064587880a25980fe (diff) | |
parent | e5acd80247264fed41dfc1e7e07efa8a10a67fae (diff) | |
download | nextpnr-d5c2332ebf5dd9b84e3a6fd2a99e8df70150bd33.tar.gz nextpnr-d5c2332ebf5dd9b84e3a6fd2a99e8df70150bd33.tar.bz2 nextpnr-d5c2332ebf5dd9b84e3a6fd2a99e8df70150bd33.zip |
Merge remote-tracking branch 'origin/master' into redist_slack
Diffstat (limited to 'generic/arch.cc')
-rw-r--r-- | generic/arch.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/generic/arch.cc b/generic/arch.cc index d7401356..5c9864ab 100644 --- a/generic/arch.cc +++ b/generic/arch.cc @@ -24,22 +24,24 @@ NEXTPNR_NAMESPACE_BEGIN -void Arch::addWire(IdString name, int x, int y) +void Arch::addWire(IdString name, IdString type, int x, int y) { NPNR_ASSERT(wires.count(name) == 0); WireInfo &wi = wires[name]; wi.name = name; + wi.type = type; wi.x = x; wi.y = y; wire_ids.push_back(name); } -void Arch::addPip(IdString name, IdString srcWire, IdString dstWire, DelayInfo delay) +void Arch::addPip(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayInfo delay) { NPNR_ASSERT(pips.count(name) == 0); PipInfo &pi = pips[name]; pi.name = name; + pi.type = type; pi.srcWire = srcWire; pi.dstWire = dstWire; pi.delay = delay; @@ -49,11 +51,12 @@ void Arch::addPip(IdString name, IdString srcWire, IdString dstWire, DelayInfo d pip_ids.push_back(name); } -void Arch::addAlias(IdString name, IdString srcWire, IdString dstWire, DelayInfo delay) +void Arch::addAlias(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayInfo delay) { NPNR_ASSERT(pips.count(name) == 0); PipInfo &pi = pips[name]; pi.name = name; + pi.type = type; pi.srcWire = srcWire; pi.dstWire = dstWire; pi.delay = delay; @@ -266,6 +269,8 @@ WireId Arch::getWireByName(IdString name) const IdString Arch::getWireName(WireId wire) const { return wire; } +IdString Arch::getWireType(WireId wire) const { return wires.at(wire).type; } + uint32_t Arch::getWireChecksum(WireId wire) const { // FIXME @@ -316,6 +321,8 @@ PipId Arch::getPipByName(IdString name) const IdString Arch::getPipName(PipId pip) const { return pip; } +IdString Arch::getPipType(PipId pip) const { return pips.at(pip).type; } + uint32_t Arch::getPipChecksum(PipId wire) const { // FIXME |