-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathprocessor_4_bit.sue
More file actions
353 lines (352 loc) · 12.9 KB
/
Copy pathprocessor_4_bit.sue
File metadata and controls
353 lines (352 loc) · 12.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
proc SCHEMATIC_processor_4_bit {} {
make proj_mux_2to1_1x -name xi0 -origin {1220 290}
make proj_mux_2to1_1x -name xi1 -origin {1220 390}
make proj_mux_2to1_1x -name xi2 -origin {1220 530}
make proj_mux_2to1_1x -name xi3 -origin {1220 630}
make proj_mux_2to1_1x -name xi4 -origin {1220 770}
make proj_reg2bit1x -name xi5 -origin {1780 340}
make proj_reg2bit1x -name xi6 -origin {1780 580}
make input -name input0_0 -origin {920 280}
make input -name input0_1 -origin {920 380}
make input -name input1_0 -origin {920 520}
make input -name input1_1 -origin {920 620}
make input -orient R90 -name initialization -origin {1250 120}
make input -orient R90 -name clk -origin {1450 120}
make input -orient R90 -name reset_b -origin {1520 120}
make name_net -name inp0_0 -origin {2140 320}
make name_net -name inp0_1 -origin {2110 340}
make name_net -name inp1_0 -origin {2130 560}
make name_net -name inp1_1 -origin {2110 580}
make proj_mux_2to1_1x -name xi7 -origin {1220 870}
make input -name output_0 -origin {920 760}
make input -name output_1 -origin {920 860}
make proj_reg2bit1x -name xi8 -origin {1780 820}
make proj_reg2bit1x -name xi9 -origin {1780 1020}
make proj_reg2bit1x -name xi10 -origin {1780 1180}
make proj_reg2bit1x -name xi11 -origin {1780 1340}
make proj_reg2bit1x -name xi12 -origin {1780 1500}
make input -name i0_0 -origin {1680 1000}
make input -name i0_1 -origin {1680 1020}
make input -name i1_0 -origin {1680 1160}
make input -name i1_1 -origin {1680 1180}
make input -name i2_0 -origin {1680 1320}
make input -name i2_1 -origin {1680 1340}
make input -name i3_0 -origin {1680 1480}
make input -name i3_1 -origin {1680 1500}
make name_net -name ins0_0 -origin {2120 1000}
make name_net -name ins0_1 -origin {2090 1020}
make name_net -name ins1_0 -origin {2130 1160}
make name_net -name ins1_1 -origin {2110 1180}
make name_net -name ins2_0 -origin {2140 1320}
make name_net -name ins2_1 -origin {2130 1340}
make name_net -name ins3_0 -origin {2140 1480}
make name_net -name ins3_1 -origin {2110 1500}
make proj_mux_2to1_1x -name xi13 -origin {1140 1810}
make proj_mux_2to1_1x -name xi14 -origin {1140 1910}
make input -name pc_init_0 -origin {1040 1800}
make input -name pc_init_1 -origin {1040 1900}
make proj_reg2bit1x -name xi15 -origin {1780 1870}
make name_net -name pc_0 -origin {1980 1850}
make name_net -name pc_1 -origin {1950 1870}
make global -name gnd -origin {2040 1920}
make name_net -name pc_0 -origin {2160 1860}
make name_net -name pc_1 -origin {2160 1920}
make input -name pc_inc_1 -origin {2260 1940}
make input -name pc_inc_0 -origin {2260 1880}
make output -name pc_0 -origin {2800 1760}
make output -name pc_1 -origin {2800 1780}
make name_net -name initialization -origin {1170 1510}
make output -name out_0 -origin {2160 800}
make output -name out_1 -origin {2160 820}
make name_net -name ins0_0 -origin {2470 840}
make name_net -name ins2_0 -origin {2470 940}
make name_net -name ins1_0 -origin {2500 860}
make name_net -name ins3_0 -origin {2500 960}
make name_net -name ins0_1 -origin {2470 1160}
make name_net -name ins1_1 -origin {2500 1180}
make name_net -name ins2_1 -origin {2470 1260}
make name_net -name ins3_1 -origin {2500 1280}
make name_net -name instruction0 -origin {3200 900}
make name_net -name instruction1 -origin {3200 1220}
make output -name instruction0 -origin {3250 900}
make output -name instruction1 -origin {3260 1220}
make name_net -name pc_1 -origin {3020 780}
make name_net -name pc_0 -origin {2690 760}
make name_net -name instruction0 -origin {-520 650}
make name_net -name instruction1 -origin {-300 620}
make name_net -name output_0 -origin {180 770}
make name_net -name output_1 -origin {190 870}
make name_net -name o0 -origin {1620 2200}
make name_net -name o1 -origin {1600 2220}
make proj_reg2bit1x -name xaccumulator -origin {1780 2220}
make output -name acc_0 -origin {2080 2200}
make output -name acc_1 -origin {2080 2220}
make name_net -name acc_0 -origin {2050 2200}
make name_net -name acc_1 -origin {2000 2220}
make global -name gnd -origin {1440 2690}
make name_net -name a0 -origin {1520 2650}
make name_net -name b0 -origin {1480 2670}
make name_net -name a1 -origin {1550 2710}
make name_net -name b1 -origin {1510 2730}
make name_net -name o1 -origin {1840 2650}
make name_net -name o0 -origin {1890 2670}
make name_net -name instruction0 -origin {1170 2320}
make name_net -name inp0_0 -origin {990 2440}
make name_net -name inp1_0 -origin {960 2460}
make name_net -name inp0_1 -origin {1000 2540}
make name_net -name inp1_1 -origin {960 2560}
make name_net -name acc_0 -origin {960 2780}
make name_net -name acc_1 -origin {970 2880}
make global -name gnd -origin {880 2760}
make global -name gnd -origin {880 2860}
make name_net -name a0 -origin {1360 2450}
make name_net -orient R90 -name b0 -origin {1360 2490}
make name_net -name a1 -origin {1360 2550}
make name_net -name b1 -origin {1360 2590}
make full_adder_4bit_01 -name xi16 -origin {2360 1890}
make proj_mux_2to1_1x -name xi17 -origin {2660 850}
make proj_mux_2to1_1x -name xi18 -origin {2660 950}
make proj_mux_2to1_1x -name xi19 -origin {2990 900}
make proj_mux_2to1_1x -name xi20 -origin {2660 1170}
make proj_mux_2to1_1x -name xi21 -origin {2660 1270}
make proj_mux_2to1_1x -name xi22 -origin {2990 1220}
make proj_mux_2to1_1x -name xi23 -origin {390 780}
make proj_mux_2to1_1x -name xi24 -origin {390 880}
make proj_inv1x -name xi25 -origin {160 640}
make proj_nand1x -name xi26 -origin {-170 640}
make proj_inv1x -name xi27 -origin {-380 650}
make proj_mux_2to1_1x -name xi28 -origin {1140 2450}
make proj_mux_2to1_1x -name xi29 -origin {1140 2550}
make proj_mux_2to1_1x -name xi30 -origin {1140 2770}
make proj_mux_2to1_1x -name xi31 -origin {1140 2870}
make full_adder_4bit_01 -name xi32 -origin {1700 2680}
make output -name store_en -origin {320 560}
make_wire 1320 290 1440 290
make_wire 1440 290 1440 320
make_wire 1440 320 1680 320
make_wire 1320 390 1440 390
make_wire 1440 390 1440 340
make_wire 1440 340 1680 340
make_wire 1320 530 1440 530
make_wire 1440 530 1440 560
make_wire 1440 560 1680 560
make_wire 1320 630 1440 630
make_wire 1440 630 1440 580
make_wire 1440 580 1680 580
make_wire 1250 120 1250 240
make_wire 1250 340 1250 240
make_wire 1250 480 1250 340
make_wire 1250 580 1250 480
make_wire 1250 720 1250 580
make_wire 1680 600 1490 600
make_wire 1680 620 1540 620
make_wire 1450 120 1450 360
make_wire 1490 600 1490 360
make_wire 1490 360 1450 360
make_wire 1490 360 1680 360
make_wire 1520 120 1520 380
make_wire 1540 620 1540 380
make_wire 1540 380 1520 380
make_wire 1540 380 1680 380
make_wire 2140 320 1880 320
make_wire 2140 320 2160 320
make_wire 2110 340 1880 340
make_wire 2110 340 2160 340
make_wire 2130 560 1880 560
make_wire 2130 560 2160 560
make_wire 2110 580 1880 580
make_wire 2110 580 2160 580
make_wire 1120 300 1070 300
make_wire 1070 300 1070 280
make_wire 1070 280 1120 280
make_wire 1070 280 920 280
make_wire 1120 400 1070 400
make_wire 1070 400 1070 380
make_wire 1070 380 1120 380
make_wire 1070 380 920 380
make_wire 1120 640 1070 640
make_wire 1070 640 1070 620
make_wire 1070 620 1120 620
make_wire 1070 620 920 620
make_wire 1120 540 1070 540
make_wire 1070 540 1070 520
make_wire 1070 520 920 520
make_wire 1070 520 1120 520
make_wire 1120 760 920 760
make_wire 920 860 1120 860
make_wire 1320 770 1440 770
make_wire 1440 800 1680 800
make_wire 1440 820 1680 820
make_wire 1320 870 1310 870
make_wire 1320 870 1440 870
make_wire 1440 820 1440 870
make_wire 1440 770 1440 800
make_wire 1490 840 1490 600
make_wire 1490 840 1680 840
make_wire 1540 860 1540 620
make_wire 1540 860 1670 860
make_wire 1250 820 1250 720
make_wire 1680 1360 1490 1360
make_wire 1680 1520 1490 1520
make_wire 1490 1360 1490 1520
make_wire 1680 1040 1490 1040
make_wire 1490 1040 1490 840
make_wire 1680 1200 1490 1200
make_wire 1490 1200 1490 1040
make_wire 1490 1200 1490 1360
make_wire 1680 1540 1540 1540
make_wire 1540 1060 1540 860
make_wire 1680 1060 1540 1060
make_wire 1540 1220 1540 1060
make_wire 1680 1220 1540 1220
make_wire 1680 1380 1540 1380
make_wire 1540 1380 1540 1220
make_wire 1540 1380 1540 1540
make_wire 1880 800 2160 800
make_wire 1880 820 2160 820
make_wire 2120 1000 1880 1000
make_wire 2120 1000 2160 1000
make_wire 2090 1020 1880 1020
make_wire 2090 1020 2160 1020
make_wire 2130 1160 1880 1160
make_wire 2130 1160 2160 1160
make_wire 2110 1180 1880 1180
make_wire 2110 1180 2160 1180
make_wire 2140 1320 1880 1320
make_wire 2140 1320 2160 1320
make_wire 2130 1340 1880 1340
make_wire 2130 1340 2160 1340
make_wire 2140 1480 1880 1480
make_wire 2140 1480 2160 1480
make_wire 2110 1500 1880 1500
make_wire 2110 1500 2160 1500
make_wire 1240 1810 1360 1810
make_wire 1360 1850 1680 1850
make_wire 1240 1910 1360 1910
make_wire 1360 1870 1680 1870
make_wire 1360 1870 1360 1910
make_wire 1360 1810 1360 1850
make_wire 1680 1890 1490 1890
make_wire 1490 1890 1490 1520
make_wire 1540 1910 1540 1540
make_wire 1540 1910 1680 1910
make_wire 1980 1850 1880 1850
make_wire 1980 1850 2000 1850
make_wire 1950 1870 1880 1870
make_wire 1950 1870 2000 1870
make_wire 2260 1860 2160 1860
make_wire 2260 1900 2040 1900
make_wire 2040 1900 2040 1920
make_wire 2260 1920 2160 1920
make_wire 1040 1820 860 1820
make_wire 860 1820 860 1710
make_wire 860 1710 2560 1710
make_wire 2560 1710 2560 1860
make_wire 2560 1860 2460 1860
make_wire 1040 1920 790 1920
make_wire 790 1920 790 1640
make_wire 790 1640 2640 1640
make_wire 2640 1640 2640 1880
make_wire 2640 1880 2460 1880
make_wire 1170 1760 1170 1860
make_wire 1170 1760 1170 1510
make_wire 2760 850 2800 850
make_wire 2800 890 2890 890
make_wire 2760 950 2800 950
make_wire 2800 910 2890 910
make_wire 2800 910 2800 950
make_wire 2800 850 2800 890
make_wire 2760 1170 2800 1170
make_wire 2800 1210 2890 1210
make_wire 2760 1270 2800 1270
make_wire 2800 1230 2890 1230
make_wire 2800 1230 2800 1270
make_wire 2800 1170 2800 1210
make_wire 2560 840 2470 840
make_wire 2560 860 2500 860
make_wire 2560 940 2470 940
make_wire 2560 960 2500 960
make_wire 2560 1160 2470 1160
make_wire 2560 1180 2500 1180
make_wire 2560 1260 2470 1260
make_wire 2560 1280 2500 1280
make_wire 3200 900 3090 900
make_wire 3200 900 3250 900
make_wire 3200 1220 3090 1220
make_wire 3200 1220 3260 1220
make_wire 3020 850 3020 1170
make_wire 3020 780 2960 780
make_wire 3080 780 3020 780
make_wire 3020 780 3020 850
make_wire 2690 900 2690 800
make_wire 2690 1120 2690 900
make_wire 2690 1120 2690 1220
make_wire 2690 760 2640 760
make_wire 2740 760 2690 760
make_wire 2690 760 2690 800
make_wire 1120 780 490 780
make_wire 490 880 1120 880
make_wire 290 790 160 790
make_wire 290 890 160 890
make_wire 420 640 320 640
make_wire 420 730 420 830
make_wire 420 730 420 640
make_wire -320 650 -240 650
make_wire -80 640 80 640
make_wire 320 640 320 560
make_wire 220 640 320 640
make_wire -300 620 -240 620
make_wire -300 620 -320 620
make_wire -520 650 -460 650
make_wire -520 650 -560 650
make_wire 180 770 290 770
make_wire 180 770 160 770
make_wire 190 870 290 870
make_wire 190 870 160 870
make_wire 1680 2260 1540 2260
make_wire 1540 2260 1540 1910
make_wire 1680 2240 1490 2240
make_wire 1490 2240 1490 1890
make_wire 1680 2200 1620 2200
make_wire 1680 2220 1600 2220
make_wire 2050 2200 1880 2200
make_wire 2050 2200 2080 2200
make_wire 2000 2220 1880 2220
make_wire 2000 2220 2080 2220
make_wire 1600 2650 1520 2650
make_wire 1600 2670 1480 2670
make_wire 1600 2690 1440 2690
make_wire 1600 2710 1550 2710
make_wire 1600 2730 1510 2730
make_wire 1800 2670 1890 2670
make_wire 1840 2650 1800 2650
make_wire 1840 2650 1890 2650
make_wire 1170 2320 1120 2320
make_wire 1170 2500 1170 2720
make_wire 1170 2720 1170 2820
make_wire 1170 2320 1170 2400
make_wire 1170 2400 1170 2500
make_wire 1220 2320 1170 2320
make_wire 990 2440 1040 2440
make_wire 990 2440 920 2440
make_wire 960 2460 1040 2460
make_wire 960 2460 920 2460
make_wire 1000 2540 1040 2540
make_wire 1000 2540 920 2540
make_wire 960 2560 1040 2560
make_wire 960 2560 920 2560
make_wire 960 2780 1040 2780
make_wire 960 2780 920 2780
make_wire 970 2880 920 2880
make_wire 970 2880 1040 2880
make_wire 880 2760 1040 2760
make_wire 880 2860 1040 2860
make_wire 1240 2450 1360 2450
make_wire 1240 2550 1360 2550
make_wire 1240 2770 1300 2770
make_wire 1300 2770 1300 2480
make_wire 1300 2480 1360 2480
make_wire 1360 2480 1360 2490
make_wire 1240 2870 1360 2870
make_wire 1360 2870 1360 2590
}