[libre-riscv-dev] [Bug 154] Cell for Dependency Matrices is needed

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Mon Jan 13 15:35:58 GMT 2020


http://bugs.libre-riscv.org/show_bug.cgi?id=154

--- Comment #7 from Staf Verhaegen <staf at fibraservi.eu> ---
After reading a little further I think that the architecture was developed at a
moment where not the current synthesis, place-and-route and timing check tools
were available. With current tools I think it is better to implement it all on
the DependencyMatrix level without sublevels. Incomplete and non-checked code:

    class DependencyMatrix(Elaboratable):
        def __init__(self, n_fus, n_regs):
             self.fu_start = Signal(n_fus)
             self.fu_read_in = Array(Signal(n_regs) for _ in range(n_fus))
             self.fu_write_in = Array(Signal(n_regs) for _ in range(n_fus))
             self.fu_read_ok = Signal(n_fus)
             self.fu_read_done = Signal(n_fus)
             self.read_reserve = Signal(n_refs)
             self.fu_write_ok = Signal(n_fus)
             self.fu_write_done = Signal(n_fus)
             self.write_reserve = Signal(n_refs)


        def elaborate(self, platform):
            m = Module()

            matrix_fu = Array(

            return m
{{{python
import sys
}}}

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


More information about the libre-riscv-dev mailing list