aboutsummaryrefslogtreecommitdiffstats
path: root/docs/archapi.md
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-08-09 10:49:11 +0200
committerGitHub <noreply@github.com>2018-08-09 10:49:11 +0200
commited602baa06959ae69cc97fa9e38ce7e9d6c7cd5f (patch)
treee5bb285ea62df09c30f7cd6dce7c2fe0fcb97f6f /docs/archapi.md
parent41e05c95aae3b9d3397ec28d8836c40d089386e2 (diff)
parent834f7e4bfdbfaa8fbb3b51cef18c734176215c83 (diff)
downloadnextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.tar.gz
nextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.tar.bz2
nextpnr-ed602baa06959ae69cc97fa9e38ce7e9d6c7cd5f.zip
Merge pull request #42 from YosysHQ/floorplan
Add basic data structures for floorplanning
Diffstat (limited to 'docs/archapi.md')
-rw-r--r--docs/archapi.md19
1 files changed, 14 insertions, 5 deletions
diff --git a/docs/archapi.md b/docs/archapi.md
index df2bc468..473cdd2e 100644
--- a/docs/archapi.md
+++ b/docs/archapi.md
@@ -74,15 +74,19 @@ Return a string representation of the ArchArgs that was used to construct this o
### int getGridDimX() const
-Get grid X dimension. All bels must have Y coordinates in the range `0 .. getGridDimX()-1` (inclusive).
+Get grid X dimension. All bels and pips must have Y coordinates in the range `0 .. getGridDimX()-1` (inclusive).
### int getGridDimY() const
-Get grid Y dimension. All bels must have Y coordinates in the range `0 .. getGridDimY()-1` (inclusive).
+Get grid Y dimension. All bels and pips must have Y coordinates in the range `0 .. getGridDimY()-1` (inclusive).
-### int getTileDimZ(int x, int y) const
+### int getTileBelDimZ(int x, int y) const
-Get Z dimension for the specified tile. All bels with the specified X and Y coordinates must have a Z coordinate in the range `0 .. getTileDimZ(X,Y)-1` (inclusive).
+Get Z dimension for the specified tile for bels. All bels with at specified X and Y coordinates must have a Z coordinate in the range `0 .. getTileDimZ(X,Y)-1` (inclusive).
+
+### int getTilePipDimZ(int x, int y) const
+
+Get Z dimension for the specified tile for pips. All pips with at specified X and Y coordinates must have a Z coordinate in the range `0 .. getTileDimZ(X,Y)-1` (inclusive).
Bel Methods
-----------
@@ -97,7 +101,7 @@ Get the name for a bel. (Bel names must be unique.)
### Loc getBelLocation(BelId bel) const
-Get the X/Y/Z location of a given bel.
+Get the X/Y/Z location of a given bel. Each bel must have a unique X/Y/Z location.
### BelId getBelByLocation(Loc loc) const
@@ -238,6 +242,11 @@ Get the name for a pip. (Pip names must be unique.)
Get the type of a pip. Pip types are purely informal and
implementations may simply return `IdString()`.
+### Loc getPipLocation(PipId pip) const
+
+Get the X/Y/Z location of a given pip. Pip locations do not need to be unique, and in most cases they aren't. So
+for pips a X/Y/Z location refers to a group of pips, not an individual pip.
+
### uint32\_t getPipChecksum(PipId pip) const
Return a (preferably unique) number that represents this pip. This is used in design state checksum calculations.