数字逻辑课程设计报告.pdf
数字逻辑课程设计报告
多功能数字钟的设计与实现
学院:
班级:
姓名:
学号:
时间:
一设计目的
(1)学会应用数字系统设计方法进行电路设计;
(2)进一步提高QUARTUSII软件的开发应用能力;
(3)培养学生书写综合实验报告的能力。
二设计任务及要求
(1)拥有正常的时、分、秒计时功能。
(2)能利用实验板上的按键实现校时、校分及秒清零功能。
(3)能利用实验板上的扬声器做整点报时。
(4)闹钟功能。
(5)在QUARTUSⅡ中采用层次化设计方法进行设计。
(6)完成全部电路设计后在实验板上下载,验证设计课题的正确性。
三设计思路
1总体设计框图与顶层图
2.1计时模块
2.1.1设计方法
该模块的设计相对简单,使用一个二十四进制和两个六十进制计数器级联,构成数字钟的基本
框架。二十四进制用于计时,六十进制用于计分和计秒。计时间过程:
计秒:1Hz计数脉冲,0~59循环计数,计数至59时产生进位信号。
计分:以秒计数器进位信号作为分计数脉冲,0~59循环计数,59时产生进位。
计时:以分计数器进位信号作为时计数脉冲,0~23循环计数,23时清0。
2.1.2仿真波形
1)
60进制计数器:4位数组qh表示十位,从0(0000)到5(0101)循环;ql表示个位,从0(0000)
到9(1001)循环。
2)
24进制计数器:4位数组qh表示十位,从0(0000)到2(0010)循环;ql表示个位,从0(0000)
到9(1001)循环;进位tc始终为0。
2.1.3程序说明
--24进制计数器--60进制计数器
entitycnt24isentitycnt60is
port(clk:instd_logic;port(clk,clr:instd_logic;
ql,qh:outstd_logic_vector(3downto0);ql,qh:bufferstd_logic_vector(3downto0);
tc:outstd_logic);tc:outstd_logic);
endcnt24;endcnt60;
architectureoneofcnt24isarchitectureoneofcnt60is
beginbeginbegin
process(clk)
Variableiql,iqh:std_logic_vector(3downto0);else1;
beginprocess(clk,clr,ql,qh)
ifclkeventandclk=1thenvariableiql,iqh:std_logic_vector(3downto0);
iql:=iql+1;BeginBegin
ifthen
iqh: