Skip to content

Commit d6eeab3

Browse files
committed
[doc][crr] update doc
1 parent 5bebbde commit d6eeab3

File tree

1 file changed

+67
-15
lines changed

1 file changed

+67
-15
lines changed

doc/src/vpr/custom_rr_graph.rst

Lines changed: 67 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,36 +86,88 @@ Each column has header rows describing the sink node:
8686
Example
8787
^^^^^^^
8888

89-
Let’s consider an architecture with a channel width of 16 that contains only wire segments of length 4.
89+
Consider an architecture with a channel width of ``160`` containing only wire
90+
segments of length ``4`` (L4).
9091

91-
The number of rows should be calculated as:
92+
The number of **rows** is computed as:
9293

93-
- ``4`` (number of sides) × ``160/2`` (number of tracks in one direction) = ``320`` rows.
94+
- ``4`` (number of sides) × ``160/2`` (number of tracks in one direction)
95+
= ``320`` rows.
9496

95-
On each side, there should be:
97+
On each side, we have:
9698

9799
- ``20`` lanes (``80 / 4``), and
98-
- each lane requires ``4`` rows (because length-4 wires require 4 tap positions).
100+
- each lane requires ``4`` rows (since length-4 wires have 4 tap positions).
99101

100-
For the columns, the count should be:
102+
The number of **columns** is:
101103

102-
- ``4`` (number of sides) × ``160/2`` (number of tracks in one direction) ÷ ``4`` (number of starting tracks per lane) = ``80`` columns.
104+
- ``4`` (number of sides) × ``160/2`` (number of tracks in one direction) ÷ ``4`` (starting tracks per lane)
105+
= ``80`` columns.
106+
107+
----
108+
109+
To illustrate how a particular cell in the template file is interpreted, assume
110+
the following row and column specifications:
111+
112+
**Row specification:**
113+
114+
- Direction: ``left``
115+
- Segment type: ``l4``
116+
- Lane number: ``2``
117+
- Tap number: ``3``
118+
119+
**Column specification:**
120+
121+
- Direction: ``right``
122+
- Segment type: ``l4``
123+
- Lane number: ``2``
124+
125+
Assuming ``l4`` is the only segment type, the row specification corresponds to a
126+
source wire entering the switch block from the *left* side. The starting PTC
127+
(track) number for lane 2 is:
128+
129+
.. code-block:: none
130+
131+
(2 - 1) * 4 * 2 = 8
132+
133+
Thus, the PTC sequence for this L4 wire is (it increases by 2 since the odd PTC numbers are used for wires comming from the other side):
134+
135+
.. code-block:: none
136+
137+
8, 10, 12, 14
138+
139+
The row refers to the node associated with the **third tap**, meaning the
140+
source node corresponds to the PTC value ``12``. With the starting and ending of the track,
141+
and the PTC values, VPR can determine the source **Node ID**.
142+
143+
For the sink node, the column specification describes a wire exiting the switch
144+
block on the *right* side, using the same PTC sequence:
145+
146+
.. code-block:: none
147+
148+
8, 10, 12, 14
149+
150+
Using this sequence, VPR determines the sink **Node ID**.
151+
152+
After computing both Node IDs, the tool inserts the switch defined in the
153+
template file, with the associated delay value, into the RR Graph.
154+
155+
----
103156

104157
Each switch block template file must contain the number of rows and columns
105-
determined in the previous section. After creating the template file with the
106-
correct dimensions, you can populate the spreadsheet by placing the switch
107-
delay values in the appropriate cells (i.e., in the cells representing valid
108-
connections between source and sink nodes).
158+
calculated in the previous section. After creating a correctly sized template
159+
file, populate it by placing switch delay values in the cells representing valid
160+
connections between source and sink nodes.
109161

110162
Once the switch block map file and template files are created, include the
111163
following arguments in the VPR command line:
112164

113165
- ``--sb_maps <switch_block_map_file>``
114166
- ``--sb_templates <switch_block_template_directory>``
115167
- ``--sb_count_dir <switch_block_count_directory>`` (optional):
116-
If provided, VPR will generate a CSV file for each switch block template,
117-
indicating how many times each switch defined in the template is used in the
168+
If provided, VPR generates a CSV file for each switch block template,
169+
showing how many times each switch specified in the template is used in the
118170
final routing results.
119171

120-
For additional arguments, refer to the command-line usage section on the
121-
:ref:`vpr_command_line_usage` page.
172+
For additional arguments, refer to the command-line usage section in
173+
:ref:`vpr_command_line_usage`.

0 commit comments

Comments
 (0)