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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于VHDL语言的两位数简易记分板设计.docx

1、基于VHDL语言的两位数简易记分板设计本科毕业设计( 2015 届 )题 目: 基于VHDL语言的两位数简易记分板设计 学 院: 机电工程学院 专 业: 自动化 学生姓名: 学号: 指导教师: 职称(学位): 合作导师: 职称(学位): 完成时间: 2015 年 05 月 25 日 成 绩: 黄山学院教务处制学位论文原创性声明兹呈交的学位论文,是本人在指导老师指导下独立完成的研究成果。本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明确方式标明。本人依法享有和承担由此论文而产生的权利和责任。声明人(签名):年 月 日黄山学院本科毕业设计说明书正文基于VHDL语言的两位数简易记分板设计

2、机电工程学院 自动化专业 指导老师:摘要:目前市场上销售的记分器大都是依据单片机技术的制造的,它的主要器件是单片机,并且它的编码器及解码器是由单片机内部的软件生成的。在实际应用中,由于种种未知的因素可能导致程序出现运行不稳定的现象,从而导致系统的可靠性随时受到严重的威胁。而基于EDA技术设计的记分器,它的系统完全由FPGA构成,系统要求实现的功能全部由FPGA内部的硬件来提供,从而大大提高了系统工作的稳定性和可靠性。FPGA的最重要的特色就是它具有现场可编程功能,所以如果需要对设计进行修改,不必重新设计系统,只需更改芯片内部的控制和接口电路,再利用EDA软件将更新后的设计程序下载到FPGA中即

3、可,无需更改外部电路的设计。本论文详细阐述了运用EDA技术结合FPGA芯片在MAX+Plus II开发环境下设计两位数简易记分板的方法。记分板的功能有:加分、减分、清零以及鸣叫提示。将设计好的程序下载到FPGA芯片中进行验证,完全符合本论文的设计要求。可以看出,FPGA芯片与VHDL硬件描述语言相结合不仅简化了电路的设计、降低了编程的难度,而且大大缩短了产品开发的周期,提高了产品的竞争力。关键词:EDA技术;FPGA;VHDL;MAX+Plus II;记分板Design Simple Two Digit Scoreboard Based on EDA TechnologyChen Guitin

4、g Director: Zhao Nianshun(School of Mechanical and Electrical Engineering, Huangshan Univercity,China,245041) Abstract:The scoreboard on the market are mostly based on the manufacturing of microcomputer technology, its main device is a single chip, and the encoder and decoder which is generated by t

5、he internal microcontroller software. In practical applications, due to various factors may lead to unknown program appears unstable phenomenon, which leads to the reliability of the system at any time under serious threat. The scoring device based on EDA, the system is completely composed of FPGA,

6、system requirements to achieve all functions provided by the FPGA internal hardware, which greatly improves the stability and reliability of the system. The most important feature of FPGA is that it has a field programmable function, so if you need to modify the design, do not have to redesign the s

7、ystem, only need to change the control and interface circuit inside the chip, then download the updated design program to FPGA you can use EDA software, without changing the external circuit design.This paper describes the method of combining FPGA chip design a simple two digit scoreboard in the MAX

8、+Plus II development environment using EDA technology. The scoreboard features: plus, minus, and zero promptsthe. The program is downloaded to the FPGA chip verification, fully meet the requirements of this design. As you can see, the FPGA chip and the VHDL hardware description language combination

9、not only simplifies the circuit design, reduce the difficulty of programming, but also greatly shorten the product development cycle, improve the competitiveness of products.Key Words:EDA Technology;The scoreboard;FPGA;VHDL;MAX+Plus II1 引言1.1 研究背景20世纪60年代中期,电子设计自动化(Electronic Design Automation,缩写:ED

10、A)技术从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来1。它以计算机为工具,设计者只需使用EDA软件开发环境,使用硬件描述语言完成设计文件,剩下的任务就交给计算机,由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。在这种情况下,FPGA(FieldProgrammable Gate Array,即现场可编程门阵列)器件应运而生2。由于FPGA具有现场可编程功能,所以,当系统的功能需要更改时,我们可以不用修改外围电路结构,只需更改FPGA中的控制电

11、路和接口电路,然后利用EDA工具将更新后的程序下载到FPGA中即可,这不仅大大提高了设计的效率以及使用的成本。还大大提高了电路设计的效率和可操作性、减轻了设计者的劳动强度、同时也大大缩短了产品的开发周期、提升了产品的竞争能力3。1.2 选题的目的和意义大到奥运比赛小到班级的比赛,记分板始终扮演着举足轻重的角色。为了体现出比赛的公正、公平,其质量的重要性显得尤为突出。目前使用的记分器大部分是基于单片机技术制造的,其编码器与解码器的生成方式是单片机内部的软件编译后生成的。在实际应用中,由于程序可能不稳定,从而影响系统的可靠性。而基于现场可编程逻辑门阵列FPGA器件制造的记分器则不会发生这种情况,它

