@@ -86,36 +86,88 @@ Each column has header rows describing the sink node:
8686Example
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
104157Each 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
110162Once the switch block map file and template files are created, include the
111163following 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