1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-04-29 21:26:40 +00:00

Add getConflictingWireWire() arch API, streamline getConflictingXY semantic

Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
Clifford Wolf
2018-11-11 17:28:41 +01:00
parent ee8826b6e8
commit f93129634b
7 changed files with 183 additions and 152 deletions

View File

@@ -215,14 +215,15 @@ Return true if the wire is available, i.e. can be bound to a net.
Return the net a wire is bound to.
### NetInfo \*getConflictingWireNet(WireId wire) const
### WireId getConflictingWireWire(WireId wire) const
If this returns a non-nullptr, then unbinding the wire from that net
If this returns a non-WireId(), then unbinding that wire
will make the given wire available.
This returns nullptr if the wire is already available,
or if there is no net that can be unbound from the wire to make it
available.
### NetInfo \*getConflictingWireNet(WireId wire) const
If this returns a non-nullptr, then unbinding that entire net
will make the given wire available.
### DelayInfo getWireDelay(WireId wire) const
@@ -282,28 +283,23 @@ This method must also update `NetInfo::wires`.
Returns true if the given pip is available to be bound to a net.
Users must also check if the pip destination wire is available
with `checkWireAvail(getPipDstWire(pip))` before binding the
pip to a net.
### NetInfo \*getBoundPipNet(PipId pip) const
Return the net this pip is bound to.
### NetInfo \*getConflictingPipNet(PipId pip) const
Return the net that needs to be unbound in order to make this
pip available. Note that it may be neccessary to unroute that
entire net to make the pip available.
This returns nullptr if the pip is already available,
or if there is no single net that can be unrouted to make
the pip available.
### WireId getConflictingPipWire(PipId pip) const
Return the single wire that needs to be unbound in order to make this pip
available.
If this returns a non-WireId(), then unbinding that wire
will make the given pip available.
This returns WireId() if the pip is already available,
or if there is no single wire that can be unbound to make
the pip available.
### NetInfo \*getConflictingPipNet(PipId pip) const
If this returns a non-nullptr, then unbinding that entire net
will make the given pip available.
### const\_range\<PipId\> getPips() const