电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数字式秒表verilog语言实现

数字式秒表verilog语言实现_第1页
1/23
数字式秒表verilog语言实现_第2页
2/23
数字式秒表verilog语言实现_第3页
3/23
一、实验目的 (1)熟练掌握分频器、各种进制的同步计数器的设计。 (2)熟练掌握同步计数器的级联方法。 (3)掌握数码管的动态显示驱动方式。 (4)掌握计数器的功能和应用。 (5)理解开关防颤动的必要性。 (6)掌握简单控制器的设计方法。 二、实验内容和原理 1、实验设计要求: (1)计时范围0’0’.0’’~59’59’.9’’,分辨率为0.1s,用数码管显示计时值。 (2)秒表有一个按键开关:当电路处于“初始”状态时,第一次按键,计时开始(“计时”状态);再次按键。计时停止(“停止”状态);第三次按键,计时器复位为0’0’.0’’,且电路恢复到“初始”状态。 2、根据设计要求,可画出秒表电路的原理框图,如图 1-2 所示,秒表电路由时钟管理模块(DCM)、分频器模块、按键处理模块、控制器、计时模块和显示模块组成。 clk sys_clk pulse10Hz pulse400Hz clear count stop ButtonIn ButtonOut 图 1-2 秒表电路的原理框图 (1)DCM 模块 由于数字钟为低速电路,而 XUP Virtex-II Pro 开发系统只提供 100MHz 主时钟,因此需插入 DCM 分频模块以降低系统的工作时钟,从而提高系统的可靠性。DCM 可采用16 分频,输出 6.25MHz 的sys_clk 信号作为系统的主时钟。 ISE 生成 DCM 内核的Verilog HDL 代码: VgaDCM DCMInst( .CLKIN_IN(clk), .CLKDV_OUT(sys_clk), .CLKIN_IBUFG_OUT(), DCM 按键处理模块 分频器模块 en 计时模块 控制器 显示模块 .CLK0_OUT(), .LOCKED_OUT()); (2)分频器模块 产生用于计时的1/10 秒脉冲信号pulse10,频率为10Hz; 产生用于显示模块的扫描脉冲信号pulse400,频率为400Hz。 1/10 秒脉冲信号pulse10 和扫描脉冲信号pulse400 的脉冲宽度为一个系统主时钟信号sys_clk 的周期。 分频器模块原理框图如图1-3 所示,先设计一个15625 分频器,产生400Hz 的扫描信号pulse400,再由pulse400 控制40 分频器产生1/10 秒脉冲信号pulse10。 分频器设计:分频器实际上就是计数器:分频比n 就是计数器的模。 “1” pulse10 sys_clk 分频器模块的Verilog HDL 代码: module div(sys_clk,sec,scan); //分频器模块 input sys_clk; output sec,scan; div_n1 u1(.cout(scan),.cin(1'b1),.clk(sys_clk)); //按原理框图级联分频器 div_n2 u2(.cout(sec),.cin(scan),.clk(sys_clk)); endmodule module div_n1(cout,cin,clk); // 1562...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数字式秒表verilog语言实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部