使用了最基础的读写使能信号,同时读写时钟是分开的,但是我给它们设置了一样的值,所以这里可以设置common CLK,要注意的是FIFO是高电平复位,这点要注意,不然可能会出现一开始full和empty都为1的情况。
module fifo_module(wr_clk,rd_clk,rst,din,data_out
);
input wr_clk;
input rd_clk;
input rst;
input [7:0] din;
output [7:0] data_out;
reg wr_en;
reg rd_en;
wire full;
wire empty;
always @(posedge wr_clk or posedge rst)
if(rst)begin
wr_en <= 1'b0;
rd_en <= 1'b0;
end
else begin
if(!full && !rd_en)
wr_en <= 1'b1;
else if(!empty && !wr_en)
rd_en <= 1'b1;
else begin