- m.d.comb += self.req_rel_o.eq(req_l.q & opc_l.q) # req release out
-
- # create a latch/register for src1/src2
- latchregister(m, self.src1_i, self.alu.a, src_l.q)
- latchregister(m, self.src2_i, self.alu.b, src_l.q)
- #with m.If(src_l.qn):
- # m.d.comb += self.alu.op.eq(self.oper_i)
-
- # create a latch/register for the operand
- latchregister(m, self.oper_i, self.alu.op, src_l.q)
-
- # and one for the output from the ALU
- data_r = Signal(self.rwid, reset_less=True) # Dest register
- latchregister(m, self.alu.o, data_r, req_l.q)
+ # write req release out. waits until shadow is dropped.
+ m.d.comb += self.req_rel_o.eq(req_l.q & busy_o & self.shadown_i)