题目
异步FIFO通常用于跨时钟域的信号传输。通过在CLKA时钟域将数据写入,可以安全地在另外一个CLKB时钟域读取到正确的数据。
请使用一个双端口的SRAM,来搭建一个异步FIFO,并书写testbench进行测试。
测试方法:
- 从一个时钟域(CLKA)将一个数写入FIFO,在另外一个时钟域(CLKB)应该可以读取到这个数;
- 观察向FIFO写入数据后,何时会有full信号产生;
- 观察从FIFO读取数据后,何时会有empty信号产生。
提示:SRAM目录下是某工艺条件下的SRAM仿真模型,建议使用SRAM_DP_32X32_wrapper.v作为你的FIFO主存储模块。另外SRAM_DP_32X32_wrapper_tb.v是testbench,可以参考里面的写法书写FIFO的tb。
要求:
- 使用SystemVerilog/Verilog书写设计代码
- 书写TestBench
- 使用Xilinx Vivado进行Simulation
实验报告