⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fifo.v

📁 采用Verilog语言描述的FIFO和双端口RAM源代码。
💻 V
字号:
/*2007-9-29 jhw*/
module FIFO(datain,wren,rden,dataout,clk,full,empty);
input [7:0] datain;
input wren,rden,clk;
output [7:0] dataout;
output full,empty;

reg [7:0] datain_buffer,dataout;
reg full,empty;
reg [7:0] mem[0:31];
reg [4:0] current_addr;
reg [5:0] count;
always@(negedge clk)
	case({wren,rden})
	2'b10:
		begin
			mem[current_addr]=datain_buffer;
			current_addr=current_addr+1;
			count=count+1;
		end
	2'b01:
		begin
			current_addr=current_addr-1;
			dataout=mem[current_addr];
			count=count-1;
		end
	default:;
	endcase

always@(posedge clk)
	if(wren)datain_buffer=datain;
	
always@(posedge clk)
	if(count==0)empty=1'b1;
	else empty=1'b0;
	
always@(posedge clk)
	if(count==32)full=1'b1;
	else full=1'b0;
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -