ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:383.09KB ,
资源ID:3161802      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3161802.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VHDL的多功能数字钟设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于VHDL的多功能数字钟设计.docx

1、基于VHDL的多功能数字钟设计西安欧亚学院 本科毕业论文(设计) 题 目: 基于VHDL的多功能数字钟设计 学生姓名: 指导教师: 所在分院: 专 业: 班 级: 二O 年 月基于VHDL的多功能数字钟设计摘要:本设计为一个多功能的数字钟,具有时、分、秒计数显示功能、校时功能、定时闹钟功能以及校园打铃功能。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置,它的计时周期为24小时,显示满刻度为23时59分59秒;校时功能可以根据需要自行设置时间;本课题还应定时闹铃功能,可以在任意时间响闹铃;此外,本课题具有校园打铃功能,即在每天固定时间(春季和夏季作息时间不同)响铃20s。本设

2、计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在Quartus II 9.0工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。硬件系统主芯片采用EP1C6TC144,整个软件方案由时钟模块、控制模块、计时模块、数据译码模块、显示以及报时模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证。本系统用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器,然后经过分频得到需要的秒计时信号。根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个24进制(时)的计数器,构成秒、分、时的计数,实

3、现计时的功能。显示器件选用LED七段数码管,在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。关键词:数字钟;硬件描述语言;VHDL;FPGA;键盘接口Multi-Functional Digital Clock Based on VHDLAbstract: The propose of this thesis is to design a multi-functional digital clock with the hour, minute and second display function, time adjusting function, the alarm function

4、 and the campus ring function. This digital clock can display hour, minute and second, which has an timing period of 24 hours, and the maximum time is 23:59:59. With time adjusting function, one can set arbitrary time manually. This clock should also have alarm function that can ring at desired time

5、. Besides, this design can be used as a campus ring system, i.e. ring at pre-setted time, which is different at spring and autumn.This design is based on EDA technique, and use VHDL as the programing language. In Quartus II 9.0, we use the Down design method, and constitute a digital clock with seve

6、ral basic blocks. The main hardware IC is EP1C6TC144, and the software scheme contains blocks such as clock block, control block, timing block, LED decoding block, display block and ring block. After compile and simulation, we download the software to FPGA chip. This system need oscillator to genera

7、te standard time, then get second signal after frequency division. In corroding to the rule that there are 60 seconds in a minute, 60 minutes in a hour, and 24 hours in a day, we need two 60 counter and one 24 counter to implement the clock function. We choose LED as the display component, which can

8、 display clear and ocular digital symbol under the control of LED decoding circuit.Keywords: digital clock; hardware description language; VHDL; FPGA; keyboard interface1 绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(el

9、ectronic design automatic, EDA)技术。集成电路是随着计算机技术的发展而不断进步,1946年2月15日世界上第一台通用电子数字计算机使用了18000个电子管,1500个继电器以及其他器件,安装在面积为9*15平方米的室内。在20世纪50年代中期第二代电子计算机问世,它是以晶体管代替了电子管,此时第一个集成电路诞生了,它包括一个晶体管,两个电阻和一个电阻。电容的组合。后来集成电路工艺日趋完善,大部分电路元件都已经以集成电路的形式出现,甚至在约1平方厘米的芯片上,就可以集成上百万个电子元件。在1967年和1977年,分别出现了大规模集成电路和超大规模集成电路,不断的完善

10、和改进计算机的性能与规模。计算机尤其是以微细加工技术支持的微型计算机技术飞速发展,其应用渗透到了各行各业。以单片机、嵌入式处理器、数字信号处理器(DSP)为核心的计算机系统,以其软硬件可裁剪、高度的实时性、高度的可靠性、功能齐全、低功耗、适应面广等诸多优点而得到极为广泛的应用。目前计算机硬件技术向巨型化、微型化和单片机化三个方向告诉发展。自1975年美国德州仪器公司(Texas Instruments)第一块微型计算机芯片TMS-1000问世以来,在短短的20年间,EDA技术已发展成为计算机领域一个非常有前途的分之,它有自己的技术特征、规范和应用领域。EDA是自动控制系统的核心部件,主要用于工

11、业控制、智能化仪器仪表、家用电器中。它具有体积小、性能突出可靠性高(某些方面的性能指标大大优于通用微机中央处理器)、价格低廉等一系列优点,应用领域不断扩大,除了工业控制、智能化仪表、通信、家用电器外,在智能化高档电子玩具产品中也大量采用FPGA芯片作为核心控制部件,已经渗入到人们工作和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,前景广阔。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系

12、统集成电路,是一种带有逻辑处理的加速处理器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键按下的时候,系统应该完成该键所设置的功能。因此,键信息输入是与软件结构密切相关的过程。根据键盘的结构不同,采用不同的编码方法。但无论有无编码以及采用什么样的编码,最后都要转换成为相应的键值,以实现按键功能程序的转移。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定

13、时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.1 选题背景本节将从FPGA嵌入式应用开发技术与数字钟技术发展的客观实际出发,通过对该技术发展状况的了解,以及课题本身的需要,指出研究基于FPGA的芯片系统与设计数字钟的设计与实现的必要性。1.1.1 课题相关技术的发展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别师大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低.同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发

14、周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上Quartus II开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。电子设计自动化技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑映射,编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。本设计利用VH

15、DL硬件描述语言结合可编程逻辑器件进行的,并通过数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机、FPGA等,利用可编程逻辑器件具有其他方式没有的特点,它具有易学、方便、新颖、有趣、直观、设计与实验项目成功率高、理论与实践结合紧密、体积小、容量大、I/O口丰富、易编程和加密等特点,并且它还具有开放的界面,丰富的设计库,模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。1.1.2 课题研究的必要性现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活

16、,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。1.1 设计功能要求能按时钟功能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时,使用4个数码管,能切换显示。基本功能:(1)时的计时要求为24进制,分和秒的计时要求

17、为60进制(2)准确计时,以数字形式显示时,分,秒的时间(3)校时时间扩展功能:(1)定时闹铃控制;(2)校园打铃功能;1.2 课题研究的内容本设计主要研究基于FPGA的数字钟,要求时间以24小时为一个周期,显示时、分、秒。具有校时以及报时功能,可以对时、分及秒进行单独校对,使其校正到标准时间,校对时间由4个键盘进行控制,为了保证计时的稳定及准确须由晶体振荡器提供时间基准信号。另外,本系统还具有定时闹钟和校园打铃功能,可以在任意时间响闹铃,同时分别按照规定好的春季和夏季作息时间响铃。2 FPGA开发流程简介2.1 FPGA概述FPGA是现场可编程门阵列(Field Programmable G

18、ate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路

19、,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。2.2 FPGA基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(input/output block - I/O Block)和互连资源(IRInt

20、erconnect Resource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。1.CLB是FPGA的主要组成部分。图2-1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G 、F和H。G有4个输入变量G1、G2、G3和G4;F

21、也有4个输入变量F1、F2、F3和F4。这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1。这个函数发生器能实现3输入变量的各种组合函数。这3个函数发生器结合起来,可实现多达9变量的逻辑函数。CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需

22、的电路结构。CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。2.输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲器的输出分成两路:一路可以直接送到MUX,另一

23、路经延图2-1 CLB基本结构时几纳秒(或者不延时)送到输入通路D触发器,再送到数据选择器。通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波形和负载能力。3.可编程互连资源IR。可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间

24、连接起来,构成各种具有复杂功能的系统。IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。2.3 FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOP DOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图2-2所示。图2

25、-2 CPLD/FPGA系统设计流程流程说明:1.工程师按照“自顶向下”的设计方法进行系统划分。2.输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。3.将以上的设计输入编译成标准的VHDL文件。4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是

26、针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8.在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较

27、精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。2.4 FPGA开发编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。CPLD/FPGA软件设计可分为两大块:编程语言和编程工具。编程语言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如QuartusII、Foundation、ISE)以

28、及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具体的设计输入方式有以下几种:1.HDL语言方式。HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。2.图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。有的软件3种输入方法都支持,如Active-HDL。MAX+plusII 图形输入方式只支持电路原理图描述和波形描述两种。电路原理图方式描述比较直观和高效,对综合软件的要求不高。一般大都使用成熟的IP核和中小规模集成

29、电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是但项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。这种输入方式最后所能达到的工作速度和芯片利用率也是主要取决于综合软件。 3 数

30、字钟总体设计方案3.1 系统方案的选择首先的任务是根据任务要求进行模块划分,提出方案,并进行比较分析,最终找到较优的方案。方案一、采用异步电路,数据选择器将时钟信号输给秒模块,秒模块的进位输给分模块,分模块进位输入给时模块,切换的时候使用2选1数据选择器进行切换,电路框图如下:图 3-1 方案一框图该方案的优点是模块内部简单,基本不需要额外的电路,但缺点也很明显,该方案结构不清晰,模块间关系混乱,模块外还需使用较多门电路,不利于功能扩充,且使用了异步电路,计数在59的时候,高一级马上进位,故本次设计不采用此方案。方案二、采用同步电路,总线结构时钟信号分别加到各个模块,各个模块功能相对独立,框图

31、如下:图 3-2 方案二框图该方案用总线结构,主要功能集中在模块内部,模块功能较为独立,模块间连线简单,易于扩展,本次设计采用此方案。综上所述,本次设计采用方案二。秒计数和分计数为60进制,时计数为24进制,为了简化设计,秒和分计数采用同一单元。控制模块有两部分,一为实现调整切换,二为实现显示切换。现对本方案中的各个主要功能模块的接口定义如下:60进制模块(电路图中模块名称为60count,下同。)实现同步60进制计数,可调整电源5v 时钟信号输入接1Hz的信号源进位输入接秒的进位信号,实现秒功能时,接低电平。进位输出秒模块接分模块,分模块接时模块显示输出接到显示总线,能闪烁闹钟比较信号输出接

32、到闹钟,秒模块悬空整点报时信号输出接到响铃,实现3短1长响铃调整使能端入0有效,有效时,显示信号输出,同时屏蔽进位输入和进位输出,允许调整信号输入。显示使能端入0有效调整信号输入24进制模块(24count):实现同步24进制计数,可调整电源,时钟信号同上进位输入接分的进位信号进位输出秒模块接分模块,分模块接时模块显示输出同上闹钟比较信号输出接到闹钟调整使能端,显示使能端,调整信号输入同上闹钟模块(60clock,24clock):实现可与时钟比较,并输出闹铃信号,可调整电源,时钟信号同上闹钟比较信号输入秒模块接分模块,分模块接时模块显示输出同上闹铃输出接到蜂鸣器调整使能端,显示使能端,调整信号输入同上控制模块(fun,func):管理总线资源,对各个模块输出控制信号电源5v VCC

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2