split out readable/writable setup
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 13 May 2019 19:01:29 +0000 (20:01 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Mon, 13 May 2019 19:01:29 +0000 (20:01 +0100)
src/scoreboard/fu_fu_matrix.py

index a73cde9c2671d83d8915dd4d344b865bcb1c9138..5ee7d702b2bfdbea59a9b62598c17ac63b161d09 100644 (file)
@@ -54,6 +54,19 @@ class FUFUDepMatrix(Elaboratable):
         # ---
         readable = []
         writable = []
+        for x in range(self.n_fu_col):
+            fu = fur[x]
+            # accumulate Readable/Writable Vector outputs
+            readable.append(fu.readable_o)
+            writable.append(fu.writable_o)
+
+        # ... and output them from this module (horizontal, width=REGs)
+        m.d.comb += self.readable_o.eq(Cat(*readable))
+        m.d.comb += self.writable_o.eq(Cat(*writable))
+
+        # ---
+        # connect FU Pending
+        # ---
         for x in range(self.n_fu_col):
             fu = fur[x]
             rd_pend_o = []
@@ -67,14 +80,6 @@ class FUFUDepMatrix(Elaboratable):
             m.d.comb += [fu.rd_pend_i.eq(Cat(*rd_pend_o)),
                          fu.wr_pend_i.eq(Cat(*wr_pend_o)),
                         ]
-            # accumulate Readable/Writable Vector outputs
-            readable.append(fu.readable_o)
-            writable.append(fu.writable_o)
-
-        # ... and output them from this module (horizontal, width=REGs)
-        m.d.comb += self.readable_o.eq(Cat(*readable))
-        m.d.comb += self.writable_o.eq(Cat(*writable))
-
         # ---
         # connect Dependency Matrix dest/src1/src2/issue to module d/s/s/i
         # ---