Skip to content

Commit

Permalink
PIP Clarifications (Xilinx#33)
Browse files Browse the repository at this point in the history
* Update scoring page to mention interconnect tiles

Signed-off-by: Zak Nafziger <[email protected]>

* reword for clarity

Co-authored-by: eddieh-xlnx <[email protected]>

* move comment about pips only to details page

Signed-off-by: Zak Nafziger <[email protected]>

* less technical language in initial explanation

Co-authored-by: eddieh-xlnx <[email protected]>

* update Router section of details

Signed-off-by: Zak Nafziger <[email protected]>

* improve specificity in details

Co-authored-by: eddieh-xlnx <[email protected]>

* Mention INT prefix ahead of table

* further wording changes

Co-authored-by: eddieh-xlnx <[email protected]>

---------

Signed-off-by: Zak Nafziger <[email protected]>
Co-authored-by: eddieh-xlnx <[email protected]>
  • Loading branch information
zakn-amd and eddieh-xlnx authored Oct 31, 2023
1 parent 3faf0c3 commit 1cb95b9
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
7 changes: 4 additions & 3 deletions docs/details.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* The target device for this contest will be the AMD/Xilinx UltraScale+ xcvu3p.
* Competing routers must consume a pre-placed and partially-routed
[FPGA Interchange Format](http://www.rapidwright.io/docs/FPGA_Interchange_Format.html) Physical Netlist
and emit a fully routed Physical Netlist.
and emit a fully routed Physical Netlist formed by enabling some number of routing switches (termed PIPs).
* The exact scoring criteria is presented on the [Scoring Criteria](score.html)
webpage. In general, contestant routers are expected, in order of importance, to:
1. Produce a legal routing solution ...
Expand Down Expand Up @@ -41,8 +41,9 @@ Should contestants wish to test/train with more benchmarks than those that are p

#### Router
With just the pre-placed but partially-routed input Physical Netlist, competitors are required to route all
signal nets while preserving all existing placement and routing. This fully-routed result must then be written
out as a new Physical Netlist.
signal nets while preserving all existing placement and routing. In practice this
is achieved by only inserting FPGAIF routeSegment objects of the type `pip` into the
netlist. This fully-routed result must then be written out as a new Physical Netlist.

#### Post-routing
Once this fully-routed Physical Netlist is ready, RapidWright takes it again and combines it with the previous
Expand Down
14 changes: 9 additions & 5 deletions docs/score.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,13 @@ between a BEL output pin and a BEL input pin is simply the sum of the
wirelength of every routeSegment that must be traced through to reach the input
from the output.
For the purposes of the contest, only routeSegments of the type `pip` can
affect the wirelength, since these are the only type of routeSegment that can
be added by contest routers. All other types of routeSegment (`belPin`,
`sitePin`, `sitePIP`) are therefore assumed to have a wirelength of zero.
Thus for a portion of a path that looks like this:
affect the wirelength.
In almost all cases, these `pip` routeSegments exist in interconnect
tiles (which have names starting with the `INT` prefix) and are the only way for
signals to be routed between non-interconnect tiles.
Since `pip`s are the only type of routeSegment that can connect multiple tiles, all other types of
routeSegment (`belPin`, `sitePin`, `sitePIP`) are assumed to have a wirelength
of zero. Thus for a portion of a path that looks like this:
```
output belPin -> ... -> pip1 -> pip2 -> ... -> pipN -> ... -> input belPin
0 0 w x y z 0 0
Expand All @@ -66,7 +69,8 @@ The wirelength from the output to the input would be `w+x+y+z`.
Each `pip` represents a connection that causes `wire0` to drive `wire1`;
such connections incur a wirelength score based on the type of wire indicated
by `wire1`. The following table presents regular expression patterns to be
matched against this `wire1` name and its associated wirelength score.
matched against the `wire1` name of PIPs with a tile name prefix of `INT`
and its associated wirelength score.

| Wire Type | Regex Pattern | Wirelength Score |
|-------------------|-------------------------|------------------|
Expand Down

0 comments on commit 1cb95b9

Please sign in to comment.