1、EDAEDA 技术应用技术应用 课程设计报告课程设计报告 基于 FPGA 的数字钟设计 专专 业:业: 通信工程通信工程 班班 级:级: 姓姓 名:名: 指导教师:指导教师: 2012.1.6 1 目录目录 1 1设计任务及要求设计任务及要求 2 1.11.1 设计任务设计任务 2 1.21.2 设计要求设计要求 2 2.设计方案以及流程设计方案以及流程 . 2 2.1 设计原理图设计原理图 2 2.2 工程流程图工程流程图 . 3 3.程序设计程序设计 . 3 3.1 秒钟模块秒钟模块 3 3.2 分钟模块分钟模块 . 5 3.3 时钟模块时钟模块 . 6 3.4 分频模块分频模块 . 7
2、3.5 数码管控制模块数码管控制模块 9 3.6 七段译码显示模块七段译码显示模块 11 3.7 顶层模块顶层模块 . 12 4.4.硬件测试硬件测试 . 14 4.14.1 管脚的分配管脚的分配. 14 4.24.2 调试调试 15 4.3 实验现象实验现象 . 15 5.5.总结总结 15 6.6.老师点评老师点评 . 16 参考书目参考书目. 17 2 基于基于 FPGAFPGA 的数字钟的设计的数字钟的设计 1 1设计任设计任务及要求务及要求 1.1 设计任务 设计并实现具有一定功能的数字钟。包括清零、置数、计数、报时等 功能。 (1) 具有时、分、秒计数显示功能,且以 24 小时循环
3、计时。 (2) 具有清零的功能,且能够对计时系统的小时、分钟进行调整。 (3) 具有整点报时功能。 1.2 设计要求 (1) 采用 VHDL 语言编写程序,并在 QuartusII 工具平台中进行开发, 下载到 EDA 实验箱进行验证。 (2) 编写设计报告,要求包括方案选择、程序清单、调试过程、测试结 果及心得体会。 2.设计方案以及流程设计方案以及流程 本设计由振荡器、分频器、计数器、译码器显示器和校时电路组成。振荡器 提供稳定的 6M 脉冲信号,作为数字钟的时钟,然后经过分频器分频后输出标准 1HZ 脉冲。中间变量计数十次后,生成秒信号,秒计数器满 60 后向分计数器进 位,分计数器满
4、60 后向时钟进位,时计数器满 24 后全部清零。 此次设计的多功能数字钟主要有四部分组成: (1)分频器部分:主要产生 6MHZ 的 CLK 的输入脉冲信号。 (2)开关控制部分:主要实现数字钟的复位。 (3)EPM7064 芯片部分:是整个数字钟的核心部分。是程序写入以及对输 入脉冲的接收与转换控制。 (4)数码管显示部分:6 位数码管动态(2000HZ)显示时、分、秒。 2.1 设计原理图: 图 1.数字钟原理图 3 2.2 工程流程图 执行 图 2 工程流程图创建步骤 3.程序设计程序设计 3.1 秒钟模块 此模块主要由输入端口 clk=1HZ 的频率源作为计数器的时钟,当计数到 59
5、 归零并且时产生进位 carry=1 作为分钟的时钟源。 开始开始 创建工程创建工程 新建新建 VHDL 源程序源程序 编译程序编译程序 生成模块符号文件生成模块符号文件 设置顶层实体设置顶层实体 下载到硬件电路下载到硬件电路 执行程序命令执行程序命令 结束结束 4 miao_60 的源代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity miao_60 is port(clk :in std_logic; -输入
6、1HZ 的频率 rst :in std_logic; -rst 复位 shi: out std_logic_vector(3 downto 0); -秒的十位、个位 ge: out std_logic_vector(3 downto 0); carry :out std_logic ); -满 59s 进位给分钟作频率 end entity miao_60; architecture art1 of miao_60 is signal tem1: std_logic_vector(3 downto 0); -定义与端口等宽的信号 signal tem2: std_logic_vector(3 downto 0); -位矢量 begin process(clk,rst) begin if(rst=0 ) then tem1rest,qout=s0); u