1、 数字逻辑课程设计 多功能数字钟 学院名称学院名称: 计算机科学与通信工程计算机科学与通信工程 专业班级专业班级: 学生姓名学生姓名: 学生学号学生学号: 指导老师指导老师: 完成日期完成日期: 2011 年年 7 月月 2 日日 多功能数字钟课程设计实验报告多功能数字钟课程设计实验报告 一一 实验目的:实验目的: 1 学会应用数字系统设计方法进行电路设计; 2 进一步提高 quartusII 9.0 软件的开发应用能力; 3 培养学生书写综合实验报告的能力。 二二 实验要求:实验要求: 1 根据实验任务,选择最佳设计方案,综合运用 quartusII 9.0 软件的各种设计方法设 计出层次分
2、明、结构清楚、电路优化、VHDL 语言描述简洁的完整设计文件。通过 仿真直至下载来验证设计的正确性。 三三 实验任务及要求实验任务及要求 1 能进行正常的时、分、秒计时功能 (1) 用 M6M5 做 24 小时计数器的显示器; (2) 用 M4M3 做 60 分钟计数器的显示器; (3) 用 M2M1 做 60 秒钟计数器的显示器。 2 能利用实验系统上的按键实现“校时” 、 “校分”功能 (1) 按下“SA”键时,计时器迅速递增,并按 24 小时循环,计满 23 小时后再 回 00; (2) 按下“SB”键时,计时器迅速递增,并按 60 分钟循环,计满 59 分钟后再 回 00;但不向高位进
3、位。 (3) 按下“SC” 键后,秒清零。要求按下“SA”和“SB”均不会产生数字跳 变( “SA” 、 “SB”按键是有抖动的,必须地“SA” 、 “SB”进行消抖处理, 消 抖电路用 D 触发器构成。 原理:一个触发器 CP(64HZ)内,屏蔽所有的抖 动脉冲) 。 (4) 计时(24 进制计数器) ,计分(60 进制计数器) 、计秒(60 进制计数器) 模块可由 10 进制计数器连接构成,也可用 VHDL 语言完成(可以参考教 材 P341,例 8.2.1 多功能电子钟的设计) 。10 进制计数器需自己设计(用 VHDL 语言,与所做实验 74160 计数器相同) ,不能调用系统库。 (
4、5) 其他如分频电路、 提供报时控制信号、 闹时电路等模块用 VHDL 语言实现。 3 能利用实验板上的扬声器作整点报时 (1) 当计时到达 5950”、 51”、 52”、 53”、54”、55”、 56”、 57”、 58”、59” 鸣叫,鸣叫声频可定为 500HZ; (2) 到达 00 分 00 秒时为最后一声整点报时。整点报时的频率可定为 1KHZ。 报时信号从 ISP1032 的 PIN68 输出,PIN68 与扬声器的输入电路相连,激 励扬声器; 4 闹时 (1) 闹时的最小时间间隔为十分钟。 (2) 闹时长度为一分钟。 (3) 闹时声响可以是单频。 (4) 闹时时声响也可以是双频
5、交替的警笛声。 5 使用 quartusII 9.0 软件设计符合上述功能的多功能数字钟,并用层次化设计方法设 计该电路。 6 报时功能。闹时功能用功能仿真的方法验证,可通过观察有关波形确认电路设计是 否正确。 7. 使用设计思路-层次化的思想: 计时(间)模块、时间校对模块、报时模块、分 频模块、动态显示模块 8. 完成全部电路设计后在 EP1KTC144-3 实验系统上下载,验证设计的正确性。 四顶层图及相关模块说明:四顶层图及相关模块说明: 1 顶层图:顶层图: 说明:程序下载后自动进入计时状态,sa,sb,sc 可分别调时,分,秒。 2.各模块说明:各模块说明: (1)进制模块: 1.
6、十进制源程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ls160 is port ( data : in std_logic_vector(3 downto 0); clk,ld,p,t,clr : in std_logic; count : buffer std_logic_vector(3 downto 0); tc:out std_logic); end ls160; architecture behavior of ls160 is begin tc=1 when (count =“1001“ and p=1 and t=1 and ld=1 and clr=1) else 0; cale: process(clk,clr,p,t,ld) begin