aboutsummaryrefslogtreecommitdiff
path: root/test/chisel3/Control.fir
blob: 28bb3d8716d1af0cdc55bbc32a1c063a2f4c7d83 (plain)
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
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
; RUN: firrtl -i %s -o %s.v -X verilog -p c | tee %s.out | FileCheck %s
;CHECK: Done!

circuit Control : 
  module Control : 
    output ctrl : {flip inst : UInt<32>, st_type : UInt<2>, ld_type : UInt<3>, wb_sel : UInt<2>, wb_en : UInt<1>, csr_cmd : UInt<2>, pc_sel : UInt<1>, inst_re : UInt<1>, flip stall : UInt<1>, data_re : UInt<1>, inst_type : UInt<1>, A_sel : UInt<1>, B_sel : UInt<1>, imm_sel : UInt<3>, alu_op : UInt<4>, br_type : UInt<3>}
    
    node T_831 = bit-and(UInt<7>(127), ctrl.inst)
    node T_832 = eq(T_831, UInt<6>(55))
    node T_833 = bit-and(UInt<7>(127), ctrl.inst)
    node T_834 = eq(T_833, UInt<5>(23))
    node T_835 = bit-and(UInt<7>(127), ctrl.inst)
    node T_836 = eq(T_835, UInt<7>(111))
    node T_837 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_838 = eq(T_837, UInt<7>(103))
    node T_839 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_840 = eq(T_839, UInt<7>(99))
    node T_841 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_842 = eq(T_841, UInt<13>(4195))
    node T_843 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_844 = eq(T_843, UInt<15>(16483))
    node T_845 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_846 = eq(T_845, UInt<15>(20579))
    node T_847 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_848 = eq(T_847, UInt<15>(24675))
    node T_849 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_850 = eq(T_849, UInt<15>(28771))
    node T_851 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_852 = eq(T_851, UInt<2>(3))
    node T_853 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_854 = eq(T_853, UInt<13>(4099))
    node T_855 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_856 = eq(T_855, UInt<14>(8195))
    node T_857 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_858 = eq(T_857, UInt<15>(16387))
    node T_859 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_860 = eq(T_859, UInt<15>(20483))
    node T_861 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_862 = eq(T_861, UInt<6>(35))
    node T_863 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_864 = eq(T_863, UInt<13>(4131))
    node T_865 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_866 = eq(T_865, UInt<14>(8227))
    node T_867 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_868 = eq(T_867, UInt<5>(19))
    node T_869 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_870 = eq(T_869, UInt<14>(8211))
    node T_871 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_872 = eq(T_871, UInt<14>(12307))
    node T_873 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_874 = eq(T_873, UInt<15>(16403))
    node T_875 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_876 = eq(T_875, UInt<15>(24595))
    node T_877 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_878 = eq(T_877, UInt<15>(28691))
    node T_879 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_880 = eq(T_879, UInt<13>(4115))
    node T_881 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_882 = eq(T_881, UInt<15>(20499))
    node T_883 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_884 = eq(T_883, UInt<31>(1073762323))
    node T_885 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_886 = eq(T_885, UInt<6>(51))
    node T_887 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_888 = eq(T_887, UInt<31>(1073741875))
    node T_889 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_890 = eq(T_889, UInt<13>(4147))
    node T_891 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_892 = eq(T_891, UInt<14>(8243))
    node T_893 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_894 = eq(T_893, UInt<14>(12339))
    node T_895 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_896 = eq(T_895, UInt<15>(16435))
    node T_897 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_898 = eq(T_897, UInt<15>(20531))
    node T_899 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_900 = eq(T_899, UInt<31>(1073762355))
    node T_901 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_902 = eq(T_901, UInt<15>(24627))
    node T_903 = bit-and(UInt<32>(4261441663), ctrl.inst)
    node T_904 = eq(T_903, UInt<15>(28723))
    node T_905 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_906 = eq(T_905, UInt<13>(4211))
    node T_907 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_908 = eq(T_907, UInt<14>(8307))
    node T_909 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_910 = eq(T_909, UInt<14>(12403))
    node T_911 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_912 = eq(T_911, UInt<15>(20595))
    node T_913 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_914 = eq(T_913, UInt<15>(24691))
    node T_915 = bit-and(UInt<15>(28799), ctrl.inst)
    node T_916 = eq(T_915, UInt<15>(28787))
    node T_917 = mux(T_916, UInt<1>(0), UInt<1>(0))
    node T_918 = mux(T_914, UInt<1>(0), T_917)
    node T_919 = mux(T_912, UInt<1>(0), T_918)
    node T_920 = mux(T_910, UInt<1>(0), T_919)
    node T_921 = mux(T_908, UInt<1>(0), T_920)
    node T_922 = mux(T_906, UInt<1>(0), T_921)
    node T_923 = mux(T_904, UInt<1>(0), T_922)
    node T_924 = mux(T_902, UInt<1>(0), T_923)
    node T_925 = mux(T_900, UInt<1>(0), T_924)
    node T_926 = mux(T_898, UInt<1>(0), T_925)
    node T_927 = mux(T_896, UInt<1>(0), T_926)
    node T_928 = mux(T_894, UInt<1>(0), T_927)
    node T_929 = mux(T_892, UInt<1>(0), T_928)
    node T_930 = mux(T_890, UInt<1>(0), T_929)
    node T_931 = mux(T_888, UInt<1>(0), T_930)
    node T_932 = mux(T_886, UInt<1>(0), T_931)
    node T_933 = mux(T_884, UInt<1>(0), T_932)
    node T_934 = mux(T_882, UInt<1>(0), T_933)
    node T_935 = mux(T_880, UInt<1>(0), T_934)
    node T_936 = mux(T_878, UInt<1>(0), T_935)
    node T_937 = mux(T_876, UInt<1>(0), T_936)
    node T_938 = mux(T_874, UInt<1>(0), T_937)
    node T_939 = mux(T_872, UInt<1>(0), T_938)
    node T_940 = mux(T_870, UInt<1>(0), T_939)
    node T_941 = mux(T_868, UInt<1>(0), T_940)
    node T_942 = mux(T_866, UInt<1>(0), T_941)
    node T_943 = mux(T_864, UInt<1>(0), T_942)
    node T_944 = mux(T_862, UInt<1>(0), T_943)
    node T_945 = mux(T_860, UInt<1>(0), T_944)
    node T_946 = mux(T_858, UInt<1>(0), T_945)
    node T_947 = mux(T_856, UInt<1>(0), T_946)
    node T_948 = mux(T_854, UInt<1>(0), T_947)
    node T_949 = mux(T_852, UInt<1>(0), T_948)
    node T_950 = mux(T_850, UInt<1>(0), T_949)
    node T_951 = mux(T_848, UInt<1>(0), T_950)
    node T_952 = mux(T_846, UInt<1>(0), T_951)
    node T_953 = mux(T_844, UInt<1>(0), T_952)
    node T_954 = mux(T_842, UInt<1>(0), T_953)
    node T_955 = mux(T_840, UInt<1>(0), T_954)
    node T_956 = mux(T_838, UInt<1>(1), T_955)
    node T_957 = mux(T_836, UInt<1>(1), T_956)
    node T_958 = mux(T_834, UInt<1>(0), T_957)
    node T_959 = mux(T_832, UInt<1>(0), T_958)
    node T_960 = mux(T_916, UInt<1>(1), UInt<1>(1))
    node T_961 = mux(T_914, UInt<1>(1), T_960)
    node T_962 = mux(T_912, UInt<1>(1), T_961)
    node T_963 = mux(T_910, UInt<1>(0), T_962)
    node T_964 = mux(T_908, UInt<1>(0), T_963)
    node T_965 = mux(T_906, UInt<1>(0), T_964)
    node T_966 = mux(T_904, UInt<1>(0), T_965)
    node T_967 = mux(T_902, UInt<1>(0), T_966)
    node T_968 = mux(T_900, UInt<1>(0), T_967)
    node T_969 = mux(T_898, UInt<1>(0), T_968)
    node T_970 = mux(T_896, UInt<1>(0), T_969)
    node T_971 = mux(T_894, UInt<1>(0), T_970)
    node T_972 = mux(T_892, UInt<1>(0), T_971)
    node T_973 = mux(T_890, UInt<1>(0), T_972)
    node T_974 = mux(T_888, UInt<1>(0), T_973)
    node T_975 = mux(T_886, UInt<1>(0), T_974)
    node T_976 = mux(T_884, UInt<1>(0), T_975)
    node T_977 = mux(T_882, UInt<1>(0), T_976)
    node T_978 = mux(T_880, UInt<1>(0), T_977)
    node T_979 = mux(T_878, UInt<1>(0), T_978)
    node T_980 = mux(T_876, UInt<1>(0), T_979)
    node T_981 = mux(T_874, UInt<1>(0), T_980)
    node T_982 = mux(T_872, UInt<1>(0), T_981)
    node T_983 = mux(T_870, UInt<1>(0), T_982)
    node T_984 = mux(T_868, UInt<1>(0), T_983)
    node T_985 = mux(T_866, UInt<1>(0), T_984)
    node T_986 = mux(T_864, UInt<1>(0), T_985)
    node T_987 = mux(T_862, UInt<1>(0), T_986)
    node T_988 = mux(T_860, UInt<1>(0), T_987)
    node T_989 = mux(T_858, UInt<1>(0), T_988)
    node T_990 = mux(T_856, UInt<1>(0), T_989)
    node T_991 = mux(T_854, UInt<1>(0), T_990)
    node T_992 = mux(T_852, UInt<1>(0), T_991)
    node T_993 = mux(T_850, UInt<1>(1), T_992)
    node T_994 = mux(T_848, UInt<1>(1), T_993)
    node T_995 = mux(T_846, UInt<1>(1), T_994)
    node T_996 = mux(T_844, UInt<1>(1), T_995)
    node T_997 = mux(T_842, UInt<1>(1), T_996)
    node T_998 = mux(T_840, UInt<1>(1), T_997)
    node T_999 = mux(T_838, UInt<1>(0), T_998)
    node T_1000 = mux(T_836, UInt<1>(1), T_999)
    node T_1001 = mux(T_834, UInt<1>(1), T_1000)
    node T_1002 = mux(T_832, UInt<1>(1), T_1001)
    node T_1003 = mux(T_916, UInt<1>(1), UInt<1>(0))
    node T_1004 = mux(T_914, UInt<1>(1), T_1003)
    node T_1005 = mux(T_912, UInt<1>(1), T_1004)
    node T_1006 = mux(T_910, UInt<1>(0), T_1005)
    node T_1007 = mux(T_908, UInt<1>(0), T_1006)
    node T_1008 = mux(T_906, UInt<1>(0), T_1007)
    node T_1009 = mux(T_904, UInt<1>(0), T_1008)
    node T_1010 = mux(T_902, UInt<1>(0), T_1009)
    node T_1011 = mux(T_900, UInt<1>(0), T_1010)
    node T_1012 = mux(T_898, UInt<1>(0), T_1011)
    node T_1013 = mux(T_896, UInt<1>(0), T_1012)
    node T_1014 = mux(T_894, UInt<1>(0), T_1013)
    node T_1015 = mux(T_892, UInt<1>(0), T_1014)
    node T_1016 = mux(T_890, UInt<1>(0), T_1015)
    node T_1017 = mux(T_888, UInt<1>(0), T_1016)
    node T_1018 = mux(T_886, UInt<1>(0), T_1017)
    node T_1019 = mux(T_884, UInt<1>(1), T_1018)
    node T_1020 = mux(T_882, UInt<1>(1), T_1019)
    node T_1021 = mux(T_880, UInt<1>(1), T_1020)
    node T_1022 = mux(T_878, UInt<1>(1), T_1021)
    node T_1023 = mux(T_876, UInt<1>(1), T_1022)
    node T_1024 = mux(T_874, UInt<1>(1), T_1023)
    node T_1025 = mux(T_872, UInt<1>(1), T_1024)
    node T_1026 = mux(T_870, UInt<1>(1), T_1025)
    node T_1027 = mux(T_868, UInt<1>(1), T_1026)
    node T_1028 = mux(T_866, UInt<1>(1), T_1027)
    node T_1029 = mux(T_864, UInt<1>(1), T_1028)
    node T_1030 = mux(T_862, UInt<1>(1), T_1029)
    node T_1031 = mux(T_860, UInt<1>(1), T_1030)
    node T_1032 = mux(T_858, UInt<1>(1), T_1031)
    node T_1033 = mux(T_856, UInt<1>(1), T_1032)
    node T_1034 = mux(T_854, UInt<1>(1), T_1033)
    node T_1035 = mux(T_852, UInt<1>(1), T_1034)
    node T_1036 = mux(T_850, UInt<1>(1), T_1035)
    node T_1037 = mux(T_848, UInt<1>(1), T_1036)
    node T_1038 = mux(T_846, UInt<1>(1), T_1037)
    node T_1039 = mux(T_844, UInt<1>(1), T_1038)
    node T_1040 = mux(T_842, UInt<1>(1), T_1039)
    node T_1041 = mux(T_840, UInt<1>(1), T_1040)
    node T_1042 = mux(T_838, UInt<1>(1), T_1041)
    node T_1043 = mux(T_836, UInt<1>(1), T_1042)
    node T_1044 = mux(T_834, UInt<1>(1), T_1043)
    node T_1045 = mux(T_832, UInt<1>(1), T_1044)
    node T_1046 = mux(T_916, UInt<3>(5), UInt<3>(7))
    node T_1047 = mux(T_914, UInt<3>(5), T_1046)
    node T_1048 = mux(T_912, UInt<3>(5), T_1047)
    node T_1049 = mux(T_910, UInt<3>(5), T_1048)
    node T_1050 = mux(T_908, UInt<3>(5), T_1049)
    node T_1051 = mux(T_906, UInt<3>(5), T_1050)
    node T_1052 = mux(T_904, UInt<3>(7), T_1051)
    node T_1053 = mux(T_902, UInt<3>(7), T_1052)
    node T_1054 = mux(T_900, UInt<3>(7), T_1053)
    node T_1055 = mux(T_898, UInt<3>(7), T_1054)
    node T_1056 = mux(T_896, UInt<3>(7), T_1055)
    node T_1057 = mux(T_894, UInt<3>(7), T_1056)
    node T_1058 = mux(T_892, UInt<3>(7), T_1057)
    node T_1059 = mux(T_890, UInt<3>(7), T_1058)
    node T_1060 = mux(T_888, UInt<3>(7), T_1059)
    node T_1061 = mux(T_886, UInt<3>(7), T_1060)
    node T_1062 = mux(T_884, UInt<3>(0), T_1061)
    node T_1063 = mux(T_882, UInt<3>(0), T_1062)
    node T_1064 = mux(T_880, UInt<3>(0), T_1063)
    node T_1065 = mux(T_878, UInt<3>(0), T_1064)
    node T_1066 = mux(T_876, UInt<3>(0), T_1065)
    node T_1067 = mux(T_874, UInt<3>(0), T_1066)
    node T_1068 = mux(T_872, UInt<3>(0), T_1067)
    node T_1069 = mux(T_870, UInt<3>(0), T_1068)
    node T_1070 = mux(T_868, UInt<3>(0), T_1069)
    node T_1071 = mux(T_866, UInt<3>(1), T_1070)
    node T_1072 = mux(T_864, UInt<3>(1), T_1071)
    node T_1073 = mux(T_862, UInt<3>(1), T_1072)
    node T_1074 = mux(T_860, UInt<3>(0), T_1073)
    node T_1075 = mux(T_858, UInt<3>(0), T_1074)
    node T_1076 = mux(T_856, UInt<3>(0), T_1075)
    node T_1077 = mux(T_854, UInt<3>(0), T_1076)
    node T_1078 = mux(T_852, UInt<3>(0), T_1077)
    node T_1079 = mux(T_850, UInt<3>(4), T_1078)
    node T_1080 = mux(T_848, UInt<3>(4), T_1079)
    node T_1081 = mux(T_846, UInt<3>(4), T_1080)
    node T_1082 = mux(T_844, UInt<3>(4), T_1081)
    node T_1083 = mux(T_842, UInt<3>(4), T_1082)
    node T_1084 = mux(T_840, UInt<3>(4), T_1083)
    node T_1085 = mux(T_838, UInt<3>(0), T_1084)
    node T_1086 = mux(T_836, UInt<3>(3), T_1085)
    node T_1087 = mux(T_834, UInt<3>(2), T_1086)
    node T_1088 = mux(T_832, UInt<3>(2), T_1087)
    node T_1089 = mux(T_916, UInt<4>(11), UInt<4>(15))
    node T_1090 = mux(T_914, UInt<4>(11), T_1089)
    node T_1091 = mux(T_912, UInt<4>(11), T_1090)
    node T_1092 = mux(T_910, UInt<4>(10), T_1091)
    node T_1093 = mux(T_908, UInt<4>(10), T_1092)
    node T_1094 = mux(T_906, UInt<4>(10), T_1093)
    node T_1095 = mux(T_904, UInt<4>(2), T_1094)
    node T_1096 = mux(T_902, UInt<4>(3), T_1095)
    node T_1097 = mux(T_900, UInt<4>(9), T_1096)
    node T_1098 = mux(T_898, UInt<4>(8), T_1097)
    node T_1099 = mux(T_896, UInt<4>(4), T_1098)
    node T_1100 = mux(T_894, UInt<4>(7), T_1099)
    node T_1101 = mux(T_892, UInt<4>(5), T_1100)
    node T_1102 = mux(T_890, UInt<4>(6), T_1101)
    node T_1103 = mux(T_888, UInt<4>(1), T_1102)
    node T_1104 = mux(T_886, UInt<4>(0), T_1103)
    node T_1105 = mux(T_884, UInt<4>(9), T_1104)
    node T_1106 = mux(T_882, UInt<4>(8), T_1105)
    node T_1107 = mux(T_880, UInt<4>(6), T_1106)
    node T_1108 = mux(T_878, UInt<4>(2), T_1107)
    node T_1109 = mux(T_876, UInt<4>(3), T_1108)
    node T_1110 = mux(T_874, UInt<4>(4), T_1109)
    node T_1111 = mux(T_872, UInt<4>(7), T_1110)
    node T_1112 = mux(T_870, UInt<4>(5), T_1111)
    node T_1113 = mux(T_868, UInt<4>(0), T_1112)
    node T_1114 = mux(T_866, UInt<4>(0), T_1113)
    node T_1115 = mux(T_864, UInt<4>(0), T_1114)
    node T_1116 = mux(T_862, UInt<4>(0), T_1115)
    node T_1117 = mux(T_860, UInt<4>(0), T_1116)
    node T_1118 = mux(T_858, UInt<4>(0), T_1117)
    node T_1119 = mux(T_856, UInt<4>(0), T_1118)
    node T_1120 = mux(T_854, UInt<4>(0), T_1119)
    node T_1121 = mux(T_852, UInt<4>(0), T_1120)
    node T_1122 = mux(T_850, UInt<4>(0), T_1121)
    node T_1123 = mux(T_848, UInt<4>(0), T_1122)
    node T_1124 = mux(T_846, UInt<4>(0), T_1123)
    node T_1125 = mux(T_844, UInt<4>(0), T_1124)
    node T_1126 = mux(T_842, UInt<4>(0), T_1125)
    node T_1127 = mux(T_840, UInt<4>(0), T_1126)
    node T_1128 = mux(T_838, UInt<4>(0), T_1127)
    node T_1129 = mux(T_836, UInt<4>(0), T_1128)
    node T_1130 = mux(T_834, UInt<4>(0), T_1129)
    node T_1131 = mux(T_832, UInt<4>(11), T_1130)
    node T_1132 = mux(T_916, UInt<3>(7), UInt<3>(7))
    node T_1133 = mux(T_914, UInt<3>(7), T_1132)
    node T_1134 = mux(T_912, UInt<3>(7), T_1133)
    node T_1135 = mux(T_910, UInt<3>(7), T_1134)
    node T_1136 = mux(T_908, UInt<3>(7), T_1135)
    node T_1137 = mux(T_906, UInt<3>(7), T_1136)
    node T_1138 = mux(T_904, UInt<3>(7), T_1137)
    node T_1139 = mux(T_902, UInt<3>(7), T_1138)
    node T_1140 = mux(T_900, UInt<3>(7), T_1139)
    node T_1141 = mux(T_898, UInt<3>(7), T_1140)
    node T_1142 = mux(T_896, UInt<3>(7), T_1141)
    node T_1143 = mux(T_894, UInt<3>(7), T_1142)
    node T_1144 = mux(T_892, UInt<3>(7), T_1143)
    node T_1145 = mux(T_890, UInt<3>(7), T_1144)
    node T_1146 = mux(T_888, UInt<3>(7), T_1145)
    node T_1147 = mux(T_886, UInt<3>(7), T_1146)
    node T_1148 = mux(T_884, UInt<3>(7), T_1147)
    node T_1149 = mux(T_882, UInt<3>(7), T_1148)
    node T_1150 = mux(T_880, UInt<3>(7), T_1149)
    node T_1151 = mux(T_878, UInt<3>(7), T_1150)
    node T_1152 = mux(T_876, UInt<3>(7), T_1151)
    node T_1153 = mux(T_874, UInt<3>(7), T_1152)
    node T_1154 = mux(T_872, UInt<3>(7), T_1153)
    node T_1155 = mux(T_870, UInt<3>(7), T_1154)
    node T_1156 = mux(T_868, UInt<3>(7), T_1155)
    node T_1157 = mux(T_866, UInt<3>(7), T_1156)
    node T_1158 = mux(T_864, UInt<3>(7), T_1157)
    node T_1159 = mux(T_862, UInt<3>(7), T_1158)
    node T_1160 = mux(T_860, UInt<3>(7), T_1159)
    node T_1161 = mux(T_858, UInt<3>(7), T_1160)
    node T_1162 = mux(T_856, UInt<3>(7), T_1161)
    node T_1163 = mux(T_854, UInt<3>(7), T_1162)
    node T_1164 = mux(T_852, UInt<3>(7), T_1163)
    node T_1165 = mux(T_850, UInt<3>(4), T_1164)
    node T_1166 = mux(T_848, UInt<3>(0), T_1165)
    node T_1167 = mux(T_846, UInt<3>(5), T_1166)
    node T_1168 = mux(T_844, UInt<3>(1), T_1167)
    node T_1169 = mux(T_842, UInt<3>(6), T_1168)
    node T_1170 = mux(T_840, UInt<3>(2), T_1169)
    node T_1171 = mux(T_838, UInt<3>(7), T_1170)
    node T_1172 = mux(T_836, UInt<3>(7), T_1171)
    node T_1173 = mux(T_834, UInt<3>(7), T_1172)
    node T_1174 = mux(T_832, UInt<3>(7), T_1173)
    node T_1175 = mux(T_916, UInt<1>(0), UInt<1>(0))
    node T_1176 = mux(T_914, UInt<1>(0), T_1175)
    node T_1177 = mux(T_912, UInt<1>(0), T_1176)
    node T_1178 = mux(T_910, UInt<1>(0), T_1177)
    node T_1179 = mux(T_908, UInt<1>(0), T_1178)
    node T_1180 = mux(T_906, UInt<1>(0), T_1179)
    node T_1181 = mux(T_904, UInt<1>(0), T_1180)
    node T_1182 = mux(T_902, UInt<1>(0), T_1181)
    node T_1183 = mux(T_900, UInt<1>(0), T_1182)
    node T_1184 = mux(T_898, UInt<1>(0), T_1183)
    node T_1185 = mux(T_896, UInt<1>(0), T_1184)
    node T_1186 = mux(T_894, UInt<1>(0), T_1185)
    node T_1187 = mux(T_892, UInt<1>(0), T_1186)
    node T_1188 = mux(T_890, UInt<1>(0), T_1187)
    node T_1189 = mux(T_888, UInt<1>(0), T_1188)
    node T_1190 = mux(T_886, UInt<1>(0), T_1189)
    node T_1191 = mux(T_884, UInt<1>(0), T_1190)
    node T_1192 = mux(T_882, UInt<1>(0), T_1191)
    node T_1193 = mux(T_880, UInt<1>(0), T_1192)
    node T_1194 = mux(T_878, UInt<1>(0), T_1193)
    node T_1195 = mux(T_876, UInt<1>(0), T_1194)
    node T_1196 = mux(T_874, UInt<1>(0), T_1195)
    node T_1197 = mux(T_872, UInt<1>(0), T_1196)
    node T_1198 = mux(T_870, UInt<1>(0), T_1197)
    node T_1199 = mux(T_868, UInt<1>(0), T_1198)
    node T_1200 = mux(T_866, UInt<1>(0), T_1199)
    node T_1201 = mux(T_864, UInt<1>(0), T_1200)
    node T_1202 = mux(T_862, UInt<1>(0), T_1201)
    node T_1203 = mux(T_860, UInt<1>(0), T_1202)
    node T_1204 = mux(T_858, UInt<1>(0), T_1203)
    node T_1205 = mux(T_856, UInt<1>(0), T_1204)
    node T_1206 = mux(T_854, UInt<1>(0), T_1205)
    node T_1207 = mux(T_852, UInt<1>(0), T_1206)
    node T_1208 = mux(T_850, UInt<1>(0), T_1207)
    node T_1209 = mux(T_848, UInt<1>(0), T_1208)
    node T_1210 = mux(T_846, UInt<1>(0), T_1209)
    node T_1211 = mux(T_844, UInt<1>(0), T_1210)
    node T_1212 = mux(T_842, UInt<1>(0), T_1211)
    node T_1213 = mux(T_840, UInt<1>(0), T_1212)
    node T_1214 = mux(T_838, UInt<1>(1), T_1213)
    node T_1215 = mux(T_836, UInt<1>(1), T_1214)
    node T_1216 = mux(T_834, UInt<1>(0), T_1215)
    node T_1217 = mux(T_832, UInt<1>(0), T_1216)
    node T_1218 = mux(T_916, UInt<2>(3), UInt<2>(3))
    node T_1219 = mux(T_914, UInt<2>(3), T_1218)
    node T_1220 = mux(T_912, UInt<2>(3), T_1219)
    node T_1221 = mux(T_910, UInt<2>(3), T_1220)
    node T_1222 = mux(T_908, UInt<2>(3), T_1221)
    node T_1223 = mux(T_906, UInt<2>(3), T_1222)
    node T_1224 = mux(T_904, UInt<2>(3), T_1223)
    node T_1225 = mux(T_902, UInt<2>(3), T_1224)
    node T_1226 = mux(T_900, UInt<2>(3), T_1225)
    node T_1227 = mux(T_898, UInt<2>(3), T_1226)
    node T_1228 = mux(T_896, UInt<2>(3), T_1227)
    node T_1229 = mux(T_894, UInt<2>(3), T_1228)
    node T_1230 = mux(T_892, UInt<2>(3), T_1229)
    node T_1231 = mux(T_890, UInt<2>(3), T_1230)
    node T_1232 = mux(T_888, UInt<2>(3), T_1231)
    node T_1233 = mux(T_886, UInt<2>(3), T_1232)
    node T_1234 = mux(T_884, UInt<2>(3), T_1233)
    node T_1235 = mux(T_882, UInt<2>(3), T_1234)
    node T_1236 = mux(T_880, UInt<2>(3), T_1235)
    node T_1237 = mux(T_878, UInt<2>(3), T_1236)
    node T_1238 = mux(T_876, UInt<2>(3), T_1237)
    node T_1239 = mux(T_874, UInt<2>(3), T_1238)
    node T_1240 = mux(T_872, UInt<2>(3), T_1239)
    node T_1241 = mux(T_870, UInt<2>(3), T_1240)
    node T_1242 = mux(T_868, UInt<2>(3), T_1241)
    node T_1243 = mux(T_866, UInt<2>(0), T_1242)
    node T_1244 = mux(T_864, UInt<2>(1), T_1243)
    node T_1245 = mux(T_862, UInt<2>(2), T_1244)
    node T_1246 = mux(T_860, UInt<2>(3), T_1245)
    node T_1247 = mux(T_858, UInt<2>(3), T_1246)
    node T_1248 = mux(T_856, UInt<2>(3), T_1247)
    node T_1249 = mux(T_854, UInt<2>(3), T_1248)
    node T_1250 = mux(T_852, UInt<2>(3), T_1249)
    node T_1251 = mux(T_850, UInt<2>(3), T_1250)
    node T_1252 = mux(T_848, UInt<2>(3), T_1251)
    node T_1253 = mux(T_846, UInt<2>(3), T_1252)
    node T_1254 = mux(T_844, UInt<2>(3), T_1253)
    node T_1255 = mux(T_842, UInt<2>(3), T_1254)
    node T_1256 = mux(T_840, UInt<2>(3), T_1255)
    node T_1257 = mux(T_838, UInt<2>(3), T_1256)
    node T_1258 = mux(T_836, UInt<2>(3), T_1257)
    node T_1259 = mux(T_834, UInt<2>(3), T_1258)
    node T_1260 = mux(T_832, UInt<2>(3), T_1259)
    node T_1261 = mux(T_916, UInt<3>(7), UInt<3>(7))
    node T_1262 = mux(T_914, UInt<3>(7), T_1261)
    node T_1263 = mux(T_912, UInt<3>(7), T_1262)
    node T_1264 = mux(T_910, UInt<3>(7), T_1263)
    node T_1265 = mux(T_908, UInt<3>(7), T_1264)
    node T_1266 = mux(T_906, UInt<3>(7), T_1265)
    node T_1267 = mux(T_904, UInt<3>(7), T_1266)
    node T_1268 = mux(T_902, UInt<3>(7), T_1267)
    node T_1269 = mux(T_900, UInt<3>(7), T_1268)
    node T_1270 = mux(T_898, UInt<3>(7), T_1269)
    node T_1271 = mux(T_896, UInt<3>(7), T_1270)
    node T_1272 = mux(T_894, UInt<3>(7), T_1271)
    node T_1273 = mux(T_892, UInt<3>(7), T_1272)
    node T_1274 = mux(T_890, UInt<3>(7), T_1273)
    node T_1275 = mux(T_888, UInt<3>(7), T_1274)
    node T_1276 = mux(T_886, UInt<3>(7), T_1275)
    node T_1277 = mux(T_884, UInt<3>(7), T_1276)
    node T_1278 = mux(T_882, UInt<3>(7), T_1277)
    node T_1279 = mux(T_880, UInt<3>(7), T_1278)
    node T_1280 = mux(T_878, UInt<3>(7), T_1279)
    node T_1281 = mux(T_876, UInt<3>(7), T_1280)
    node T_1282 = mux(T_874, UInt<3>(7), T_1281)
    node T_1283 = mux(T_872, UInt<3>(7), T_1282)
    node T_1284 = mux(T_870, UInt<3>(7), T_1283)
    node T_1285 = mux(T_868, UInt<3>(7), T_1284)
    node T_1286 = mux(T_866, UInt<3>(7), T_1285)
    node T_1287 = mux(T_864, UInt<3>(7), T_1286)
    node T_1288 = mux(T_862, UInt<3>(7), T_1287)
    node T_1289 = mux(T_860, UInt<3>(3), T_1288)
    node T_1290 = mux(T_858, UInt<3>(4), T_1289)
    node T_1291 = mux(T_856, UInt<3>(0), T_1290)
    node T_1292 = mux(T_854, UInt<3>(1), T_1291)
    node T_1293 = mux(T_852, UInt<3>(2), T_1292)
    node T_1294 = mux(T_850, UInt<3>(7), T_1293)
    node T_1295 = mux(T_848, UInt<3>(7), T_1294)
    node T_1296 = mux(T_846, UInt<3>(7), T_1295)
    node T_1297 = mux(T_844, UInt<3>(7), T_1296)
    node T_1298 = mux(T_842, UInt<3>(7), T_1297)
    node T_1299 = mux(T_840, UInt<3>(7), T_1298)
    node T_1300 = mux(T_838, UInt<3>(7), T_1299)
    node T_1301 = mux(T_836, UInt<3>(7), T_1300)
    node T_1302 = mux(T_834, UInt<3>(7), T_1301)
    node T_1303 = mux(T_832, UInt<3>(7), T_1302)
    node T_1304 = mux(T_916, UInt<2>(3), UInt<2>(0))
    node T_1305 = mux(T_914, UInt<2>(3), T_1304)
    node T_1306 = mux(T_912, UInt<2>(3), T_1305)
    node T_1307 = mux(T_910, UInt<2>(3), T_1306)
    node T_1308 = mux(T_908, UInt<2>(3), T_1307)
    node T_1309 = mux(T_906, UInt<2>(3), T_1308)
    node T_1310 = mux(T_904, UInt<2>(0), T_1309)
    node T_1311 = mux(T_902, UInt<2>(0), T_1310)
    node T_1312 = mux(T_900, UInt<2>(0), T_1311)
    node T_1313 = mux(T_898, UInt<2>(0), T_1312)
    node T_1314 = mux(T_896, UInt<2>(0), T_1313)
    node T_1315 = mux(T_894, UInt<2>(0), T_1314)
    node T_1316 = mux(T_892, UInt<2>(0), T_1315)
    node T_1317 = mux(T_890, UInt<2>(0), T_1316)
    node T_1318 = mux(T_888, UInt<2>(0), T_1317)
    node T_1319 = mux(T_886, UInt<2>(0), T_1318)
    node T_1320 = mux(T_884, UInt<2>(0), T_1319)
    node T_1321 = mux(T_882, UInt<2>(0), T_1320)
    node T_1322 = mux(T_880, UInt<2>(0), T_1321)
    node T_1323 = mux(T_878, UInt<2>(0), T_1322)
    node T_1324 = mux(T_876, UInt<2>(0), T_1323)
    node T_1325 = mux(T_874, UInt<2>(0), T_1324)
    node T_1326 = mux(T_872, UInt<2>(0), T_1325)
    node T_1327 = mux(T_870, UInt<2>(0), T_1326)
    node T_1328 = mux(T_868, UInt<2>(0), T_1327)
    node T_1329 = mux(T_866, UInt<2>(0), T_1328)
    node T_1330 = mux(T_864, UInt<2>(0), T_1329)
    node T_1331 = mux(T_862, UInt<2>(0), T_1330)
    node T_1332 = mux(T_860, UInt<2>(1), T_1331)
    node T_1333 = mux(T_858, UInt<2>(1), T_1332)
    node T_1334 = mux(T_856, UInt<2>(1), T_1333)
    node T_1335 = mux(T_854, UInt<2>(1), T_1334)
    node T_1336 = mux(T_852, UInt<2>(1), T_1335)
    node T_1337 = mux(T_850, UInt<2>(0), T_1336)
    node T_1338 = mux(T_848, UInt<2>(0), T_1337)
    node T_1339 = mux(T_846, UInt<2>(0), T_1338)
    node T_1340 = mux(T_844, UInt<2>(0), T_1339)
    node T_1341 = mux(T_842, UInt<2>(0), T_1340)
    node T_1342 = mux(T_840, UInt<2>(0), T_1341)
    node T_1343 = mux(T_838, UInt<2>(2), T_1342)
    node T_1344 = mux(T_836, UInt<2>(2), T_1343)
    node T_1345 = mux(T_834, UInt<2>(0), T_1344)
    node T_1346 = mux(T_832, UInt<2>(0), T_1345)
    node T_1347 = mux(T_916, UInt<1>(0), UInt<1>(0))
    node T_1348 = mux(T_914, UInt<1>(0), T_1347)
    node T_1349 = mux(T_912, UInt<1>(0), T_1348)
    node T_1350 = mux(T_910, UInt<1>(0), T_1349)
    node T_1351 = mux(T_908, UInt<1>(0), T_1350)
    node T_1352 = mux(T_906, UInt<1>(0), T_1351)
    node T_1353 = mux(T_904, UInt<1>(1), T_1352)
    node T_1354 = mux(T_902, UInt<1>(1), T_1353)
    node T_1355 = mux(T_900, UInt<1>(1), T_1354)
    node T_1356 = mux(T_898, UInt<1>(1), T_1355)
    node T_1357 = mux(T_896, UInt<1>(1), T_1356)
    node T_1358 = mux(T_894, UInt<1>(1), T_1357)
    node T_1359 = mux(T_892, UInt<1>(1), T_1358)
    node T_1360 = mux(T_890, UInt<1>(1), T_1359)
    node T_1361 = mux(T_888, UInt<1>(1), T_1360)
    node T_1362 = mux(T_886, UInt<1>(1), T_1361)
    node T_1363 = mux(T_884, UInt<1>(1), T_1362)
    node T_1364 = mux(T_882, UInt<1>(1), T_1363)
    node T_1365 = mux(T_880, UInt<1>(1), T_1364)
    node T_1366 = mux(T_878, UInt<1>(1), T_1365)
    node T_1367 = mux(T_876, UInt<1>(1), T_1366)
    node T_1368 = mux(T_874, UInt<1>(1), T_1367)
    node T_1369 = mux(T_872, UInt<1>(1), T_1368)
    node T_1370 = mux(T_870, UInt<1>(1), T_1369)
    node T_1371 = mux(T_868, UInt<1>(1), T_1370)
    node T_1372 = mux(T_866, UInt<1>(0), T_1371)
    node T_1373 = mux(T_864, UInt<1>(0), T_1372)
    node T_1374 = mux(T_862, UInt<1>(0), T_1373)
    node T_1375 = mux(T_860, UInt<1>(1), T_1374)
    node T_1376 = mux(T_858, UInt<1>(1), T_1375)
    node T_1377 = mux(T_856, UInt<1>(1), T_1376)
    node T_1378 = mux(T_854, UInt<1>(1), T_1377)
    node T_1379 = mux(T_852, UInt<1>(1), T_1378)
    node T_1380 = mux(T_850, UInt<1>(0), T_1379)
    node T_1381 = mux(T_848, UInt<1>(0), T_1380)
    node T_1382 = mux(T_846, UInt<1>(0), T_1381)
    node T_1383 = mux(T_844, UInt<1>(0), T_1382)
    node T_1384 = mux(T_842, UInt<1>(0), T_1383)
    node T_1385 = mux(T_840, UInt<1>(0), T_1384)
    node T_1386 = mux(T_838, UInt<1>(1), T_1385)
    node T_1387 = mux(T_836, UInt<1>(1), T_1386)
    node T_1388 = mux(T_834, UInt<1>(1), T_1387)
    node T_1389 = mux(T_832, UInt<1>(1), T_1388)
    node T_1390 = mux(T_916, UInt<2>(3), UInt<2>(0))
    node T_1391 = mux(T_914, UInt<2>(2), T_1390)
    node T_1392 = mux(T_912, UInt<2>(1), T_1391)
    node T_1393 = mux(T_910, UInt<2>(3), T_1392)
    node T_1394 = mux(T_908, UInt<2>(2), T_1393)
    node T_1395 = mux(T_906, UInt<2>(1), T_1394)
    node T_1396 = mux(T_904, UInt<2>(0), T_1395)
    node T_1397 = mux(T_902, UInt<2>(0), T_1396)
    node T_1398 = mux(T_900, UInt<2>(0), T_1397)
    node T_1399 = mux(T_898, UInt<2>(0), T_1398)
    node T_1400 = mux(T_896, UInt<2>(0), T_1399)
    node T_1401 = mux(T_894, UInt<2>(0), T_1400)
    node T_1402 = mux(T_892, UInt<2>(0), T_1401)
    node T_1403 = mux(T_890, UInt<2>(0), T_1402)
    node T_1404 = mux(T_888, UInt<2>(0), T_1403)
    node T_1405 = mux(T_886, UInt<2>(0), T_1404)
    node T_1406 = mux(T_884, UInt<2>(0), T_1405)
    node T_1407 = mux(T_882, UInt<2>(0), T_1406)
    node T_1408 = mux(T_880, UInt<2>(0), T_1407)
    node T_1409 = mux(T_878, UInt<2>(0), T_1408)
    node T_1410 = mux(T_876, UInt<2>(0), T_1409)
    node T_1411 = mux(T_874, UInt<2>(0), T_1410)
    node T_1412 = mux(T_872, UInt<2>(0), T_1411)
    node T_1413 = mux(T_870, UInt<2>(0), T_1412)
    node T_1414 = mux(T_868, UInt<2>(0), T_1413)
    node T_1415 = mux(T_866, UInt<2>(0), T_1414)
    node T_1416 = mux(T_864, UInt<2>(0), T_1415)
    node T_1417 = mux(T_862, UInt<2>(0), T_1416)
    node T_1418 = mux(T_860, UInt<2>(0), T_1417)
    node T_1419 = mux(T_858, UInt<2>(0), T_1418)
    node T_1420 = mux(T_856, UInt<2>(0), T_1419)
    node T_1421 = mux(T_854, UInt<2>(0), T_1420)
    node T_1422 = mux(T_852, UInt<2>(0), T_1421)
    node T_1423 = mux(T_850, UInt<2>(0), T_1422)
    node T_1424 = mux(T_848, UInt<2>(0), T_1423)
    node T_1425 = mux(T_846, UInt<2>(0), T_1424)
    node T_1426 = mux(T_844, UInt<2>(0), T_1425)
    node T_1427 = mux(T_842, UInt<2>(0), T_1426)
    node T_1428 = mux(T_840, UInt<2>(0), T_1427)
    node T_1429 = mux(T_838, UInt<2>(0), T_1428)
    node T_1430 = mux(T_836, UInt<2>(0), T_1429)
    node T_1431 = mux(T_834, UInt<2>(0), T_1430)
    node T_1432 = mux(T_832, UInt<2>(0), T_1431)
    node rs1_addr = bits(ctrl.inst, 19, 15)
    node rs2_addr = bits(ctrl.inst, 24, 20)
    reg st_type : UInt<2>
    reg ld_type : UInt<3>
    reg wb_sel : UInt<2>
    node T_1433 = bit(T_1389, 0)
    reg wb_en : UInt<1>
    reg csr_cmd : UInt<2>
    ctrl.pc_sel := T_959
    node T_1434 = bit-not(ctrl.stall)
    node T_1435 = bit-not(ctrl.data_re)
    node T_1436 = bit-and(T_1434, T_1435)
    ctrl.inst_re := T_1436
    node T_1437 = neq(T_1303, UInt<3>(7))
    node T_1438 = bit(T_1217, 0)
    node T_1439 = bit-or(T_1437, T_1438)
    node T_1440 = mux(T_1439, UInt<1>(1), UInt<1>(0))
    ctrl.inst_type := T_1440
    ctrl.A_sel := T_1002
    ctrl.B_sel := T_1045
    ctrl.imm_sel := T_1088
    ctrl.alu_op := T_1131
    ctrl.br_type := T_1174
    ctrl.st_type := T_1260
    node T_1441 = bit-not(ctrl.stall)
    when T_1441 : 
      st_type := ctrl.st_type
      ld_type := T_1303
      wb_sel := T_1346
      node T_1442 = bit(T_1389, 0)
      wb_en := T_1442
      csr_cmd := T_1432
    node T_1443 = neq(ctrl.ld_type, UInt<3>(7))
    node T_1444 = neq(T_1303, UInt<3>(7))
    node T_1445 = mux(ctrl.stall, T_1443, T_1444)
    ctrl.data_re := T_1445
    ctrl.ld_type := ld_type
    ctrl.wb_en := wb_en
    ctrl.wb_sel := wb_sel
    ctrl.csr_cmd := csr_cmd