基于Verilog HDL的数字秒表

实验目的:用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.结果

结果如下:
这里就不做结果分析了。
在这里插入图片描述

  • 0
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值