import "primitives/core.futil";
import "primitives/memories/comb.futil";
component main(@go go: 1, @clk clk: 1, @reset reset: 1) -> (@done done: 1) {
cells {
a = std_reg(2);
b = std_reg(2);
c = std_reg(2);
}
wires {
group A<"promotable"=1> {
a.in = 2'd0;
a.write_en = 1'd1;
A[done] = a.done;
}
group B<"promotable"=1> {
b.in = 2'd1;
b.write_en = 1'd1;
B[done] = b.done;
}
group C<"promotable"=1> {
c.in = 2'd2;
c.write_en = 1'd1;
C[done] = c.done;
}
}
control {
@promotable(3) seq {
@promotable A;
@promotable B;
@promotable C;
}
}
}