import "primitives/core.futil";
import "primitives/memories/seq.futil";
component main() -> () {
cells {
@external m = seq_mem_d1(32, 2, 2);
@external o = seq_mem_d1(32, 2, 2);
r = std_reg(32);
add = std_add(32);
}
wires {
static<2> group read_m {
m.addr0 = 2'd1;
m.content_en = %[0:1] ? 1'd1;
add.left = m.read_data;
add.right = 32'd1;
r.in = add.out;
r.write_en = %[1:2] ? 1'd1;
}
static<1> group write_m {
o.addr0 = 2'd1;
o.content_en = %[0:1] ? 1'd1;
o.write_en = %[0:1] ? 1'd1;
o.write_data = r.out;
}
}
control {
read_m; write_m;
}
}