Skip to content

Commit 81769c2

Browse files
committed
equivalent: updated regression test (WIP)
Signed-off-by: Alessandro Comodi <[email protected]>
1 parent e20ede4 commit 81769c2

File tree

4 files changed

+248
-1830
lines changed

4 files changed

+248
-1830
lines changed
Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
<!-- This architecture definition represents a simplified version of a SLICEM site -->
2+
<architecture xmlns:xi="http://www.w3.org/2001/XInclude">
3+
<models>
4+
<model name="IO_0">
5+
<input_ports>
6+
<port name="I" combinational_sink_ports="O"/>
7+
</input_ports>
8+
<output_ports>
9+
<port name="O"/>
10+
</output_ports>
11+
</model>
12+
<model name="IO_1">
13+
<input_ports>
14+
<port name="I" combinational_sink_ports="O"/>
15+
</input_ports>
16+
<output_ports>
17+
<port name="O"/>
18+
</output_ports>
19+
</model>
20+
<model name="IO_2">
21+
<input_ports>
22+
<port name="I" combinational_sink_ports="O"/>
23+
</input_ports>
24+
<output_ports>
25+
<port name="O"/>
26+
</output_ports>
27+
</model>
28+
<model name="IO_3">
29+
<input_ports>
30+
<port name="I" combinational_sink_ports="O"/>
31+
</input_ports>
32+
<output_ports>
33+
<port name="O"/>
34+
</output_ports>
35+
</model>
36+
</models>
37+
<tiles>
38+
<tile name="io_tile">
39+
<input name="I" num_pins="1"/>
40+
<output name="O" num_pins="1"/>
41+
<equivalent_sites>
42+
<site pb_type="io_site_0">
43+
<direct from="io_tile.I" to="io_site_0.I"/>
44+
<direct from="io_tile.O" to="io_site_0.O"/>
45+
</site>
46+
<site pb_type="io_site_1">
47+
<direct from="io_tile.I" to="io_site_1.I"/>
48+
<direct from="io_tile.O" to="io_site_1.O"/>
49+
</site>
50+
<site pb_type="io_site_2">
51+
<direct from="io_tile.I" to="io_site_2.I"/>
52+
<direct from="io_tile.O" to="io_site_2.O"/>
53+
</site>
54+
<site pb_type="io_site_3">
55+
<direct from="io_tile.I" to="io_site_3.I"/>
56+
<direct from="io_tile.O" to="io_site_3.O"/>
57+
</site>
58+
</equivalent_sites>
59+
<pinlocations pattern="custom">
60+
<loc side="top" xoffset="0" yoffset="0">io_tile.I io_tile.O</loc>
61+
<loc side="left" xoffset="0" yoffset="0">io_tile.I io_tile.O</loc>
62+
<loc side="bottom" xoffset="0" yoffset="0">io_tile.I io_tile.O</loc>
63+
<loc side="right" xoffset="0" yoffset="0">io_tile.I io_tile.O</loc>
64+
</pinlocations>
65+
<fc in_type="frac" in_val="1.0" out_type="frac" out_val="1.0"/>
66+
</tile>
67+
</tiles>
68+
<complexblocklist>
69+
<pb_type name="io_site_0">
70+
<input name="I" num_pins="1"/>
71+
<output name="O" num_pins="1"/>
72+
<mode name="INOUT">
73+
<pb_type blif_model=".subckt IO_0" name="io_0" num_pb="1">
74+
<input name="I" num_pins="1"/>
75+
<output name="O" num_pins="1"/>
76+
<delay_constant max="1.667e-9" in_port="io_0.I" out_port="io_0.O"/>
77+
</pb_type>
78+
<interconnect>
79+
<direct input="io_site_0.I" name="i_0" output="io_0.I"/>
80+
<direct input="io_0.O" name="o_0" output="io_site_0.O"/>
81+
</interconnect>
82+
</mode>
83+
<mode name="IN">
84+
<pb_type blif_model=".input" name="input_0" num_pb="1">
85+
<output name="inpad" num_pins="1"/>
86+
</pb_type>
87+
<interconnect>
88+
<direct input="input_0.inpad" name="i_0" output="io_site_0.O"/>
89+
</interconnect>
90+
</mode>
91+
<mode name="OUT">
92+
<pb_type blif_model=".output" name="output_0" num_pb="1">
93+
<input name="outpad" num_pins="1"/>
94+
</pb_type>
95+
<interconnect>
96+
<direct input="io_site_0.I" name="o_0" output="output_0.outpad"/>
97+
</interconnect>
98+
</mode>
99+
</pb_type>
100+
<pb_type name="io_site_1">
101+
<input name="I" num_pins="1"/>
102+
<output name="O" num_pins="1"/>
103+
<mode name="INOUT">
104+
<pb_type blif_model=".subckt IO_1" name="io_1" num_pb="1">
105+
<input name="I" num_pins="1"/>
106+
<output name="O" num_pins="1"/>
107+
<delay_constant max="1.667e-9" in_port="io_1.I" out_port="io_1.O"/>
108+
</pb_type>
109+
<interconnect>
110+
<direct input="io_site_1.I" name="i_1" output="io_1.I"/>
111+
<direct input="io_1.O" name="o_1" output="io_site_1.O"/>
112+
</interconnect>
113+
</mode>
114+
<mode name="IN">
115+
<pb_type blif_model=".input" name="input_1" num_pb="1">
116+
<output name="inpad" num_pins="1"/>
117+
</pb_type>
118+
<interconnect>
119+
<direct input="input_1.inpad" name="i_1" output="io_site_1.O"/>
120+
</interconnect>
121+
</mode>
122+
<mode name="OUT">
123+
<pb_type blif_model=".output" name="output_1" num_pb="1">
124+
<input name="outpad" num_pins="1"/>
125+
</pb_type>
126+
<interconnect>
127+
<direct input="io_site_1.I" name="o_1" output="output_1.outpad"/>
128+
</interconnect>
129+
</mode>
130+
</pb_type>
131+
<pb_type name="io_site_2">
132+
<input name="I" num_pins="1"/>
133+
<output name="O" num_pins="1"/>
134+
<mode name="INOUT">
135+
<pb_type blif_model=".subckt IO_2" name="io_2" num_pb="1">
136+
<input name="I" num_pins="1"/>
137+
<output name="O" num_pins="1"/>
138+
<delay_constant max="1.667e-9" in_port="io_2.I" out_port="io_2.O"/>
139+
</pb_type>
140+
<interconnect>
141+
<direct input="io_site_2.I" name="i_2" output="io_2.I"/>
142+
<direct input="io_2.O" name="o_2" output="io_site_2.O"/>
143+
</interconnect>
144+
</mode>
145+
<mode name="IN">
146+
<pb_type blif_model=".input" name="input_2" num_pb="1">
147+
<output name="inpad" num_pins="1"/>
148+
</pb_type>
149+
<interconnect>
150+
<direct input="input_2.inpad" name="i_2" output="io_site_2.O"/>
151+
</interconnect>
152+
</mode>
153+
<mode name="OUT">
154+
<pb_type blif_model=".output" name="output_2" num_pb="1">
155+
<input name="outpad" num_pins="1"/>
156+
</pb_type>
157+
<interconnect>
158+
<direct input="io_site_2.I" name="o_2" output="output_2.outpad"/>
159+
</interconnect>
160+
</mode>
161+
</pb_type>
162+
<pb_type name="io_site_3">
163+
<input name="I" num_pins="1"/>
164+
<output name="O" num_pins="1"/>
165+
<mode name="INOUT">
166+
<pb_type blif_model=".subckt IO_3" name="io_3" num_pb="1">
167+
<input name="I" num_pins="1"/>
168+
<output name="O" num_pins="1"/>
169+
<delay_constant max="1.667e-9" in_port="io_3.I" out_port="io_3.O"/>
170+
</pb_type>
171+
<interconnect>
172+
<direct input="io_site_3.I" name="i_3" output="io_3.I"/>
173+
<direct input="io_3.O" name="o_3" output="io_site_3.O"/>
174+
</interconnect>
175+
</mode>
176+
<mode name="IN">
177+
<pb_type blif_model=".input" name="input_3" num_pb="1">
178+
<output name="inpad" num_pins="1"/>
179+
</pb_type>
180+
<interconnect>
181+
<direct input="input_3.inpad" name="i_3" output="io_site_3.O"/>
182+
</interconnect>
183+
</mode>
184+
<mode name="OUT">
185+
<pb_type blif_model=".output" name="output_3" num_pb="1">
186+
<input name="outpad" num_pins="1"/>
187+
</pb_type>
188+
<interconnect>
189+
<direct input="io_site_3.I" name="o_3" output="output_3.outpad"/>
190+
</interconnect>
191+
</mode>
192+
</pb_type>
193+
</complexblocklist>
194+
<layout>
195+
<fixed_layout name="TEST" width="4" height="4">
196+
<single priority="1" type="io_tile" x="0" y="0"/>
197+
<single priority="1" type="io_tile" x="0" y="1"/>
198+
<single priority="1" type="io_tile" x="0" y="2"/>
199+
<single priority="1" type="io_tile" x="0" y="3"/>
200+
<single priority="1" type="io_tile" x="1" y="0"/>
201+
<single priority="1" type="io_tile" x="1" y="1"/>
202+
<single priority="1" type="io_tile" x="1" y="2"/>
203+
<single priority="1" type="io_tile" x="1" y="3"/>
204+
<single priority="1" type="io_tile" x="2" y="0"/>
205+
<single priority="1" type="io_tile" x="2" y="1"/>
206+
<single priority="1" type="io_tile" x="2" y="2"/>
207+
<single priority="1" type="io_tile" x="2" y="3"/>
208+
<single priority="1" type="io_tile" x="3" y="0"/>
209+
<single priority="1" type="io_tile" x="3" y="1"/>
210+
<single priority="1" type="io_tile" x="3" y="2"/>
211+
<single priority="1" type="io_tile" x="3" y="3"/>
212+
</fixed_layout>
213+
</layout>
214+
<device>
215+
<sizing R_minW_nmos="6065.520020" R_minW_pmos="18138.500000"/>
216+
<area grid_logic_tile_area="14813.392"/>
217+
<connection_block input_switch_name="buffer"/>
218+
<switch_block fs="3" type="wilton"/>
219+
<chan_width_distr>
220+
<x distr="uniform" peak="1.0"/>
221+
<y distr="uniform" peak="1.0"/>
222+
</chan_width_distr>
223+
</device>
224+
<switchlist>
225+
<switch Cin=".77e-15" Cout="4e-15" R="551" Tdel="6.8e-12" buf_size="27.645901" mux_trans_size="2.630740" name="routing" type="mux"/>
226+
<switch Cin=".77e-15" Cout="4e-15" R="551" Tdel="6.8e-12" buf_size="27.645901" mux_trans_size="2.630740" name="buffer" type="mux"/>
227+
</switchlist>
228+
<segmentlist>
229+
<segment Cmetal="22.5e-15" Rmetal="101" freq="1.0" length="12" name="dummy" type="bidir">
230+
<wire_switch name="routing"/>
231+
<opin_switch name="routing"/>
232+
<sb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1 1</sb>
233+
<cb type="pattern">1 1 1 1 1 1 1 1 1 1 1 1</cb>
234+
</segment>
235+
</segmentlist>
236+
</architecture>

0 commit comments

Comments
 (0)