12、采用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高4。2 系统方案的拟定 2.1 EDA软件的选择本设计所选用的EDA软件是MAX+Plus II。它是Altera公司提供的上一代FPGA开发集成环境。由于它的操作界面友好,操作方式简单,一度被誉为业内最简单、最好用的EDA软件之一。它主要有以下几个优点:(1)开放的界面Max+plus支持与Cadence、Mentor Graphics等公司所提供的EDA工具接口。(2)与结构无关Max+plus系统的核心编译器支持阿尔特拉公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX700

13、0、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。(3)丰富的设计库该软件为开发者提供了丰富的库单元,其中包括多种特殊的逻辑功能块和74系列的全部器件以及新型的参数化的兆功能。(4)硬件多种描述语言(HDL)支持各种HDL设计输入选项,包括VHDL、Verilog HDL以及Altera公司自己的硬件描述语言AHDL。 2.2 硬件描述语言的选择硬件描述语言(英文:Hardware Description Language,简称:HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。利用硬件描述语言,数字电路系统的设计可以从顶层到底层(

14、从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统5。HDL发展至今已有20多年的历史,截止到上世纪80年代,许多大公司都先后推出了具有自己特色的硬件描述语言,这对电子设计自动化行业起到了极大的促进作用。但是,各大公司自己的硬件描述语言一般都只适用于自己的设计领域和层次,而且种类繁多的开发语言使得开发者左右为难。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。在这种环境驱使下,VHDL和Verilog HDL语言从中脱颖而出,先后成为IEEE标准6。行为级抽象建模的覆盖面范围的能力是VHDL和Verilog HDL的一大区别,具体体现在:

15、Verilog HDL在系统级抽象方面要略差一些,而在门级开关电路描述方面要强的多。至于别的方面二者的功能都不分伯仲,谈不上孰优孰劣。由于本人首先接触的是VHDL,对其有一定的了解,所以,本次设计采用的是VHDL语言。 2.3 记分板系统的设计 (1)系统的功能 两位分数00-99显示、加分、减分。 分数清零同时蜂鸣器鸣叫提示。 (2)系统的设计EDA技术采用的是“自顶向下”(Top-Down)的设计方法,所以,首要任务就是分析整个系统的结构,然后根据结构的特点将其分成若干个子模块,然后对这些子模块进行分析、设计和验证,当子模块都设计成功后,再将一个个小的子模块联合在一起形成一个完整的系统。再

16、对系统进行修改和验证,直到设计完成7。结构原理图如图2-1所示:图2-1 系统结构框图如图2-1,外部时钟源由于其频率太高,不能直接用于FPGA内部的各功能模块所以需要对其进行分频;按键信号由于具有抖动性,所以要对其进行去抖才能将信号送入FPGA中的模块进行使用;译码模块是驱动数码管显示的模块。3 软件设计本章共分三个小节来介绍记分板软件部分的设计。第一节阐述了分频器的原理应用以及软件的实现;第二节描述了去抖模块的原理以及用VHDL语言如何去实现;第三节介绍了数码管的显示原理应用范围以及使用软件的方法来驱动数码管显示我们需要显示的内容。 3.1 偶数分频器模块的设计(1)原理对于偶数2N分频,

17、通常是由模N计数器实现一个占空比为1:1的2N分频器,分频输出信号在计数器的值达到模N时自动使其取反。(2)程序设计 首先,打开程序,进入MAX+Plus II的开发环境,然后点击File菜单出现下拉菜单,如图3-1。然后点击新建选项“NEW”出现图3-2所示文件类型选择界面。图3-1 文件选项下拉菜单 选择第三项,点击OK,就可新建一个文本文件,如图3-3所示。然后保存文件,首先选择需要保存的目录,之后为文件重命名,后缀为.vhd,并在下方下拉菜单中选择.vhd,最后单击OK即可保存文件。注意:文件名与实体名应一致!图3-2 文件类型选择菜单图3-3 文本编辑界面文件保存成功后,就开始在此界

18、面编辑VHDL程序,如图3-4所示。下面就程序的主要部分进行分析:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;以上四个语句是VHDL语言的库和程序包的声明。库的声明格式为: LIBRARY 库名; 程序包的声明格式为:USE LIBRARY 库名.程序包名.项目名;库是存储和放置可编译设计单元的地方,程序包包含的资源主要有:常数说明、数据类型说明、元件语句定义、子程序定义和其他说明。这些资源对引用它的设计单元都是可见的。 entity

19、fenpin is generic(n:integer:=1 ); port(clkin1:in std_logic; clkout:out std_logic; res:in std_logic ); end entity fenpin;这部分是分频模块的实体声明部分,用来描述该实体与外部电路的接口。clkin是外部时钟源的输入端口,clkout是分频后的信号输出端口,res是复位按键信号输入。generic语句是类属参数传递语句,它的作用是在不同层次设计模块之间传递信息和参数。在本段程序中,修改n的值即可改变分频器的分频数8。architecture a of fenpin is sign

20、al clkq:std_logic:=0; signal leijia:std_logic_vector(30 downto 0):=(others=0);begin process(clkin1,res) begin if res=0 then leijia0); clkq=0; else if(clkin1event and clkin1=1)then if(leijia=n-1) then leijia0); clkq=not clkq; else leijia=leijia+1; end if; end if; end if; end process;clkout=clkq;end a

