Verilog数字钟课程设计
verilog数字钟课程设计

课程设计报告课程设计题目:数字钟系统学号:201420130228学生姓名: 刘进辉专业:通信工程班级:1421301指导教师:钟凯老师2017年1 月1 日目录一.摘要 (3)二.概念及原理 (4)三.实验过程及分析 (5)四.实验心得 (7)五.参考文献 (7)六.实验代码 (8)七.评分表 (14)摘要在社会快速发展的今天,时钟在人们的生活中显得越发重要,因此设计数字钟就变得尤为重要。
本文介绍一种利用verilog语言产生多功能数字钟的设计方案,不仅让大家对数字钟更为了解,而且可以为人们的生活带来便利。
数字钟它具有时、分、秒的正常显示功能及调节时和分的特殊功能,此外,以24小时循环计数,具有整点报时功能,并且由按键输入进行对数字钟的校时、清零功能。
本文设计的数字钟方案由控制模块、计时模块、以及报时模块三大模块组成,满足所有的功能要求,并且代码是经modelsim软件编译和仿真所设计。
二.概念及原理数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路。
如图所示为数字钟的一般构成框图。
主要包括时间基准电路、计数器电路、控制电路。
其中的控制逻辑电路是比较灵活多样的,不断完善它可以增强数字钟的功能。
数字钟应该具有的功能有:显示时—分—秒、整点报时、小时和分钟可调等基本功能。
整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23。
在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,小时他的范围是从0~23,所以可以均用一个4位的二进制码显示十位和个位。
对于整点报时功能,本实验设计的是当进行正点发出一个高音信号和59分50、5254、56、58秒发出一个高音信号。
调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时;S2调整分钟,每按下一次,分钟增加一分钟。
VerilogHDL语言数字时钟

VerilogHDL语言数字时钟EDA与数字系统设计报告实验名称:带有设臵时间功能和闹钟功能的数字钟一、设计内容和要求实验要求使用Verilog HDL进行多功能时钟的设计具体要求如下:1.能将基本的小时、分钟、及秒钟显示在数码管上2.能利用拨码开关进行时间的校正3.具有整点报时和闹钟的功能二、设计原理1.工作原理多功能数字钟系统共包括三个模块,即分频器模块、计数器模块和显示译码模块。
多功能数字钟的功能可以从整体上分为三类,分别是正常计时、时钟校对和闹钟设臵,所以考虑在系统中设臵一个模式控制信号mode。
模式控制信号对应一个按键,每按一次按键相当于工作模式进行一次变换,多次按下则数字钟将在正常计时、时间校对和闹钟设臵三个工作模式下依次循环。
在设计中,时钟校对和闹钟设臵工作模式都需要对时间进行设臵,通常是对小时和分钟进行设臵,所以需要在系统中设臵一个时间设臵信号set,对应一个按键,每按一次相当于在小时设臵和分钟设臵之间进行转换。
时间设臵时,分钟和小时计时单位之间互相独立,不存在进位关系。
同时设臵一个时间调整信号accum,每按一次与accum对应的按键,相当于对需要调整的分钟或小时的数字进行加1操作。
数字钟的计时输出信号时必不可少的,用hour,min和sec信号分别表示需要显示的小时、分钟和秒钟的计时结果,上述计时结果将通过译码显示模块进行译码后,连接到外部的七段数码显示器。
在带有闹钟设臵功能的数字钟中,闹钟输出信号也是必不可少的,到达到闹钟设臵的时间后,要向外部扬声器发送一个闹铃信号,设臵alert。
另外,我们还提供了闹钟铃声信号voice,当voice为0的时候,闹钟处于静音状态下,即使时间达到闹钟设定的时间也不会发声,当voice为1的时候,可以正常闹铃,voice信号对应一个拨码开关。
本设计中的小时、分钟和秒钟的计时结果采用BCD码表示方法。
采用这种表示方法便于对数结果的高位和低位分别进行译码。
基于Verilog HDL语言的数字钟(DE2)设计

