aboutsummaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-11-11 11:34:38 +0100
committerClifford Wolf <clifford@clifford.at>2018-11-11 11:34:38 +0100
commitd2bdb670c0be9e18722f79c170fc99d7f41768f1 (patch)
treec699864e888a9755e6a3f1aa958b8953e638e5f3 /generic
parent285bffeac5ace1679489c2d23c8c5dc4b06f0bfc (diff)
downloadnextpnr-d2bdb670c0be9e18722f79c170fc99d7f41768f1.tar.gz
nextpnr-d2bdb670c0be9e18722f79c170fc99d7f41768f1.tar.bz2
nextpnr-d2bdb670c0be9e18722f79c170fc99d7f41768f1.zip
Add getConflictingPipWire() arch API, router1 improvements
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'generic')
-rw-r--r--generic/arch.cc2
-rw-r--r--generic/arch.h1
2 files changed, 3 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..d64d03c3 100644
--- a/generic/arch.h
+++ b/generic/arch.h
@@ -187,6 +187,7 @@ struct Arch : BaseCtx
bool checkPipAvail(PipId pip) const;
NetInfo *getBoundPipNet(PipId pip) const;
NetInfo *getConflictingPipNet(PipId pip) const;
+ WireId getConflictingPipWire(PipId pip) const;
const std::vector<PipId> &getPips() const;
Loc getPipLocation(PipId pip) const;
WireId getPipSrcWire(PipId pip) const;