proc %blinky.always.123.0 (i1$ %clk) -> (i30$ %counter, i8$ %outcnt) { 0: %1 = prb i30$ %counter %counter.shadow = var i30 %1 br %init init: %clk.prb = prb i1$ %clk wait %check, %clk check: %2 = prb i30$ %counter st i30* %counter.shadow, %2 %clk.prb1 = prb i1$ %clk %3 = const i1 0 %4 = eq i1 %clk.prb, %3 %5 = neq i1 %clk.prb1, %3 %posedge = and i1 %4, %5 br %posedge, %init, %event event: %6 = const time 0s 1d %7 = const i32 0 %counter.shadow.ld = ld i30* %counter.shadow %zext = inss i32 %7, i30 %counter.shadow.ld, 0, 30 %8 = const i32 1 %9 = add i32 %zext, %8 %10 = exts i30, i32 %9, 0, 30 drv i30$ %counter, %10, %6 %counter.shadow.ld1 = ld i30* %counter.shadow %11 = exts i8, i30 %counter.shadow.ld1, 22, 8 %12 = const i30 0 %13 = inss i30 %12, i8 %11, 0, 8 %14 = exts i8, i30 %13, 0, 8 drv i8$ %outcnt, %14, %6 br %0 } entity @blinky (i1$ %clk) -> (i1$ %led0, i1$ %led1, i1$ %led2, i1$ %led3, i1$ %led4, i1$ %led5, i1$ %led6, i1$ %led7) { %0 = const i30 0 %counter = sig i30 %0 %1 = const i8 0 %outcnt = sig i8 %1 %2 = const time 0s 1e %outcnt.prb = prb i8$ %outcnt %3 = exts i7, i8 %outcnt.prb, 1, 7 %4 = inss i8 %1, i7 %3, 0, 7 %5 = xor i8 %outcnt.prb, %4 %6 = exts i1, i8 %5, 0, 1 drv i1$ %led7, %6, %2 %7 = exts i7, i8 %5, 1, 7 %8 = inss i8 %1, i7 %7, 0, 7 %9 = exts i1, i8 %8, 0, 1 drv i1$ %led6, %9, %2 %10 = exts i6, i8 %5, 2, 6 %11 = inss i8 %1, i6 %10, 0, 6 %12 = exts i1, i8 %11, 0, 1 drv i1$ %led5, %12, %2 %13 = exts i5, i8 %5, 3, 5 %14 = inss i8 %1, i5 %13, 0, 5 %15 = exts i1, i8 %14, 0, 1 drv i1$ %led4, %15, %2 %16 = exts i4, i8 %5, 4, 4 %17 = inss i8 %1, i4 %16, 0, 4 %18 = exts i1, i8 %17, 0, 1 drv i1$ %led3, %18, %2 %19 = exts i3, i8 %5, 5, 3 %20 = inss i8 %1, i3 %19, 0, 3 %21 = exts i1, i8 %20, 0, 1 drv i1$ %led2, %21, %2 %22 = exts i2, i8 %5, 6, 2 %23 = inss i8 %1, i2 %22, 0, 2 %24 = exts i1, i8 %23, 0, 1 drv i1$ %led1, %24, %2 %25 = exts i1, i8 %5, 7, 1 %26 = inss i8 %1, i1 %25, 0, 1 %27 = exts i1, i8 %26, 0, 1 drv i1$ %led0, %27, %2 inst %blinky.always.123.0 (i1$ %clk) -> (i30$ %counter, i8$ %outcnt) }