21、rchitecture a;这部分是分频模块的结构体说明部分,放在实体说明后面,它的功能是描述设计实体的结构或行为,从功能上对实体进行描述。在该部分中,结构体的描述方式为“行为描述”,并且定义了两个信号,一个是“leijia”信号,用来对外部时钟的脉冲进行计数,一个是“clkq”,因为输出信号“clkout”不能进行运算操作,所以它起到了运算并存储中间数据的作用。当计数达到N-1时,通过语句“clkq”将其移动到右边窗口。图3-9 端口选择画面 单击ok出现图3-10的画面。选中输入信号clkin设置其时序图,点击图3-10中被圈出的那个图标,出现时序设置窗口,设置完成后单击OK10。保存设置

22、后开始仿真。图3-10 波形设置窗口 如图3-11所示,选择File菜单中的Simulator选项,弹出右边的编译窗口,单击Start开始仿真,完成后点击Open SCF选项。出现图3-12所示界面。观察生成的时序图是否与预期一致。若一致则说明程序完全符合要求,否则再重新修改、编译、仿真,直至时序图符合要求。图3-11 仿真启动界面图3-12 仿真时序图 从图3-12中可以直观地看出这是一个二分频的分频器,每当clkin的上升沿到来时,clkout的电平都会发生反转,另外,当复位信号res有效时,clkout的电平立即复位11。所以,可以得出本次设计符合预期要求这一结论。 3.2 按键去抖模块

23、的设计 (1)原理 我们经常用到的按键大都是利用“弹性形变”的原理制作的开关,当按下或释放按钮时,由于机械触点发生的是弹性形变,它总是阻止触点的形态产生变化,从而产生一定的抖动,这个短暂的抖动使得按钮在吸合时不会瞬时稳定地连接,在断开时同样不会瞬间地分离,如图3-13所示。而按钮产生抖动时间的长短取决于它的机械性质,一般为5ms10ms12。按钮的抖动会让CPU无法判断按钮是否确实按下,从而产生一系列的误动作。为了确保CPU能时刻准确地判断按钮的状态,必须对按钮实施去抖措施。即CPU必须在键值稳定时才读取其状态,在抖动时不做任何处理。这种措施就是按键去抖。有两种方式来消除按钮的抖动,即硬件去抖

24、和软件去抖。当按键的数目较少时,适合使用硬件去抖,当按键数目较多时,软件去抖则更加方便。本课题使用的是软件消抖,即使用VHDL语言编写去抖程序,基本原理如下:事先规定,按键未按下时为高电平1,按键按下时为低电平0。键值扫描脉冲反复扫描按钮当前的状态,若检测到按钮当前的输入值为0时,延时5ms10ms,再次检测,如果键值还是0,那么就认为有按键按下。反之则认为是抖动,程序不做任何处理,继续扫描按键状态。而延时的5ms10ms这段时间间隙刚好好避开了按钮的抖动时间,达到了去抖的目的13。图3-13 按键抖动示意图 (2)程序设计如图3-1到3-5所示步骤新建一个文本编辑文件,保存后在其中编写去抖程

25、序,完成后如图3-14所示。图3-14 去抖程序编辑窗口下面对去抖程序中去除抖动的进程进行分析:process(clk_200hz) variable count:integer range 0 to 3; variable count1:integer range 0 to 1;begin if clk_200hzevent and clk_200hz=1 then if anjian_in=0 then if count=2 then count:=0; anjian_out=0; else count:=count+1; end if; else count:=0; anjian_out led1 led1 led1 led1=B1111001; when

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

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