基于ise的数字秒表的设计与仿真--学位论文
基于秒表的设计与实现毕业设计

毕业设计(论文)题目:数字电子秒表的设计与实现摘要近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。
本文阐述了基于单片机的数字电子秒表设计。
本设计主要特点是计时精度达到0.001s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。
另外硬件部分设置了查看按键,可以对秒表上一次计时时间进行保存,供使用者查询。
用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
关键字:单片机;数字电子秒表;仿真AbstractWith the rapid development of science and technology in recent years, SCM applications are constant-depth manner. In this paper, based on single chip design of digital electronic stopwatch. The main characteristics of this design timing accuracy of 0.001s, to solve the traditional result of a lack accuracy due to timing errors and unfair,and is a variety of sports competitions, one of the essential equipment. In addition the hardware part of the set View button on the stopwatch can be the last time to save time for user queries.The design of the multi-function stopwatch system uses STC89C52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. The software and hardware together organically, allowing the system to achieve two LED display shows the time from 0 to 99.999 seconds, Timing accuracy of 0.001 seconds, Be able to correctly time at the same time to record a time, and the next time after the last time the time to search.automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and WA VE in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition.Keyword:LED display;High-precision stopwatch;STC89C52目录绪论 (1)1 硬件设计 (4)1.1 总体方案的设计 (4)1.2 单片机的选择 (5)1.3 显示电路的选择与设计 (8)1.4 按键电路的选择与设计 (11)1.5 时钟电路的选择与设计 (12)1.6 复位电路的选择与设计 (14)1.7 系统总电路的设计 (17)2 软件设计 (20)2.1 程序设计思想 (20)2.2 系统资源的分配 (20)2.3 主程序设计 (21)2.4 中断程序设计 (22)3 数字电子秒表的安装与调试 (27)3.1 软件的仿真与调试 (27)3.2 硬件的安装与调试 (27)3.3 系统程序的烧录 (28)3.4 数字电子秒表的精度调试 (29)结论 (31)致谢 (32)参考文献 (33)附录A 资料翻译 (34)A.1英文原文 (34)A.2 中文翻译 (41)附录B 程序 (47)附录C 电路原理图 (54)附录D 硬件实物图 (55)绪论秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。
【毕业论文】基于LabVIEW的多功能秒表设计(计时器+倒计时+节拍器+日历+时钟)

基于LabVIEW的秒表设计摘要数字式秒表是一种常用的计时工具,广泛用于各种比赛以及各类实验测量中。
随着生活节奏的加快,人们时间观念的加强,各种计时器已经成为人们日常生活中不可或缺的一部分,并且人们已经不能满足于单一的某一种功能了。
而如何在秒表的基础上,根据人们生活的需要增加相应的功能以方便人们的生活,便成为秒表设计方面的重点。
我基于LabVIEW设计的的秒表,具有秒表计时器、倒计时器、节拍器、时钟和闹钟的功能。
其具有界面美观,简单易用,功能强大,精确度高等特点。
此秒表的所有功能均可以独立运行,互不干扰,具有很好的用户体验。
关键词:秒表,计时,LabVIEWStopwatch design based on LabVIEWAbstractDigital stopwatch is a commonly used tool for timing.It is widely used in various competitions and a variety of experimental measurements.With the accelerated pace of life and the strengthening of the concept of time,variety timer has become an indispensable part of everyday life,and it has been unable to meet on a single feature of a certain kind.It has become the focus of the stopwatch design that how to add the corresponding function according to the needs of people's lives based on the stopwatch to convenience to people's lives.Stopwatch witch I designed based on LabVIEW, is with a stopwatch timer, countdown timer, metronome, clock and alarm functions.It has a beautiful interface, easy to use, powerful, high precision characteristics.This stopwatch’s all functions can be run independently, means can without disturbing each other, and with good user experience.Keywords: stopwatch, timer, LabVIEW目录1.绪论 (1)1.1 引言 (1)1.2虚拟仪器的概念及特点 (1)1.2.1虚拟仪器 (1)1.2.2 虚拟仪器的特点 (1)2. 图形化编程和LabVIEW (2)2.1 图形化编程简介 (2)2.2 LabVIEW简介 (2)2.2.1前面板 (2)2.3.2 程序框图 (2)3.秒表介绍及程序设计 (3)3.1 概述 (3)3.2 秒表的发展 (3)3.3 秒表的功能设计 (5)3.3.1.正计时 (5)3.3.2 倒计时 (6)3.3.3.节拍器 (6)3.3.4.时钟与闹钟 (6)4. 程序实现 (7)4.1秒表计时器 (7)4.1.1 流程图 (7)4.1.2程序设计 (8)4.2 倒计时器 (21)4.2.1流程图 (21)4.2.2程序设计 (22)4.3节拍器 (25)4.3.1流程图 (25)4.3.2 程序设计 (26)4.4时钟及闹钟 (28)4.4.1流程图 (28)4.4.2 程序设计 (28)总结 (31)致谢 (33)1.绪论1.1 引言LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
毕业论文-基于fpga(verilog)的数字式秒表设计说明书

