基于VHDL的电子计时器的设计

合集下载

基于VHDL的秒表

基于VHDL的秒表

内容1、总体设计要求具有启动停止功能;计时器能显示0.01s的时间;计时器最长计时时间为24h;具有复位功能在任何情况下按复位键秒表无条件清零;2、系统功能描述本次课程设计通过VHDL做的秒表主要有以下的功能:(1)在下载到实验箱后,打开开始开关才能开始计时;(2)在开始开关打开后,能够通过另一个开关进行暂停;(3)再按下清零键后能够清零,并且是在任何条件下都能清零;(4)能够精确到0.01秒,更加精确的计时3、系统设计方案论述,画出顶层电路图及功能分割图,并说明之间的联系或功能。

先是将100进制计数器、60进制计数器、60进制计数器和24进制计数器连接,将100进制计数器的进位接到60进制计数器的CLK输入端上,然后将60进制的进位连接到另一个60进制的CLK输入端上,然后将已将连接进位的60进制计数器的几位连接到24进制计数器的输入端口CLK上,24进制的仅为端悬空,这就是秒表的主体。

当100进制计数器进位端口为1时,与之相连的60进制计数器开始工作,当进位为0时停止工作,剩余两个计数器的工作原理与之相同。

将100进制计数器、两个60进制计数器和24进制计数器的en端口相连并连接到input得输入端口上,并且将他们的cir连接到一起也连接到input 的输入端口上,这样就实现了暂停和清零的功能,并且秒表的精确度为0.01。

在100进制的输入端口处还剩下一个clk端口,将两个输入端口通过一个与门与之相连,其中一个接入clk信号,而另一个就可当做一个开关,实现开始的功能,并且能够暂停。

将100进制计数器、两个60进制的计数器和24进制计数器的输出端分别接到8选1的数据选择器的输入端上,并且按高低位接好,而八进制的选择功能是通过一个8进制的不管计数来实现的,所以在8选1的数据选择器的sel 输入端端口接到8进制计数器的输出端上,而八进制的输入端口上,通过两个输入端input,一个接扫描频率,另一个通过一个开关来控制8进制的工作,并且清零端接1使它的清零作用失效。

基于vhdl数字闹钟设计说明书

基于vhdl数字闹钟设计说明书

毕业设计(论文)论文题目:基于VHDL的数字闹钟设计所属系部:指导老师:职称:学生姓名:班级、学号:专业:毕业设计(论文)任务书题目:基于VHDL的数字闹钟设计任务与要求:设计一个带闹钟功能的24小时计时器。

完成功能:1.计时功能:每隔1分钟计时1次,并在显示屏上显示当前时间。

2.闹钟功能:如果当前时间与设置的闹钟时间相同,扬声器发出蜂鸣声。

时间:年月日至年月日共周所属系部:学生姓名:学号:专业:指导单位或教研室:指导教师:职称:毕业设计(论文)进度计划表本表作评定学生平时成绩的依据之一。

基于VHDL的数字闹钟设计【摘要】随着EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。

EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑优化和仿真测试,直至实现既定的电子线路系统功能。

本文介绍了基于VHDL硬件描述语言设计的多功能数字闹钟的思路和技巧。

在Quartus 11开发环境中编译和仿真了所设计的程序,并逐一调试验证程序的运行状况。

仿真和验证的结果表明,该设计方法切实可行,该数字闹钟可以实现调时定时闹钟功能具有一定的实际应用性。

关键词:数字闹钟 FPGA VHDL Quartus IIAbstract: With the EDA technology development and expansion of application fields and in-depth, EDA technology in the electronic information, communication, automatic control and computer applications of growing importance. EDA technology is dependent on a powerful computer, the software platform in the EDA tools for the hardware description language VHDL description for the system logic means completed design documents, automatically complete the test logic optimization and simulation, electronic circuit set up to achieve the system functionality. This article describes the VHDL hardware description language based on multi-function digital alarm clock design ideas and techniques. In the Quartus 11 compiler and development environment designed to simulate the process, and one by one to debug verification process operating conditions. Simulation and verification results show that the design method is feasible, digital alarm clock can adjust the time when the alarm clock to play music with some practical application.Key words: Alarm Clock FPGA VHDL Quartus II目录1 选题背景 (6)1.1选题研究内容 (6)1.2课题研究功能课题研究功能 (6)1.3课题相关技术应用 (6)2 FPGA 简介 (8)2.1FPGA概述 (8)2.2FPGA编程原理 (8)2.3FPGA设计流程 (9)3 总体设计思想 (10)3.1基本原理 (10)3.2设计框图 (10)4 设计步骤和调试过程 (11)4.1总体设计电路 (11)4.2模块设计和相应模块程序 (12)4.3仿真及仿真结果分析 (14)4.4实验调试结果 (15)结束语 (16)文献 (17)1 选题背景1.1 选题研究内容设计一个 24 小时的闹钟,该闹钟由显示屏、数字键、TIME 键、ALARM 键、扬声器组成。

