带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计实验
一、实验题目:带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计。
二、实验目的:讨论学习经典数字计数器的Verilog描述方法和相关语法。
三、实验程序:module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA);
input CLK,RST,EN,LOAD;
input [3:0] DATA;
output [3:0] DOUT;
output COUT;
reg [3:0] Q1;
reg COUT;
assign DOUT=Q1;
always @(posedge CLK or negedge RST)
begin
if(!RST) Q1<=0;
else if(EN)
begin
if(!LOAD) Q1<=DATA;
else if(Q1<9) Q1<=Q1+1;
else Q1<=4'b0000;
end
end
always @(Q1)
if(Q1==4'h9) COUT=1'b1;
else COUT=1'b0;
endmodule
四、实验仿真结果:
五、仿真结果分析:
(1)RST在任意时刻有效时,如CLK非上升沿时,计数也能清0。
(2)当EN=1,且在时钟CLK的上升沿时间范围LOAD=0时,4位输入数据DATA=0100被加载,在LOAD=1后作为计数器的计数初值,如图所示计数从0000加载到0100的时序。计数到9时,COUT输出进位1。
(3)当EN=,LOAD=1,RST=1时,计数正常进行,在计数数据等于9时进位输出高电平。另外,凡当计数从7计到8时有一毛刺信号,这是因为7到8的逻辑变化最大,每一位都发生了改变,导致各位信号传输路径不一致性增大。
六、硬件下载设置及测试过程:根据板子给定的引脚锁定图,选定相应的硬件把程序中的输入输出端和板子的相应引脚给锁定,编译并下载程序,定好DATA,选择合适的CLK,手动改变EN和LOAD的值,观察实验现象看是否符合程序的结果。
七、总结:通过对带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计,我对verilog描述方法和相关语法有了一个比较深入的认识。这将让我对之后课程的学习和深入探讨提供一个基础,让我不断去专研FPGA的学习。