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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VHDL语言10进制计数器.docx

1、VHDL语言10进制计数器 课程设计任务书学生姓名: 黄思羽 专业班级: 自动化0607 指导教师: 李向舜 工作单位: 自动化学院 题 目: 10进制计数器 初始条件:1.以上版本软件;2.课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术与VHDL”、“EDA与数字系统设计”等;3.先修课程:电路、电子设计EDA、电子技术基础等。4.要紧涉及的知识点: 门电路、组合逻辑电路、时序逻辑电路等。要求完成的要紧任务: (包括课程设计工作量及其技术要求,和说明书撰写等具体要求)1.课程设计时刻:1周;2.课程设计内容:依照指导教师给定的题目,按规定选择其中1套完成; 3

2、.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部份的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(仿真结果),并对实验结果进行分析和总结。具体设计要求包括:1温习EDA的相关技术与方式;2把握VHDL或Verilog语言,并要求能编写程序。3Quartus软件的利用:把握程序编辑、编译、调试、仿真方式。4设计相关简单的电路,完成既定的功能。4.课程设计说明书按学校“课程设计工作标准”中的“统一书写格式”撰写,具体包括:1目录;2计数器相关的理论分析、归纳和总结;310进制计数器的结构

3、组成及原理分析。4程序设计框图、程序代码(含注释);5给出程序中要紧函数或语句的功能说明和利用说明;6给出程序仿真运行结果和图表、和实验结果分析和总结;7课程设计的心得体会(至少500字);8参考文献;9其它必要内容等。时刻安排:具体时间设计内容8月3日指导老师就课程设计内容、设计要求、进度安排、评分标准等做具体介绍。学生确定选题,明确设计要求8月4日开始查阅资料,完成相关电路原理分析、代码或原理图设计。8月5日采用VHDL或Verilog语言编程,上机调试,得出实验结果8月6日撰写课程设计说明书8月7日上交课程设计说明书,并进行答辩 指导教师签名: 年 月 日系主任(或责任教师)签名: 年

4、月 日摘 要本次能力拓展训练是作出一个十进制加法计数器,递增计数,有进位、清零、维持功能。需要按要求编写出十进制计数器的VHDL程序,调试、编译程序并绘制出仿真波形图,结果应能实现计数功能。本次能力拓展训练意义在于温习EDA的相关技术与方式;把握VHDL或Verilog语言,并要求能编写程序。Quartus软件的利用:把握程序编辑、编译、调试、仿真方式。 关键词:十进制计数器 VHDL Quartus II 十进制计数器1设计内容与要求设计一个10进制计数器,对计数器相关的理论进行分析、归纳和总结;10进制计数器的结构组成及原理分析。程序设计框图、程序代码(含注释);给出程序中要紧函数或语句的

5、功能说明和利用说明;给出程序仿真运行结果和图表、和实验结果分析和总结。具体设计要求包括:温习EDA的相关技术与方式;把握VHDL或Verilog语言,并要求能编写程序。Quartus软件的利用:把握程序编辑、编译、调试、仿真方式。设计相关简单的电路,完成既定的功能。2 VHDL语言介绍VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年末,VHDL被和美国国防部确以为标准硬件描述语言 。自IEEE发布了VHDL的标准版本,IEEE-1076(简称87版)以后,各EDA公

6、司接踵推出了自己的VHDL设计环境,或宣布自己的设计工具能够和VHDL接口。尔后VHDL在电子设计领域取得了普遍的同意,并慢慢取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,发布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。此刻,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又取得众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家以为,在新的世纪中,VHDL于Verilog语言将承担起大部份的数字系统设计任务。 VHDL语言是一种用于电路设计的高

7、级语言。它在80年代的后期显现。最初是由美国国防部开发出来供美军用来提高设计的靠得住性和缩减开发周期的一种利用范围较小的设计语言 。VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文确实是超高速集成电路硬件描述语言。因此它的应用主若是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。固然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL要紧用于描述数字系统的结构,行为,功能和接口。除含有许多具有硬件特点的语句外,VHDL

