[libre-riscv-dev] [Bug 216] LOAD STORE buffer needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue May 26 13:50:12 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=216

--- Comment #45 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
tobias, i just noticed in soc.regfile.regfile.py, this code:

    def elaborate(self, platform):
        m = Module()
        for (regs, p) in self._rdports:
            #print (p)
            ror = treereduce(list(regs))
            m.d.comb += p.data_o.eq(ror)

that's pretty much exactly what is needed for DataMerger.  the ORing of
all of the data together (from only those with a "match" in the selected row,
though), is "it".

however bear in mind, both the enable *and* data signals need to be merged
out.  you may need to do them separately: one treereduce for the en and another
for the data, both "optionally" controlled by the match on the selected row.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list