用VHDL语言实现数字电子钟的设计(EDA课程设计报告 含源程序)

更新时间:2023-10-15 09:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计 报 告

VHDL语言实现数字钟的设计

班 级:电子 0901 学 号: XXXXXXXX 姓 名:XXXXXXXXX 指导教师:XXXXXXXXX 设计时间:2011年12月

- 1 -

设计题目:用

摘要

现代电子设计技术的核心已转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。硬件描述语言是EDA技术的重要组成部分,常见的HDL语言有VHDL、Verilog、HDL、ABLE、AHDL、System Verilog和System C。其中VHDL、Verilog在现在的EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化硬件设计任务,提高了设计效率和可靠性。在这次设计中,主要使用VHDL语言输入。此次设计很好地完成了数字钟的定时、切换显示年月日和时分秒的功能,完成了小型FPGA的设计开发,锻炼了动手实践能力,达到了课程设计的目的。

关键词:EDA技术 硬件描述语言 VHDL 设计 数字电子钟

- 2 -

目录

摘要………………………………………………………………………2 1、课程设计目的……………………………………………………………4 2、课程设计内容及要求……………………………………………………4 2.1 设计内容……………………………………………………………4

2.2 设计要求……………………………………………………………4

3、VHDL程序设计…………………………………………………………5 3.1 方案论证……………………………………………………………5 3.2 设计思路与方法……………………………………………………6 3.2.1 设计思路…………………………………………………… 6

3.2.2 设计方法…………………………………………………… 7

4、仿真与分析………………………………………………………………7

5、器件编程下载及设计结果…………………………………………… 9

6、课程设计总结………………………………………………………… 10 7、参考文献……………………………………………………………… 10 8、程序清单……………………………………………………………… 11 8.1 顶层模块………………………………………………………… 11

8.2 秒脉冲模块……………………………………………………… 13 8.3 数码管显示模块………………………………………………… 14

8.4 时分秒模块……………………………………………………… 15 8.4.1 分秒模块……………………………………………………16

8.4.2 小时模块……………………………………………………18

8.5 年月日模块……………………………………………………… 19 8.5.1 日期模块……………………………………………………21 8.5.2 月份模块……………………………………………………24 8.5.3 年份模块……………………………………………………25

- 3 -

1、课程设计目的

EDA技术课程设计在课程结束以后进行,在实践中验证理论知识,不仅是为了巩固课堂上所学知识,更是为了加深我们对EDA技术和VHDL语言的理解;为了让我们自己动手完成从设计输入、逻辑综合、功能仿真、设计实现到实现编程、时序仿真,一直到器件的下载测试的整个过程,真切感受利用EDA技术对FPGA进行设计开发的过程,锻炼和提高我们对器件的编程调试能力。

2、课程设计内容及要求

2.1 设计内容

(1)VHDL程序设计、输入——在ise平台上用VHDL描述系统的功能(建立工程文件,添加VHDL文件,输入源程序);

(2)逻辑综合——将源程序编译调试无误后,为设计系统选择一个电路实现方案,按照这个方案进行逻辑综合和优化,生成1个电路网表文件;

(3)功能仿真——添加波形文件,设计输入,观察输出,检查自己的设计是否达到和完成要求的逻辑功能;

(4)设计实现——布局、布线及配置,最后生成可以写到芯片中的目标文件;

(5)时序仿真——是适配到选定的芯片后进行的仿真,它模拟芯片的实际动作,仿真时间模型严格将门级延时计算在内,可以分析出竞争与冒险,时序仿真验证过的电路与实际电路基本上一致;

(6)器件编程——对器件编程下载目标文件;

(7)测试——验证设计项目在目标系统上的实际工作情况,以便排除不完善的地方,改进设计。

2.2 设计要求

利用VHDL语言在EDA工具软件平台上设计实现一个具有带预置数的数字电子钟,使其具有切换显示年月日、时分秒的功能。显示时,用6个数码管显示时分秒,set(设置)按钮产生第一个脉冲时,显示切换年月日,第2个脉冲到

- 4 -

来时可预置年份,第3个脉冲到来时可预置月份,第4,个脉冲到来时可预置日期,依次第5、6、7个脉冲到来时分别可预置、时、分、秒,第 8个脉冲到来后预置结束,数字电子钟正常工作,6个数码管显示的是时分秒。另外,up按钮为高电平时,且此时upclk有脉冲到达时,当前预置位加1;up按钮为低高电平时,且此时upclk有脉冲到达时,当前的预置位减1。还可以在此基础上增加数字电子钟的其它功能。

3、VHDL程序设计

3.1 方案论证

设计中使用的时元件例化和进程结合的方案。每个元件主要采用进程语句实

现,在每个进程主要使用了if_else、if_eslif_elsif_----_else 、case以及赋值语句,实现了模块化设计,使得整个程序一目了然。整个电子钟的顶层设计实体为clock(时钟)模块,其下又分为:second_wave(秒脉冲)、shi_fen_miao(时分秒)、nian_yue_ri(年月日)和led_disp(数码管显示)四个模块,数字电子钟结构图如图1所示。其中,时分秒模块下又分为3个小模块——shi(时)、fen(分)和miao(秒),如图2所示;年月日模块分为year(年)、month(月)和date(日期)三个模块,如图3所示。

经过功能仿真和器件下载测试验证知,使用此方案可以简单快速的实现数字电子钟的设计。

图1 数字电子钟顶层实体clock模块结构图

- 5 -

本文来源:https://www.bwwdw.com/article/1bif.html

Top