根据题目提供的双口RAM代码和接口描述,实现同步FIFO,要求FIFO位宽和深度参数化可配置。 电路的接口如下图所示。 端口说明如下表。 双口RAM端口说明: 端口名 IO 描述 wclk input 写数据时钟 wenc input 写使能 waddr input 写地址 wdata input 输入数据 rclk input 读数据时钟 renc input 读使能 raddr input 读地址 rdata output 输出数据 同步FIFO端口说明: 端口名 IO 描述 clk input 时钟 rst_n input 异步复位 winc input 写使能 rinc input 读使能 wdata input 写数据 wfull output 写满信号 rempty output 读空信号 rdata output 读数据 双口RAM代码如下,可在答案中添加并例化此代码。 module dual_port_RAM #(parameter DEPTH = 16, parameter WIDTH = 8)( input wclk ,input wenc ,input [$clog2(DEPTH)-1:0] waddr 深度对2取对数,得到地址的位宽。 ,input [WIDTH-1:0] wdata 数据写入 ,input rclk ,input renc ,input [$clog2(DEPTH)-1:0] raddr 深度对2取对数,得到地址的位宽。 ,output reg [WIDTH-1:0] rdata 数据输出 ); reg [WIDTH-1:0] RAM_MEM [0:DEPTH-1]; always @(posedge wclk) begin if(wenc) RAM_MEM[waddr]
输入描述:
input clk , input rst_n , input winc , input rinc , input [WIDTH-1:0] wdata
输出描述:
output reg wfull , output reg rempty , output wire [WIDTH-1:0] rdata
加载中...