import "primitives/std.lib"; component add(a: 32, b: 32) -> (@stable(1) out: 32) { cells { add1 = std_add(32); tmp_0 = std_reg(32); } wires { group let3<"static"=1> { tmp_0.in = add1.out; tmp_0.write_en = 1'd1; let3[done] = tmp_0.done; add1.left = a; add1.right = b; } out = tmp_0.out; } control { let3; } } component main() -> () { cells { add0 = add(); const0 = std_const(32,41); const1 = std_const(32,1); lhs_0 = std_reg(32); rhs_0 = std_reg(32); sum_0 = std_reg(32); } wires { group let0<"static"=1> { lhs_0.in = const0.out; lhs_0.write_en = 1'd1; let0[done] = lhs_0.done; } group let1<"static"=1> { rhs_0.in = const1.out; rhs_0.write_en = 1'd1; let1[done] = rhs_0.done; } group let2 { sum_0.in = add0.out; sum_0.write_en = 1'd1; let2[done] = sum_0.done; } } control { seq { par { let0; let1; } invoke add0(a=lhs_0.out, b=rhs_0.out)(); let2; } } }