Skip to content

Commit be06c02

Browse files
committed
Fix the arch file comments for routing segments and switches
1 parent 75746eb commit be06c02

File tree

1 file changed

+29
-83
lines changed

1 file changed

+29
-83
lines changed

vtr_flow/arch/titan/stratix10_arch.timing.xml

Lines changed: 29 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -6425,13 +6425,21 @@
64256425
<connection_block input_switch_name="ipin_cblock"/>
64266426
</device>
64276427
<switchlist>
6428-
<!-- AA: July 19, 2020
6429-
We define three types of drivers, one for each of the segment types (see comment in <segmentlist> section)
6430-
In the model for Stratix 10 we put all the delay on switch and connection blocks in the form of Tdel; Meaning that we assume the resistance and capticance of the switches are set to 0.
6431-
Stratix 10 is modelled here to have 3 different segment wire types per horizational/vertical channel.
6432-
-->
6428+
6429+
<!--
6430+
NOTE: In the model for Stratix 10 we put all the delay on switch and connection blocks in the form of Tdel; Meaning that we assume the resistance and capticance of the switches are set to 0.
6431+
6432+
The average delays of the actual wires using Quartus PrimePro came to be the following:
6433+
Wire delays:
6434+
6435+
V2: 95 ps H2: 89 ps
6436+
V3: 194 ps H4: 133 ps
6437+
V4: 146 ps H10: 203 ps
6438+
V16: 213 ps H24: 188 ps
6439+
-->
64336440

64346441
<!-- AA: The mux_tran_size and buf_size parameters for switches are kept the same as ones in Startix IV since modelling area in Stratix 10 is of little intrest and difficult.-->
6442+
64356443
<switch Cin="0" Cout="0" R="0" Tdel="89e-12" buf_size="27.647901" mux_trans_size="2.630740" name="seg_h2_driver" type="mux"/>
64366444
<switch Cin="0" Cout="0" R="0" Tdel="133e-12" buf_size="27.647901" mux_trans_size="2.630740" name="seg_h4_driver" type="mux"/>
64376445
<switch Cin="0" Cout="0" R="0" Tdel="203e-12" buf_size="27.647901" mux_trans_size="2.630740" name="seg_h10_driver" type="mux"/>
@@ -6446,85 +6454,23 @@
64466454
<switch Cin="1.47e-15" Cout="0." R="2231.5" Tdel="0e0" buf_size="auto" mux_trans_size="1.222260" name="ipin_cblock" type="mux"/>
64476455
</switchlist>
64486456
<segmentlist>
6449-
<!-- AA: July 19, 2021
6450-
6457+
<!--
64516458
Wire distribution:
6452-
In stratix 10 there are eight types of wires: R2,R4,R10,R20,C2,C3,C4,C12
6453-
R wires are row wires running horizontally accross the chip
6454-
C wires are column wires running vertically accross the chip
6455-
6456-
The wire counts for Stratix IV channels are:
6457-
R2 : 152
6458-
C2 : 160
6459-
R4 : 152
6460-
C3 : 160
6461-
R10: 210
6462-
C4 : 160
6463-
R24: 48
6464-
C16: 32
6465-
Total horizontal tracks: 562
6466-
Total vertical tracks: 512
6467-
6468-
6.5% of vertical & 8.5% of horizontal wires are long. (7.5% in average)
6469-
6470-
92.5% of horizontal wires & 93.5% of veritcal wires are intermediate wires.
6471-
6472-
We will divide the wires into L2, L4, and L20 wires keeping in mind that VPR doesn't support non-uniform horizontal and vertical channels:
6473-
6474-
The combination of R2,C2, and C3 wires gives the channel width for L2 wires:
6475-
6476-
(152+160+160)/2=236
6477-
6478-
The combination of R4,C4,and R10 wires gives the channel width for L4:
6479-
6480-
(210+152+152)/3=257
6481-
6482-
The average of C16 and R24 wires gives the channel width for L20 wires:
6483-
6484-
(32+48)/2=40
6485-
6486-
The average channel width for the horizontal and vertical channels is: (562+512)/2=537 ~540
6487-
6488-
The difference between the target channel width and total of wires thus far will be added to L4 wires since the total of R4,C4, and R10
6489-
wires is larger than R2,C2, and C3 wires:
6490-
6491-
540-257-236-40=6 -> 6 additional L4 wires
6492-
6493-
Finally we have:
6494-
6495-
L2:236
6496-
L4:264
6497-
L20:40
6498-
6499-
We get the following ratios with this distribution:
6500-
6501-
7.4% are long wires.
6502-
92.6% are short wires.
6503-
6504-
which is reasonable.
6505-
6506-
Thus to model the routing we have the following:
6507-
- A channel width of 540 wires (provided on the command line)
6508-
- 7.4% of wires are L20 wires
6509-
- 42.4% of wires are L4 wires
6510-
- 50.2% of wires are L2 wires
6511-
6512-
NOTE: In Startix10 we do not model metal data since all the delay is put on the driving muxes.
6513-
6514-
Wire delays:
6515-
6516-
The average delays of the actual wires using Quartus PrimePro came to be the following:
6517-
6518-
C2: 95 ps R2: 89 ps
6519-
C3: 194 ps R4: 133 ps
6520-
C4: 146 ps R10: 203 ps
6521-
C16: 213 ps R24: 188 ps
6522-
6523-
6524-
Averaging accross wires of the same type we attempt to make the wires total delays correlate to the following values:
6525-
L2: 92 ps
6526-
L4: 140 ps
6527-
L20: 201 ps
6459+
In stratix 10 there are eight types of wires: H2,H4,H10,H24,V2,V3,V4,V16
6460+
H wires are row wires running horizontally accross the chip
6461+
V wires are column wires running vertically accross the chip
6462+
6463+
The wire counts for Stratix 10 channels are:
6464+
H2 : 40
6465+
V2 : 24
6466+
H4 : 112
6467+
V3 : 72
6468+
H10: 200
6469+
V4 : 64
6470+
H24: 48
6471+
V16: 32
6472+
Total horizontal tracks: 400
6473+
Total vertical tracks: 192
65286474

65296475
NOTE: We don't model minimum capacitances for Stratix10.
65306476
-->

0 commit comments

Comments
 (0)