8、的语言形式和描述风格与句法是十分类似于一样的运算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(能够是一个元件,一个电路模块或一个系统)分成外部(或称可是部份,及端口)和内部(或称不可视部份),既涉及实体的内部功能和算法完成部份。在对一个设计实体概念了外部界面后,一旦其内部开发完成后,其他的设计就能够够直接挪用那个实体。这种将设计实体分成内外部份的概念是VHDL系统设计的大体点 与其他硬件描述语言相较,VHDL具有以下特点:功能壮大、设计灵活。VHDL具有功能壮大的语言结构,能够用简练明确的源代码来描述复杂的逻辑操纵。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级

9、描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。VHDL还支持各类设计方式,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。支持普遍、易于修改。由于VHDL已经成为IEEE标准所标准的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推行和普遍应用奠定了基础。在硬件电路设计进程中,要紧的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,因此易于修改设计。壮大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既能够描述系统级电路,又能够描述门级电路。而描述既能够采纳行为描述、寄放器传输描

10、述或结构描述,也能够采纳三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还能够准确地成立硬件电路模型。VHDL支持预概念的和自概念的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。独立于器件的设计、与工艺无关。设计人员用VHDL进行设计时,不需要第一考虑选择完成设计的器件,就能够够集中精力进行设计的优化。当设计描述完成后,能够用多种不同的器件结构来实现其功能。很强的移植能力。VHDL是一种标准化的硬件描述语言,同一个设计描述能够被不同的工具所支持,使得设计描述的移植成为可能。易于共享和复用。VHDL采纳基于库(Library)的设计方式,能够成立各类

11、可再次利用的模块。这些模块能够预先设计或利用以前设计中的存档模块,将这些模块寄存到库中,就能够够在以后的设计中进行复用,能够使设计功效在设计人员之间进行交流和共享,减少硬件电路设计。3 计数器设计 设计原理计数器的输入信号是计数信号(Clk),门控信号是手动清零信号(Rest)、手动许诺计数(En)。清零信号Rest为1时,维持在异步清零状态,计数脉冲上升沿无效;许诺计数端为0时,为维持状态,这时维持至最后一个计数,计数脉冲上升沿无效;清零信号为0,许诺计数信号为1时,计数器上升沿脉冲计数。计数器的逻辑功能表如表3-1所示:表3-1 计数器的逻辑功能表控制端工作状态Clk(计数脉冲)En(允许

12、计数信号)Rest(清零信号)XX1异步清零上升沿10计数X00保持输出总线信号是二进制BCD码输出(Dout)一个进位输出端Cy。当计数器输出00001000时,Cy=0,只有当计数器输出1001时,Cy=1。以上分析可知,能够完全完成10进制计数功能。 程序设计框图10进制计数器程序的流程能够如此表达:第一判定是不是处于异步清零状态,假设是,那么计数位和进位信号都是0;假设不是,那么继续判定计数脉冲是不是达到上升沿,并判定手动许诺计数信号是不是为1,假设是,那么可开始计数,计数信号达到9之前,持续累加1,达到9以后,清零并进位1。接着继续进入程序进行运算。10进制计数器程序的流程图如图3-

13、1所示:图3-1 10进制计数器程序流程图 程序代码设计一个VHDL语言的设计程序描述的是一个电路单元,那个电路单元能够是一个门电路,或是一个计数器,也能够是一个CPU。一段完整的VHDL代码要紧由以下几部份组成:第一部份是程序包,程序包是用 VHDL 语言编写的共享文件,概念在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等,放在文件目录名称为IEEE的程序包库中。 第二部份是程序的实体,概念电路单元的输入/输出引脚信号。程序的实体名称是任意取的,可是必需与VHDL程序的文件名称相同。实体的标识符是ENTITY,实体以 ENTITY开头,以END终止。 第三部份是程序的结

