-
Notifications
You must be signed in to change notification settings - Fork 31
/
TopModuleWithClks.fir
466 lines (407 loc) · 18.1 KB
/
TopModuleWithClks.fir
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
;buildInfoPackage: chisel3, version: 3.1-SNAPSHOT, scalaVersion: 2.11.7, sbtVersion: 0.13.12, builtAtString: 2017-03-31 17:47:22.700, builtAtMillis: 1490982442700
circuit TopModuleWithClks :
extmodule FakeBBClk :
output outClk : Clock[3]
input inClk : Clock
defname = FakeBBClk
extmodule AsyncRegInit :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_1 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_2 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_3 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
module SEClkDivider :
input clock : Clock
input reset : UInt<1>
output io : {flip reset : UInt<1>, flip inClk : Clock, outClks : {3 : Clock, 1 : Clock, 0 : Clock}}
io is invalid
io is invalid
inst AsyncRegInit of AsyncRegInit @[ClkDivider.scala 59:30]
AsyncRegInit.out is invalid
AsyncRegInit.in is invalid
AsyncRegInit.init is invalid
AsyncRegInit.reset is invalid
AsyncRegInit.clk is invalid
AsyncRegInit.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit.init <= UInt<1>("h01") @[ClkDivider.scala 62:26]
inst AsyncRegInit_1 of AsyncRegInit_1 @[ClkDivider.scala 59:30]
AsyncRegInit_1.out is invalid
AsyncRegInit_1.in is invalid
AsyncRegInit_1.init is invalid
AsyncRegInit_1.reset is invalid
AsyncRegInit_1.clk is invalid
AsyncRegInit_1.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_1.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_1.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_2 of AsyncRegInit_2 @[ClkDivider.scala 59:30]
AsyncRegInit_2.out is invalid
AsyncRegInit_2.in is invalid
AsyncRegInit_2.init is invalid
AsyncRegInit_2.reset is invalid
AsyncRegInit_2.clk is invalid
AsyncRegInit_2.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_2.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_2.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_3 of AsyncRegInit_3 @[ClkDivider.scala 59:30]
AsyncRegInit_3.out is invalid
AsyncRegInit_3.in is invalid
AsyncRegInit_3.init is invalid
AsyncRegInit_3.reset is invalid
AsyncRegInit_3.clk is invalid
AsyncRegInit_3.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_3.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_3.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
AsyncRegInit.in <= AsyncRegInit_3.out @[ClkDivider.scala 116:23]
AsyncRegInit_1.in <= AsyncRegInit.out @[ClkDivider.scala 117:71]
AsyncRegInit_2.in <= AsyncRegInit_1.out @[ClkDivider.scala 117:71]
AsyncRegInit_3.in <= AsyncRegInit_2.out @[ClkDivider.scala 117:71]
node _T_22 = asClock(AsyncRegInit.out) @[ClkDivider.scala 120:48]
io.outClks.0 <= _T_22 @[ClkDivider.scala 120:25]
node _T_23 = asClock(AsyncRegInit_1.out) @[ClkDivider.scala 120:48]
io.outClks.1 <= _T_23 @[ClkDivider.scala 120:25]
node _T_24 = asClock(AsyncRegInit_3.out) @[ClkDivider.scala 120:48]
io.outClks.3 <= _T_24 @[ClkDivider.scala 120:25]
module ModWithNestedClk :
input clock : Clock
input reset : UInt<1>
output io : {flip inClk : Clock, bbOutClk : Clock[3], clkDivOut : Clock[3]}
io is invalid
io is invalid
inst bb of FakeBBClk @[ClkGenSpec.scala 63:18]
bb.outClk is invalid
bb.inClk is invalid
bb.inClk <= io.inClk @[ClkGenSpec.scala 64:15]
io.bbOutClk[0] <= bb.outClk[0] @[ClkGenSpec.scala 65:15]
io.bbOutClk[1] <= bb.outClk[1] @[ClkGenSpec.scala 65:15]
io.bbOutClk[2] <= bb.outClk[2] @[ClkGenSpec.scala 65:15]
inst clkDiv of SEClkDivider @[ClkGenSpec.scala 66:22]
clkDiv.io is invalid
clkDiv.clock <= clock
clkDiv.reset <= reset
clkDiv.io.reset <= reset @[ClkGenSpec.scala 67:19]
clkDiv.io.inClk <= io.inClk @[ClkGenSpec.scala 68:19]
io.clkDivOut[0] <= clkDiv.io.outClks.0 @[ClkGenSpec.scala 69:72]
io.clkDivOut[1] <= clkDiv.io.outClks.1 @[ClkGenSpec.scala 69:72]
io.clkDivOut[2] <= clkDiv.io.outClks.3 @[ClkGenSpec.scala 69:72]
extmodule FakeBBClk_1 :
output outClk : Clock[3]
input inClk : Clock
defname = FakeBBClk
extmodule AsyncRegInit_4 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_5 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_6 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_7 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
module SEClkDivider_1 :
input clock : Clock
input reset : UInt<1>
output io : {flip reset : UInt<1>, flip inClk : Clock, outClks : {3 : Clock, 1 : Clock, 0 : Clock}}
io is invalid
io is invalid
inst AsyncRegInit of AsyncRegInit_4 @[ClkDivider.scala 59:30]
AsyncRegInit.out is invalid
AsyncRegInit.in is invalid
AsyncRegInit.init is invalid
AsyncRegInit.reset is invalid
AsyncRegInit.clk is invalid
AsyncRegInit.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit.init <= UInt<1>("h01") @[ClkDivider.scala 62:26]
inst AsyncRegInit_1 of AsyncRegInit_5 @[ClkDivider.scala 59:30]
AsyncRegInit_1.out is invalid
AsyncRegInit_1.in is invalid
AsyncRegInit_1.init is invalid
AsyncRegInit_1.reset is invalid
AsyncRegInit_1.clk is invalid
AsyncRegInit_1.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_1.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_1.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_2 of AsyncRegInit_6 @[ClkDivider.scala 59:30]
AsyncRegInit_2.out is invalid
AsyncRegInit_2.in is invalid
AsyncRegInit_2.init is invalid
AsyncRegInit_2.reset is invalid
AsyncRegInit_2.clk is invalid
AsyncRegInit_2.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_2.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_2.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_3 of AsyncRegInit_7 @[ClkDivider.scala 59:30]
AsyncRegInit_3.out is invalid
AsyncRegInit_3.in is invalid
AsyncRegInit_3.init is invalid
AsyncRegInit_3.reset is invalid
AsyncRegInit_3.clk is invalid
AsyncRegInit_3.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_3.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_3.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
AsyncRegInit.in <= AsyncRegInit_3.out @[ClkDivider.scala 116:23]
AsyncRegInit_1.in <= AsyncRegInit.out @[ClkDivider.scala 117:71]
AsyncRegInit_2.in <= AsyncRegInit_1.out @[ClkDivider.scala 117:71]
AsyncRegInit_3.in <= AsyncRegInit_2.out @[ClkDivider.scala 117:71]
node _T_22 = asClock(AsyncRegInit_1.out) @[ClkDivider.scala 120:48]
io.outClks.0 <= _T_22 @[ClkDivider.scala 120:25]
node _T_23 = asClock(AsyncRegInit_2.out) @[ClkDivider.scala 120:48]
io.outClks.1 <= _T_23 @[ClkDivider.scala 120:25]
node _T_24 = asClock(AsyncRegInit.out) @[ClkDivider.scala 120:48]
io.outClks.3 <= _T_24 @[ClkDivider.scala 120:25]
module ModWithNestedClk_1 :
input clock : Clock
input reset : UInt<1>
output io : {flip inClk : Clock, bbOutClk : Clock[3], clkDivOut : Clock[3]}
io is invalid
io is invalid
inst bb of FakeBBClk_1 @[ClkGenSpec.scala 63:18]
bb.outClk is invalid
bb.inClk is invalid
bb.inClk <= io.inClk @[ClkGenSpec.scala 64:15]
io.bbOutClk[0] <= bb.outClk[0] @[ClkGenSpec.scala 65:15]
io.bbOutClk[1] <= bb.outClk[1] @[ClkGenSpec.scala 65:15]
io.bbOutClk[2] <= bb.outClk[2] @[ClkGenSpec.scala 65:15]
inst clkDiv of SEClkDivider_1 @[ClkGenSpec.scala 66:22]
clkDiv.io is invalid
clkDiv.clock <= clock
clkDiv.reset <= reset
clkDiv.io.reset <= reset @[ClkGenSpec.scala 67:19]
clkDiv.io.inClk <= io.inClk @[ClkGenSpec.scala 68:19]
io.clkDivOut[0] <= clkDiv.io.outClks.0 @[ClkGenSpec.scala 69:72]
io.clkDivOut[1] <= clkDiv.io.outClks.1 @[ClkGenSpec.scala 69:72]
io.clkDivOut[2] <= clkDiv.io.outClks.3 @[ClkGenSpec.scala 69:72]
extmodule FakeBBClk_2 :
output outClk : Clock[3]
input inClk : Clock
defname = FakeBBClk
extmodule AsyncRegInit_8 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_9 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_10 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
extmodule AsyncRegInit_11 :
output out : UInt<1>
input in : UInt<1>
input init : UInt<1>
input reset : UInt<1>
input clk : Clock
defname = AsyncRegInit
module SEClkDivider_2 :
input clock : Clock
input reset : UInt<1>
output io : {flip reset : UInt<1>, flip inClk : Clock, outClks : {3 : Clock, 1 : Clock, 0 : Clock}}
io is invalid
io is invalid
inst AsyncRegInit of AsyncRegInit_8 @[ClkDivider.scala 59:30]
AsyncRegInit.out is invalid
AsyncRegInit.in is invalid
AsyncRegInit.init is invalid
AsyncRegInit.reset is invalid
AsyncRegInit.clk is invalid
AsyncRegInit.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit.init <= UInt<1>("h01") @[ClkDivider.scala 62:26]
inst AsyncRegInit_1 of AsyncRegInit_9 @[ClkDivider.scala 59:30]
AsyncRegInit_1.out is invalid
AsyncRegInit_1.in is invalid
AsyncRegInit_1.init is invalid
AsyncRegInit_1.reset is invalid
AsyncRegInit_1.clk is invalid
AsyncRegInit_1.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_1.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_1.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_2 of AsyncRegInit_10 @[ClkDivider.scala 59:30]
AsyncRegInit_2.out is invalid
AsyncRegInit_2.in is invalid
AsyncRegInit_2.init is invalid
AsyncRegInit_2.reset is invalid
AsyncRegInit_2.clk is invalid
AsyncRegInit_2.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_2.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_2.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
inst AsyncRegInit_3 of AsyncRegInit_11 @[ClkDivider.scala 59:30]
AsyncRegInit_3.out is invalid
AsyncRegInit_3.in is invalid
AsyncRegInit_3.init is invalid
AsyncRegInit_3.reset is invalid
AsyncRegInit_3.clk is invalid
AsyncRegInit_3.clk <= io.inClk @[ClkDivider.scala 60:25]
AsyncRegInit_3.reset <= io.reset @[ClkDivider.scala 61:27]
AsyncRegInit_3.init <= UInt<1>("h00") @[ClkDivider.scala 62:26]
AsyncRegInit.in <= AsyncRegInit_3.out @[ClkDivider.scala 116:23]
AsyncRegInit_1.in <= AsyncRegInit.out @[ClkDivider.scala 117:71]
AsyncRegInit_2.in <= AsyncRegInit_1.out @[ClkDivider.scala 117:71]
AsyncRegInit_3.in <= AsyncRegInit_2.out @[ClkDivider.scala 117:71]
node _T_22 = asClock(AsyncRegInit_1.out) @[ClkDivider.scala 120:48]
io.outClks.0 <= _T_22 @[ClkDivider.scala 120:25]
node _T_23 = asClock(AsyncRegInit_2.out) @[ClkDivider.scala 120:48]
io.outClks.1 <= _T_23 @[ClkDivider.scala 120:25]
node _T_24 = asClock(AsyncRegInit.out) @[ClkDivider.scala 120:48]
io.outClks.3 <= _T_24 @[ClkDivider.scala 120:25]
module ModWithNestedClk_2 :
input clock : Clock
input reset : UInt<1>
output io : {flip inClk : Clock, bbOutClk : Clock[3], clkDivOut : Clock[3]}
io is invalid
io is invalid
inst bb of FakeBBClk_2 @[ClkGenSpec.scala 63:18]
bb.outClk is invalid
bb.inClk is invalid
bb.inClk <= io.inClk @[ClkGenSpec.scala 64:15]
io.bbOutClk[0] <= bb.outClk[0] @[ClkGenSpec.scala 65:15]
io.bbOutClk[1] <= bb.outClk[1] @[ClkGenSpec.scala 65:15]
io.bbOutClk[2] <= bb.outClk[2] @[ClkGenSpec.scala 65:15]
inst clkDiv of SEClkDivider_2 @[ClkGenSpec.scala 66:22]
clkDiv.io is invalid
clkDiv.clock <= clock
clkDiv.reset <= reset
clkDiv.io.reset <= reset @[ClkGenSpec.scala 67:19]
clkDiv.io.inClk <= io.inClk @[ClkGenSpec.scala 68:19]
io.clkDivOut[0] <= clkDiv.io.outClks.0 @[ClkGenSpec.scala 69:72]
io.clkDivOut[1] <= clkDiv.io.outClks.1 @[ClkGenSpec.scala 69:72]
io.clkDivOut[2] <= clkDiv.io.outClks.3 @[ClkGenSpec.scala 69:72]
module TopModuleWithClks :
input clock : Clock
input reset : UInt<1>
output io : {gen1 : {bbOutClk : UInt<1>[3], clkDivOut : UInt<1>[3]}, gen2 : {bbOutClk : UInt<1>[3], clkDivOut : UInt<1>[3]}, gen3 : {bbOutClk : UInt<1>[3], clkDivOut : UInt<1>[3]}, flip fakeClk1 : Clock, flip fakeClk2 : Clock}
io is invalid
io is invalid
inst gen1 of ModWithNestedClk @[ClkGenSpec.scala 91:20]
gen1.io is invalid
gen1.clock <= clock
gen1.reset <= reset
node _T_63 = asUInt(gen1.io.bbOutClk[0]) @[ClkGenSpec.scala 92:55]
node _T_64 = asUInt(gen1.io.bbOutClk[1]) @[ClkGenSpec.scala 92:55]
node _T_65 = asUInt(gen1.io.bbOutClk[2]) @[ClkGenSpec.scala 92:55]
wire _T_68 : UInt<1>[3] @[ClkGenSpec.scala 92:26]
_T_68 is invalid @[ClkGenSpec.scala 92:26]
_T_68[0] <= _T_63 @[ClkGenSpec.scala 92:26]
_T_68[1] <= _T_64 @[ClkGenSpec.scala 92:26]
_T_68[2] <= _T_65 @[ClkGenSpec.scala 92:26]
io.gen1.bbOutClk[0] <= _T_68[0] @[ClkGenSpec.scala 92:20]
io.gen1.bbOutClk[1] <= _T_68[1] @[ClkGenSpec.scala 92:20]
io.gen1.bbOutClk[2] <= _T_68[2] @[ClkGenSpec.scala 92:20]
node _T_74 = asUInt(gen1.io.clkDivOut[0]) @[ClkGenSpec.scala 93:57]
node _T_75 = asUInt(gen1.io.clkDivOut[1]) @[ClkGenSpec.scala 93:57]
node _T_76 = asUInt(gen1.io.clkDivOut[2]) @[ClkGenSpec.scala 93:57]
wire _T_79 : UInt<1>[3] @[ClkGenSpec.scala 93:27]
_T_79 is invalid @[ClkGenSpec.scala 93:27]
_T_79[0] <= _T_74 @[ClkGenSpec.scala 93:27]
_T_79[1] <= _T_75 @[ClkGenSpec.scala 93:27]
_T_79[2] <= _T_76 @[ClkGenSpec.scala 93:27]
io.gen1.clkDivOut[0] <= _T_79[0] @[ClkGenSpec.scala 93:21]
io.gen1.clkDivOut[1] <= _T_79[1] @[ClkGenSpec.scala 93:21]
io.gen1.clkDivOut[2] <= _T_79[2] @[ClkGenSpec.scala 93:21]
gen1.io.inClk <= clock @[ClkGenSpec.scala 94:17]
inst gen2 of ModWithNestedClk_1 @[ClkGenSpec.scala 96:20]
gen2.io is invalid
gen2.clock <= clock
gen2.reset <= reset
node _T_85 = asUInt(gen2.io.bbOutClk[0]) @[ClkGenSpec.scala 97:55]
node _T_86 = asUInt(gen2.io.bbOutClk[1]) @[ClkGenSpec.scala 97:55]
node _T_87 = asUInt(gen2.io.bbOutClk[2]) @[ClkGenSpec.scala 97:55]
wire _T_90 : UInt<1>[3] @[ClkGenSpec.scala 97:26]
_T_90 is invalid @[ClkGenSpec.scala 97:26]
_T_90[0] <= _T_85 @[ClkGenSpec.scala 97:26]
_T_90[1] <= _T_86 @[ClkGenSpec.scala 97:26]
_T_90[2] <= _T_87 @[ClkGenSpec.scala 97:26]
io.gen2.bbOutClk[0] <= _T_90[0] @[ClkGenSpec.scala 97:20]
io.gen2.bbOutClk[1] <= _T_90[1] @[ClkGenSpec.scala 97:20]
io.gen2.bbOutClk[2] <= _T_90[2] @[ClkGenSpec.scala 97:20]
node _T_96 = asUInt(gen2.io.clkDivOut[0]) @[ClkGenSpec.scala 98:57]
node _T_97 = asUInt(gen2.io.clkDivOut[1]) @[ClkGenSpec.scala 98:57]
node _T_98 = asUInt(gen2.io.clkDivOut[2]) @[ClkGenSpec.scala 98:57]
wire _T_101 : UInt<1>[3] @[ClkGenSpec.scala 98:27]
_T_101 is invalid @[ClkGenSpec.scala 98:27]
_T_101[0] <= _T_96 @[ClkGenSpec.scala 98:27]
_T_101[1] <= _T_97 @[ClkGenSpec.scala 98:27]
_T_101[2] <= _T_98 @[ClkGenSpec.scala 98:27]
io.gen2.clkDivOut[0] <= _T_101[0] @[ClkGenSpec.scala 98:21]
io.gen2.clkDivOut[1] <= _T_101[1] @[ClkGenSpec.scala 98:21]
io.gen2.clkDivOut[2] <= _T_101[2] @[ClkGenSpec.scala 98:21]
gen2.io.inClk <= gen1.io.clkDivOut[2] @[ClkGenSpec.scala 99:17]
inst gen3 of ModWithNestedClk_2 @[ClkGenSpec.scala 100:20]
gen3.io is invalid
gen3.clock <= clock
gen3.reset <= reset
node _T_107 = asUInt(gen3.io.bbOutClk[0]) @[ClkGenSpec.scala 101:55]
node _T_108 = asUInt(gen3.io.bbOutClk[1]) @[ClkGenSpec.scala 101:55]
node _T_109 = asUInt(gen3.io.bbOutClk[2]) @[ClkGenSpec.scala 101:55]
wire _T_112 : UInt<1>[3] @[ClkGenSpec.scala 101:26]
_T_112 is invalid @[ClkGenSpec.scala 101:26]
_T_112[0] <= _T_107 @[ClkGenSpec.scala 101:26]
_T_112[1] <= _T_108 @[ClkGenSpec.scala 101:26]
_T_112[2] <= _T_109 @[ClkGenSpec.scala 101:26]
io.gen3.bbOutClk[0] <= _T_112[0] @[ClkGenSpec.scala 101:20]
io.gen3.bbOutClk[1] <= _T_112[1] @[ClkGenSpec.scala 101:20]
io.gen3.bbOutClk[2] <= _T_112[2] @[ClkGenSpec.scala 101:20]
node _T_118 = asUInt(gen3.io.clkDivOut[0]) @[ClkGenSpec.scala 102:57]
node _T_119 = asUInt(gen3.io.clkDivOut[1]) @[ClkGenSpec.scala 102:57]
node _T_120 = asUInt(gen3.io.clkDivOut[2]) @[ClkGenSpec.scala 102:57]
wire _T_123 : UInt<1>[3] @[ClkGenSpec.scala 102:27]
_T_123 is invalid @[ClkGenSpec.scala 102:27]
_T_123[0] <= _T_118 @[ClkGenSpec.scala 102:27]
_T_123[1] <= _T_119 @[ClkGenSpec.scala 102:27]
_T_123[2] <= _T_120 @[ClkGenSpec.scala 102:27]
io.gen3.clkDivOut[0] <= _T_123[0] @[ClkGenSpec.scala 102:21]
io.gen3.clkDivOut[1] <= _T_123[1] @[ClkGenSpec.scala 102:21]
io.gen3.clkDivOut[2] <= _T_123[2] @[ClkGenSpec.scala 102:21]
gen3.io.inClk <= gen1.io.clkDivOut[2] @[ClkGenSpec.scala 103:17]