《EDA技术与Verilog HDL》课程实验报告实验项目名称:基于Verilog HDL语言的数字钟(DE2)设计一、实验项目名称基于Verilog HDL语言的数字钟(DE2)开发板设计。
二、实验目的和要求(1)实验目的1.掌握Verilog HDL语言的基本运用;2.熟悉QuartusⅡ的简单操作;3.掌握一个基本EDA工程设计流程;4.掌握数字钟(DE2开发板)的设计基本原理。
(2)实验要求1.具有普通时钟的计时、调时功能。
2.能够下载到DE2开发板进行运行三、实验内容和原理数字钟共使用一类主要模块来实现其功能。
其总体结构如下图所示。
(1)时分秒计数器。
时计时器是一个24进制计数器,分秒则均为60进制计数器。
当秒计时器接受一个计时脉冲时,秒计数器从一计到六十,秒显像管依次显示00、01、02、03……,每当秒计时到00,就会有一个输出脉冲至分计时器,分计时器在原有基础上加一,显示器同样依次显示,每当分计时器计到00,相应的有一个脉冲使得时计数器在原有基础上加一,显示器一次显示00、01、……当计时器计数到23时59分59秒时,时分秒计数器自动归零。
(2)数码显像管译码模块。
该模块的功能就是将四位的8421码翻译成8位输出,用于显示各个数字,分为两组,高电平点亮,不同的数字对应不同的8位码。
因此程序设计需要考虑时分秒的每个数所对应的8位码。
例如:if(sec1[3:0]==4'b0000)//sec1 0-9beginHEX0[6:0]<=7'b1000000;endif(sec1[3:0]==4'b0001)beginHEX0[6:0]<=7'b1111001;endif(sec1[3:0]==4'b0010)beginHEX0[6:0]<=7'b0100100;(3)分频器模块开发板可用时钟为50MHZ,不可以用来做时钟输入,用作时钟信号前必须分频,该分频是用计数取反来分该总体模块实现功能:key2表示状态,key1表示转换改变分或时,key0表示在相应的状态下调整分或时。
verilog数字时钟课程设计

verilog数字时钟课程设计一、课程目标知识目标:1. 学生能理解Verilog硬件描述语言的基本语法和结构;2. 学生能掌握数字时钟的工作原理,包括分频器、计数器等关键模块的功能与实现;3. 学生能运用Verilog语言设计并实现一个具有时、分、秒显示功能的数字时钟。
技能目标:1. 学生能运用所学知识,进行模块化设计和编程,具备初步的数字系统设计能力;2. 学生能通过仿真工具验证数字时钟设计的正确性,并解决简单的问题;3. 学生能通过课程学习,提高逻辑思维能力和团队协作能力。
情感态度价值观目标:1. 学生对数字电路设计产生兴趣,培养探究精神和创新意识;2. 学生在课程实践中,树立正确的工程观念,注重实际操作和实际应用;3. 学生在团队合作中,学会沟通与协作,培养集体荣誉感和责任感。
课程性质:本课程为电子信息类专业高年级学生设计,以实践性为主,结合理论教学。
学生特点:具备一定的电子技术和编程基础,对数字电路有一定了解。
教学要求:注重理论与实践相结合,强调动手能力培养,提高学生解决实际问题的能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合素养。
二、教学内容1. 数字时钟原理介绍:包括时钟信号产生、分频器、计数器等基本概念和工作原理。
- 教材章节:第三章 数字电路基础,第四节 时序逻辑电路。
2. Verilog语言基础:Verilog语法结构、数据类型、运算符、模块定义等。
- 教材章节:第四章 硬件描述语言Verilog,第一、二、三节。
3. 数字时钟设计:基于Verilog语言,分别设计秒、分、时计数器,以及分频器等模块。
- 教材章节:第四章 硬件描述语言Verilog,第四节 实例分析。
4. 仿真与验证:使用仿真工具(如ModelSim)对设计进行功能仿真和时序仿真。
- 教材章节:第五章 数字电路仿真,第一、二节。
5. 数字时钟综合与实现:将各模块整合,实现一个完整的数字时钟,并进行板级测试。
用Verilog语言编写的多功能数字钟

《数字电子技术课程设计》报告专业班级:姓名:学号:设计日期:一.设计题目多功能数字钟电路设计二.设计任务及要求多功能数字钟应该具有的功能有:显示时—分—秒、整点报时、小时和分钟可调等基本功能。
整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,小时的范围为0~23时。
在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD 码)显示个位,对于小时因为他的范围是从0~23,所以可以用一个2位的二进制码显示十位,用一个4位的二进制码(BCD码)显示个位。
实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz 时钟信号,但是扫描需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟50Mhz进行分频。
对于整点报时功能,本实验设计的是当进行正点的倒计时5秒时,让LED来闪烁进行整点报时的提示。
调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时;S2调整分钟,每按下一次,分钟增加一分钟。
另外用S8按键作为系统时钟复位,复位后全部显示00—00—00。
管脚分配如下表:三.基于Verilog HDL语言的电路设计、仿真与综合(一)顶层模块本程序采用结构化设计方法,将其分为彼此独立又有一定联系的三个模块,如图1所示:LocationPIN_R16Option Value VCC S1INPUT Location PIN_P14Option Value VCC S2INPUT Location PIN_J3Option Value VCCCPINPUT Location PIN_M4Location PIN_F3Location PIN_F4Option Value SEL[2..0]OUTPUT Location PIN_L14Option Value LEDOUTPUTLocation PIN_N4Location PIN_G4Location PIN_H4Location PIN_L5Location PIN_L4Location PIN_K4Location PIN_K5Option Value LEDAG[6..0]OUTPUTCP CPoutf enpininst1CPoutS1S2RETHour[5..0]Minute[5..0]Second[5..0]LEDkongzhiqi inst2VCCRETINPUT CPout Hour[5..0]Minute[5..0]Second[5..0]SEL[2..0]LEDAG[6..0]xianshi inst图1:顶层结构框图(二)子模块 1.分频器分频器的作用是对50Mhz 的系统时钟信号进行分频,得到频率为1000hz 的信号,作为显示器的输入信号。
Verilog 实现简易数字钟设计

module ly2(clock,sec1,sec2,min1,min2,hou1,hou2);input clock;output sec1,sec2,min1,min2,hou1,hou2;reg[5:0] sec,min,hou;reg tun,mod;reg[3:0] sec1,sec2,min1,min2,hou1,hou2;wire mt,nt;initialbegintun=1;mod=1;min=0;hou=0;sec=0;sec1=0;sec2=0;min1=0;min2=0;hou1=0;hou2=0;endalways @(posedge clock) \\clock 标准1HZ时钟信号beginif(sec==59)beginsec<=0; \\秒为60进制计数器tun<=1; \\每60秒产生一个进位信号tun。
endelsebeginsec<=sec+1;tun<=0; \\进位信号置0。
endendassign mt=tun; \\生成分的控制信号,always@(posedge mt)beginif(min==59) \\分钟为60进制计数器beginmin<=0;mod<=1; \\每60分产生一个小时的进位。
endelsebeginmin<=min+1;mod<=0; \\分钟向小时的进位信号置0。
endendassign nt=mod; \\生成时的控制信号,always@(posedge nt)beginif(hou==23) \\小时为24进制计数器hou<=0;elsehou<=hou+1;endalways@(sec)beginsec1<=sec%10; \\sec1为秒个位sec2<=sec/10; \\sec2为秒十位endalways@(min)beginmin1<=min%10; \\min1为分个位min2<=min/10; \\min2为分十位endalways@(hou)beginhou1<=hou%10; \\hou1为时个位hou2<=hou/10; \\hou2为时十位endendmodule。
EDA Verilog HDL简易数字钟设计报告

4'd1;
+ 1'b1;
if(hour[7:4] == 4'h6) begin
hour[7:4] = 4'h0; hour[11:8] = hour[11:8]
if(hour[11:8] == 4'ha) begin
hour[11:8] = 4'h0; hour[15:12] = hour[15:12] + 1'b1; if(hour[15:12] == 4'h6) begin
开始
时钟/校准
是
否
是否校时?
位选
时钟信号
秒+1
秒计数+1
秒>59?
是
分计数+1 秒置零
分+1
分>59?
是
时计数+1 分置零
时+1
时>23?
是
时置零
图4-2-3 校时模块
4
(3)动态显示模块:由于实验箱的 8 个数码管共用七段输入线,位选也是由 4 位二进制接 线控制,所以动态显示在代码部分会稍有难度。图 4-2-4 是动态显示模块的接线实物图
4 位位选控制
4-2-4 动态显示模块
3、总体设计流程
简易数字钟电路的核心部分就是 EPF10K10LC84-4 芯片,外围接入了分频部分电路、按 键电路和七段动态显示短路。程序部分,先通过模式控制变量判断是正常模式还是校时模式, 如果是校时模式,则手动对时间数据进行置数,同时显示到数码管;如果是正常模式则直将 分频模块的时钟信号接入计数器开始计时,校时与正常时间运行的时间数据都遵循时、分、 秒的进制原则。实验箱的按键模块公共端每 1 秒发出一个低电平信号,其他时候都是高电平, 也就是说按下按键后,只有扫描到了低电平信号,按键才会起作用,否则按键动作将因为无 法扫描到低电平而失灵。所以按键每次按下大约 1 秒的时间才会生效。任何情况下,时间数 据都通过动态显示模块同步显示到数码管。动态显示模块的 8 位(实际上只用了 6 位)数码 管以每 10ms 切换点亮一位数码管,依次循环,达到动态显示的效果。图 4-3-1 是总设计流 程图。
veriloghdl课设(数字钟)

课程设计(报告)任务书(理工科类)Ⅰ、课程设计(报告)题目:实时时钟电路的设计Ⅱ、课程设计(论文)工作内容一、课程设计目标《硬件描述语言》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。
不论理论学习还是实际应用,都离不开实验课教学。
如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节、学习与应用脱节的局面。
《HDL项目设计》的目的就是让同学们在理论学习的基础上,通过完成一个涉及时序逻辑、组合逻辑、声光输出的,具有实用性、趣味性的小系统设计,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。
二、课程设计任务与要求(1)设计一个数码管实时显示时、分、秒的数字时钟(24小时显示模式);(2)为了演示方便,应具有分钟、小时快进功能;(3)时、分、秒设置功能(选作)。
三、课程设计考核平时20%;验收40%;报告40%摘要数字钟是人们日常生活中经常使用的计时工具,本次的课程设计是基于Verilog HDL的多功能数字钟,完成时、分、秒的显示功能。
设计利用Verilog HDL 语言自顶向下的设计理念,突出其作为硬件描述语言的良好的可读性、可移植性以及易于理解等优点。
通过Quartus II 5.0和ModelSim SE 6.1f软件完成仿真、综合。
程序下载到FPGA芯片后,可用于实际的数字钟显示中。
此次设计的逻辑结构主要由分频器、计数器和译码显示器三个模块构成。
分频模块将50Mhz系统基准时钟分频产生两路时钟信号,一路是1HZ的数字钟计时工作频率,一路是数码管动态显示的扫描频率;计时模块对1HZ的时钟信号进行计时,分为时、分、秒三个部分;译码显示模块采用动态扫描的方式完成数码管的显示。
最后通过主模块调用三个子模块函数完成整个设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告课程设计题目:数字钟系统设计学号:2学生姓名:刘新强专业:通信工程班级:1421302指导教师:钟凯2016年1月4日FPGA( Field Programmable Gate Array,现场可编程门阵列),一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。
可编程逻辑器件的设计过程是利用EDA 开发软件和编程和编程工具对器件进行开发的过程。
通过modelsim软件下采用verilog语言实现数字钟系统设计,实现了以下几个方面的功能:1.数字钟基本计时功能2.数字钟校时功能3.数字钟系统报时功能关键词:FPGA ;VHDL;数字钟一、FPGA与VHDL简介 (1)1、FPGA与简介 ...........................................................................................2、VHDL简介 ...............................................................................................二、课程设计的目的与要求 (2)1、教学目的....................................................................................................................2、教学要求....................................................................................................................3、数字钟系统设计要求................................................................................................三、设计方案 (2)1、系统框图....................................................................................................................2、模块说明....................................................................................................................四、仿真与实现 (3)1、数字钟基本计时功能实现........................................................................................2、数字钟校时功能实现................................................................................................3、数字钟系统报时功能实现........................................................................................五、实验心得 (4)六、参考文献 (4)七、代码 (5)一、FPGA与VHDL简介1、FPGA简介以硬件描述语言(Verilog 或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA 上进行测试,是现代IC 设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA 里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA 内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。
一个出厂后的成品FPGA 的逻辑块和连接可以按照设计者而改变,所以FPGA 可以完成所需要的逻辑功能。
FPGA 一般来说比ASIC(专用集成电路)的速度要慢,无法完成复杂的设计,但是功耗较低。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA 上完成的,然后将设计转移到一个类似于ASIC 的芯片上。
另外一种方法是用CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
2、VHDL简介硬件描述语言已经有几十年的发展历史,并且在系统的仿真、验证和设计、综合等方面得到成功的应用。
目前常用的硬件描述语言有VHDL、Verilog HDL 、ABEL 等[2][3][4]。
VHDL则起源于20 世纪70 年代末和80 年代初,美国国防部提出的VHSIC 计划,目标是为下一代集成电路的生产、实践阶段性的工艺极限和完成10 万门级以上的电路设计而建立一种新的描述方法[5]。
VHDL 的英文全称为Very-High-Speed Integrated Circuit Hardware Description Language,是IEEE 标准化的硬件描述语言,并且已经成为系统描述的国际公认标准,得到众多EDA 公司的支持。
VHDL 具有很多的优点使它能够被大多数人认可,被广泛应用在逻辑电路的设计方面,并且成为了标准化的硬件描述语言,其优点如下:(1)功能强大和设计灵活。
一个简洁的使用VHDL 语言编写的程序就可以描述一个复杂的逻辑电路,因为VHDL 拥有强大的语言结构[6]。
VHDL 多层次的设计描述功能可以有效地控制设计的实现,支持设计库和可重复使用的元件生成,还支持多种设计方式,如层次化设计、模块化设计和同步、异步和随机电路设计。
(2)与具体器件无关。
用VHDL 设计硬件电路时不用先确定设计要用到哪种器件,也不用特别熟悉器件的内部结构,这样可以使设计人员专注于进行系统设计。
设计完成后,可以根据消耗的资源选择合适的器件,而不造成资源的浪费。
(3)很强的移植能力。
VHDL 由很多不同的工具支持,同一个设计的程序可以在包括综合工具、仿真工具、系统平台等工具中使用。
(4)强大的硬件描述能力。
VHDL 可以描述系统级电路和门级电路,而且描述方式多样,可以采用行为描述、寄存器传输描述或者结构描述,也可以用其混合描述方式。
同时,VHDL可以准确地建立硬件电路模型,因为它支持惯性延迟和传输延迟。
VHDL 的数据类型很丰富,支持标准定义的数据类型,当标准定义的数据类型不能满足用户的需求时,用户可以自己定义的所需要的数据类型,增加了设计的自由度。
(5)语法规范,易于共享。
当把用VHDL 编写的代码文件看作是程序时,它可以作为设计人员之间的交流内容;当把它看作是文档时,可以作为签约双方的合同文本。
VHDL 易于共享的特点,使得大规模的协作开发容易实现。
同时,这些特点也促进了VHDL 的发展和完善。
综上所述,VHDL 有很多其他的硬件描述语言所不具备的优点。
但是,VHDL 仍然存在一些缺点,主要是3 个方面。
(1)要求设计者对硬件电路知识甚至是芯片结构方面的知识了解较多。
应该摆脱一般的高级语言程序设计思路,因为在电路世界里的事件很多是并行发生的,并且硬件电路系统内部的模块可以是互相独立的,也可以是互为因果的,所以,在用VHDL 设计硬件电路时应摆脱一般的高级语言程序设计思路。
在设计电路时,应先构思电路,然后才能描述。
(2)不能进行太抽象的系统描述。
因为EDA 工具无法综合抽象性太强的系统,故用VHDL描述系统电路时不能太抽象。
目前的VHDL 很难综合实际的硬件电路,只能适用于系统建模。
(3)不能描述模拟电路。
对于模拟电路而言,VHDL 并不是一种理想的硬件描述语言。
但可以预见,未来硬件描述语言的发展方向是模拟电路和数模混合电路的描述方式。
二、课程设计的目的与要求1、教学目的《通信系统FPGA开发》是通信工程专业教学计划中的一门重要专业实践课程,通过进行《通信系统FPGA开发》课程设计的训练,使学生全面掌握FPGA开发的基本操作,巩固verilog硬件描述语言的编写,培养学生正确的设计思想,严肃认真、实事求是的科学态度和勇于探索的创新精神。
注意与生产劳动相结合,重视工艺规程,促进理论联系实际,为毕业设计打下良好的基础。
2、教学要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:(1)了解EDA软件设计的一般操作流程。
(2)掌握FPGA设计系统的一般方法。
(3)熟练掌握使用modelsim和QuartusII软件设计较复杂的数字逻辑电路。
(4)通过查阅手册和文献资料,培养学生独立分析问题和解决实际问题的能力。
3、数字钟系统设计要求(1) 有基础的实时数字钟功能,即时,分,秒的正常显示模式。
(24小时制)(2) 可对系统用手动方式校准,设计两个按键,按动校时键,时计数器加一,按动校分键,则电路处于校分状态。
(3) 整点报时,要求在59分50秒,52秒,54秒,56秒和58秒发出一个低音信号,00分00秒发出一个高音信号。
三、设计方案1、系统框图:2、模块说明秒计时:60进制计数器,在59秒产生进位信号,并在下一个上升沿清零分计时:60进制计数器,在59分产生进位信号,并在下一个上升沿清零时计时:24进制计数器,在23H59Min59S产生进位信号,并在下一个上升沿清零报时模块:在59分50秒,52秒,54秒,56秒和58秒发出一个低音信号,00分00秒发出一个高音信号。
校时模块四、仿真与实现1、数字钟基本计时功能实现:2、数字钟校时功能实现:3、数字钟系统报时功能实现:五、实验心得经过两周的课程设计,在老师的指导下和同学的帮助下,通过查阅图书馆资料和互联网资源,完成了本次课程设计,期间收获了很多。
做课程设计前,应该先画流程图,做个整体框架结构设计,然后去分别完成各个子模块,由繁入简,简化难度。
及时查阅资料是必要的,有时苦于某一问题时,就应该去看书。
通过本次课程设计,更加熟悉了modelsim软件、verilog硬件描述语言以及EDA设计一般流程,增强了我的动手查阅手册和文献资料的能力,以及培养独立分析问题和解决实际问题的能力。
六、参考文献[1]刘福奇.Verilog HDL设计与实践.北京:北京航天航空大学出版社,2012.9[2]王金明.数字系统设计与Verilog HDL(第5版).北京:电子工业出版社,2011七、代码:1、digital_clock:module digital_clock(clk,reset,button_hour,button_minute,second,minute,hour,alarm_1,alarm_2); input clk,reset,button_hour,button_minute;output reg[5:0] second,minute;output reg[4:0] hour;output reg alarm_1=1,alarm_2=0;always@(posedge clk,negedge reset)beginif(~reset)//复位begin second<=6'b0;minute<=6'b0;hour<=5'b0;alarm_1<=1;alarm_2<=0;endelsebeginif(minute==6'd59)beginif(second==49||second==51||second==53||second==55||second==57) //报时alarm_1<=0;else alarm_1<=1;endif(minute==6'd59&&second==6'd59) alarm_2<=1;else alarm_2<=0; //报时if(button_minute==1) begin minute<=minute+1;if(minute==6'd59) minute<=0; endif(button_hour==1) begin hour<=hour+1;if(hour==5'd23) hour<=0;end//校时if(second!=6'd59) second<=second+1;//秒计时else if(second==6'd59)beginsecond<=0;minute<=minute+1;//分计时if(minute==6'd59)beginminute<=0;hour<=hour+1;//时计时if(hour==5'd23) hour<=0;endendendendendmodule2、测试平台文件:`timescale 1ps/1psmodule digital_clock_test();reg clk,reset,button_hour,button_minute;wire[5:0] second,minute;wire[4:0] hour;wire alarm_1,alarm_2;digital_clock u(clk,reset,button_hour,button_minute,second,minute,hour,alarm_1,alarm_2); always #10 clk=~clk;initialbeginclk=0;reset=0;button_minute=0;button_hour=0;#10 reset=1;#500 button_minute=1;#50 button_minute=0;button_hour=1;#50 button_hour=0;endendmodule东华理工大学课程设计评分表学生姓名:班级:学号:课程设计题目:。