# create a latch/register for the operand
         oper_r = CompALUOpSubset()
-        latchregister(m, self.oper_i, oper_r, self.issue_i, "oper_r")
+        latchregister(m, self.oper_i, oper_r, self.issue_i, "oper_l")
 
         # 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, "data_r")
+        latchregister(m, self.alu.o, data_r, req_l.q, "data_l")
 
         # pass the operation to the ALU
         m.d.comb += self.alu.op.eq(oper_r)
 
 
         # create a latch/register for the operand
         oper_r = self.opsubsetkls()
-        latchregister(m, self.oper_i, oper_r, self.issue_i, "oper_r")
+        latchregister(m, self.oper_i, oper_r, self.issue_i, "oper_l")
 
         # and for each output from the ALU
         drl = []
         for i in range(self.n_dst):
             name = "data_r%d" % i
             data_r = Signal(self.cu._get_srcwid(i), name=name, reset_less=True)
-            latchregister(m, self.get_out(i), data_r, req_l.q[i], name)
+            latchregister(m, self.get_out(i), data_r, req_l.q[i], name + "_l")
             drl.append(data_r)
 
         # pass the operation to the ALU
 
 
         # create a latch/register for the operand
         oper_r = CompALUOpSubset()  # Dest register
-        latchregister(m, self.oper_i, oper_r, self.issue_i, name="oper_r")
+        latchregister(m, self.oper_i, oper_r, self.issue_i, name="oper_l")
 
         # and one for the output from the ALU
         data_r = Signal(self.rwid, reset_less=True)  # Dest register
                                               self.src2_i))
 
         # create a latch/register for src1/src2 (include immediate select)
-        latchregister(m, self.src1_i, self.alu.a, src_l.q, name="src1_r")
-        latchregister(m, self.src2_i, src2_r, src_l.q, name="src2_r")
+        latchregister(m, self.src1_i, self.alu.a, src_l.q, name="src1_l")
+        latchregister(m, self.src2_i, src2_r, src_l.q, name="src2_l")
         latchregister(m, src2_or_imm, self.alu.b, src_sel, name="imm_r")
 
         # decode bits of operand (latched)
 
 
         # create a latch/register for the operand
         oper_r = CompLDSTOpSubset()  # Dest register
-        latchregister(m, self.oper_i, oper_r, self.issue_i, name="oper_r")
+        latchregister(m, self.oper_i, oper_r, self.issue_i, name="oper_l")
 
         # and for LD
         ldd_r = Signal(self.rwid, reset_less=True)  # Dest register
         for i in range(self.n_src):
             name = "src_r%d" % i
             src_r = Signal(self.rwid, name=name, reset_less=True)
-            latchregister(m, self.src_i[i], src_r, src_l.q[i], name)
+            latchregister(m, self.src_i[i], src_r, src_l.q[i], name + '_l')
             srl.append(src_r)
 
         # and one for the output from the ADD (for the EA)
 
         ld_idx = Signal(nbits, reset_less=False)
         st_idx = Signal(nbits, reset_less=False)
         # use these because of the sync-and-comb pass-through capability
-        latchregister(m, ldpick.o, ld_idx, idx_l.qn, name="ld_idx")
-        latchregister(m, stpick.o, st_idx, idx_l.qn, name="st_idx")
+        latchregister(m, ldpick.o, ld_idx, idx_l.qn, name="ld_idx_l")
+        latchregister(m, stpick.o, st_idx, idx_l.qn, name="st_idx_l")
 
         # convenience variables to reference the "picked" port
         ldport = self.dports[ld_idx].pi