1、Block RAM
Xlinx的BRAM可以配置成单口RAM、伪双口RAM、真双口RAM、单口ROM和双口ROM五种类型。
2、Block RAM使用的资源
下图以36Kb的BRAM为例,不论BRAM配置成什么模式(上面提到的五种模式),存储的阵列的大小只和数据位宽和地址大小配置有关,和使用哪种模式无关。不同的模式只是读取同一个存储阵列的端口数不同而已。特例是伪双口BRAM会比真双口RAM省一半的资源,详细内容见下文。
3、不同模式使用的端口情况
- 单端口RAM:只有一组地址线,读写操作不能同时进行
- 伪双口RAM:有一组写地址线(ADDRA),有一组读地址线(ADDRB),读写操作可以同时进行,但是读写地址不能相同,会引起冲突;
- 真双口RAM:有两组读写地址线(ADDRA和ADDRB),两组读写操作可以同时进行,但是读写地址不能相同,会引起冲突;
4、BRAM配置算法
BRAM生成器会根据三种不同算法排列块RAM,分别是:最小面积算法、低功耗算法和固定基元算法。
5、伪双端口BRAM比真双口RAM省资源?
对于不同配置,该IP CORE尽量优化RAM资源,使其使用的BRAM资源最少。对于512字或者更少的存储空间,7系列的FPGA使用伪双口BRAM的原语会使得伪双口BRAM节省一半的资源开销(和真双口RAM比)。