rename rsel vectors in mem dep cell
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 8 Jun 2019 06:38:17 +0000 (07:38 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 8 Jun 2019 06:38:17 +0000 (07:38 +0100)
src/scoreboard/mem_dependence_cell.py
src/scoreboard/mem_fu_matrix.py
src/scoreboard/test_mem_fu_matrix.py

index e84b9d17b977be16db39077765b8bd41b8e1cc65..2958d864cec75480b97a0725d9b3c44f53d2e7a0 100644 (file)
@@ -16,8 +16,8 @@ class MemDepRow(Elaboratable):
 
         self.st_pend_i = Signal(n_reg, reset_less=True) # Read pend in (top)
         self.ld_pend_i = Signal(n_reg, reset_less=True) # Write pend in (top)
-        self.st_rsel_o = Signal(n_reg, reset_less=True) # Read pend out (bot)
-        self.ld_rsel_o = Signal(n_reg, reset_less=True) # Write pend out (bot)
+        self.v_st_rsel_o = Signal(n_reg, reset_less=True) # Read pend out (bot)
+        self.v_ld_rsel_o = Signal(n_reg, reset_less=True) # Write pend out (bot)
 
         self.go_ld_i = Signal(reset_less=True) # Go Write in (left)
         self.go_st_i = Signal(reset_less=True)  # Go Read in (left)
@@ -61,8 +61,8 @@ class MemDepRow(Elaboratable):
 
         # to be accumulated to indicate if register is in use (globally)
         # after ORing, is fed back in to st_pend_i / ld_pend_i
-        m.d.comb += self.st_rsel_o.eq(st_c.qlq)
-        m.d.comb += self.ld_rsel_o.eq(ld_c.qlq)
+        m.d.comb += self.v_st_rsel_o.eq(st_c.qlq)
+        m.d.comb += self.v_ld_rsel_o.eq(ld_c.qlq)
 
         return m
 
@@ -75,6 +75,8 @@ class MemDepRow(Elaboratable):
         yield self.go_ld_i
         yield self.go_st_i
         yield self.go_die_i
+        yield self.v_ld_rsel_o
+        yield self.v_st_rsel_o
         yield self.ld_rsel_o
         yield self.st_rsel_o
         yield self.ld_fwd_o
index dc88d3589744e50f6d80846eb6aafd909a70678f..985959963d9e2906e774c5b1b0981503d845891e 100644 (file)
@@ -132,8 +132,8 @@ class MemFUDepMatrix(Elaboratable):
         ld_pend_v = []
         for fu in range(self.n_fu_row):
             dc = dm[fu]
-            st_pend_v.append(dc.st_rsel_o)
-            ld_pend_v.append(dc.ld_rsel_o)
+            st_pend_v.append(dc.v_st_rsel_o)
+            ld_pend_v.append(dc.v_ld_rsel_o)
         st_v = GlobalPending(self.n_reg_col, st_pend_v)
         ld_v = GlobalPending(self.n_reg_col, ld_pend_v)
         m.submodules.st_v = st_v
index 015368faea23f0988fbcca3325d8a0e502d8138e..7d6120cfa27fdad643a402c6f39d12125f6199cc 100644 (file)
@@ -645,9 +645,11 @@ def mem_sim(dut):
     yield dut.ld_i.eq(0x1)
     yield dut.fn_issue_i.eq(0x1)
     yield
+    yield dut.ld_i.eq(0x0)
     yield dut.st_i.eq(0x2)
     yield dut.fn_issue_i.eq(0x2)
     yield
+    yield dut.st_i.eq(0x0)
     yield dut.fn_issue_i.eq(0x0)
     yield