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

1、Block RAM

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

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别_第1张图片

2、Block RAM使用的资源

下图以36Kb的BRAM为例,不论BRAM配置成什么模式(上面提到的五种模式),存储的阵列的大小只和数据位宽和地址大小配置有关,和使用哪种模式无关。不同的模式只是读取同一个存储阵列的端口数不同而已。特例是伪双口BRAM会比真双口RAM省一半的资源,详细内容见下文。

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别_第2张图片

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

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

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别_第3张图片

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

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别_第4张图片

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

FPGA系列8——Block RAM(单口RAM、伪双口RAM、真双口RAM)区别_第5张图片

4、BRAM配置算法

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

5、伪双端口BRAM比真双口RAM省资源?

对于不同配置,该IP CORE尽量优化RAM资源,使其使用的BRAM资源最少。对于512字或者更少的存储空间,7系列的FPGA使用伪双口BRAM的原语会使得伪双口BRAM节省一半的资源开销(和真双口RAM比)。

 

你可能感兴趣的:(FPGA知识点,BRAM)