[Libre-soc-bugs] [Bug 781] create wrapper register files around 1R-or-1W SRAMs
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Mar 28 09:08:05 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=781
Staf Verhaegen <staf at fibraservi.eu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |staf at fibraservi.eu
--- Comment #6 from Staf Verhaegen <staf at fibraservi.eu> ---
(In reply to Cesar Strauss from comment #5)
> Without going for multiple clocks, I think it is maybe possible to implement
> a 1W1R memory block, using a single clock, using four 1RW memory blocks of
> the same size.
>
> It would go like this:
>
> The first 1RW memory block would alternate between read and write. For
> instance, write on even cycles, read on odd cycles. Let's call it an 1eW1oR
> memory.
>
> The second memory, on odd cycles, copies the value just written on the first
> memory, and allows reading on even cycles (1oW1eR). The "odd-only" write
> port is tied, but the read port (on even cycles) is free.
>
> That way, we can still write only on even cycles, but can now read both on
> even and odd cycles: 1eW1R
>
> Now, repeat this, to make an 1oW1R. Together with a "Live Value Table", we
> would get a full 1W1R memory out of four 1RW memories (plus multiplexers,
> and FFRAM for the LVT).
I think the problem is in the "Live Value Table". I don't see how you can live
with a 1RW block there ?
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list