本文主要介绍Xilinx FPGA芯片中BRAM和FIFO的使用方法和测试结果,主要针对流接口进行仿真。
1 BRAM说明
BRAM是Xilinx芯片中重要的存储资源,其可配置为单端口RAM/ROM或者双端口RAM/ROM,本文以最复杂的应用情况真双端口RAM为例进行说明和测试。配置为真双端口模式的BRAM有两个端口A和B,可以同时进行读写操作,端口说明如下表所示。在IP的配置界面可以设置数据的位宽和RAM的深度,还可配置使能端口(本文配置为Always Enabled)。此外,可以使用.coe文件对RAM进行初始化,如果修改了.coe文件的内容,需要重新在IP配置界面加载.coe文件,再重新启动仿真才能使仿真波形更新。数据从BRAM中读出是有延时的,一般为2个周期,即地址改变后,需要两个时钟周期才能读出数据,如下图所示,地址1存储的数据为22334455,在地址addrb变化两个周期后数据才从doutb端口读出。
接口 | 说明 |
---|---|
clkx | 时钟 |
wex | 写使能 |
addrx | 读写地址 |
dinx | 写入数据 |
do |