start connecting memory function unit
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 10 Jun 2019 12:07:05 +0000 (13:07 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 10 Jun 2019 12:07:05 +0000 (13:07 +0100)
src/experiment/score6600.py

index ccb26c1c516ad5b24391e440a954a8e0bb3c0c7b..2c2548377c790488085347653889864d4340e9e6 100644 (file)
@@ -215,12 +215,12 @@ class CompUnitLDSTs(CompUnitsBase):
         self.imm_i = Signal(rwid, reset_less=True)
 
         # Int ALUs
-        alus = []
+        self.alus = []
         for i in range(n_ldsts):
-            alus.append(ALU(rwid))
+            self.alus.append(ALU(rwid))
 
         units = []
-        for alu in alus:
+        for alu in self.alus:
             aluopwid = 4 # see compldst.py for "internal" opcode
             units.append(LDSTCompUnit(rwid, aluopwid, alu, mem))
 
@@ -533,6 +533,16 @@ class Scoreboard(Elaboratable):
         comb += issueunit.busy_i.eq(cu.busy_o)
         comb += self.busy_o.eq(cu.busy_o.bool())
 
+        #---------
+        # Memory Function Unit
+        #---------
+        comb += memfus.fn_issue_i.eq(cul.issue_i) # Comp Unit Issue -> Mem FUs
+        comb += memfus.addr_we_i.eq(cul.adr_rel_o) # Match enable on adr rel
+
+        #comb += cu.go_rd_i[0:n_intfus].eq(go_rd_o[0:n_intfus])
+        #comb += cu.go_wr_i[0:n_intfus].eq(go_wr_o[0:n_intfus])
+        #comb += cu.issue_i[0:n_intfus].eq(fn_issue_o[0:n_intfus])
+
         #---------
         # merge shadow matrices outputs
         #---------