import "primitives/core.futil";
import "primitives/binary_operators.futil";
component main(@foo(32) @go_port in: 32, go: 1, clk: 1, @interval @go go0: 1, @clk clk0: 1, @reset reset: 1) -> (@interval(0) out: 32, done: 1, @done done0: 1) {
cells {
@precious r = std_reg(32);
@bar(32) le = std_le(32);
}
wires {
group upd<"stable"=1> {
@dead upd[done] = r.done;
}
comb group cond<"promotable"=0> {
}
}
control {
@bound(32) while le.out with cond {
upd;
}
}
}