秒表的设计与实现
- 格式:doc
- 大小:641.50 KB
- 文档页数:30
秒表计时器毕业设计报告秒表计时器毕业设计报告一、引言在快节奏的现代社会中,时间对于人们来说显得尤为重要。
无论是工作、学习还是生活,我们都需要一个准确、方便的计时工具来帮助我们管理时间。
因此,我选择了设计并开发一个秒表计时器作为我的毕业设计项目。
本报告将详细介绍我的设计思路、实现过程以及遇到的挑战和解决方案。
二、设计目标1. 实现基本的计时功能:包括开始、停止、暂停和重置功能。
2. 提供多种计时模式:可以选择倒计时模式或计时器模式。
3. 显示准确的计时结果:保证计时的准确性和精确度。
4. 用户友好的界面设计:界面简洁清晰,易于操作。
5. 适用于不同平台和设备:可以在电脑、手机等多种设备上使用。
三、设计思路1. 界面设计:我采用了简洁明了的界面设计,将计时器显示在屏幕中央,并在周围添加开始、停止、暂停和重置按钮,方便用户操作。
2. 计时功能实现:使用编程语言编写代码,通过调用系统时间函数来实现计时功能。
开始计时时记录当前时间,停止计时时再次获取当前时间,两个时间的差值即为计时结果。
3. 计时模式选择:根据用户的需求,提供倒计时模式和计时器模式的选择,用户可以根据实际情况进行设置。
4. 计时结果显示:将计时结果以小时、分钟、秒的形式显示在屏幕上,保证计时的准确性和精确度。
5. 跨平台适配:根据不同设备的屏幕尺寸和分辨率进行适配,确保在不同平台上都能正常显示和使用。
四、实现过程1. 界面设计:使用HTML和CSS进行界面设计,采用响应式布局,确保在不同设备上都能良好显示。
2. 编程语言选择:我选择使用JavaScript作为主要编程语言,因为它具有广泛的应用性和良好的跨平台性。
3. 计时功能实现:通过JavaScript编写代码,使用Date对象获取系统时间,并进行计算和显示。
4. 计时模式选择:使用JavaScript编写代码,通过监听用户的选择,切换不同的计时模式。
5. 计时结果显示:使用JavaScript编写代码,将计时结果以合适的格式显示在屏幕上。
课题五电子秒表的设计与制作电子秒表作为典型的数字电路应用产品,它的电路组成涉及到触发器,单稳态触发电路,时钟发生电路及计数器,译码显示等数字电路中常用的单元电路。
通过对一个简易的电子秒表的设计与制作,可以使学生熟悉这些单元电路的综合应用及一个数字电路小系统的安装与调试方法。
1. 设计内容和要求用数字集成组件设计.安装与调试,1只电子秒表,设计要求为:1.两位数码管显示,计时范围为0.1~0.9S,步进为0.1S。
2.制成的电子秒表应具有起动,停止与清零等基本功能。
3.计数精度要求为在9.9S计数时间内,时间误差不超过±10ms。
4.可以用外接直接电流。
完成对电路的选择,参数设计,安装与调式,达到设计要求。
2. 设计方案的选择对电子秒表的设计虽然有多种方案,但主体电路都是对高稳定的时钟信号进行分频、计数译码与显示,再配以方便的使能按键,如起动、停止、保存和清除等。
对于本课题,选择的设计方案如图3—5—1所示。
图3-5-1 电子秒表设计方案方框图图中,时钟发生器产生频率较高的,脉冲波以提高系统的计时精度,由于设计要求中对精度的要求并不高,选用普通器件组成一个方波发生器产生100Hz的脉冲波。
100Hz 的脉冲波经十分频电路获得10Hz的脉冲波,作为0.1S位计时器的脉冲源。
0.1S位设计成一个十进制计数器,其进位输出即为秒脉冲,作为秒位计数器的时钟。
启动开关给闸门电路一个高电平以打开闸门,100Hz脉冲源作为分分频电路的时钟,若分频电路也是一个十进制计数器,则进位输出即为10HZ的时钟脉冲信号。
启动、停止开关控制电路应在起动端产生一个高电平使闸门打开,同行在它的停止端应提供一个供清零信号产生电路的起动信号,同时清零信号使输出各计数器瞬间清零。
当停止端输出高电平时,启动端必须为低电平以封锁闸门,使各计数器停止计数并保持。
3.单元电路的设计⑴启动和停止开关控制电路设置两个按键开关K1,K2,K1作为启动开关,K2作为停止开关,且按下为低电平,松开为高电平。
电子科技大学《数字秒表课程设计》姓名: xxx学号:学院:指导老师:xx摘要EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。
文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。
采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。
该设计具有外围电路少、集成度高、可靠性强等优点。
通过数码管驱动电路动态显示计时结果。
给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。
关键词:FPGA, VHDL, EDA, 数字秒表目录第一章引言 (4)第二章设计背景 (5)2.1 方案设计 (5)2.2 系统总体框图 (5)2.3 -FPGA实验板 (5)2.4 系统功能要求 (6)2.5 开发软件 (6)2.5.1 ISE10.1简介 (6)2.5.2 ModelSim简介 (6)2.6 VHDL语言简介 (7)第三章模块设计 (8)3.1 分频器 (8)3.2 计数器 (8)3.3 数据锁存器 (9)3.4 控制器 (9)3.5 扫描控制电路 (10)3.6 按键消抖电路 (11)第四章总体设计 (12)第五章结论 (13)附录 (14)第一章引言数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。
面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。
对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。
对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。
文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。
数电课程设计:电子秒表
电子秒表是一种常见的计时工具,它通过使用电子元件实现高精度的计时功能。
下面是一个基于数电的电子秒表的设计方案:
1. 运算部分设计:
- 使用一个1Hz的时钟源,可以通过计数器或者振荡器实现。
- 使用一个可重置的二进制计数器,位数根据需要的计时范
围确定。
例如,如果计时范围为1小时,可使用一个4位二进制计数器。
- 计时开始/停止控制逻辑:这可以通过一个开关电路实现,可以使用一个门电路或者触发器电路。
- 计数器重置逻辑:可以使用一个按钮或者开关来重置计数
器的值。
2. 显示部分设计:
- 使用数码管或者液晶显示器来显示计时结果。
数码管可以
使用共阳或者共阴的7段数码管。
- 使用译码器将计数器的二进制输出转换为译码信号,用于
控制数码管显示的数字。
3. 其他功能:
- 可以添加一个暂停功能,通过一个按钮或者开关来实现。
当计时中按下暂停按钮时,计时器会停止计数,再次按下暂停
按钮时,计时器继续计数。
- 可以添加一个拆表功能,通过一个按钮或者开关来实现。
按下拆表按钮时,计时器会记录当前的计时值,然后重置为0,再次按下拆表按钮时,计时器恢复原来的计时状态。
该设计方案中的电子秒表可根据实际需求进行调整和扩展,例如增加更多的功能按钮、调整计时范围和精度等。
同时,需要注意电路的稳定性和可靠性,以及对供电电源和信号的处理。
简易数字秒表的电路设计概述及解释说明1. 引言1.1 概述本文主要介绍了一种简易数字秒表的电路设计。
秒表是一种用于计算时间间隔的常见工具,广泛应用于日常生活和各行各业中。
传统的机械秒表用起来不够便捷,因此我们将使用电路设计来实现一个数字秒表,使其更加方便使用。
1.2 文章结构本文分为四个主要部分进行阐述。
首先,在“引言”部分中我们将对文章进行概述和介绍。
接下来,在“简易数字秒表的电路设计”部分中,我们将详细介绍设计原理、电路元件选择与说明以及电路连接与布局等内容。
然后,在“解释说明”部分中,我们将解释秒表功能的实现方法,并探讨其功能扩展可能性,并指出在电路设计过程中需要注意的问题。
最后,在“结论”部分中,我们对本次设计成果进行总结,并就可能存在的改进空间进行分析和未来应用进行展望和思考。
1.3 目的本文旨在通过详细描述并解释简易数字秒表的电路设计,提供一个清晰易懂、全面深入的指南,帮助读者了解该设计思路及其实现方法。
同时,通过对功能扩展可能性的探讨和对电路设计过程中需要注意的问题的分析,可以引导读者在实际应用和改进中做出更好的决策。
最后,通过总结和展望,为未来的研究和发展提供参考思路。
2. 简易数字秒表的电路设计2.1 设计原理:简易数字秒表的电路设计基于计时器和显示器组成。
其主要原理是利用计时器模块产生一个稳定的时间基准,然后将该时间以数字形式显示在显示器上。
2.2 电路元件选择与说明:在设计简易数字秒表的电路时,我们需要选取合适的电子元件来实现功能。
以下是一些常见的元件选择:- 计时器芯片:可选择集成型计时器芯片,如NE555等,它们具有稳定的时钟信号输出。
- 显示屏:一般选用7段LED数码管,由于它们能够直观地显示数字。
- 驱动芯片:如果使用多个7段LED数码管进行显示,则必须选择合适的驱动芯片,如74HC595等。
这些元件经过合理的选择和配套可以实现精确、稳定地测量和显示时间。
2.3 电路连接与布局:简易数字秒表电路连接和布局对功能稳定性有重要影响。
电子秒表设计方案电子秒表是一种按时间计数的仪器,主要用于精确测量短时间内的时间间隔。
传统的机械秒表已经逐渐被电子秒表所取代,因为电子秒表具有更高的精确度、更便捷的使用和更多的功能。
电子秒表的设计方案如下:1. 时钟系统:电子秒表需要一个准确的时钟系统来实现时间的测量和显示。
可以采用晶体振荡器来提供稳定的时钟信号,并通过倒数计数器来计算出时间。
2. 按键设计:电子秒表需要一个按键来控制计时的开始、停止和重置。
可以采用机械按键或者触摸按键,通过按下按钮来触发计时动作。
3. 显示屏幕:电子秒表需要一个清晰的数字显示屏来显示计时结果。
可以采用液晶显示屏或者LED显示屏,显示出秒表的计时时间。
4. 计时精确度:电子秒表需要具有高精确度的计时功能。
可以采用纳秒级的计时芯片来提供更精确的计时结果,并且可以进行校准来保持计时的准确性。
5. 记录功能:电子秒表可以添加记录功能,可以记录多个计时数据,并提供查看和保存功能,方便用户随时查看和比较不同的计时结果。
6. 声音提示功能:电子秒表可以添加声音提示功能,用于在计时开始、停止和重置时发出提示音,方便用户的操作。
7. 计时模式选择:电子秒表可以提供不同的计时模式选择,如计时、计次、倒计时等,满足不同用户的需求。
8. 电池供电:电子秒表可以采用电池供电,方便携带和使用。
可以选择使用可充电电池或者干电池,提供持久的使用时间。
9. 外观设计:电子秒表的外观设计可以采用简洁大方的设计风格,便于携带和使用。
可以选择耐用的材质和防水设计,增加秒表的使用寿命和适应性。
总之,电子秒表是一种精确、便捷、多功能的计时工具,设计方案可以结合以上要点进行设计,以提供用户更好的计时体验。
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
摘要要求设计一个计数范围在0.0-9.9秒的数字秒表,精确度为0.1秒。
电路设计基本包括0.1秒脉冲发生器、信号控制端、整形电路、计数电路、译码电路和显示器这几部分构成。
0.1秒脉冲发生器由555定时器构成的多谐振荡电路实现,信号控制端由D触发器实现,即74LS74N,能够对整个电路进行清零、计数、停止和复位的作用。
计数器由两个十进制BCD 码74LS160级联而成。
在计数器的四个输出端分别接译码器的四个置数端,译码器由74LS48实现。
这个电路设有两个开关s1,s2,来实现对电路的清零、计数、暂停、复位的控制。
这样,一个简易的数字秒表便设计完成了。
关键字:555定时器、D触发器、编码、译码ABSTRACTDesign a digital stopwatch counting range in 0.0-9.9 seconds, accuracy of 0.1 seconds. Basic including 0.1 second pulse generator circuit design, signal control terminal, shaping circuit, counting circuit, decoding circuit and a display of this a few parts. More than 0.1 second pulse generator composed of 555 timer harmonic oscillation circuit implementation, signal control comprised D flip-flop, namely 74LS74N, can be reset to the whole circuit, counting, stop and reset. Two decimal counter by BCD 74LS160 cascade. In the four output end of the counter four load respectively at the decoder side, decoder by 74LS48 implementation. This circuit is equipped with two switch S1, S2, to implement to reset circuit, counting, suspend, and reset the control. So will design a simple digital stopwatch is complete.Key Word:555 timer, D flip-flop, encoding and decoding目录摘要------------------------------------------------------------------------1 1.设计目的及要求------------------------------------------------------31.1设计目的-----------------------------------------------------------31.2设计要求-----------------------------------------------------------32.设计原理及分析------------------------------------------------------42.1设计构想框图-------------------------------------------------------42.2设计原理分析-------------------------------------------------------42.2.1多谐振荡电路------------------------------------------------42.2.2开关控制端与D触发器----------------------------------------52.2.3与非门电路--------------------------------------------------52.2.4显示译码电路------------------------------------------------53.制作过程--------------------------------------------------------------73.1布局连线-----------------------------------------------------------73.2调试---------------------------------------------------------------73.3遇到问题及解决方法-------------------------------------------------84.心得感悟--------------------------------------------------------------8参考文献------------------------------------------------------------------9附录附录一元器件清单------------------------------------------------------10 附录二电路图----------------------------------------------------------101.设计目的及要求1.1设计目的通过对数字秒表的设计,熟练掌握555定时器脉冲信号产生的原理和D触发器的功能及原理,利用所学的电子技术基础(模拟部分)知识,回顾脉冲信号产生、计数、编码、译码的原理机制,进行对生活中不可或缺的秒表的设计。
电子秒表的设计目录一、设计要求 (2)二、设计的目的与作用 (2)三、设计的具体体现 (2)1. 电子秒表的基本组成 (3)2.电子秒表的工作原理 (3)3.电子秒表的原理图 (4)4. 单元电路设计 (4)5.设计仿真与PCB制版 (12)四、心得体会 (17)五、附录 (18)六、参考文献 (20)一、设计要求1.以0.01秒为最小单位进行显示。
2.秒表可显示0.01~59:59:99秒的量程。
3.该秒表具有清零、开始计时、停止计时功能。
二、设计方案方案一:通过单片机来实现电子秒表基于51单片机电子秒表,设计简单,而且技术准确,缺点是价格相比于数字电路实现的秒表技术要昂贵。
方案二:采用数字电路来实现秒表计数,优点是价格便宜,计数精确,反应较快,缺点是,电路芯片较多,设计电路复杂。
经过比较选择了较为经济适用的数字电路。
二、设计的目的与作用1.培养我们运用有关课程的基础理论和技能解决实际问题,并进一步提高专业基本技能、创新能力。
通过课程设计,学习到设计写作方法,能用文字、图形和现代设计写作方法系统地、正确地表达课程设计和研究成果。
2. 熟悉555方波振荡器的应用。
3.熟悉计数器的级联及计数、译码、显示电路的整体配合。
4.建立分频的基本概念。
三、设计的具体体现1.电子秒表的基本组成电子秒表电路的基本组成框图如图所示,它主要由基本RS 触发器、多谐振荡器、计数器和数码显示器4个部分组成。
电子秒表电路的基本组成(方框图)如下:图(1)电子秒表基本组成方框图2.电子秒表的工作原理由555定时器构成多谐振荡器,用来产生50Hz 的矩形波。
第Ⅰ块计数器作5分频使用,将555输来的50Hz 的脉冲变为0.1秒的计数脉冲,在输出端Qd 取得,作为第2块计数器的始终输入,第2、第3块计数器QA 与CP2相连,都已接成8421码十进基本RS 触发器 多谐振荡器 单稳态触发器 计数器译码显示器制计数电路,第4块接成六进制形式,其输出端与译码显示器的相应输入端连接,可显示00:00:00——59:59:99s3.电子秒表的原理图图(2)原理图4.单元电路设计(1)由NE555P组成的多谐振荡器(多谐振荡器)ne555是一种应用特别广泛作用很大的的集成电路,属于小规模集成电路,在很多电子产品中都有应用。
设 计 报 告课程名称 _______ 设计题目_______ 指导老师 _______ 学 生_______ 学 号 _______现代电子技术综合实验 数字式秒表设计与实现 兰 瑞 志 2013040204029 刘 曦目录1 引言 (4)1.1课程设计的目的 (4)1.2课程设计的内容 (4)2 EDA、VHDL简介 (5)2.1 EDA技术 (5)2.2硬件描述语言——VHDL (5)2.2.1 VHDL语言的特点 (6)2.2.2 VHDL语言的设计流程 (8)3 设计过程 (9)3.1设计规划 (9)3.2原理框图 (10)3.3各模块的功能 (10)3.3.1分频器 (10)3.3.2计数器 (11)3.3.3数据锁存器 (11)3.3.4显示译码电路 (11)3.3.5控制电路 (12)3.3.6按键消抖电路 (12)3.3.7顶层文件 (13)4 硬件电路仿真 (13)4.1分频器仿真 (13)4.2模6计数器仿真 (14)4.3模10计数器仿真 (14)4.4控制电路仿真 (14)5 实验总结 (15)5.1实验结论 (15)5.2心得总结 (15)致谢 (16)参考文献 (16)附录 (16)1引言在科技高度发展的今天,集成电路和计算机应用得到了高速发展,尤其是计算机应用的发展。
它在人们日常生活已逐渐崭露头角。
大多数电子产品多是由计算机电路组成,如:手机、mp3等。
而且将来的不久它们的身影将会更频繁地出现在我们身边。
电脑各部分在工作时多是以时间为基准的。
本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。
秒表在很多领域充当了重要的角色。
各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,它们对时间精确度达到了几纳秒级别。
1.1课程设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。
在掌握所学的计算机组成与结构课程理论知识时,通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关的设计能力,提高分析、解决计算机技术实际问题的能力。
1.2课程设计的内容秒表的计时范围是00’00”00到59’59”99。
有两个按钮开关start/stop和split/reset,控制秒表的启动、停止、分段和复位。
秒表已经被复位的情况下,按下start/stop 键,秒表开始计时。
在秒表正常运行的情况下,如果按下start/stop 则秒表暂停计时;再次按下该键,秒表继续计时。
在秒表正常运行下,如果按下split/reset,显示停止在按键时的时间,但秒表仍然在计时;再次按下该键,秒表恢复正常显示。
在秒表暂停计时的情况下,按下split/reset,秒表复位归零。
2 EDA、VHDL简介2.1EDA技术EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言VHDL完成的设计文件,自动完成逻辑编译、逻辑映射和编程下载等工作。
目前EDA主要辅助进行三个方面的设计工作:IC设计、电子电路设计和PCB设计。
没有EDA技术的支持,想要完成超大规模集成电路的设计制造是不可想象的;反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。
2.2硬件描述语言——VHDLVHDL(Very-high-speed Integrated Circuit Hardware Description Language)诞生于1982年。
1987年底,VHDL 被IEEE (The Institute of Electrical and Electronics Engineers)和美国国防部确认为标准硬件描述语言。
自IEEE 公布了VHDL 的标准版本(IEEE-1076)之后,各EDA 公司相继推出了自己的VHDL 设计环境,并宣布自己的设计工具可以和VHDL 接口。
此后VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。
1993 年,IEEE 对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL 的内容,公布了新版本的VHDL,即IEEE 标准的1076-1993 版本。
现在,VHDL 和VERILOG作为IEEE 的工业标准硬件描述语言,又得到众多EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL和VERILOG 语言将承担起几乎全部的数字系统设计任务。
2.2.1VHDL语言的特点VHDL 主要用于描述数字系统的结构、行为、功能和接口。
除了含有许多具有硬件特征的语句外,VHDL 的语言形式,描述风格以及句法十分类似于一般的计算机高级语言。
VHDL 的程序结构特点是将一项工程设计,或称为设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(又称为可视部分,即端口)和内部(又称为不可视部分),即设计实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
应用VHDL 进行工程设计的优点是多方面的,具体如下:1、与其它的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
就目前流行的EDA 工具和VHDL 综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA 和CPLD 等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。
2、VHDL 最初是作为一种仿真标准格式出现的,因此VHDL 既是一种硬件电路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言。
其丰富的仿真语句和库函数,使得在任何大系统的设计早期(即尚未完成),就能用于查验设计系统的功能可行性,随时可对设计进行仿真模拟。
即在远离门级的高层次上进行模拟,使设计者对整个工程设计的结构和功能的可行性做出决策。
3、VHDL 语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完成必须由多人甚至多个开发组共同并行工作才能实现的特点。
VHDL 中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支持。
4、对于用VHDL 完成的一个确定的设计,可以利用EDA 工具进行逻辑综合和优化,并自动地把VHDL 描述设计转变成为门级网表。
这种方式突破了门级电路设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。
应用EDA 工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更高效、更高速的电路系统。
反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,返回去更新修改VHDL 设计描述,使之更为完善。
5、VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。
正因为VHDL 硬件描述与具体的工艺技术和硬件结构无关,VHDL 设计程序的硬件实现目标器件有广阔的选择范围,其中包括各系列的CPLD、FPGA 及各种门阵列实现目标。
6、由于VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需要改变端口类属参量或函数,就能轻易地改变设计的规模和结构。
2.2.2VHDL语言的设计流程1.文本编辑用任何文本编辑器都可以进行,也可以用专用的VHDL编辑环境。
通常VHDL文件保存为.vhd文件。
2.功能仿真将文件调入VHDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成后,进行时序仿真)3.逻辑综合将源文件调入逻辑综合软件进行综合,即把语言综合成最简单的布尔表达式。
逻辑综合软件会生成.edf或.edif的EDA工业标准文件。
4.布局布线将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。
5.时序仿真需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。
通常以上过程都在PLD/FPGA厂家提供的开发工具内。
6.器件编程3设计过程3.1设计规划本系统设计采用自顶向下的设计方案,系统的整体组装设计由以下六部分组成:·分频器:对晶体振荡器产生的时钟信号进行分频,产生时间基准信号。
·计数器:对时间基准脉冲进行技术,完成计时功能。
·数据锁存器:锁存数据,使显示保持锁定。
·控制器:控制计数器的运行、暂停以及复位;产生锁存器的是能信号。
·扫描显示的控制电路:包括扫描计数器、3-8译码器和7段译码器;控制8个数码管以扫描方式显示计时结果。
·按键消抖电路:消除按键输入信号抖动的影响,输出单脉冲。
3.2原理框图3.3各模块的功能3.3.1分频器需要两种分频器,分频器一是将晶体振荡器输入的48MHz的时钟信号,利用模48000的计数器分频,输出为1kHz的时钟信号。
(因为多位LED显示,一般采取动态扫描方式、分时循环显示,即多个发光管轮流交替点亮。
它是利用人眼的滞留现象,只要在1秒内一个发光管亮24次以上,每次点亮时间维持在2ms以上,则人眼感觉不到闪烁);分频器二是输入为1kHz的信号,分频成100Hz的信号,即为百分之一秒,作为计数器输入。
3.3.2计数器计数器执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。
需要四个十进制计数器和两个六进制计数器,其中毫秒位、十毫秒位、秒位和分位采用十进制计数器,十秒位和十分位采用六进制计数器。
3.3.3数据锁存器能够实现秒表中要求的面板暂停但是继续计时的功能。
3.3.4显示译码电路能够将BCD码转换为LED的七段译码器。
注意:实验板上的数码管为共阳LED数码管,即编码时低有效。
3.3.5控制电路输入为1kHz的时钟信号,启动停止按键start_stop,复位锁存按键reset_split;输出为控制信号:clear清零;working计数;display 锁存并计数。
目的是得到主电路的控制信号。
具体实现如下:参照状态图编写程序:采用三进程模式编写——进程一控制状态转移;进程二引入时钟信号;进程三定义状态输出。
3.3.6按键消抖电路按键按下时,FPGA的输入为高电平;松开按键时,FPGA的输入为低电平,但是在按下和松开按键的瞬间会出现抖动现象。