Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Multi-port BRAM IP for ASIC and FPGA

License

NotificationsYou must be signed in to change notification settings

dpretet/meduram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Introduction

Meduram is an IP core implementing a multi-port block RAM in order to sharea memory space between multiple agents of a system. Meduram provides nativeblock RAM interface (EN / ADDR / DATA) or AXI4-lite interface. It also supportsindependent clock domain for each read/write interface as for the RAM core,enabling a TDM-like implmentation to unleash performance when using AXI4-liteinterfaces. In order to manage synchronization mechanism thru the memory space,Meduram provides flags to the read agents connected in case write or readcollisions occur.

It's widely inspired by the concepts discussed in the paper"Efficient Multi-Ported Memories for FPGAs"by Charles Eric LaForest and J. Gregory Steffan. Thisarticleis also a good starting point to understand how to build this type of core.

Features

  • Multi-port block RAM capable. Any number of R/W agents supported.
  • Provide native RAM interface or AXI4-lite
  • Can support independent clock domain per agent when using AXI4-lite interface
  • Rely on replicated RAM block, one dedicated per write agent.
  • AXI4-lite interface supports outstanding request (configurable)
  • Monitor write ops and detect collision. Can inform agents on such events.

Documentation

Flow

Meduram uses Icarus Verilog for simulation and Yosys for synthesis.

To execute a basic synthesis with Yosys:

./flow.sh syn

or into syn folder

./run.sh

To execute the testsuite:

./flow.sh sim

or into sim folder

./run.sh

Meduram relies onSVUT to create and executetestsuites.

TODO

  • Implement a retry circuit in AXI4-lite read interface if read collision occurs
  • Manage APROT in AXI4-lite interface

License

This IP core is licensed under MIT license. It grants nearly all rights to use,modify and distribute these sources. However, consider to contribute and provideupdates to this core if you add feature and fix, would be greatly appreciated :)

Please refer toLICENSE file for more details.


[8]ページ先頭

©2009-2025 Movatter.jp