基于FPGA的数字式秒表一、设计任务及要求秒表由于其计时精确,分辨率高(0.01 秒),在各种竞技场所得到了广泛的应用,本次设计的任务就是设计一个基于FPGA 的数字式秒表。
1、基本要求:(1)性能指标:秒表的分辨率为0.01 秒,最长计时时间为99.99 秒;(2)设置启/停开关和复位开关(计数控制器):启/停开关S1 的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。
复位开关S2 用来使计时器清0,复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程应立即终止,并对计时器清零。
(开关按下为0,弹起为1)。
(3)秒表的计时基准信号:以周期为0.01 秒(频率100HZ)的计时脉冲作为一个比较精准的计时基准信号输入到0.01 秒位计数器的时钟端;在设计中采用分频器把1000HZ 的时钟信号转换为100HZ 的计时基准信号,其分频系数为10。
(4)数码管动态显示:七段数码管采用动态扫描的方式显示,扫描需要一个比较高频率的信号,本次设计选用1000HZ 。
为了得到1000Hz 信号,必须对输入的时钟信号50MHZ 进行分频。
显示模块共用11 个管脚,其中8 个用于连接8 个数码管的七段LED,还有 3 个管脚用于选择点亮哪个数码管,每隔很短的一段时间8 个数码管交替点亮,依次循环,动态显示,由于人眼的视觉残留,可以观察到连续的测量计数器的计数值。
上电后,八个数码管中左边四个显示自己的学号后四位,在运行过程中一直不变;右边四个显示计时时间,范围0000~9999,利用两个按钮S1、S2 控制计时。
2、提高要求:加入小数点,计时数码管显示范围00.00~99.99。
二、系统原理框图三、电路实现Array四、功能模块1、分频器(以10分频器为例)(1)Verilog HDL语言程序module fp10(Clk,Out);input Clk;output Out;reg Out;reg [3:0] Cout;reg Clk_En;initialOut<=0;always @(posedge Clk )beginCout <= (Cout == 4'd10) ? 4'd0 : (Cout + 4'd1);Clk_En <= (Cout >= 4'd5) ? 1'd1 : 1'd0;Out<=Clk_En;endEndmodule(2)模块化电路(3)波形仿真由波形仿真图可以看出,10分频器将1000Hz的脉冲分频成100Hz的脉冲。
【精品完整版】电子科技大学现代电子综合实验报告数字秒表设计

【精品完整版】电⼦科技⼤学现代电⼦综合实验报告数字秒表设计现代电⼦综合实验报告项⽬名称数字秒表设计学⽣姓名学号指导⽼师⽬录【摘要】 (1)关键词 (1)引⾔ (1)第1章背景知识介绍 (2)1.1 FPGA (2)1.2 EDA (2)1.3 VHDL语⾔ (2)1.4 ModelSim软件 (3)1.5 ISE软件 (3)1.6 时间简介 (3)第2章系统设计 (4)2.1设计要求 (4)2.2 设计分析 (4)2.2.1 输⼊输出分析 (4)2.2.2 系统设计原理 (4)2.2.3 系统内部模块分析 (5)第3章模块电路的实现与仿真 (6)3.1 按键消抖 (6)3.2 分频器 (7)3.3 控制器 (8)3.4 计数器 (10)3.5 锁存器 (11)3.6 显⽰模块 (12)第4章实验设计 (14)4.1 顶层设计 (14)4.2 管脚设置 (15)第5章实验结论 (15)第6章结果分析 (15)参考⽂献: (16)附录: (16)1.分频模块源程序 (16)2.消抖模块源程序 (17)3.控制模块源程序 (18)4.计数器模块源程序 (20)(1)计数器顶层⽂件程序 (20)(2)10进制仿真程序源程序 (22)(3)6进制仿真程序源程序 (23)5.锁存器模块源程序 (24)6.显⽰模块源程序 (25)(1)显⽰模块顶层⽂件源程序 (25)(2)扫描模块源程序 (27)(3)数据选择模块源程序 (27)(4)译码器模块源程序 (28)7.顶层⽂件源程序 (29)8.管脚分配源程序 (32)【摘要】利⽤VHDL硬件设计语⾔基于FPGA实验板设计⼀个数字表秒。
该数字秒表及时范围是00’00”00 ~ 59’59”99,并利⽤两个按钮开关Start/Stop 和Split/Reset来控制秒表的启动、暂停、继续、停⽌、复位。
根据该要求,将该实验设计分为6个模块,分别为:分频模块、按键消抖模块、计数器模块和按键控制模块、锁存模块和显⽰模块。
学位论文-—eda课程设计数字秒表有扩展

Xxxxxxxx 大学课程设计课程硬件课程设计题目电子秒表设计院系计算机与信息技术学院专业班级计算机科学与技术11-1班学生姓名学生学号指导教师2013年7 月12日东北石油大学课程设计任务书课程硬件课程设计题目电子秒表设计专业姓名学号主要内容、基本要求等一、主要内容:利用KX_DN教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计数字秒表。
它主要由显示译码器、分频器、十进制计数器、报警器和计数器组成。
秒共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于同显示译码器的连接。
要求可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。
最后在KX_DN教学实验箱中实现。
二、基本要求:1.四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;2.两个6进制计数器:用来分别对十秒和十分进行计数;3.显示译码器:完成对显示的控制;4. 能任意启动和归零。
三、扩展要求1.随意停止及启动2.可以多次记录数据并且可以读出各次对数据按照规范写出论文,要求字数在4000字以上,并进行答辩。
论文内容包括概述(学习、调研、分析、设计的内容摘要)、EDA技术的现状和发展趋势、对KX_DN教学实验箱和Quartus Ⅱ软件的掌握程度、数字钟的设计过程(包括原理图或程序设计、编译、仿真分析、硬件测试的全过程),论文中含有原理图、程序、仿真波形图及其分析报告。
完成期限第19—20周指导教师专业负责人2013年6 月25 日摘要EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
本文通过硬件语言VHDL的描述,完成可以记录两次的秒表的设计和实现,先设计秒表的各个底层模块,运用底层各个模块产生的进位将各个模块连接起来实现一个普通秒表。
基于ISE的仿真

基于ISE的仿真在代码编写完毕后,需要借助于测试平台来验证所设计的模块是否满足要求。
I SE提供了两种测试平台的建立方法,一种是使用HDL Bencher的图形化波形编辑功能编写,另一种就是利用HDL语言。
由于后者使用简单、功能强大,所以本节主要介绍基于Verolog语言的测试平台建立方法。
1.测试波形法在ISE中创建testbench波形,可通过HDL Bencher修改,再将其和仿真器连接起来,再验证设计功能是否正确。
首先在工程管理区将Sources for设置为B ehavioral Simulation,然后在任意位置单击鼠标右键,在弹出的菜单中选择“Ne w Source”命令,然后选中“Test Bench WaveForm”类型,输入文件名为“test_ bench”,点击Next进入下一页。
这时,工程中所有Verilog Module的名称都会显示出来,设计人员需要选择要进行测试的模块。
由于本工程只有一个模块,所以只列出了test,如图4-30所示。
图4-30选择待测模块对话框用鼠标选中test,点击“Next”后进入下一页,直接点击“Finish”按键。
此时HDL Bencher程序自动启动,等待用户输入所需的时序要求,如图4-31所示。
图4-31时序初始化窗口时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期,输入建立时间定义了输入在什么时候必须有效,输出有效延时定义了有效时钟延时到达后多久必须输出有效数据。
默认的初始化时间设置如下:∙时钟高电平时间(Clock High Time):100ns∙时钟低电平时间(Clock Low Time):100ns∙输入建立时间(Input Setup):15ns∙输出有效时间(Output Valid):15ns∙偏移时间(Offset):100ns单击“OK”按钮,接受默认的时间设定。
测试矢量波形显示如图4-32所示。
数字秒表实验报告---EDA
数字秒表实验报告—EDA项目背景本次实验旨在使用EDA工具设计一个数字秒表电路,通过FPGA开发板进行验证,具体要求如下:1.实现毫秒计时,并可以在数码管上显示当前计时数值。
2.支持开始/暂停、清零等操作。
设计思路本次实验的数字秒表电路由以下模块构成:1.时钟发生器模块:用于产生时钟信号,以驱动计数器进行计数。
2.计数器模块:通过时钟信号进行计数,并将计数结果传递给显示模块。
3.显示模块:将计数结果转换为数码管显示的数码信号,并控制数码管进行显示。
其中,时钟发生器模块和计数器模块都是基础电路模块,在这里不再赘述,下面将着重介绍显示模块的设计。
显示模块设计显示模块主要由控制模块和数码管模块构成。
控制模块根据计数结果和当前时间,控制数码管模块显示相应的数码。
在这里,我们采用的是共阳极的数码管。
具体来说,我们将控制模块分为两个子模块:时分秒计数器和数码显存控制器。
时分秒计数器时分秒计数器通过接收计数器模块的计数结果,将其转换为时分秒,并存储在计数器寄存器中。
计数器寄存器是一个64位的寄存器,由三个16位的子寄存器组成,用于存储时分秒。
当计数器模块的计数结果为0时,时分秒计数器会重置计数器寄存器。
数码显存控制器数码显存控制器由一个6位的数据存储器和一个6位的显示寄存器组成。
当计数器模块进行计数时,显示寄存器中存储的数码信号会根据时分秒计数器的值进行更新。
同时,数码显存控制器也会控制共阳极数码管进行相应的显示操作。
原理图设计根据以上的设计思路,我们可以得到数字秒表电路的原理图如下:原理图原理图EDA设计流程设计环境本次实验使用的是Xilinx ISE Design Suite 14.7,这是一个使用VHDL进行设计的EDA工具。
设计流程1.新建工程并设置工程名、目录、设备等基本信息。
2.添加源文件,包括时钟发生器模块、计数器模块、显示模块,以及顶层模块。
将所有模块综合为一个顶层设计。
3.检查时序约束,以保证电路能够正确运行。
数字秒表的设计与实现实验报告
电子科技大学《数字秒表课程设计》姓名: xxx学号:学院:指导老师:xx1摘要EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。
文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。
采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。
该设计具有外围电路少、集成度高、可靠性强等优点。
通过数码管驱动电路动态显示计时结果。
给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。
关键词:FPGA, VHDL, EDA, 数字秒表2目录第一章引言 (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)3第一章引言数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。
面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。
对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。
对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。
文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。
电子秒表的设计与制作
论文摘要:本毕业论文通过电子秒表的设计,给出了以555定时器为核心,以分频、计数与译码显示模块为主要构成部分的电子秒表的设计方案。
系统具有随时启动、停止以及清零功能。
关键词: 555定时器分频计数译码艾力达引言随着电子技术的发展,电子技术在各个领域的运用也越来越广泛。
人们对它的认识也逐步加深。
在秒表的设计上功能不断完善,在时间的设计上不断的精确,人们也利用了电子技术以及相关的知识解决了一些实际问题。
秒表的设计是由555芯片提供的,秒表时间由相关的电阻与电容的大小决定。
除了时间的设计精确外,秒表还在功能上有所改变,如实现倒计时。
电子秒表广泛应用于对运动物体的速度、加速度的测量实验,还可用来验证牛顿第二定律、机械能守恒等物理实验,同时也适用于对时间测量精度要求较高的场合,如测定短时间间隔的仪表。
秒表有机械秒表和电子秒表两类。
机械秒表与机械手表相仿,但具有制动装置,可精确至百分之一秒;电子秒表用微型电池作能源,电子元件测量显示,可精确至千分之一秒,广泛应用于科学研究、体育运动及国防等方面。
在当今非常注重工作效率的社会环境中,定时器能给我们的工作、生活以及娱乐带来很大的方便。
充分利用定时器,能有效的加强我们的工作效率。
目前数字电子技术已经广泛地应用于计算机、自动控制、电子测量仪表、电视、雷达、通信等各个领域。
例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高、功能强,而且容易实现测量的自动化和智能化。
随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。
随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电路课题设计的进行使我们有了这个非常好的机会,通过这种综合性训练,我们的动手能力、实际操作能力、综合知识应用能力得到了更好的提升。
本设计是基于数字电路和模拟电路的电子秒表的设计思路及实现方法。
基于51单片机的数字秒表毕业设计论文
摘要近年来随着科学技术的发展,单片机的应用正在不断走下面还深入。
本文简单阐述了基于单片机的数字秒表的的设计。
本设计的主要特点是计时精度达到0.01秒,是各种体育竞赛的必要设备之一。
本设计的数字秒表采用AT89S52单片机为主要器件,利用其定时器的原理,结合显示电路、LED数码管以及外部外部中断电路来设计计时器。
将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。
硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。
关键字:单片机数字秒表仿真一硬件设计1、1 总体方案的设计数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。
本设计中用单片机和数码管组成数字秒表力求结构简单。
设计中包括硬件电路的设计和系统程序的设计。
硬件电路主要有主控制器、控制按钮与显示电路组成。
主控制器采用单片机AT89S52,显示电路采用四位共阴极数码管显示计时时间。
本设计利用AT89S52单片机的定时器,使其能精确计时。
利用中断系统使其实现启动和暂停的功能,P0口输出段码数据,P2.0~P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动和暂停功能。
设计的基本要求是正确性。
硬件电路按下图进行设计。
计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。
再看按键的处理。
两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动和暂停。
1.2 单片机的选择本设计在选取单片机时,充分借鉴了许多成型产品使用单片机的经验。
并根据自己的实际情况,选用了ATMEL公司的AT89S52。
ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作、低廉的价格完全替代了87C5162和875152,低电压、低功耗,有DIP、PLCC、QFP封装,是目前性能最好、价格最低、最受欢迎的单片机之一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字秒表设计实验报告学院(系):专业:学号:学生姓名:指导教师:目录摘要 (4)1 引言 (6)1.1FPGA的开发 (6)1.2VHDL语言的使用 (7)1.3 ISE简介 (8)1.4modelsim仿真软件的使用 (8)2 数字秒表的设计 (9)2.1 时间的概念 (9)2.2 实验任务及要求 (9)2.3 系统需求和解决方案 (10)2.3.1分频器设计 (12)2.3.2按键消抖电路设计 (12)2.3.3控制器设计 (13)2.3.4计数器设计 (13)2.3.5锁存器设计 (14)2.3.6扫描显示和控制电路设计 (14)2.3.7模块综合 (15)3 数字秒表的仿真结果 (15)3.1各仿真结果 (16)3.2分频器仿真 (16)3.3计数器仿真 (16)4实验结论 (16)参考文献 (17)附录 (17)摘要本次实验设计使用的软件ISE主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。
而本次设计目的在于设计一个可以自动计数、清零、锁存、暂停的、显示范围为59分59秒,精确度为百分之一秒的数字秒表并熟练利用modelsim仿真软件进行仿真并从中不断检验错误,修改程序达到学习提高的效果。
为达到实验目的,本设计分为:分频器,锁存器,计数器,控制器及消抖电路。
关键词:ISE;modelsim仿真;数字秒表设计;FPGA可编程逻辑器件;检验;学习AbstractThe ISE software used in experimental design the main function including design, implementation, integration, simulation and download, covers the whole process of the development of programmable logic devices, tell from the function, completed the design of CPLD/FPGA without using any third-party EDA software. And the purpose of the design is to design an automatic counting, reset, latches, suspended, display area for 59 minutes and 59 seconds, accuracy of one percent second digital stopwatch and skilled use of the modelsim simulation software simulation and continuous inspection error, modify the program to improve learning effect. For the purpose of the experiment, the design is divided into: frequency divider, latch, counter, controller and shake circuit.Key words: ISE; modelsim; digital stopwatch; The FPGA programmable logic devices;check;learn1引言在传统的硬件电路设计中, 主要的设计文件是电路原理图, 而采用硬件描述语言(VHDL) 设计系统硬件电路时主要使用VHDL 编写源程序。
所谓硬件描述语言, 就是该语言可以描述硬件电路的功能、信号连接关系及定时关系。
EDA代表了当今电子设计技术发展的方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分系统的关键电路,用一片或几片专用集成ASI实现,然后采用硬件描述语言(HDL)完成系统设计,最后通过综合器和适配器生成最终的目标,这样的设计方法被称为高层次的电子设计。
高层次的设计给我们提供了一种“自顶向下”(Top2Down)的全新设计方法,这种方法首先从系统入手,在顶层进行功能方框图的划分和结构设计.在方框图一级进行仿真、纠错并用硬件描述语言对高层的系统进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网表。
1.1 FPGA的开发使用FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA的开发相对于传统PC、单片机的开发有很大不同。
FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机的顺序操作有很大区别,也造成了FPGA 开发入门较难。
FPGA开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等多方面着手。
一个完整的设计流程包括电路设计与输入、功能方针、设计综合、综合后仿真、设计实现布线后仿真与下载、实验板调试等主要步骤,如下图(1)示图(1) FPGA开发流程1.2 VHDL语言的使用VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。
归纳起来,VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大,设计方式多样。
(2) VHDL 语言具有强大的硬件描述能力。
(3) VHDL 语言具有很强的移植能力。
(4) VHDL 语言的设计描述与器件无关。
(5) VHDL 语言程序易于共享和复用。
VHDL 程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部分。
对于一个电路模块或者数字系统而言, 定义了外部端口后, 一旦内部功能算法完成后, 其他系统可以直接依据外部端口调用该电路模块或数字系统, 而不必知道其内部结构和算法。
VHDL 的特点使得电子系统新的设计方法一一“自顶向下”设计方法更加容易实现。
可以先对整个系统进行方案设计, 按功能划分成若干单元模块, 然后对每个单元模块进一步细分编程, 直到简单实现的单元电路。
VHDL 支持硬件的设计、验证、综合和测试, 以及硬件设计数据的交换、维护、修改和硬件的实现, 具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。
1.3 ISE软件的使用ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。
下面简要说明各功能的作用:设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering CaptureSystem),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。
综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和Synplicity公司的Synplify,实现无缝链接。
仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。
实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。
下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了IMPACT,功能是进行芯片配置和通信,控制将程序烧写到FPGA芯片中去。
ISE使用的整体开发流程为:建立新工程→建立源文件→编写工程代码→行为仿真→各模块综合→管脚约束→功能实现→时序仿真→生成bit流文件→下载到实验板上调试。
1.4 Modelsim仿真软件的使用仿真是指在软件环境下,验证电路的行为和设计意图是否一致。
Modelsim是一种第三方EDA仿真工具,它是由Model公司开发的,它支持Verilog、VHDL以及两者的混合仿真,可以将整个程序分步执行,它在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以查看某一单元或模块的输入输出的连续变化等。
其主要特点是仿真速度快,仿真精度高,而且支持VHDL、Verilog HDL以及两者的混合使用,是目前业界最流行最通用的仿真器之一。
Modelsim仿真步骤分为以下5步:(1)建立库;(2)映射库到物理目录;(3)编译源代码,包括所有的HDL代码和Testbench;(4)启动仿真器并加载设计顶层;(5)执行仿真;一般来说,仿真分为三种类型,即功能仿真、综合后功能仿真和时序仿真,分别对应于设计输入后、综合完成后、布局布线完成后等步骤,这些步骤也是仿真的切入点。
(1)功能仿真功能仿真也称为前仿真,主旨在于验证电路功能是否符合设计要求,其特点是不考虑电路门延时与路径延时,考察重点为电路在理想环境下的行为和设计构想是否一致。
可综合FPGA仿真代码是用RTL级代码语言描述的,功能仿真的输入是设计的RTL代码,也就是HDL源文件与Testbench.。
(2)综合后仿真综合后仿真的主旨在于验证综合后的电路结构是否与设计意图相符,是否存在歧义综合结果。
综合后仿真的输入是从综合得到的一般性逻辑网表抽象出的仿真模型和综合产生的延时文件,综合时的延时文件仅仅能估算门延时,而不包含布线延时信息,所以延时信息不十分准确。
(3)时序仿真时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电路的行为是否能够在一定时序条件下满足设计构想的功能。