基于VHDL的99小时定时器设计及实现

基于VHDL的99小时定时器设计及实现
第 1卷 2
第3 期
电 子 元 器 件 盔 用
El cr n cCo e to i mpo e t& De ieApp iains nn vc lc t o
V0.2 No3 】1 .
Ma . 2 0 r 01
2 1年 3 0 0 月
d i O3 6 0i n1 6 - 7 5 0 0 3 1 o: .9 9 . s.5 3 4 9 . 1 . . 4 l s 2 00
31 控 制/ 时 模 块 。 定
A A控 制/ 时模 块 是 该定 时器 的 核心 部 分 , A 定 该模 块 的程序 流程 图如 图4 所示 。 当S A T 高 电平 时 ,该定 时 器将 进 入倒 计 TR为
功能定 义和计 时 的逻辑定 义 。显 示模块 则包 括 片
选模块 、位扫描模块 和数码 管译码模块 。
设 计 时可 将 秒 信 号输 入 控 制/ 时模 块 .此 定 时系统 将 输 出六 个 四位B D , 以分 别 表示 时 、 C码 分 、秒位 。在预 置数时 .计数 器可 以秒 的速度 递 增 ,从 而 实现 逐位 预 置数 :而 在定 时倒 计 数时 ,
M a .2 0 r 01
St( e 置数 键) :用 于设 置选 定 位 的具 体 数值 ; Sat :用 于设 定 好 时 间 后 启 动 秒 表 计 时 。 t 键 r
可 通过 软 件 使s r 键 经 过 锁存 器 后 进 入AA tt a按 A模 块 。Sat 发后 可产生 持续 的高 电平 ; t 触 r AM( L 扬声 器) :可在计 时 结束 时发 声报警 ;
i7 . 7
. .




vhdl数字电子钟的设计与实现

vhdl数字电子钟的设计与实现

基于VHDL数字电子钟的设计与实现摘要:本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时的计时装置,由于数字集成电路技术的发展和采用了先进的石英技术,它使数字钟具有走时准确、性能稳定、携带方便等优点。

数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活带来极大的方便。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路的能力。

关键词:电子钟;门电路及单次按键;琴键开关目录第一章引言----------------------------------------------------------------11.1 课题的背景、目的------------------------------------------11.2 课程设计的内容------------------------------------------1 第二章EDA与VHDL简介--------------------------------------------------22.1 EDA的介绍---------------------------------------------22.2 VHDL的介绍--------------------------------------------32.2.1 VHDL的用途与优点-----------------------------------------------------------------32.2.2 VHDL的主要特点----------------------------------------------------------------------2.2.3 用VHDL语言开发的流程------------------------------------------------------------ 第三章数字电子钟的设计方案------------------------------------------63.1秒脉冲发生器--------------------------------------------73.2可调时钟模块--------------------------------------------83.3校正电路------------------------------------------------83.4闹铃功能------------------------------------------------103.5日历系统------------------------------------------------11 第四章结束语---------------------------------------------------------------134.1致谢----------------------------------------------------144.2参考文献------------------------------------------------151引言随着科学技术的不断发展,人们对时间计量的精度要求越来越高。

用Verilog HDL语言编写的电子秒表

用Verilog  HDL语言编写的电子秒表

