diff options
author | Eddie Hung <eddieh@ece.ubc.ca> | 2018-11-13 11:39:51 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-13 11:39:51 -0800 |
commit | 3b2b15dc4a6cdf9cadab96b1db5483d4f7082dff (patch) | |
tree | 2772e8865a04c5da351643c90828c908a6f9f260 /generic | |
parent | d0ae4c77be109cae3d6cf3321691c70377c4d6d3 (diff) | |
parent | caca485cfff7f999a19e86e2f00187550b0c92f4 (diff) | |
download | nextpnr-3b2b15dc4a6cdf9cadab96b1db5483d4f7082dff.tar.gz nextpnr-3b2b15dc4a6cdf9cadab96b1db5483d4f7082dff.tar.bz2 nextpnr-3b2b15dc4a6cdf9cadab96b1db5483d4f7082dff.zip |
Merge pull request #107 from YosysHQ/router_improve
Major rewrite of "router1"
Diffstat (limited to 'generic')
-rw-r--r-- | generic/arch.cc | 2 | ||||
-rw-r--r-- | generic/arch.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/generic/arch.cc b/generic/arch.cc index 3e95159a..4f2e07a2 100644 --- a/generic/arch.cc +++ b/generic/arch.cc @@ -373,6 +373,8 @@ NetInfo *Arch::getBoundPipNet(PipId pip) const { return pips.at(pip).bound_net; NetInfo *Arch::getConflictingPipNet(PipId pip) const { return pips.at(pip).bound_net; } +WireId Arch::getConflictingPipWire(PipId pip) const { return pips.at(pip).bound_net ? pips.at(pip).dstWire : WireId(); } + const std::vector<PipId> &Arch::getPips() const { return pip_ids; } Loc Arch::getPipLocation(PipId pip) const { return pips.at(pip).loc; } diff --git a/generic/arch.h b/generic/arch.h index 22966e2a..9311464e 100644 --- a/generic/arch.h +++ b/generic/arch.h @@ -172,6 +172,7 @@ struct Arch : BaseCtx void unbindWire(WireId wire); bool checkWireAvail(WireId wire) const; NetInfo *getBoundWireNet(WireId wire) const; + WireId getConflictingWireWire(WireId wire) const { return wire; } NetInfo *getConflictingWireNet(WireId wire) const; DelayInfo getWireDelay(WireId wire) const { return DelayInfo(); } const std::vector<WireId> &getWires() const; @@ -186,6 +187,7 @@ struct Arch : BaseCtx void unbindPip(PipId pip); bool checkPipAvail(PipId pip) const; NetInfo *getBoundPipNet(PipId pip) const; + WireId getConflictingPipWire(PipId pip) const; NetInfo *getConflictingPipNet(PipId pip) const; const std::vector<PipId> &getPips() const; Loc getPipLocation(PipId pip) const; |