rename ls180sram4k to ls180
[soclayout.git] / experiments5 / alu_hier_altered.vst
1
2 -- =======================================================================
3 -- Coriolis Structural VHDL Driver
4 -- Generated on Feb 28, 2020, 20:44
5 --
6 -- To be interoperable with Alliance, it uses it's special VHDL subset.
7 -- ("man vhdl" under Alliance for more informations)
8 -- =======================================================================
9
10 entity alu_hier_altered is
11 port ( clk : in bit
12 ; op : in bit
13 ; rst : in bit
14 ; a : in bit_vector(15 downto 0)
15 ; b : in bit_vector(15 downto 0)
16 ; o : out bit_vector(15 downto 0)
17 ; vdd : in bit
18 ; vss : in bit
19 );
20 end alu_hier_altered;
21
22 architecture structural of alu_hier_altered is
23
24 component add
25 port ( a : in bit_vector(15 downto 0)
26 ; b : in bit_vector(15 downto 0)
27 ; o : out bit_vector(15 downto 0)
28 ; vdd : in bit
29 ; vss : in bit
30 );
31 end component;
32
33 component no2_x1
34 port ( i0 : in bit
35 ; i1 : in bit
36 ; nq : out bit
37 ; vdd : in bit
38 ; vss : in bit
39 );
40 end component;
41
42 component sub
43 port ( a : in bit_vector(15 downto 0)
44 ; b : in bit_vector(15 downto 0)
45 ; o : out bit_vector(15 downto 0)
46 ; vdd : in bit
47 ; vss : in bit
48 );
49 end component;
50
51 component nmx2_x1
52 port ( cmd : in bit
53 ; i0 : in bit
54 ; i1 : in bit
55 ; nq : out bit
56 ; vdd : in bit
57 ; vss : in bit
58 );
59 end component;
60
61 component sff1_x4
62 port ( ck : in bit
63 ; i : in bit
64 ; q : out bit
65 ; vdd : in bit
66 ; vss : in bit
67 );
68 end component;
69
70 signal abc_828_new_n51 : bit;
71 signal abc_828_new_n53 : bit;
72 signal abc_828_new_n55 : bit;
73 signal abc_828_new_n57 : bit;
74 signal abc_828_new_n59 : bit;
75 signal abc_828_new_n61 : bit;
76 signal abc_828_new_n63 : bit;
77 signal abc_828_new_n65 : bit;
78 signal abc_828_new_n67 : bit;
79 signal abc_828_new_n69 : bit;
80 signal abc_828_new_n71 : bit;
81 signal abc_828_new_n73 : bit;
82 signal abc_828_new_n75 : bit;
83 signal abc_828_new_n77 : bit;
84 signal abc_828_new_n79 : bit;
85 signal abc_828_new_n81 : bit;
86 signal blockagenet : bit;
87 signal add_o : bit_vector(15 downto 0);
88 signal o_next : bit_vector(15 downto 0);
89 signal sub_o : bit_vector(15 downto 0);
90
91
92 begin
93
94 subckt_0_nmx2_x1 : nmx2_x1
95 port map ( cmd => op
96 , i0 => add_o(0)
97 , i1 => sub_o(0)
98 , nq => abc_828_new_n51
99 , vdd => vdd
100 , vss => vss
101 );
102
103 subckt_28_nmx2_x1 : nmx2_x1
104 port map ( cmd => op
105 , i0 => add_o(14)
106 , i1 => sub_o(14)
107 , nq => abc_828_new_n79
108 , vdd => vdd
109 , vss => vss
110 );
111
112 subckt_31_no2_x1 : no2_x1
113 port map ( i0 => abc_828_new_n81
114 , i1 => rst
115 , nq => o_next(15)
116 , vdd => vdd
117 , vss => vss
118 );
119
120 subckt_36_sff1_x4 : sff1_x4
121 port map ( ck => clk
122 , i => o_next(4)
123 , q => o(4)
124 , vdd => vdd
125 , vss => vss
126 );
127
128 subckt_44_sff1_x4 : sff1_x4
129 port map ( ck => clk
130 , i => o_next(12)
131 , q => o(12)
132 , vdd => vdd
133 , vss => vss
134 );
135
136 subckt_14_nmx2_x1 : nmx2_x1
137 port map ( cmd => op
138 , i0 => add_o(7)
139 , i1 => sub_o(7)
140 , nq => abc_828_new_n65
141 , vdd => vdd
142 , vss => vss
143 );
144
145 subckt_21_no2_x1 : no2_x1
146 port map ( i0 => abc_828_new_n71
147 , i1 => rst
148 , nq => o_next(10)
149 , vdd => vdd
150 , vss => vss
151 );
152
153 subckt_22_nmx2_x1 : nmx2_x1
154 port map ( cmd => op
155 , i0 => add_o(11)
156 , i1 => sub_o(11)
157 , nq => abc_828_new_n73
158 , vdd => vdd
159 , vss => vss
160 );
161
162 subckt_23_no2_x1 : no2_x1
163 port map ( i0 => abc_828_new_n73
164 , i1 => rst
165 , nq => o_next(11)
166 , vdd => vdd
167 , vss => vss
168 );
169
170 subckt_35_sff1_x4 : sff1_x4
171 port map ( ck => clk
172 , i => o_next(3)
173 , q => o(3)
174 , vdd => vdd
175 , vss => vss
176 );
177
178 subckt_30_nmx2_x1 : nmx2_x1
179 port map ( cmd => op
180 , i0 => add_o(15)
181 , i1 => sub_o(15)
182 , nq => abc_828_new_n81
183 , vdd => vdd
184 , vss => vss
185 );
186
187 subckt_29_no2_x1 : no2_x1
188 port map ( i0 => abc_828_new_n79
189 , i1 => rst
190 , nq => o_next(14)
191 , vdd => vdd
192 , vss => vss
193 );
194
195 subckt_27_no2_x1 : no2_x1
196 port map ( i0 => abc_828_new_n77
197 , i1 => rst
198 , nq => o_next(13)
199 , vdd => vdd
200 , vss => vss
201 );
202
203 subckt_25_no2_x1 : no2_x1
204 port map ( i0 => abc_828_new_n75
205 , i1 => rst
206 , nq => o_next(12)
207 , vdd => vdd
208 , vss => vss
209 );
210
211 subckt_4_nmx2_x1 : nmx2_x1
212 port map ( cmd => op
213 , i0 => add_o(2)
214 , i1 => sub_o(2)
215 , nq => abc_828_new_n55
216 , vdd => vdd
217 , vss => vss
218 );
219
220 subckt_1_no2_x1 : no2_x1
221 port map ( i0 => abc_828_new_n51
222 , i1 => rst
223 , nq => o_next(0)
224 , vdd => vdd
225 , vss => vss
226 );
227
228 subckt_43_sff1_x4 : sff1_x4
229 port map ( ck => clk
230 , i => o_next(11)
231 , q => o(11)
232 , vdd => vdd
233 , vss => vss
234 );
235
236 subckt_15_no2_x1 : no2_x1
237 port map ( i0 => abc_828_new_n65
238 , i1 => rst
239 , nq => o_next(7)
240 , vdd => vdd
241 , vss => vss
242 );
243
244 subckt_18_nmx2_x1 : nmx2_x1
245 port map ( cmd => op
246 , i0 => add_o(9)
247 , i1 => sub_o(9)
248 , nq => abc_828_new_n69
249 , vdd => vdd
250 , vss => vss
251 );
252
253 subckt_13_no2_x1 : no2_x1
254 port map ( i0 => abc_828_new_n63
255 , i1 => rst
256 , nq => o_next(6)
257 , vdd => vdd
258 , vss => vss
259 );
260
261 subckt_11_no2_x1 : no2_x1
262 port map ( i0 => abc_828_new_n61
263 , i1 => rst
264 , nq => o_next(5)
265 , vdd => vdd
266 , vss => vss
267 );
268
269 subckt_3_no2_x1 : no2_x1
270 port map ( i0 => abc_828_new_n53
271 , i1 => rst
272 , nq => o_next(1)
273 , vdd => vdd
274 , vss => vss
275 );
276
277 subckt_5_no2_x1 : no2_x1
278 port map ( i0 => abc_828_new_n55
279 , i1 => rst
280 , nq => o_next(2)
281 , vdd => vdd
282 , vss => vss
283 );
284
285 subckt_7_no2_x1 : no2_x1
286 port map ( i0 => abc_828_new_n57
287 , i1 => rst
288 , nq => o_next(3)
289 , vdd => vdd
290 , vss => vss
291 );
292
293 subckt_26_nmx2_x1 : nmx2_x1
294 port map ( cmd => op
295 , i0 => add_o(13)
296 , i1 => sub_o(13)
297 , nq => abc_828_new_n77
298 , vdd => vdd
299 , vss => vss
300 );
301
302 subckt_34_sff1_x4 : sff1_x4
303 port map ( ck => clk
304 , i => o_next(2)
305 , q => o(2)
306 , vdd => vdd
307 , vss => vss
308 );
309
310 subckt_47_sff1_x4 : sff1_x4
311 port map ( ck => clk
312 , i => o_next(15)
313 , q => o(15)
314 , vdd => vdd
315 , vss => vss
316 );
317
318 subckt_42_sff1_x4 : sff1_x4
319 port map ( ck => clk
320 , i => o_next(10)
321 , q => o(10)
322 , vdd => vdd
323 , vss => vss
324 );
325
326 subckt_20_nmx2_x1 : nmx2_x1
327 port map ( cmd => op
328 , i0 => add_o(10)
329 , i1 => sub_o(10)
330 , nq => abc_828_new_n71
331 , vdd => vdd
332 , vss => vss
333 );
334
335 subckt_19_no2_x1 : no2_x1
336 port map ( i0 => abc_828_new_n69
337 , i1 => rst
338 , nq => o_next(9)
339 , vdd => vdd
340 , vss => vss
341 );
342
343 subckt_17_no2_x1 : no2_x1
344 port map ( i0 => abc_828_new_n67
345 , i1 => rst
346 , nq => o_next(8)
347 , vdd => vdd
348 , vss => vss
349 );
350
351 subckt_12_nmx2_x1 : nmx2_x1
352 port map ( cmd => op
353 , i0 => add_o(6)
354 , i1 => sub_o(6)
355 , nq => abc_828_new_n63
356 , vdd => vdd
357 , vss => vss
358 );
359
360 subckt_9_no2_x1 : no2_x1
361 port map ( i0 => abc_828_new_n59
362 , i1 => rst
363 , nq => o_next(4)
364 , vdd => vdd
365 , vss => vss
366 );
367
368 subckt_39_sff1_x4 : sff1_x4
369 port map ( ck => clk
370 , i => o_next(7)
371 , q => o(7)
372 , vdd => vdd
373 , vss => vss
374 );
375
376 subckt_41_sff1_x4 : sff1_x4
377 port map ( ck => clk
378 , i => o_next(9)
379 , q => o(9)
380 , vdd => vdd
381 , vss => vss
382 );
383
384 subckt_2_nmx2_x1 : nmx2_x1
385 port map ( cmd => op
386 , i0 => add_o(1)
387 , i1 => sub_o(1)
388 , nq => abc_828_new_n53
389 , vdd => vdd
390 , vss => vss
391 );
392
393 subckt_8_nmx2_x1 : nmx2_x1
394 port map ( cmd => op
395 , i0 => add_o(4)
396 , i1 => sub_o(4)
397 , nq => abc_828_new_n59
398 , vdd => vdd
399 , vss => vss
400 );
401
402 subckt_33_sff1_x4 : sff1_x4
403 port map ( ck => clk
404 , i => o_next(1)
405 , q => o(1)
406 , vdd => vdd
407 , vss => vss
408 );
409
410 subckt_38_sff1_x4 : sff1_x4
411 port map ( ck => clk
412 , i => o_next(6)
413 , q => o(6)
414 , vdd => vdd
415 , vss => vss
416 );
417
418 subckt_32_sff1_x4 : sff1_x4
419 port map ( ck => clk
420 , i => o_next(0)
421 , q => o(0)
422 , vdd => vdd
423 , vss => vss
424 );
425
426 subckt_24_nmx2_x1 : nmx2_x1
427 port map ( cmd => op
428 , i0 => add_o(12)
429 , i1 => sub_o(12)
430 , nq => abc_828_new_n75
431 , vdd => vdd
432 , vss => vss
433 );
434
435 subckt_16_nmx2_x1 : nmx2_x1
436 port map ( cmd => op
437 , i0 => add_o(8)
438 , i1 => sub_o(8)
439 , nq => abc_828_new_n67
440 , vdd => vdd
441 , vss => vss
442 );
443
444 subckt_46_sff1_x4 : sff1_x4
445 port map ( ck => clk
446 , i => o_next(14)
447 , q => o(14)
448 , vdd => vdd
449 , vss => vss
450 );
451
452 subckt_40_sff1_x4 : sff1_x4
453 port map ( ck => clk
454 , i => o_next(8)
455 , q => o(8)
456 , vdd => vdd
457 , vss => vss
458 );
459
460 subckt_37_sff1_x4 : sff1_x4
461 port map ( ck => clk
462 , i => o_next(5)
463 , q => o(5)
464 , vdd => vdd
465 , vss => vss
466 );
467
468 subckt_10_nmx2_x1 : nmx2_x1
469 port map ( cmd => op
470 , i0 => add_o(5)
471 , i1 => sub_o(5)
472 , nq => abc_828_new_n61
473 , vdd => vdd
474 , vss => vss
475 );
476
477 subckt_6_nmx2_x1 : nmx2_x1
478 port map ( cmd => op
479 , i0 => add_o(3)
480 , i1 => sub_o(3)
481 , nq => abc_828_new_n57
482 , vdd => vdd
483 , vss => vss
484 );
485
486 subckt_45_sff1_x4 : sff1_x4
487 port map ( ck => clk
488 , i => o_next(13)
489 , q => o(13)
490 , vdd => vdd
491 , vss => vss
492 );
493
494 end structural;
495