From: Luke Kenneth Casson Leighton Date: Thu, 23 May 2019 09:12:10 +0000 (+0100) Subject: start wiring up shadow matrix X-Git-Tag: div_pipeline~1976 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bfdb095ca01ac37de03bd744547d7af2c029f4fa;p=soc.git start wiring up shadow matrix --- 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) #---------