FIFO的verilog语言代码(含测试代码).txt资料文档下载
- 文档编号:8430511
- 上传时间:2023-05-11
- 格式:TXT
- 页数:6
- 大小:4.37KB
FIFO的verilog语言代码(含测试代码).txt资料文档下载
《FIFO的verilog语言代码(含测试代码).txt资料文档下载》由会员分享,可在线阅读,更多相关《FIFO的verilog语言代码(含测试代码).txt资料文档下载(6页珍藏版)》请在冰点文库上搜索。
//�����ַ���ֵ
reg emptyp;
reg fullp;
reg[15:
reg[(DEPTH-1):
0] tail;
//�����ָ��
0] head;
//����дָ��
//���������
0] count;
0]fifomem[0:
MAX_COUNT];
//����fifomem�洢����4��16λ�Ĵ洢��
//dout������tailָ���ֵ
always@(posedgeclk)begin
if(rstp==1)begin
dout<
=16��h0000;
//��λ�ź���Ч��0
end
elsebegin
=fifomem[tail];
//��fifomem�е�tail����Ԫ����dout
end
if(rstp==1'
b0&
&
writep==1'
b1&
fullp==1'
b0)begin
fifomem[head]<
=din;
//�
end
b1)begin
head<
=2��b00;
//��λ
if(writep==1'
head<
=head+1;
end
tail<
//��λ
if(readp==1'
emptyp==1'
tail<
=tail+1;
count<
=2'
b00;
case({readp,writep})
2'
b00:
count<
=count;
b01:
if(count!
=MAX_COUNT)
count<
=count+1;
//Ϊд״̬ʱ���������мӷ�����
b10:
if(count!
b00)
=count-1;
//Ϊ��״̬���������м�������
b11:
count<
endcase
always@(count)begin
if(count==2'
emptyp<
=1��b1;
//countΪ0ʱemptyp��Ϊ1
else
=1'
b0;
if(count==MAX_COUNT)
fullp<
//���������ʱfullp��Ϊ1
endmodule
/*******************************************************************************************/
���Գ���
moduletest_fifo;
reg clk;
reg rstp;
reg readp;
reg writep;
wire[15:
wire emptyp;
wire fullp;
0] value;
fifoU1(.clk(clk),.rstp(rstp),.din(din),.readp(readp),.writep(writep),.dout(dout),
.emptyp(emptyp),.fullp(fullp));
taskread_word;
begin
@(negedgeclk);
readp=1;
@(posedgeclk)#5;
readp=0;
endtask
taskwrite_word;
din=value;
writep=1;
@(posedgeclk);
#5;
din=16'
hzzzz;
writep=0;
initialbegin
clk=0;
foreverbegin
#10clk=1;
#10clk=0;
//test1;
test2;
//���ò
���ģ��2
tasktest1;
rstp=1;
#50rstp=0;
#50;
write_word(16'
h1111);
h2222);
write_word(16��h3333);
//�3������
read_word;
//������
write_word(16��h4444);
//��дһ������
repeat(6)begin
read_word;
h0001);
h0002);
h0003);
h0004);
h0005);
h0006);
h0007);
h0008);
repeat(6)begin
tasktest2;
0]writer_counter;
writer_counter=16'
h0001;
#50rstp=0;
fork
//���
begin
repeat(500)begin
@(negedgeclk);
if(fullp==1'
write_word(writer_counter);
#5;
writer_counter=writer_counter+1;
end
#50;
end
end
//������
begin
foreverbegin
if(emptyp==1'
read_word;
end
#50;
join
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FIFO verilog 语言 代码 测试