异步FIFO设计(代码篇) | 您所在的位置:网站首页 › fifo读写位宽不一样数据顺序 › 异步FIFO设计(代码篇) |
//异步FIFO //深度16 宽度16 module top #( parameter depth = 16, parameter width = 16 ) ( input wr_clk , input rst_n , input wr_en , input [width-1:0] data_in , input rd_clk , input rd_en , output [width-1:0] data_out , output full , output empty ); reg [width-1:0] mem [depth-1:0]; reg [width-1:0] temp_rdata; reg [4:0] waddr; wire [4:0] waddr_gray; reg [4:0] waddr_w2r1; reg [4:0] waddr_w2r2; reg [4:0] raddr; wire [4:0] raddr_gray; reg [4:0] raddr_r2w1; reg [4:0] raddr_r2w2; //写指针 always@(posedge wr_clk or negedge rst_n) begin if (!rst_n) waddr 1) ^ waddr; //写指针同步到读时钟域 always@(posedge wr_clk or negedge rst_n) begin if (!rst_n) {waddr_w2r2,waddr_w2r1} |
CopyRight 2018-2019 实验室设备网 版权所有 |