1、Block RAM

Xlinx的BRAM可以配置成单口RAM、伪双口RAM、真双口RAM、单口ROM和双口ROM五种类型。

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别

2、Block RAM使用的资源

下图以36Kb的BRAM为例,不论BRAM配置成什么模式(上面提到的五种模式),存储的阵列的大小只和数据位宽和地址大小配置有关,和使用哪种模式无关。不同的模式只是读取同一个存储阵列的端口数不同而已。

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别

3、不同模式使用的端口情况

  • 单端口RAM:只有一组地址线,读写操作不能同时进行

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别

  • 伪双口RAM:有一组写地址线(ADDRA),有一组读地址线(ADDRB),读写操作可以同时进行,但是读写地址不能相同,会引起冲突;

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别

  • 真双口RAM:有两组读写地址线(ADDRA和ADDRB),两组读写操作可以同时进行,但是读写地址不能相同,会引起冲突;

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别

4、BRAM配置算法

BRAM生成器会根据三种不同算法排列块RAM,分别是:最小面积算法、低功耗算法和固定基元算法。

相关文章: