fifoWord文档下载推荐.docx
- 文档编号:19775434
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:12
- 大小:296.04KB
fifoWord文档下载推荐.docx
《fifoWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《fifoWord文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
******************************************************/
modulefifo(datain,rd,wr,rst,clk,dataout,full,empty);
input[7:
0]datain;
inputrd,wr,rst,clk;
output[7:
0]dataout;
outputfull,empty;
wire[7:
regfull_in,empty_in;
reg[7:
0]mem[15:
0];
reg[3:
0]rp,wp;
assignfull=full_in;
assignempty=empty_in;
//memoryreadout
assigndataout=mem[rp];
//memorywritein
always@(posedgeclk)begin
if(wr&
&
~full_in)mem[wp]<
=datain;
end
//memorywritepointerincrement
always@(posedgeclkornegedgerst)begin
if(!
rst)wp<
=0;
elsebegin
~full_in)wp<
=wp+1'
b1;
//memoryreadpointerincrement
always@(posedgeclkornegedgerst)begin
rst)rp<
=0;
if(rd&
~empty_in)rp<
=rp+1'
//Fullsignalgenerate
rst)full_in<
=1'
b0;
if((~rd&
wr)&
((wp==rp-1)||(rp==4'
h0&
wp==4'
hf)))
full_in<
elseif(full_in&
rd)full_in<
//Emptysignalgenerate
rst)empty_in<
if((rd&
~wr)&
(rp==wp-1||(rp==4'
hf&
h0)))
empty_in<
=1'
elseif(empty_in&
wr)empty_in<
endmodule
...........................................................................................................................
同步FIFO的Verilog代码之二
这一种设计的FIFO,是基于触发器的。
宽度,深度的扩展更加方便,结构化跟强。
以下代码在modelsim中验证过。
modulefifo_cell(sys_clk,sys_rst_n,read_fifo,write_fifo,fifo_input_data,
next_cell_data,next_cell_full,last_cell_full,cell_data_out,cell_full);
parameterWIDTH=8;
parameterD=2;
inputsys_clk;
inputsys_rst_n;
inputread_fifo,write_fifo;
input[WIDTH-1:
0]fifo_input_data;
0]next_cell_data;
inputnext_cell_full,last_cell_full;
output[WIDTH-1:
0]cell_data_out;
outputcell_full;
reg[WIDTH-1:
0]cell_data_reg_array;
0]cell_data_ld;
regcell_data_ld_en;
regcell_full;
regcell_full_next;
assigncell_data_out=cell_data_reg_array;
always@(posedgesys_clkornegedgesys_rst_n)
if(!
sys_rst_n)
cell_full<
=#D0;
elseif(read_fifo||write_fifo)
=#Dcell_full_next;
always@(write_fifoorread_fifoornext_cell_fullorlast_cell_fullorcell_full)
casex({read_fifo,write_fifo})
2'
b00:
cell_full_next=cell_full;
b01:
cell_full_next=next_cell_full;
b10:
cell_full_next=last_cell_full;
b11:
endcase
cell_data_reg_array[WIDTH-1:
0]<
elseif(cell_data_ld_en)
=#Dcell_data_ld[WIDTH-1:
always@(write_fifoorread_fifoorcell_fullorlast_cell_full)
casex({write_fifo,read_fifo,cell_full,last_cell_full})
4'
bx1_xx:
cell_data_ld_en=1'
b10_01:
default:
cell_data_ld_en=1'
always@(write_fifoorread_fifoornext_cell_fullorcell_fullorlast_cell_fullorfifo_input_dataornext_cell_data)
casex({write_fifo,read_fifo,next_cell_full,cell_full,last_cell_full})
5'
b10_x01:
cell_data_ld[WIDTH-1:
0]=fifo_input_data[WIDTH-1:
b11_01x:
0]=next_cell_data[WIDTH-1:
modulefifo_4cell(sys_clk,sys_rst_n,fifo_input_data,write_fifo,fifo_out_data,
read_fifo,full_cell0,full_cell1,full_cell2,full_cell3);
parameterWIDTH=8;
0]fifo_out_data;
outputfull_cell0,full_cell1,full_cell2,full_cell3;
wire[WIDTH-1:
0]dara_out_cell0,data_out_cell1,data_out_cell2,
data_out_cell3,data_out_cell4;
wirefull_cell4;
fifo_cell#(WIDTH,D)cell0
(.sys_clk(sys_clk),
.sys_rst_n(sys_rst_n),
.fifo_input_data(fifo_input_data[WIDTH-1:
0]),
.write_fifo(write_fifo),
.next_cell_data(data_out_cell1[WIDTH-1:
.next_cell_full(full_cell1),
.last_cell_full(1'
b1),
.cell_data_out(fifo_out_data[WIDTH-1:
.read_fifo(read_fifo),
.cell_full(full_cell0)
);
fifo_cell#(WIDTH,D)cell1
.next_cell_data(data_out_cell2[WIDTH-1:
.next_cell_full(full_cell2),
.last_cell_full(full_cell0),
.cell_data_out(data_out_cell1[WIDTH-1:
.cell_full(full_cell1)
fifo_cell#(WIDTH,D)cell2
.next_cell_data(data_out_cell3[WIDTH-1:
.next_cell_full(full_cell3),
.last_cell_full(full_cell1),
.cell_data_out(data_out_cell2[WIDTH-1:
.cell_full(full_cell2)
fifo_cell#(WIDTH,D)cell3
.next_cell_data(data_out_cell4[WIDTH-1:
.next_cell_full(full_cell4),
.last_cell_full(full_cell2),
.cell_data_out(data_out_cell3[WIDTH-1:
.cell_full(full_cell3)
assigndata_out_cell4[WIDTH-1:
0]={WIDTH{1'
B0}};
assignfull_cell4=1'
endmodule
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fifo
![提示](https://static.bdocx.com/images/bang_tan.gif)