From 7499ab9b204a54b4cd34676f4c7f1a3f13c05ffe Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sat, 18 May 2019 08:47:29 +0100 Subject: [PATCH] whoops use global vector correctly --- src/experiment/cscore.py | 4 ++-- src/scoreboard/fn_unit.py | 6 +++--- src/scoreboard/fu_picker_vec.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/experiment/cscore.py b/src/experiment/cscore.py index 5585580d..7f692aac 100644 --- a/src/experiment/cscore.py +++ b/src/experiment/cscore.py @@ -181,8 +181,8 @@ class Scoreboard(Elaboratable): # Connect INT Fn Unit global wr/rd pending for fu in if_l: - m.d.comb += fu.g_int_wr_pend_i.eq(intfu_wr_pend_v) - m.d.comb += fu.g_int_rd_pend_i.eq(intfu_rd_pend_v) + m.d.comb += fu.g_int_wr_pend_i.eq(g_int_wr_pend_v.g_pend_o) + m.d.comb += fu.g_int_rd_pend_i.eq(g_int_rd_pend_v.g_pend_o) # Connect FU-FU Matrix, NOTE: FN Units readable/writable considered # to be unit "read-pending / write-pending" diff --git a/src/scoreboard/fn_unit.py b/src/scoreboard/fn_unit.py index 30669429..3edabbde 100644 --- a/src/scoreboard/fn_unit.py +++ b/src/scoreboard/fn_unit.py @@ -164,8 +164,8 @@ class FnUnit(Elaboratable): g_rd = Signal(self.reg_width, reset_less=True) ro = Signal(reset_less=True) m.d.comb += g_rd.eq(self.g_wr_pend_i & self.rd_pend_o) - m.d.comb += ro.eq(~g_rd.bool() & rd_l.q) - m.d.comb += self.readable_o.eq(ro) + m.d.comb += ro.eq(~g_rd.bool()) + m.d.comb += self.readable_o.eq(ro & rd_l.q) # writable output signal g_wr_v = Signal(self.reg_width, reset_less=True) @@ -173,7 +173,7 @@ class FnUnit(Elaboratable): wo = Signal(reset_less=True) m.d.comb += g_wr_v.eq(g_pend_i & xx_pend_o) m.d.comb += g_wr.eq(~g_wr_v.bool()) - m.d.comb += wo.eq(g_wr & rd_l.q & shadown) + m.d.comb += wo.eq(g_wr & rd_l.qn & self.req_rel_i & shadown) m.d.comb += writable_o.eq(wo) return m diff --git a/src/scoreboard/fu_picker_vec.py b/src/scoreboard/fu_picker_vec.py index fd44c45f..21ed7fc2 100644 --- a/src/scoreboard/fu_picker_vec.py +++ b/src/scoreboard/fu_picker_vec.py @@ -16,6 +16,6 @@ class FU_Pick_Vec(Elaboratable): def elaborate(self, platform): m = Module() m.d.comb += self.readable_o.eq(self.rd_pend_i.bool()) - m.d.comb += self.writable_o.eq(self.wr_pend_i.bool()) + m.d.comb += self.writable_o.eq(~self.wr_pend_i.bool()) return m -- 2.30.2