module jian_kong(rest,kon,clk001,clk001out);//开始与暂停按键的控制电路 input rest; input kon; input clk001; output clk001out; wire k; wire d; assign d=~k; assign clk001out=k&clk001; D_FF D_FF0(rest,kon,d,k); endmodule module D_FF(rest,clk,d,q); input rest; input clk; input d; output q; reg q; always@(posedge rest or posedge clk) if(rest==1'b1) begin q<=1'b0; end else begin q<=d; end endmodule //到此程序全部结实
Module shumaguan(a_to_g,A_TO_D,clk,qian,bai,shi,ge);//数码管驱动 output reg [6:0]a_to_g; output reg [3:0]A_TO_D; input wire clk; input wire [3:0]qian; input wire [3:0]bai; input wire [3:0]shi; input wire [3:0]ge; reg [3:0]duan; reg [1:0]wei; reg a; reg [16:0]q; always@(posedge clk) begin if(q==49999) begin q<=0; a<=~a; end else q<=q+1; end
always@(*)//4位位选译码 case(wei) 3:begin A_TO_D=4'b1110; duan=qian; end 2:begin A_TO_D=4'b1101; duan=bai; end 1:begin A_TO_D=4'b1011; duan=shi; end 0:begin A_TO_D=4'b0111; duan=ge; end default:A_TO_D=4'b1110; endcase always@(posedge a)//四个状态循环 if(wei==3) wei<=0; else wei<=wei+1; endmodule //到此数码管驱动模块结束

一种基于VHDL语言的频率计的设计与实现

一种基于VHDL语言的频率计的设计与实现

图 2频 率计 系统 方 块 图
2 防抖 电路 . 1 测信号的计数功能 。 在此电路 中,令时钟周期大于欲滤去的窄 3仿真波形 脉冲宽度 , 经过 电路处理 , 只有宽脉 冲被识 别 , 仿真波形 图如 图 3 所示。 窄脉冲滤去。 2 . 2显示 模

显 示 模 块 采 用 分 时 复 用 的方 式 逐 个 扫 描, 对几 个显示 模 块 逐 个 扫 描 进行 显示 , 显示 图 3 仿 真 波 形 图 模块的选择信号通过模四计数器来实现。 4FG P A实现 23 .分频模块 本设计选用 At a l r 公司的 E M 18 L 8 e P 72sC4 P A芯 片实现 , 率计 只 占该芯片部分资 频 由于所选时钟信 号为 2 M z 0 H 时钟信号 , 通 6 F G 过分频电路产生片选信号 ,防抖动电路周期信 源 , 资源作为它用。 其余 结语 号, 闸门信 号。 所谓 的分频器实际上就是一个计

图 1频 率 计 设 计 的 总体 框 图 2设计思路 在设计 考虑中将 时钟分 到 5 z H ,形成一个 固定的 0 s . 的闸门时间, 2 被测 信号通过 0 s . 的 I 闸门进入计数器进行计数 , 而在 01 的低电平 . s 内不计数 , 将计数器清零 , 下一次计数。为 以便
满足题意, 被测信号为几十千赫兹( H ) , K Z 时 显 示 # . k z被测信号 为几百 千赫兹( H ) , # #H ; # k z时 显示 # . H ; 槲 # z 被测 信号 为几千 千赫兹( H ) k k Z
时, 显示 堋# 非Hz 。采用时分复用 的方法控制 4 个数码管的显示。 该 系统共有 5 个模块组成 ,分别为分频模 块 DVD F E 、 I I E R 4 防抖 电路 D B U C 、 E O N E 计数 模块 FEET R T S 、锁 存 器模 块 F E A C 和 R L TH

电子秒表设计VHDL

电子秒表设计VHDL

一、设计题目:基于VHDL语言的电子秒表设计(可调时,有闹钟、定时功能)二、设计目的:⑴掌握较复杂的逻辑设计和调试⑵学习用原理图+VHDL语言设计逻辑电路⑶学习数字电路模块层次设计⑷掌握QuartusII软件及Modelsim软件的使用方法三、设计内容:(一)设计要求1、具有以二十四小时计时、显示、整点报时、时间设置和闹钟的功能。

2、设计精度要求为1S。

(二).系统功能描述1 . 系统输入:系统状态及校时、定时转换的控制信号为k、set、ds;时钟信号clk,采用实验箱的50MHz;系统复位信号为reset。

输入信号均由按键产生。

系统输出:8位LED七段数码管显示输出,蜂鸣器声音信号输出。

多功能数字钟系统功能的具体描述如下:2. 计时:set=1,ds=1工作状态下,每日按24h计时制计时并显示,蜂鸣器无声,逢整点报时。

3. 校时:在set=0,ds=0状态下,按下“k键”,进入“小时”校准状态,之后按下“k键”则进入“分”校准状态,继续按下“k键”则进入“秒校准”状态,之后如此循环。

1)“小时”校准状态:在“小时”校准状态下,显示“小时”数码管以1Hz的频率递增计数。