14、构体,具体描述电路的内部结构和逻辑功能。结构体有三种描述方式,别离是行为(BEHAVIOR)描述方式、数据流(DATAFLOW)描述方式和结构(STRUCTURE)描述方式。其中数据流(DATAFLOW)描述方式又称为寄放器描述方式。结构体以标识符ARCHITECTURE开头,以END结尾。 依照上述原那么编写程序代码如下所示:-*-程序包library ieee;use 实体ENTITY cnt10 is-Cn 计数脉冲-Rest 清零信号- En 许诺计数信号-Dout3.0 十进制BCD码- Cy 进位码port(Cn,Rest,En :in std_logic;Dout : out s

15、td_logic_VECTOR ( 3 Downto 0 );Cy : out std_logic);end cnt10 ;-*-结构体architecture sun1 of cnt10 isbeginProcess (Cn,Rest,En)Variable Cqi : std_logic_VECTOR ( 3 Downto 0 );BeginIf Rest =1 Then Cqi :=(Others =0);Cy=0;Elsif CnEvent and Cn=1 thenIf En=1 thenIf Cqi 1001 thenCqi :=Cqi+1; Cy=0; elsif cqi=100

16、1then Cy0);end If;end If;end If;Dout=Cqi;END Process;End sun1;-*IEEE标准库是寄存用VHDL语言编写的多个标准程序包的目录,IEEE库中的程序包有: STD_LOGIC_1164,STD_LOGIC_ARITH,STD_LOGIC_UNSIGNED, 其中 STD_LOGIC_1164是IEEE标准的程序包,概念了STD_LOGIC和STD_LOGIC_VECTOR等多种数据类型,和多种逻辑运算符子程序和数据类型转换子程序等。STD_LOGIC_ARITH和STD_LOGIC_UNSIGNED等程序包是SYNOPSYS公司提供的

17、,包中概念了SIGNED和UNSIGNED数据类型和基于这些数据类型的运算符子程序。用户在用到标准程序包中内容时 , 除 STANDARD 程序包之外 , 都要在设计程序中加以说明 , 第一用 LIBRARY 语句说明程序包所在的库名 , 再用 USE 语句说明具体利用哪 一个程序包和具体的子程序名。实体是VHDL程序设计中最大体的组成部份,在实体中概念了该设计芯片中所需要的输入/输出信号引脚。端口信号名称表示芯片的输入/输出信号的引脚名,这种端口信号通常被称为外部信号,信号的输入/输出状态被称为端口模式,在实体中还概念信号的数据类型。端口信号名称能够表示一个信号,也能够表示一组信号(BUS)

18、,由数据类型概念。EN,REST,CN,Cy 别离表示计数许诺信号、异步清零信号、时钟输入信号和进位输出信号。Dout是一组输出信号,用来表示四位同步二进制计数器的四位计数输出信号。端口信号输入/输出状态IN/OUT别离表示信号进入电路单元和信号从电路单元输出。结构体是VHDL程序设计中的最要紧组成部份,是描述设计单元的具体结构和功能,程序中,结构体放在实体的后面。每一个结构体都出名称,结构体的名称是由设计者任取的,结构体是以标识符ARCHITECTURE开头,以END结尾。不同的结构体采纳不同的描述语句。 ARCHITECTURE结构体名OF实体名称IS 说明语句BEGIN 电路描述语句EN

19、D 结构体名 ; 结构体说明语句是对结构体顶用到的数据对象的数据类型、元件和子程序等加以说明。电路描述语句用并行语句来描述电路的各类功能,这些并行语句包括并行信号赋值语句、条件赋值(WHEN-ELSE)语句、进程(PROCESS)语句和子程序挪用语句等。结构体的名称是sun1,该结构体属于行为描述方式,采纳多种描述语句,如进程(PROCRESS)语句、条件赋值语句(WHEN-ELSE)、顺序语句(IF-ELSE)等。 4 程序仿真 仿真软件介绍Altera QuartusII 作为一种可编程逻辑的设计环境,由于其壮大的设计能力和直观易用的接口,愈来愈受到数字系统设计者的欢迎。QuartusII

20、 design 是最高级和复杂的,用于system on a programmable chip (SOPC)的设计环境。QuartusII design提供完善的timing closure和LogicLock基于块的设计流程。QuartusII design是唯一一个包括以timing closure和基于块的设计流为大体特点的programmable logic device (PLD)的软件。QuartusII设计软件改良了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。Altera Quartu

