Skip to content

Reconfigurable-Computing/flex_BRAM_FPGA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Flex BRAM for FPGA

可灵活例化任意深度、位宽的 ROM/RAM 的 Verilog 模块。自动通过深度划分、位宽划分、窄位宽合并技术尽可能减少 BRAM 资源的占用量。

(work-in-progress)

  • 双端口 ROM : ROM_flex.sv
    • 参数化配置初始值
    • 深度划分:例如对于深度=10000 ,划分为 9*1024+784 , 避免综合器使用深度=16384而造成浪费。
    • 位宽划分:例如对于位宽=37 ,划分为 36+1 ,位宽=36会综合成 Xilinx BRAM36 ,位宽=1可能会综合成 reg ,从而节省 BRAM。
    • 位宽折叠:例如对于 2x4096 的 ROM,本来可能综合成 4 个 BRAM18 ,折叠为 8x1024 后,只需占用 1 个 BRAM18
  • 双端口 RAM : RAM_flex.sv
    • 参数化配置初始值
    • 深度划分
    • 位宽划分
    • 位宽折叠
  • 完善文档

About

Verilog module for flexible instantiation of ROM/RAM of arbitrary depth and bit width. Automatically reduce BRAM usage through depth division, bit width division, and bit width folding.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors