Skip to content

Commit abcbc20

Browse files
committed
made all chanels unidirectional and changed sb and cb to match xilinx
1 parent 85589bd commit abcbc20

File tree

1 file changed

+57
-46
lines changed

1 file changed

+57
-46
lines changed

vtr_flow/arch/xilinx/simple-7series.xml

Lines changed: 57 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,7 @@
8282
</device>
8383

8484
<switchlist>
85-
<!--the following tristate for bidirectional wires is pulled from the k4_n4_v7_bidir arch -->
86-
<switch type="tristate" name="01" R="94.841003" Cin="1.537000e-14" Cout="2.194000e-13" Tdel="6.562000e-11"/>
87-
85+
8886
<!--the following muxes for unidirectional wires are pulled from k6_N10_40nm -->
8987
<switch type="mux" name="0" R="551" Cin=".77e-15" Cout="4e-15" Tdel="58e-12" mux_trans_size="2.630740" buf_size="27.645901"/>
9088
<switch type="mux" name="ipin_cblock" R="2231.5" Cout="0." Cin="1.47e-15" Tdel="7.247000e-11" mux_trans_size="1.222260" buf_size="auto"/>
@@ -98,39 +96,10 @@
9896

9997
<!-- TODO: To more accurately approximate the seven series, support for both unidirectional and
10098
bidirectional segments within the same segmentlist is needed. For now we declare all segments as
101-
bidirectional -->
99+
unidirectional -->
102100

103-
<!-- TODO: For proper timing, xilinx specific values for Rmetal and Cmetal are required.
101+
<!-- TODO: For proper timing, Xilinx specific values for Rmetal and Cmetal are required.
104102
For now we approximate using the values given in the k6_N10_40nm arch -->
105-
106-
<segment axis="x" name="len12_x" freq="0.096774" length="12" type="bidir" Rmetal="101" Cmetal="22.5e-15">
107-
<wire_switch name="01"/>
108-
<sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1</sb>
109-
<cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1</cb>
110-
<opin_switch name="01"/>
111-
</segment>
112-
<segment axis="y" name="len12_y" freq="0.063158" length="12" type="bidir" Rmetal="101" Cmetal="22.5e-15">
113-
<wire_switch name="01"/>
114-
<sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1</sb>
115-
<cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1</cb>
116-
<opin_switch name="01"/>
117-
</segment>
118-
119-
<!-- No length 18 horizontal chanels -->
120-
<!-- VPR freaks out if this is not included -->
121-
<segment axis="x" name="len18_x" freq="0.000000" length="18" type="bidir" Rmetal="101" Cmetal="22.5e-15">
122-
<wire_switch name="01"/>
123-
<sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb>
124-
<cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</cb>
125-
<opin_switch name="01"/>
126-
</segment>
127-
128-
<segment axis="y" name="len18_y" freq="0.094736" length="18" type="bidir" Rmetal="101" Cmetal="22.5e-15">
129-
<wire_switch name="01"/>
130-
<sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</sb>
131-
<cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</cb>
132-
<opin_switch name="01"/>
133-
</segment>
134103

135104
<segment axis="x" name="len1_x" freq="0.258064" length="1" type="unidir" Rmetal="101" Cmetal="22.5e-15">
136105
<mux name="0"/>
@@ -145,37 +114,79 @@
145114

146115
<segment axis="x" name="len2_x" freq="0.387096" length="2" type="unidir" Rmetal="101" Cmetal="22.5e-15">
147116
<mux name="0"/>
148-
<sb type="pattern">1 1 1</sb>
117+
<sb type="pattern">1 0 1</sb>
149118
<cb type="pattern">1 1</cb>
150119
</segment>
151120
<segment axis="y" name="len2_y" freq="0.084210" length="2" type="unidir" Rmetal="101" Cmetal="22.5e-15">
152121
<mux name="0"/>
153-
<sb type="pattern">1 1 1</sb>
122+
<sb type="pattern">1 0 1</sb>
154123
<cb type="pattern">1 1</cb>
155124
</segment>
156125