2)“分”校准状态:在“分”校准状态下,显示“分”的数码管以1Hz的频率递增计数。

3)“秒”复零状态:在“秒复零”状态下,显示“分”的数码管以1Hz的频率递增计数。

4. 整点报时:蜂鸣器在“59”分钟的第50—59,以1秒为间隔分别发出1000Hz,500Hz的声音。

5. 显示:采用扫描显示方式驱动8个LED数码管显示小时、分、秒。

闹钟:闹钟定时时间到,蜂鸣器发出交替周期为1s的1000Hz、500Hz的声音,持续时间为一分钟;6. 闹钟定时设置:在set=0,ds=1状态下,按下“k”,进入闹钟的“时”设置状态,之后按下“k键”进入闹钟的“分”设置状态,继续按下“k 键”则进入“秒”设置状态, 之后如此循环。

1)闹钟“小时”设置状态:在闹钟“小时”设置状态下,显示“小时”的数码管以1Hz 的频率递增计数。

基于verilog语言编程的数字秒表设计

基于verilog语言编程的数字秒表设计

数字秒表设计系别:电子通信工程系专业:电子信息工程班级:学号:姓名:数字秒表(基于verilong语言编程)课程设计一、设计要求用verilong语言编写程序,结合实际电路,设计一个4位LED数码显示“秒表”,显示时间为99.9~00.0秒,每秒自动减一,精度为0.1。

另设计一个“开始”按键和一个“复位”按键。

再增加一个“暂停”按键。

按键说明:按“开始”按键,开始计数,数码管显示从99.9开始每秒自动减一;按“复位”按键,系统复位,数码管显示99.9;按“暂停”按键,系统暂停计数,数码管显示当时的计数。

二、设计目的1、通过本次课程设计加深对verilong语言课程的全面认识、复习和掌握,对EPM7064芯片的应用达到进一步的了解。

2、掌握定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将软硬件结合起来,对程序进行编辑,调试。

使其能够通过电脑下载到芯片,正常工作。

4、实际操作Quartus II软件,复习巩固以前所学知识。

三、总体设计本秒表系统具有复位、暂停、秒表计时等功能。

clk为系统工作时钟,采用Altera DE2上的50M时钟信号,经过分频器产生秒表计时周期为0.01s的时钟,再经过计数器,分别对秒表的百分位、十分位、秒、秒十位、分、分十位进行计数。

onoff为启动/暂停控制信号,当它为0时,启动计时,当它为1时,计时暂停。

clr为复位信号,当该信号有效时,计数器和译码清零,此时数码管显示输出为00:00:00。

在总体电路图中,根据设计要求,需要两个输入控制信号onoff和clr。

由于开发板上除了拨动开关就是瞬时的按键开关,且按键开关平时都呈高电平,按一下为低电平。

故在实际测试时采用了拨动开关SW0来控制秒表的启动/暂停,通过KEY0来控制秒表的清零。

四、设计思路描述该实验要求进行计时并在数码管上显示时间,通过相关软件Quartus II编译,利用JTAG 下载电路到核心芯片,驱动硬件工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA技术及应用课程设计题目:基于VHDL的数字计时器班级:电气1202班姓名:***学号:***********指导老师:**(课程设计时间:2015年1月5日——2015年1月9日)华中科技大学武昌分校目录1引言 (1)1.1 EDA简介 (1)1.2 VHDL简介 (2)1.3 VHDL的特点 (3)1.4 VHDL的设计结构 (4)1.5 VHDL的设计步骤 (4)2设计主要内容 (5)3内部各功能模块 (6)3.1六十进制计数模块 (6)3.2二十四进制计数模块 (8)3.3分频器模块 (10)3.4LED显示模块 (11)4顶层系统联调 (15)5结语 (21)6参考文献 (22)7附录 (23)1.引言随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。

集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。

基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。

可编程逻辑器件和相应的设计技术体现在三个主要方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。

在本实验中采用了集成度较高的FPGA 可编程逻辑器件, 选用了VHDL硬件描述语言和MAX + p lusⅡ开发软件。

VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色。

由于采用了具有多层次描述系统硬件功能的能力的“自顶向下”( Top - Down)和基于库(L ibrary - Based)的全新设计方法,它使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期。

MAX + p lusⅡ是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。

1.1 EDA简介20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

1.2 VHDL简介硬件描述语言HDL(HardwareDescriptionLanguage)诞生于1962年。

