电子科技大学数字式秒表设计与实现实验报告.doc
《电子科技大学数字式秒表设计与实现实验报告.doc》由会员分享,可在线阅读,更多相关《电子科技大学数字式秒表设计与实现实验报告.doc(32页珍藏版)》请在咨信网上搜索。
1、摘要数字式秒表设计与实现 指导老师: 姓名:学号:摘 要 本文主要介绍了基于FPGA使用VHDL语言的数字式秒表的设计开发流程。该设计以VHDL作为硬件开发语言,以ISE作为软件开发平台,成功的实现了数字式秒表的计数、清零、暂停等功能。并使用了ModelSim仿真软件对各个单元电路模块进行了仿真,且完成了综合布局布线,最终下载到电路板上,实际测试结果良好。关键字:FPGA,VHDL,数字目录数字式秒表设计与实现1第一章引言41.1 选题背景41.2 实验方式41.3 技能培养4第二章基于FPGA的VHDL设计流程52.1概述52.2VHDL语言介绍52.2.1VHDL的特点52.2.2VHDL
2、开发流程62.3FPGA开发介绍82.3.1FPGA简介82.3.2FPGA开发流程8第三章 数字式秒表的软件开发环境103.1开发环境103.2ModelSim介绍103.3 ISE介绍11第四章数字式秒表的设计与实现124.1任务要求124.2实验条件124.3原理框图134.4各模块的实现134.4.1分频器134.4.2输入控制电路144.4.3计时模块164.4.4显示模块184.5分配引脚和下载实现194.6测试结果20第五章 结论21参考文献22致谢23附录24附录1.电子秒表的顶文件24附录2分频器28附录3消抖电路28附录4 控制电路29附录5 十进制计数器30附录9 锁存器
3、30附录10 显示电路31第一章引言1.1 选题背景电子技术综合实验课程通过引入模拟电子技术和数字逻辑设计的综合应用、基于MCU/FPGA/EDA技术的系统设计等综合型设计型实验,对学生进行电子系统综合设计与实践能力的训练与培养。 通过电子技术综合实验课程的学习,使学生对系统设计原理、主要性能参数的选择原则、单元电路和系统电路设计方法及仿真技术、测试方法拟定及调测技术有所了解;使学生初步掌握电子技术中应用开发的一般流程,初步建立起有关系统设计的基本概念,掌握其基本设计方法,为将来从事电子技术应用和研究工作打下基础。1.2 实验方式n 教师引导下的自主实验n 设计的全过程:方案、电路设计与仿真、
4、设计与实现、测试与调整、总结报告1.3 技能培养n 数字电路的综合设计应用n HDL语言 n FPGA应用 n EDA软件:ISE、Modelsimn 硬件电路制作或设计,调整与实现n 设计文档撰写 n 资料查阅第三章 电子秒表的软件开发环境 第二章基于FPGA的VHDL设计流程第2章2.1 概述数字秒表是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。秒表的设计有传统方法和现代方法,传统的设计方法耗时耗功,设计强度大,且容易出错,设计的质量不一定是最好的。自然我们考虑到现代方法,即EDA。在EDA设计工具中,用的最广泛的是
5、VHDL和VERILOG,当然还有其它的。比较VHDL和VERILOG,在顶层设计方面VHDL优于VERILOG,在门级电路设计方面VERILOG优于VHDL。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。本次的数字式秒表设计主要是先顶层设计,将秒表的除了外部输入部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字式秒表具有高速、精确、可靠、抗干扰性强和现场可编程等优点。2.2 VHDL语言
6、介绍VHDL语言是一种硬件描述语言(Hardware DescriptionLanguage,HDL),主要用在可编程逻辑器件(CPLDFPGA)和专用集成电路(ASIC)两个领域。写好的VHDL程序既可以下载到可编程逻辑器件中实现电路功能,又可以提交到工厂用于ASIC芯片的流片。VHDL主要用于描述数字系统的结构、行为、功能和接口。VHDL程序结构的特点是将一项工程设计或设计实体(可以是元件、电路模块或系统)分成外部和内部两部分,外部即可视部分,对设计实体和端口引脚进行声明;内部即不可视部分,描述模块的功能和算法。VHDL从实体与外部的接口以及实体内部的功能与结构这两个方面来描述实体,设计实
7、体定义成功后就可生成共享功能模块。在顶层综合或其他设计中就可以直接调用这个实体模块。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.2.1 VHDL的特点VHDL的特点:具有更强的行为描述能力VHDL的硬件描述能力很强,可以用于从门级、电路级直至系统级的描述、仿真、综合和调试,从逻辑功能和行为上描述和设计大规模系统,避开了具体器件内部结构。支持层次化和模块化设计这是运用EDA工具进行电路和系统设计区别于传统设计方法的重要方面,简化了系统设计,优化了系统结构,提高了系统可靠性。可仿真与可综合仿真是指代码模拟硬件的行为,综合是指将代码转化成可物理实现的电路结构。所有的VHDL语句都
8、能用于仿真,但有一部分VHDL语句不能进行综合、翻译成与之对应的硬件电路,并在逻辑器件上实现。VHDL强大的仿真建模功能使设计者能在系统设计的各个阶段都能十分方便地对数字系统进行仿真验证。系统设计与硬件结构无关VHDL语言对设计的描述具有相对独立性,设计者可以进行独立的设计,可以不懂硬件的结构,也不必了解最终设计实现的目标器件是什么。具有很强的移植能力VHDL语言描述的设计通用性好,可以被支持VHDL标准的不同工具所支持,具有很强的移植能力。VHDL本身的生命周期长。VHDL的硬件描述与工艺无关,不会因工艺变化而过时,而且与工艺技术有关的参数可以用VHDL提供的属性加以描述,当生产工艺改变时,
9、只需修改程序中相应属性参数即可。VHDL语言具有强大的语言功能、硬件描述能力和移植能力及设计与器件无关的特性,并且VHDL语言程序易于共享和复用,因此得到了十分广泛的应用。2.2.2 VHDL开发流程采用VHDL语言对硬件电路进行描述的过程应该遵循一定的流程,通常情况下,其流程如图2.2.2-1所示。图2.2.2-1 VHDL设计电路从流程图可以看出,采用VHDL语言进行硬件电路设计的开发步骤主要包括以下几步:接受电路设计任务在进行硬件电路系统设计之前,首先作出总体设计方案,然后给出相应的硬件电路系统设计指标,最后将总体方案中各部分电路设计任务和要求下达给相应的设计部门。确定电路具体功能设计人
10、员要具体分析电路的设计要求,确定其要实现的具体功能。划分模块、编写程序利用VHDL语言设计硬件电路通常采用自顶向下的设计方法,从电路设计的总体要求出发,先确定顶层模块并进行顶层模块的设计,然后将顶层模块划分为不同的完成一定逻辑功能的子功能模块,最后再详细设计子功能模块。模块划分的好坏将会直接影响到最终的电路设计,设计人员在这一步应该花费一定的时间,保证模块划分的最优化。VHDL语言程序模拟VHDL语言程序模拟即功能仿真,是利用仿真软件对设计的逻辑功能进行验证,可以在设计的早期发现电路设计上的缺陷和错误,节省设计时间、缩短开发周期。综合、优化和布局布线综合的作用简单的说就将电路设计的较高级抽象层
11、次的VHDL语言描述转化成底层电路表示。优化的作用是将电路设计的时延缩到最小和有效利用资源。布局布线的作用是将通过综合和优化所得到的逻辑规划到一个逻辑器件的逻辑结构中,然后将各逻辑单元放置到相应优化的位置,最后再进行逻辑单元之间、逻辑单元和IO之间的布线,以消除布线延迟。布局布线后的程序模拟布局布线后的程序模拟又称后仿真,既验证设计的逻辑功能,又验证时序。如果时序不能满足要求,就需要回到前面的步骤重新进行操作。生成器件编程文件和进行器件编程顾名思义,器件编程是针对可编程逻辑器件进行的操作,具体过程是:将设计描述经过编译、综合、优化和布局布线的结果,经过一定的映射转化成一个器件编程所用的数据文件
12、格式,然后通过烧片器或者下载电缆将数据文件下载到指定的可编程逻辑器件中去的过程。2.3 FPGA开发介绍2.3.1 FPGA简介FPGA是20世纪90年代发展起来的,其密度已超过25X 104 f-JA平,内部门延时小于3ns。这种器件完成某种特定的功能是完全由用户通过软件进行配置和编程来实现的,而且可以反复擦写,它具有芯片逻辑资源丰富、成本低、功耗小等优势。此外,它的另一个突出特点是现场编程,在FPGA工作的现场,可以不通过计算机把存于FPGA外的ROM中的编程数据加载给FPGA,通过简单的设备就能改变FPGA中的编程数据,从而改变FPGA执行的逻辑功能。这种方法也叫做ICR(ha Circ
13、uit Reconfiguration,在电路上直接配置)编程。FPGA的这个特点为工程技术人员维修、改进、更新电路逻辑功能提供了方便。大部分FPGA采用基于SRAM的查找表(LUT,LookUpTable)结构。查找表本质上就是一个RAM。若逻辑函数具有11个输入项的话,就需要由输入个数为n、容量为2n个位的RAM单元存放函数值,RAM的地址线起输入线的作用,地址即输入变量,RAM输出为逻辑函数值。每输入一个信号进行逻辑运算就等于输入一个地址进行查表,地址所对应的内容就是输出。2.3.2 FPGA开发流程图2.3.2-1 FPGA开发流程对于目标器件为FPGA和CPLD的HDL设计,其工程设
14、计的基本流程如图图2.3.2-1所示。现具体说明如下:1、文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件2、功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)3、逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。4、布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5、时序仿真:需要利用在布局布线中获得的精确参数
15、,用仿真软件验证电路的时序。(也叫后仿真)6、编程下载:确认仿真无误后,将文件下载到芯片中7、硬件测试:硬件测试的目的是为了在更真实的环境中检验HDL设计的运行情况,特别是对于HDL程序设计上不是十分规范,语义上含有一定歧义的程序。第三章 数字式秒表的软件开发环境本章主要介绍项目中将要用到了一系列软件,包括用于VHDL语言编写和编译的ISE软件和用于程序仿真的仿真软件ModelSim。3.1开发环境在考虑各种情况后,在本次设计中,由于选择的FPGA芯片是由Xilinx公司生产的,所以我们主要使用ModelSim和ISE软件进行仿真和综合。3.2ModelSim介绍ModelSim是业界最优秀的
16、HDL语言仿真器,它提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGAASIC设计的RTL级和门级电路仿真的首选,它采用直接优化的编译技术、TcFTk技术、单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持VHDL和Verilog语言的IEEE标准,支持CC+功能调用和调试。ModelSim专业版,具有快速的仿真性能和最先进的调试能力,全面支持UNIX(包括64位)、Linux和Windows平台。主要特点:RTL和门级优化,本地编译结构,编译仿真速度快;单内核
17、VHDL和Verilog混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖等功能;数据流ChaseX;Signal Spy;C和TclTk接121,C调试。是业界唯一单一内核支持VHDL、Verilog HDL和SystemC混合仿真的仿真器。同时也支持业界最广泛的标准如Verilog 2001、SystemVerilog等,内部集成了用于CC+,PLIFLI和SystemC的集成C调试器。支持众多的ASIC和FPGA厂家库,可以用于FPGA和ASIC设计的RTL级和门级电路仿真。ModelSiml8J最大的特点是其强大的调试功能:先进的数据流窗121,可以迅速追踪到产生
18、不定或者错误状态的原因;性能分析工具帮助分析性能瓶颈,加速仿真;代码覆盖率检查确保测试的完备;多种模式的波形比较功能;先进的Signal Spy功能,可以方便地访问VHDL或者VHDL和Verilog混合设计中的底层信号;支持加密IP;可以实现与Matlab的Simulink的联合仿真。ModelSim分几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本而集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版
19、本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSimXE快近40倍。3.3 ISE介绍ISEt是Xilinx公司提供的集成化FPGA开发软件,它的主要功能包括设计输入、综合、仿真、实现和下载。(1)设计输入ISE软件提供的设计输入工具包括用于HDL代码输入和报告查看的ISE文本编辑器(TextEditor),用于原理图编辑的工具ECS(Engineering CaptureSystem),用于P CORE的COREGenerator,用于状态机设计的St
20、ateCAD,以及用于约束文件编辑的Constraint Editor等。(2)综合ISE的综合工具不但包括了Xilinx自身提供的综合工具xsr,同时还可以集成MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify。(3)仿真ISE本身自带了图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用ModelTechnology公司的ModelSim进行仿真的接口。(4)实现ISE的实现功能包括了翻译(Translate)、映射(Map)、布局布线(Place andRoute)等。(5)下载下载功能包括了BitGen,用于将
21、布局布线后的设计文件转换为比特流(Bitstream)文件。还包括了iMPACT功能,用于进行设备配置和通信,控制将程序烧写到FPGA芯片中去。使用ISE进行FPGA开发大致可以分为3个步骤。(1)设计输入和仿真设计输入(Design Entry)是指以HDL代码、原理图、波形图以及状态机的形式输入设汁源文件,而设计仿真(Simdmion)是指通过仿真工具对设计的整体模块或局部模块进行仿真来检验设计的功能和性能。(2)用户约束条件、综合和实现用户约束条件(User Constraints)的作用是对综合、实现过程进行控制,满足速度、面积、引脚位置等需求。编辑约束条件又包括了4个子项,意义分别为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 数字式 秒表 设计 实现 实验 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。