1、 XXXXXX 课程设计报告 电子线路设计 课程设计报告 24 小时时钟电路 设计 小组成员: XXXXXXXXXXXXXX 院 (系): 电气信息工程学院 年级专业: 20XX级电子信息工程 指导老师: XX XX XX 联系电话: XXXXXXXXX 二 XX 年 XX 月电子线路课程设计 摘要 I 摘 要 本设计为 24小时时钟设计,具有时、分、秒计数显示功能,以 24小时循环计时的时钟电路;具有时 、分校准以及清零的功能。 本设计采用 EDA 技术,以硬件描述语言 VHDL为系统逻辑描述手段设计文件,在 QUARTUS工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个
2、基于 FPGA 的数字钟。 系统由主控模块、分频模块、译码模块以及显示组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的清零功能。 关键词 时钟 ,QUARTUS ,VHDL,FPGA 电子线路课程设计 Abstract II Abstract The design for the 24-hour clock design, with hours, minutes, seconds count display, a 24-hour cycle of the clock timing circuit; with hours, m
3、inutes, and cleared the calibration function. This design uses EDA technology to hardware description language VHDL description of the means for the system logic design documents, software tools in QUARTUS environment, using top-down design approach, from the various modules together to build a basi
4、c FPGA-based digital clock. System by the control module, frequency module, decoding module and display components. The compilation and simulation of the design process, in the download validation of programmable logic devices, the system can complete the hours, minutes, seconds, respectively, indic
5、ated by the key input for clear digital clock function. Keywords clock,QUARTUS ,VHDL,FPGA 电子线路课程设计 目录 目 录 摘 要 ABSTRACT 1 绪 论 1 1.1 题目意义 1 1.2 设计要求 1 2 设计的基本原理 2 2.1 设计原理 2 2.2 设计流程 3 3 设计方案 4 3.1 设计思路 4 3.2 模块图和功能 4 3.2.1 分频模块 4 3.2.2 主控模块 5 3.2.3 译码模块 8 3.2.4 顶层模块 10 4 测 试 11 4.1 模块仿真 11 4.1.1 分频模块
6、 12 4.1.2 主控模块 13 4.1.3 译码模块 14 4.2 顶层模块仿真 15 5 结 论 16 6 参考文献 17 电子线路课程设计 绪论 1 1 绪 论 1.1 题目意义 现在是一个知识爆炸的新时代。新 产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重 要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科
7、技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。 1.2 设计要求 本设计主要研究基于 FPGA 的数字钟,要求时间以 24小时为一个周期 ,显示时、分、秒。采用 10KHZ 的基准信号产生 1S 的基准时间,秒的个位加到 10 就向秒的十位进一,秒的十位加到 6就向分的个位进一 ,分的个位加到 10就向分的十位进一,分的十位加到 6 就向时进一。该时钟具有清零功能,可以对时、分及秒进行清零,为了保证计时的稳定及准确须由晶体振荡器提供时间基准信号。 该系统是基于 FPGA的设计,采
8、用 VHDL 进行系统功能描述,采用自顶向下的设计方法,用 QUARTUS软件进行仿真测试。 电子线路课程设计 基本原理 2 2 设计的基本原理 2.1 设计原理 振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒的个位到 9时,十位加 1,同时个位归零,若十位为 5 时,则十位也归零;分和秒一致;时的个位到 9 时,十 位小于 2 时加 1,同时个位归零,若个位到 3,十位为 2 时,则个位和十位都归零。 一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是 TOP D
9、OWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。 CPLD/FPGA 系统设计的工作流程如图2.1 所示。 图 2.1 CPLD/FPGA系统设计流程 电子线路课程设计 基本原理 3 2.2 设计流程 工程按照“自顶向下”的设计方法进行系统划分。 输入 VHDL 代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。 将以上的设计输入编译成
10、标准的 VHDL 文件。 进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。 利用综合器 对 VHDL 源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对 ASIC 芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。 利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。 利用适配器将综合后的网络表文件
11、针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。 在适配完成后,产生多项设计结果:( a)适配报告,包括芯 片内部资源利用情况,设计的布尔方程描述情况等;( b)适配后的仿真模型;( c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改 VHDL 源代码或选择不同速度和品质的器件,直至满足设计要求。 最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA 中。 电子线路课程设计 设计方案
12、4 3 设计方案 3.1 设计思路 采用分模块设计的方法,再用一个顶层文件将各模块联系起来如图 3.1 所示。 图 3.1 结构图 将晶振通过分频器分频后产生 1HZ( 1S)的基本频率,然后进入主控模块,此时计秒的个位,满十后向秒的十位进一,秒十位采用六进制计数器,计满后向分的个位进一,分个位采用十进制计数器,计满后向分十位进一,分十位采用六进制计数器,计满后向时进一,时采用二十四进制计数器,计满后清零,最后将秒的个、十位,分的个、十位,时的个、十位,用译码器译为数码管显示的七段译码数。 3.2 模块图和功能 3.2.1 分频模块 晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度
13、决定了数 字钟计时的准确程度,它保证了时钟的走时准确及稳定。 石英晶体的选频特性非常好,只有某一频率点的信号可以通过它 , 其它频率段的信号均会被它所衰减 , 而且 , 振荡信号的频率与振荡电路中的 R、 C元件的数值无关。因此 , 这种振荡电路输出的是准确度极高的信号。然后再利用分频电路 ,将其输出信号转变为秒信号,其组成框图如图 3.2。 图 3.2 1HZ 信号产生框图 本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的 10MHz 的方波信号,其输出至分频电路。 分频模块的逻辑框图如图 3.3 所示: 电子线路课程设计 设计方案 5 图 3.3 分频模块 分频 模块 VHDL 程
14、序 文件名: FREQ -功能:将石英晶振产生的 10MHZ 的信号分频为 1HZ 的信号 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FREQ IS PORT(CLK10MHZ:IN STD_LOGIC; -10MHZ 输入 CLK1HZ:OUT STD_LOGIC); -1HZ 时钟输出 END FREQ; ARCHITECTURE ART OF FREQ IS SIGNAL TOUT:INTEGER RANGE 0 TO 4999999
15、; SIGNAL CLK:STD_LOGIC; BEGIN PROCESS(CLK10MHZ) BEGIN IF CLK10MHZ=1 AND CLK10MHZEVENT THEN IF TOUT=4999999 THEN CLK=NOT CLK;TOUT=0; ELSE TOUT=TOUT+1; END IF; END IF; END PROCESS; CLK1HZ=CLK; END ART; 3.2.2 主控模块 当复位信号 RST= 0时,时钟输出时、分、秒全部归零;当校准信号 S1= 0时,时加 1;当校准信号 S2= 0时,分加 1;秒的个位到 9时,十位加 1,电子线路课程设计 设
16、计方案 6 同时个位归零,若十位为 5 时,则十位也归零;分和秒一致;时的个位到 9时,十位小于 2 时加 1,同时个位归零,若个位到 3,十位为 2 时,则个位和十位都归零。 主控模块的逻辑框图如图 3.4 所示: 图 3.4 主控模块 主控模块 VHDL 程序 文件名: CONTROL -功能:输出时、分、秒(十进制),具有复位和校准的功能 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CONTROL IS PO
17、RT(CLK1HZ:IN STD_LOGIC; -1S 时钟输入 RST:IN STD_LOGIC; -复位输入 S1,S2:IN STD_LOGIC; -时间调节输入 SEC1_OUT,SEC10_OUT:OUT INTEGER RANGE 0 TO 9; MIN1_OUT,MIN10_OUT:OUT INTEGER RANGE 0 TO 9; HOUR1_OUT,HOUR10_OUT:OUT INTEGER RANGE 0 TO 9); END CONTROL; ARCHITECTURE ART OF CONTROL IS SIGNAL SEC1,SEC10:INTEGER RANGE 0 TO 9; SIGNAL MIN1,MIN10:INTEGER RANGE 0 TO 9; SIGNAL HOUR1,HOUR10:INTEGER RANGE 0 TO 9; BEGIN PROCESS(CLK1HZ,RST) BEGIN IF(RST=0) THEN -系统复位