diff options
Diffstat (limited to 'generic')
-rw-r--r-- | generic/arch.cc | 6 | ||||
-rw-r--r-- | generic/arch.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/generic/arch.cc b/generic/arch.cc index 1f9531c7..a683e34e 100644 --- a/generic/arch.cc +++ b/generic/arch.cc @@ -450,6 +450,12 @@ void Arch::unbindPip(PipId pip) bool Arch::checkPipAvail(PipId pip) const { return pips.at(pip).bound_net == nullptr; } +bool Arch::checkPipAvailForNet(PipId pip, NetInfo *net) const +{ + NetInfo *bound_net = pips.at(pip).bound_net; + return bound_net == nullptr || bound_net == net; +} + NetInfo *Arch::getBoundPipNet(PipId pip) const { return pips.at(pip).bound_net; } NetInfo *Arch::getConflictingPipNet(PipId pip) const { return pips.at(pip).bound_net; } diff --git a/generic/arch.h b/generic/arch.h index 1d37b2fd..92260ce0 100644 --- a/generic/arch.h +++ b/generic/arch.h @@ -279,6 +279,7 @@ struct Arch : ArchAPI<ArchRanges> void bindPip(PipId pip, NetInfo *net, PlaceStrength strength) override; void unbindPip(PipId pip) override; bool checkPipAvail(PipId pip) const override; + bool checkPipAvailForNet(PipId pip, NetInfo *net) const override; NetInfo *getBoundPipNet(PipId pip) const override; WireId getConflictingPipWire(PipId pip) const override; NetInfo *getConflictingPipNet(PipId pip) const override; |