From bfdb095ca01ac37de03bd744547d7af2c029f4fa Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Thu, 23 May 2019 10:12:10 +0100 Subject: [PATCH] start wiring up shadow matrix --- src/experiment/score6600.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/experiment/score6600.py b/src/experiment/score6600.py index dc067472..7952af57 100644 --- a/src/experiment/score6600.py +++ b/src/experiment/score6600.py @@ -292,6 +292,22 @@ class Scoreboard(Elaboratable): m.d.comb += intpick1.readable_i[0:n_int_fus].eq(int_rd_o[0:n_int_fus]) m.d.comb += intpick1.writable_i[0:n_int_fus].eq(int_wr_o[0:n_int_fus]) + #--------- + # Shadow Matrix + #--------- + + m.d.comb += shadows.issue_i.eq(fn_issue_o) + # these are explained in ShadowMatrix docstring, and are to be + # connected to the FUReg and FUFU Matrices, to get them to reset + # NOTE: do NOT connect these to the Computation Units. The CUs need to + # do something slightly different (due to the revolving-door SRLatches) + m.d.comb += go_rd_rst.eq(go_rd_o | shadows.go_die_o) + m.d.comb += go_wr_rst.eq(go_wr_o | shadows.go_die_o) + + # connect shadows / go_dies to Computation Units + 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]) + #--------- # Connect Register File(s) #--------- -- 2.30.2