-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflattened.v
299 lines (298 loc) · 10.5 KB
/
flattened.v
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
/* Generated by Yosys 0.25+83 (git sha1 755b753e1, aarch64-apple-darwin20.2-clang 10.0.0-4ubuntu1 -fPIC -Os) */
/* top = 1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:2.9-13.18" */
module d37_sophiali_calculator(io_in, io_out);
wire _000_;
wire _001_;
wire _002_;
wire _003_;
wire _004_;
wire _005_;
wire _006_;
wire _007_;
wire _008_;
wire _009_;
wire _010_;
wire _011_;
wire _012_;
wire _013_;
wire _014_;
wire _015_;
wire _016_;
wire _017_;
wire _018_;
wire _019_;
wire _020_;
wire _021_;
wire _022_;
wire _023_;
wire _024_;
wire _025_;
wire _026_;
wire _027_;
wire _028_;
wire _029_;
wire _030_;
wire _031_;
wire _032_;
wire _033_;
wire _034_;
wire _035_;
wire _036_;
wire _037_;
wire _038_;
wire _039_;
wire _040_;
wire _041_;
wire _042_;
wire _043_;
wire _044_;
wire _045_;
wire _046_;
wire _047_;
wire _048_;
wire _049_;
wire _050_;
wire _051_;
wire _052_;
wire _053_;
wire _054_;
wire _055_;
wire _056_;
wire _057_;
wire _058_;
wire _059_;
wire _060_;
wire _061_;
wire _062_;
wire _063_;
wire _064_;
wire _065_;
wire _066_;
wire _067_;
wire _068_;
wire _069_;
wire _070_;
wire _071_;
wire _072_;
wire _073_;
wire _074_;
wire _075_;
wire _076_;
wire _077_;
wire _078_;
wire _079_;
wire _080_;
wire _081_;
wire _082_;
wire _083_;
wire _084_;
wire _085_;
wire _086_;
wire _087_;
wire _088_;
wire _089_;
wire _090_;
wire _091_;
wire _092_;
wire _093_;
wire _094_;
/* force_downto = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:39.16-44.16|d37_sophiali_calculator/src/math.sv:0.0-0.0|/Users/anish/workspace/oss-cad-suite/libexec/../share/yosys/techmap.v:575.21-575.22" */
wire [7:0] _095_;
/* src = "d37_sophiali_calculator/src/wrapper.v:3.26-3.31" */
input [13:0] io_in;
wire [13:0] io_in;
/* src = "d37_sophiali_calculator/src/wrapper.v:4.27-4.33" */
output [13:0] io_out;
wire [13:0] io_out;
/* hdlname = "mchip arithOp" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:20.15-20.22" */
wire [1:0] \mchip.arithOp ;
/* hdlname = "mchip clock" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:18.9-18.14" */
wire \mchip.clock ;
/* hdlname = "mchip en" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:18.23-18.25" */
wire \mchip.en ;
/* hdlname = "mchip enable" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:30.9-30.15" */
wire \mchip.enable ;
/* hdlname = "mchip in" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:19.15-19.17" */
wire [2:0] \mchip.in ;
/* hdlname = "mchip io_in" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:14.21-14.26" */
wire [7:0] \mchip.io_in ;
/* hdlname = "mchip io_out" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:15.22-15.28" */
reg [7:0] \mchip.io_out ;
/* enum_type = "$enum0" */
/* hdlname = "mchip nextState" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:31.32-31.41" */
wire \mchip.nextState ;
/* hdlname = "mchip reset" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:18.16-18.21" */
wire \mchip.reset ;
/* enum_type = "$enum0" */
/* hdlname = "mchip state" */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:31.25-31.30" */
reg \mchip.state ;
assign \mchip.enable = io_in[2] & ~(\mchip.state );
assign _028_ = io_in[7] & ~(io_in[6]);
assign _000_ = \mchip.enable & ~(_028_);
assign _029_ = ~(io_in[3] ^ \mchip.io_out [0]);
assign _030_ = _028_ & ~(_029_);
assign _031_ = io_in[6] & io_in[7];
assign _032_ = ~io_in[5];
assign _033_ = \mchip.io_out [0] & ~(io_in[3]);
assign _034_ = _033_ & ~(io_in[4]);
assign _035_ = ~(_034_ & _032_);
assign _036_ = _031_ & ~(_035_);
assign _037_ = _036_ | _030_;
assign _038_ = _031_ | _028_;
assign _039_ = \mchip.io_out [0] | ~(io_in[3]);
assign _040_ = _033_ | ~(_039_);
assign _095_[0] = _038_ ? _037_ : _040_;
assign _041_ = ~(\mchip.io_out [1] ^ io_in[4]);
assign _042_ = _028_ & ~(_041_);
assign _043_ = io_in[3] ? \mchip.io_out [0] : \mchip.io_out [1];
assign _044_ = _043_ & ~(io_in[4]);
assign _045_ = ~(_044_ & _032_);
assign _046_ = _031_ & ~(_045_);
assign _047_ = _046_ | _042_;
assign _048_ = io_in[4] ^ io_in[3];
assign _049_ = io_in[6] & ~(io_in[7]);
assign _050_ = _049_ ? io_in[4] : _048_;
assign _051_ = _050_ ^ \mchip.io_out [1];
assign _052_ = ~(_051_ ^ _039_);
assign _095_[1] = _038_ ? _047_ : _052_;
assign _053_ = ~(\mchip.io_out [2] ^ io_in[5]);
assign _054_ = _028_ & ~(_053_);
assign _055_ = io_in[3] ? \mchip.io_out [1] : \mchip.io_out [2];
assign _056_ = io_in[4] ? _033_ : _055_;
assign _057_ = ~(_056_ & _032_);
assign _058_ = _031_ & ~(_057_);
assign _059_ = _058_ | _054_;
assign _060_ = _039_ & ~(_051_);
assign _061_ = \mchip.io_out [1] & ~(_050_);
assign _062_ = _061_ | _060_;
assign _063_ = ~(io_in[4] | io_in[3]);
assign _064_ = _063_ ^ _032_;
assign _065_ = _049_ ? io_in[5] : _064_;
assign _066_ = _065_ ^ \mchip.io_out [2];
assign _067_ = ~(_066_ ^ _062_);
assign _095_[2] = _038_ ? _059_ : _067_;
assign _068_ = io_in[3] ? \mchip.io_out [2] : \mchip.io_out [3];
assign _069_ = io_in[4] ? _043_ : _068_;
assign _070_ = ~(_069_ & _032_);
assign _071_ = _031_ & ~(_070_);
assign _072_ = \mchip.io_out [2] & ~(_065_);
assign _073_ = _062_ & ~(_066_);
assign _074_ = ~(_073_ | _072_);
assign _075_ = _063_ & ~(io_in[5]);
assign _076_ = ~(_075_ | _049_);
assign _077_ = _076_ ^ \mchip.io_out [3];
assign _078_ = _077_ ^ _074_;
assign _095_[3] = _038_ ? _071_ : _078_;
assign _079_ = ~_031_;
assign _080_ = io_in[3] ? \mchip.io_out [3] : \mchip.io_out [4];
assign _081_ = io_in[4] ? _055_ : _080_;
assign _082_ = io_in[5] ? _034_ : _081_;
assign _083_ = _082_ & ~(_079_);
assign _084_ = \mchip.io_out [3] & ~(_076_);
assign _085_ = _072_ & ~(_077_);
assign _086_ = _085_ | _084_;
assign _087_ = _077_ | _066_;
assign _088_ = _062_ & ~(_087_);
assign _089_ = _088_ | _086_;
assign _090_ = _076_ ^ \mchip.io_out [4];
assign _091_ = ~(_090_ ^ _089_);
assign _095_[4] = _038_ ? _083_ : _091_;
assign _092_ = io_in[3] ? \mchip.io_out [4] : \mchip.io_out [5];
assign _093_ = io_in[4] ? _068_ : _092_;
assign _094_ = io_in[5] ? _044_ : _093_;
assign _001_ = _094_ & ~(_079_);
assign _002_ = \mchip.io_out [4] & ~(_076_);
assign _003_ = _089_ & ~(_090_);
assign _004_ = ~(_003_ | _002_);
assign _005_ = _076_ ^ \mchip.io_out [5];
assign _006_ = _005_ ^ _004_;
assign _095_[5] = _038_ ? _001_ : _006_;
assign _007_ = io_in[3] ? \mchip.io_out [5] : \mchip.io_out [6];
assign _008_ = io_in[4] ? _080_ : _007_;
assign _009_ = io_in[5] ? _056_ : _008_;
assign _010_ = _009_ & ~(_079_);
assign _011_ = \mchip.io_out [5] & ~(_076_);
assign _012_ = _002_ & ~(_005_);
assign _013_ = _012_ | _011_;
assign _014_ = _005_ | _090_;
assign _015_ = _089_ & ~(_014_);
assign _016_ = _015_ | _013_;
assign _017_ = ~(_076_ ^ \mchip.io_out [6]);
assign _018_ = _017_ ^ _016_;
assign _095_[6] = _038_ ? _010_ : _018_;
assign _019_ = io_in[3] ? \mchip.io_out [6] : \mchip.io_out [7];
assign _020_ = io_in[4] ? _092_ : _019_;
assign _021_ = io_in[5] ? _069_ : _020_;
assign _022_ = _021_ & _031_;
assign _023_ = \mchip.io_out [6] & ~(_076_);
assign _024_ = _017_ & _016_;
assign _025_ = _024_ | _023_;
assign _026_ = ~(_076_ ^ \mchip.io_out [7]);
assign _027_ = _026_ ^ _025_;
assign _095_[7] = _038_ ? _022_ : _027_;
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [0] <= 1'h0;
else if (\mchip.enable ) \mchip.io_out [0] <= _095_[0];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [1] <= 1'h0;
else if (\mchip.enable ) \mchip.io_out [1] <= _095_[1];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [2] <= 1'h0;
else if (\mchip.enable ) \mchip.io_out [2] <= _095_[2];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:49.3-55.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.state <= 1'h0;
else \mchip.state <= io_in[2];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [3] <= 1'h0;
else if (_000_) \mchip.io_out [3] <= _095_[3];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [4] <= 1'h0;
else if (_000_) \mchip.io_out [4] <= _095_[4];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [5] <= 1'h0;
else if (_000_) \mchip.io_out [5] <= _095_[5];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [6] <= 1'h0;
else if (_000_) \mchip.io_out [6] <= _095_[6];
/* \always_ff = 32'd1 */
/* src = "d37_sophiali_calculator/src/wrapper.v:8.30-11.14|d37_sophiali_calculator/src/math.sv:34.3-46.6" */
always @(posedge io_in[12])
if (io_in[1]) \mchip.io_out [7] <= 1'h0;
else if (_000_) \mchip.io_out [7] <= _095_[7];
assign io_out = { 6'h00, \mchip.io_out };
assign \mchip.arithOp = io_in[7:6];
assign \mchip.clock = io_in[12];
assign \mchip.en = io_in[2];
assign \mchip.in = io_in[5:3];
assign \mchip.io_in = { io_in[7:1], io_in[12] };
assign \mchip.nextState = io_in[2];
assign \mchip.reset = io_in[1];
endmodule