calyx 0.7.1

Compiler Infrastructure for Hardware Accelerator Generation
// -p well-formed -p static-inference
import "primitives/core.futil";
import "primitives/memories/comb.futil";

component main(go: 1, clk: 1) -> (done: 1) {
  cells {
    r0 = std_reg(1);
    r1 = std_reg(1);
    m0 = comb_mem_d1(32, 1, 1);
  }
  wires {
    group one_cycle {
      r0.write_en = 1'd1;
      one_cycle[done] = r0.done;
    }
    group two_cycles {
      r0.write_en = 1'd1;
      r1.write_en = r0.done;
      two_cycles[done] = r1.done;
    }
    group mem_wrt_to_done {
      m0.addr0 = 1'd0;
      m0.write_data = 32'd5;
      m0.write_en = 1'd1;
      mem_wrt_to_done[done] = m0.done;
    }
    group mult_wrts_to_done {
      r0.write_en = 1'd1;
      mult_wrts_to_done[done] = r0.done ? 1'd1;
    }
  }

  control {
    seq {
      one_cycle;
      two_cycles;
      mem_wrt_to_done;
      mult_wrts_to_done;
      one_cycle;
      mult_wrts_to_done;
      two_cycles;
    }
  }
}