实验目的:用Verilog HDL设计一个数字跑表。
实验环境:Quartus Prime
实验前提:利用Quartus-II进行仿真实验
一、新建工程
新建工程如下:
二、写Verilog HDL文件
1.新建一个Verilog HDL File
2.写入代码
xxx部分和文件名相同
module xxx(clk,reset,pause,msh,msl,sh,sl,minh,minl);
input clk,reset,pause;
output [3:0] msh,msl,sh,sl,minh,minl;
reg [3:0] msh,msl,sh,sl,minh,minl;
reg count1,count2;
always @(posedge clk or posedge reset)
begin
if(reset)
begin
{msh,msl}<=0;
count1<=0;
end
else if(!pause)
begin
if(msl==9)
begin
msl<=0;
if(msh==9)
begin
msh<=0;
count1<=1;
end
else
msh<=msh+1;
end
else
begin
msl<=msl+1;
count1<=0;
end
end
end
always@(posedge count1 or posedge reset)
begin
if(reset)
begin
{sh,sl}<=0;
count2<=0;
end
else if(sl==9)
begin
sl<=0;
if(sh==5)
begin
sh<=0;
count2<=1;
end
else
sh<=sh+1;
end
else
begin
sl<=sl+1;
count2<=0;
end
end
always @(posedge count2 or posedge reset)
begin
if(reset)
begin
minh<=0;
minl<=0;
end
else if(minl==9)
begin
minl<=0;
if(minh==5)
minh<=0;
else
minh<=minh+1;
end
else
minl<=minl+1;
end
endmodule
三、编译
点击工具栏里进行编译,无错后进行下一步。
四、仿真
1.主页面编译
先点击Tools——》Launch Simulation Library Compiler
如图设置(没有qsim就先做后面的,再做这一步)
2.VWF
新建一个VWF文件
然后点击Edit——》Insert——》Insert Node…
点击Node Finder…
点击List——》>>——》OK
然后保存,不要修改文件名,不然会报错,解决很麻烦。
先编译一遍,解决错误,无错后,修改时钟。
3.时钟
点击Overwrite Clock,编写时钟
调至1ns
编译运行
4.结果
结果如下:
这里就不做结果分析了。