kuznia-rdzeni / coreblocks

RISC-V out-of-order core for education and research purposes
https://kuznia-rdzeni.github.io/coreblocks/
BSD 3-Clause "New" or "Revised" License
38 stars 16 forks source link

Implement multi-ported FPGA memories #734

Open tilk opened 2 months ago

tilk commented 2 months ago

To implement superscalarity on FPGAs, we need multi-ported FPGA memories. Such memories internally use two-ported FPGA memories and some glue logic to make them behave as a single multi-ported memory.

Here is a nice paper: Modular Multi-ported SRAM-based Memories.

Interface suggestion: the new memories should probably share the interface with amaranth.lib.memory as much as possible.