aboutsummaryrefslogtreecommitdiffstats
path: root/docs/archapi.md
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-11-11 17:28:41 +0100
committerClifford Wolf <clifford@clifford.at>2018-11-11 17:28:41 +0100
commitf93129634b479ba54d8e33186eb79f412eaeb4a9 (patch)
tree9f38835ee9187160307f89132cac0e57c7a3aebf /docs/archapi.md
parentee8826b6e86fdce793a4c58ee685bd6cae5d796e (diff)
downloadnextpnr-f93129634b479ba54d8e33186eb79f412eaeb4a9.tar.gz
nextpnr-f93129634b479ba54d8e33186eb79f412eaeb4a9.tar.bz2
nextpnr-f93129634b479ba54d8e33186eb79f412eaeb4a9.zip
Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'docs/archapi.md')
-rw-r--r--docs/archapi.md36
1 files changed, 16 insertions, 20 deletions
diff --git a/docs/archapi.md b/docs/archapi.md
index 1bfb7c5c..85bc6ccd 100644
--- a/docs/archapi.md
+++ b/docs/archapi.md
@@ -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.
+
+### NetInfo \*getConflictingPipNet(PipId pip) const
-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.
+If this returns a non-nullptr, then unbinding that entire net
+will make the given pip available.
### const\_range\<PipId\> getPips() const