|
82 | 82 | </device> |
83 | 83 |
|
84 | 84 | <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 | + |
88 | 86 | <!--the following muxes for unidirectional wires are pulled from k6_N10_40nm --> |
89 | 87 | <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"/> |
90 | 88 | <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 | 96 |
|
99 | 97 | <!-- TODO: To more accurately approximate the seven series, support for both unidirectional and |
100 | 98 | bidirectional segments within the same segmentlist is needed. For now we declare all segments as |
101 | | - bidirectional --> |
| 99 | + unidirectional --> |
102 | 100 |
|
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. |
104 | 102 | 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> |
134 | 103 |
|
135 | 104 | <segment axis="x" name="len1_x" freq="0.258064" length="1" type="unidir" Rmetal="101" Cmetal="22.5e-15"> |
136 | 105 | <mux name="0"/> |
|
145 | 114 |
|
146 | 115 | <segment axis="x" name="len2_x" freq="0.387096" length="2" type="unidir" Rmetal="101" Cmetal="22.5e-15"> |
147 | 116 | <mux name="0"/> |
148 | | - <sb type="pattern">1 1 1</sb> |
| 117 | + <sb type="pattern">1 0 1</sb> |
149 | 118 | <cb type="pattern">1 1</cb> |
150 | 119 | </segment> |
151 | 120 | <segment axis="y" name="len2_y" freq="0.084210" length="2" type="unidir" Rmetal="101" Cmetal="22.5e-15"> |
152 | 121 | <mux name="0"/> |
153 | | - <sb type="pattern">1 1 1</sb> |
| 122 | + <sb type="pattern">1 0 1</sb> |
154 | 123 | <cb type="pattern">1 1</cb> |
155 | 124 | </segment> |
156 | 125 |
|
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"> |
158 | 127 | <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> |
161 | 130 | </segment> |
162 | 131 | <segment axis="y" name="len4_y" freq="0.336842" length="4" type="unidir" Rmetal="101" Cmetal="22.5e-15"> |
163 | 132 | <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> |
166 | 135 | </segment> |
167 | 136 |
|
| 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 | + |
168 | 145 | <!-- No length 6 horizontal chanels --> |
169 | 146 | <!-- VPR freaks out if this is not included --> |
170 | 147 | <segment axis="x" name="len6_x" freq="0.000000" length="6" type="unidir" Rmetal="101" Cmetal="22.5e-15"> |
171 | 148 | <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> |
174 | 163 | </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"> |
176 | 187 | <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> |
179 | 190 | </segment> |
180 | 191 |
|
181 | 192 |
|
|
0 commit comments