HDL是用形式化的方法描述数字电路和设计数字逻辑系统的语言。

主要用于描述离散电子系统的结构和行为。

与SDL(SoftwareDescriptionLanguage)相似,经历了从机器码(晶体管和焊接)、汇编(网表)、到高级语言(HDL)的过程。

VHDL翻译成中文就是超高速集成电路硬件描述语言,他诞生于1982年。

最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。

1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。

自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。

此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。

1993年,IEEE对VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,(即IEEE标准的1076-1993版本)主要是应用在数字电路的设计中。

现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。

目前,它在中国的应用多数是用FPGA/CPLD/EPLD 的设计中。

当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

VHDL主要用于描述数字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

1.3 VHDL的特点应用VHDL进行系统设计,有以下几方面的特点。

(一)功能强大VHDL具有功能强大的语言结构。

它可以用明确的代码描述复杂的控制逻辑设计。

并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。

VHDL是一种设计、仿真和综合的标准硬件描述语言。

(二)可移植性VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。

它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。

此外,通过更换库再重新综合很容易移植为ASIC设计。

(三)独立性VHDL的硬件描述与具体的工艺技术和硬件结构无关。

设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。

程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。

(四)可操作性由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。

(五)灵活性VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。

使其在任何大系统的设计中,随时可对设计进行仿真模拟。

所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。

1.4 VHDL的设计结构VHDL描述数字电路系统设计的行为、功能、输入和输出。

它在语法上与现代编程语言相似,但包含了许多与硬件有特殊关系的结构。

VHDL将一个设计称为一个实体Entity(元件、电路或者系统),并且将它分成外部的可见部分(实体名、连接)和内部的隐藏部分(实体算法、实现)。

当定义了一个设计的实体之后,其他实体可以利用该实体,也可以开发一个实体库。

所以,内部和外部的概念对系统设计的VHDL是十分重要的。

外部的实体名或连接由实体声明Entity来描述。

而内部的实体算法或实现则由结构体Architecture来描述。

结构体可以包含相连的多个进程process或者组建component等其他并行结构。

需要说明的是,它们在硬件中都是并行运行的。

1.5 VHDL的设计步骤采用VHDL的系统设计,一般有以下6个步骤。

1)要求的功能模块划分;2)VHDL的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)。

2.设计主要内容设计一个电子计时器,给定时钟信号为512HZ,要求系统达到以下功能:(1)用6个数码管分别显示时、分、秒,计时范围为00:00:00~23:59:59。

(2)计时精度是1s。

(3)具有启/ 停开关, 复位开关。

图1总体方框图3.内部各功能模块本系统由六十进制计数器模块、二十四进制计数器模块、分频模块执行计时功能, 输入信号是512Hz,通过分频后为1Hz,时钟信号是1Hz作为计时器的秒输入,秒为60进制计数器,分也为60进制计数器,小时采用二十四进制计数器, 各级进位作为高位的使能控制。

3.1 六十进制计数器模块设计一个八位的六十进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0]、rco,分别为低4位输出、高4位输出和进位位。

图2 六十进制计数器示图3秒计数器的仿真波形图波形分析利用60进制计数器完成00到59的循环计数功能,当秒计数至59时,再来一个时钟脉冲则产生进位输出,即enmin=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。

因为这种60进制的VHDL语言是很好写的,它并不复杂,再说我们必须要学会这些基本的硬件语言的描写。

图4分钟计数器的仿真波形图3)波形分析小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。

该模块部分VHDL 源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count60 ISPORT( en,Reset,clk: in STD_LOGIC;qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);qb: out STD_LOGIC_VECTOR(3 DOWNTO 0);rco: OUT STD_LOGIC);END count60;ARCHITECTURE a OF count60 ISBEGINprocess(clk)variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);variable tmb: STD_LOGIC_VECTOR(3 DOWNTO 0);beginIf Reset ='0'then tma:="0000"; tmb:="0000";elsif clk'event and clk='1' thenif en='1' thenrco<=tmb(2)and tmb(0)and tma(3)and tma(0);if tma="1001" then tma:="0000";if tmb="0101" then tmb:="0000";else tmb:=tmb+1;end if;else tma:=tma+1;end if;end if;end if;qa<=tma;qb<=tmb;end process;END a;3.2 二十四进制计数器模块设计一个八位的二十四进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0],分别为低4位输出、高4位输出。

相关文档
最新文档