在FPGA中block ram是很常见的硬核资源,合理的利用这些硬件资源一定程度上可以优化整个设计,节约资源利用率,充分开发FPGA芯片中的潜在价值,本文根据前人总结的一些用法,结合安路科技FPGA做简单总结,说明基本原理。
用法一:使用双口模式拆分成2个小容量的BRAM
基本原理如下:
· 以1K*9bit双端口配置模式为例,一个bram9k,可以当作两个512*9k rom
· 将A端口的地址最高位固定接0,B端口的地址最高位固定接1,则通过A端口只能访问0~511的地址空间,通过B端口只能访问512~1023地址空间,互不冲突,相当于两个小容量的rom
用法二:用作并行数据的多周期延时
· 将bram例化成简单双端口模式,并将写端口固定使能为写,读端口固定使能为读。
· 将ram模式配置成 “读优先模式”,每次在写某个地址之前会先把该地址的数据输出
· 用一个模长为N(N=4)的计数器,反复向ram中写数据,会得到一个延时为N+1的输出数据
如下图:
![9072eca07b6c05a403583152586885ff.png](https://img-blog.csdnimg.cn/img_convert/9072eca07b6c05a403583152586885ff.png)
用法三:用作高速大规模计数器
基