21、sII(和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师利用一样的低价位工具对Stratix FPGA进行功能验证和原型设计,又能够设计HardCopy Stratix器件用于批量成品。系统设计者此刻能够用QuartusII软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGrap

22、hics、Synopsys和Synplicity等EDA供给商的开发工具相兼容。改良了软件的LogicLock模块设计功能,增添了FastFit编译选项,推动了网络编辑性能,而且提升了调试能力。 仿真结果打开Quartus ,成立新工程,再新建一个VHDL文件,在该窗口输入源程序,然后对源程序进行编译运行。新建一个波形文件,在波形文件中加入所需观看波形的管脚,给输入管脚趾定仿真波形,编辑待仿真波形文件,如图4-1所示,点击按钮,进行波形仿真。图4-1 带仿真波形图仿真后的10进制计数器波形如图4-2所示:图4-2 十进制计数器仿真波形 仿真结果分析由仿真结果可知,手动许诺计数信号为1,清零信号

23、为0,计数开始。十进制BCD码从0000开始计数,Rest清零信号有效后,计数为7,BCD码为0111,以后计数清零。Rest清零信号为0后,计数再次开始,BCD码由0000到1001,计数由0到9,完成一次计数,以后进位并清零,再次开始。手动计数信号无效后,停止计数,维持最后一名计数值。由上述分析可知,仿真结果完全符合真值表内容,结果正确。5 心得体会这次能力拓展训练历时一个礼拜左右,通过这一个礼拜的学习,发觉了自己的很多不足,自己知识的很多漏洞,看到了自己的实践体会仍是比较缺乏,理论联系实际的能力还急需提高。在一开始题目发下来的时候,本来以为是比较容易的一道题,可是真正做起来才发觉一系列的

24、比较分析其实更具挑战性。在学习EDA这门课的时候,我已经学会了利用Max plusII软件,本以为在做本次训练会简单许多,但事实和想象老是有差距的。编程都是一样,这给我减轻了许多负担,可是在绘制仿真波形图时,却显现了问题,程序编译无错误,可是仿真却不能计数,在认真查阅了相关书籍并调试了多次后,终于出来了结果。通过不断的试探,终于仍是解决了问题。这次能力拓展训练终于完成了,在设计的进程中,能够说算是困难重重。回忆这次能力拓展训练,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一礼拜的日子里,能够说得是苦多于甜,可是能够学到很多很多的的东西,同时不仅能够巩固了以前所学过的知识,而且学到

25、了很多在书本上所没有学到过的知识。这毕竟第一次做的,不免会碰到过各类各样的问题,比如有时候被一些小的,细的问题挡住前进的步伐,让我老是为了解决一个小问题而花费很长的时刻。最后还要查阅其他的书籍才能找出解决的方法。而且我在做设计的进程中发觉有很多东西,也明白了自己的不足的地方,明白自己对以前所学过的知识明白得得不够深刻,把握得不够牢固。通过本次十进制计数器的设计,我对Quartus 的功能有了更深刻的熟悉。同时,一方面熟悉到了自己这学期来学习电子设计自动化这门课有所得,但把握地并非全面,不透彻,关于完成训练来讲还远远不够;同时在设计的进程中发觉了自己的不足的地方,对以前所学过的知识明白得得不够深刻,把握得不够牢固,以后我会加倍尽力。尔后,在学习中,我要端正自己的态度尽力学习,只有如此咱们才能真正的把握好知识。与此同时在设计的进程中取得了指导教师和同窗们的关切和帮忙,才能顺利完本钱次课程设计,在此表示感激。参考文献1侯伯亨、顾新.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2卢毅等.VHDL与数字电路设计.北京: 科学出版社,3李景华、杜玉远.可编程逻辑器件与EDA技术.东北大学出版社, 4谭会生、张昌志.EDA技术及应用.西安电子科技大学出版,5,6潘松,黄蛀生.EDA技术有效教程.北京:科学出版社,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1