157-
<segment axis="x" name="len4_x" freq="0.258065" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15">
126+
<segment axis="x" name="len4_x" freq="0.225807" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15">
158127
<mux name="0"/>
159-
<sb type="pattern">1 1 1 1 1</sb>
160-
<cb type="pattern">1 1 1 1</cb>
128+
<sb type="pattern">1 0 0 0 1</sb>
129+
<cb type="pattern">1 0 0 1</cb>
161130
</segment>
162131
<segment axis="y" name="len4_y" freq="0.336842" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15">
163132
<mux name="0"/>
164-
<sb type="pattern">1 1 1 1 1</sb>
165-
<cb type="pattern">1 1 1 1</cb>
133+
<sb type="pattern">1 0 0 0 1</sb>
134+
<cb type="pattern">1 0 0 1</cb>
166135
</segment>
167136

137+
<!-- 12.5% of horizontal len4 wires have the following unique sb pattern -->
138+
<segment axis="x" name="len4_stub" freq="0.032258" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15">
139+
<mux name="0"/>
140+
<sb type="pattern">1 0 1 0 1</sb>
141+
<cb type="pattern">1 0 0 1</cb>
142+
</segment>
143+
144+
168145
<!-- No length 6 horizontal chanels -->
169146
<!-- VPR freaks out if this is not included -->
170147
<segment axis="x" name="len6_x" freq="0.000000" length="6" type="unidir" Rmetal="101" Cmetal="22.5e-15">
171148
<mux name="0"/>
172-
<sb type="pattern">1 1 1 1 1 1 1</sb>
173-
<cb type="pattern">1 1 1 1 1 1</cb>
149+
<sb type="pattern">1 0 0 0 0 0 1</sb>
150+
<cb type="pattern">1 0 0 0 0 1</cb>
151+
</segment>
152+
<segment axis="y" name="len6_y" freq="0.189475" length="6" type="unidir" Rmetal="101" Cmetal="22.5e-15">
153+
<mux name="0"/>
154+
<sb type="pattern">1 0 0 0 0 0 1</sb>
155+
<cb type="pattern">1 0 0 0 0 1</cb>
156+
</segment>
157+
158+
<!-- 25% of len6 vertical wires have a unique sb pattern -->
159+
<segment axis="y" name="len6_stub" freq="0.063158" length="6" type="unidir" Rmetal="101" Cmetal="22.5e-15">
160+
<mux name="0"/>
161+
<sb type="pattern">1 1 0 0 0 0 1</sb>
162+
<cb type="pattern">1 0 0 0 0 1</cb>
174163
</segment>
175-
<segment axis="y" name="len6_y" freq="0.252633" length="6" type="unidir" Rmetal="101" Cmetal="22.5e-15">
164+
165+
<!-- TODO: In xilinx length 12 and 18 wires are bidirectional -->
166+
167+
<segment axis="x" name="len12_x" freq="0.096774" length="12" type="unidir" Rmetal="101" Cmetal="22.5e-15">
168+
<mux name="0"/>
169+
<sb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 1</sb>
170+
<cb type="pattern">1 0 0 0 0 0 0 0 0 0 0 1</cb>
171+
</segment>
172+
<segment axis="y" name="len12_y" freq="0.063158" length="12" type="unidir" Rmetal="101" Cmetal="22.5e-15">
173+
<mux name="0"/>
174+
<sb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 1</sb>
175+
<cb type="pattern">1 0 0 0 0 0 0 0 0 0 0 1</cb>
176+
</segment>
177+
178+
<!-- No length 18 horizontal chanels -->
179+
<!-- VPR freaks out if this is not included -->
180+
<segment axis="x" name="len18_x" freq="0.000000" length="18" type="unidir" Rmetal="101" Cmetal="22.5e-15">
181+
<mux name="0"/>
182+
<sb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1</sb>
183+
<cb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1</cb>
184+
</segment>
185+
186+
<segment axis="y" name="len18_y" freq="0.094736" length="18" type="unidir" Rmetal="101" Cmetal="22.5e-15">
176187
<mux name="0"/>
177-
<sb type="pattern">1 1 1 1 1 1 1</sb>
178-
<cb type="pattern">1 1 1 1 1 1</cb>
188+
<sb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1</sb>
189+
<cb type="pattern">1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1</cb>
179190
</segment>
180191

181192

0 commit comments

Comments
 (0)