From a0c89dd76ae018d89be748b57f565d6ad6602cf9 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 23 May 2019 11:58:19 +0100 Subject: [PATCH] decide to do write-after-write shadows --- src/experiment/score6600.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/experiment/score6600.py b/src/experiment/score6600.py index 78a0d704..60c729ee 100644 --- a/src/experiment/score6600.py +++ b/src/experiment/score6600.py @@ -232,8 +232,9 @@ class Scoreboard(Elaboratable): issueunit = IntFPIssueUnit(self.n_regs, n_int_fus, n_fp_fus) m.submodules.issueunit = issueunit - # Shadow Matrix. currently only 1 branch - m.submodules.shadows = shadows = ShadowMatrix(n_int_fus, 1) + # Shadow Matrix. currently n_int_fus shadows, to be used for + # write-after-write hazards + m.submodules.shadows = shadows = ShadowMatrix(n_int_fus, n_int_fus) go_rd_rst = Signal(n_int_fus, reset_less=True) go_wr_rst = Signal(n_int_fus, reset_less=True) @@ -309,6 +310,11 @@ class Scoreboard(Elaboratable): m.d.comb += cu.shadown_i[0:n_int_fus].eq(shadows.shadown_o[0:n_int_fus]) m.d.comb += cu.go_die_i[0:n_int_fus].eq(shadows.go_die_o[0:n_int_fus]) + # ok connect first n_int_fu shadows to busy lines, to create an + # instruction-order linked-list-like arrangement, using a bit-matrix + # (instead of e.g. a ring buffer). + # XXX TODO + #--------- # Connect Register File(s) #--------- -- 2.30.2