From 374673de180c2f42a46043da7cbd4c89a40009f8 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Fri, 17 Apr 2020 14:40:56 +0100 Subject: [PATCH] temporarily not use MultiPriorityPicker --- src/soc/scoreboard/group_picker.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/soc/scoreboard/group_picker.py b/src/soc/scoreboard/group_picker.py index de9a0d94..1f68b128 100644 --- a/src/soc/scoreboard/group_picker.py +++ b/src/soc/scoreboard/group_picker.py @@ -46,7 +46,8 @@ from nmigen.compat.sim import run_simulation from nmigen.cli import verilog, rtlil from nmigen import Module, Signal, Elaboratable, Array -from nmutil.picker import MultiPriorityPicker as MPP +#from nmutil.picker import MultiPriorityPicker as MPP +from nmutil.picker import PriorityPicker class GroupPicker(Elaboratable): @@ -85,17 +86,18 @@ class GroupPicker(Elaboratable): def elaborate(self, platform): m = Module() - m.submodules.rpick = rpick = MPP(self.gp_wid, self.n_src, False, True) - m.submodules.wpick = wpick = MPP(self.gp_wid, self.n_dst, False, True) - # combine release (output ready signal) with writeable for i in range(self.n_dst): - m.d.comb += wpick.i[i].eq(self.writable_i[i] & self.req_rel_i[i]) - m.d.comb += self.go_wr_o[i].eq(wpick.o[i]) + wpick = PriorityPicker(self.gp_wid) + setattr(m.submodules, "wpick%d" % i, wpick) + m.d.comb += wpick.i.eq(self.writable_i[i] & self.req_rel_i[i]) + m.d.comb += self.go_wr_o[i].eq(wpick.o) for i in range(self.n_src): - m.d.comb += rpick.i[i].eq(self.readable_i[i] & self.rd_rel_i[i]) - m.d.comb += self.go_rd_o[i].eq(rpick.o[i]) + rpick = PriorityPicker(self.gp_wid) + setattr(m.submodules, "rpick%d" % i, rpick) + m.d.comb += rpick.i.eq(self.readable_i[i] & self.rd_rel_i[i]) + m.d.comb += self.go_rd_o[i].eq(rpick.o) return m -- 2.30.2