课件案例讲稿_第1页
课件案例讲稿_第2页
课件案例讲稿_第3页
课件案例讲稿_第4页
课件案例讲稿_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章第一个完整的工程实践案例第二章介绍了实验平台,了解了一块基于Altera公司的CPLD器件并扩展了丰富外设的HDL语言打下了坚实的基础;而第四章虽是般快速浏览了HDL语法,但也花了些篇幅在语代码风格上。有了电路板,明白了HDL语法和设计的一些技巧,接下来我们就要用第一章提到的EDA工具做些实战的练习。话说“工欲善其事,并先利其器”,FPGA/CPLD开发所涉及的EDA工具的安装和使用比一般的软硬件开发要复杂和麻烦得多,为了帮助广大初因为使用的是Altera公司的器件,所以我们别无选择的锁定了QuartusII这款Altera面设计前期进行验证的最有效。在早期的QuartusII上还能看到集成的仿真功能,可以用力不从心了。因此,现在的QuartusII上已经让这个“鸡肋”功能彻底了,取而代之的是与更专业的MentorGraphics公司合作推出了-Altera版本的仿真工具。其实我们推荐大家使用QuartusII+ -Altera或QuartusII+ SE的搭配就可软件和license申Altera公司的官网也有直接的工具支持,大家可以直接他们的软件支持网 index.html页中,我们可以点击相关的进入页面,如前文提到会使用的QuartusII和 .c/lieatuemana/quartus_install.pdf网络版本无须license,只是部分高级功能受限。如QuartusIIWebEdition申请次数限制,只要每隔60天向他们提交一次申请即可。稍有差异。Fixedlicense是用户根据固定的电脑申请的,只能由于申请的本地PC。floating这个floatinglicense,只不过同时数受到license数量的限制。我们的学习将使用QuartusIIWebEdition和-AlteraStarterEdition。首先要到官方这两个软件。打开QuartusIIWebEdition网页后,如图5.2所示,直接点击12.0sp1quartusfreewindows.exe(默认大家都使用windows系统)进行。 图5.2QuartusIIWebEdition页如果大家是第一次Altera的软件,那么也会弹出如图5.3所示的工具DownloadManager安装提示。建议点击“安装”选项,随后再点击“ClicktoDownloadYourFileNow图5.3选择页 图5.4保存路径设同样的方式,打开-AlteraStarterEdition的页面,如图5.6所示,需要分别选择并12.0__ae_windows.exe和12.0sp1__ae_windows.exe。 接下来我们找到前面软件工具的保存路径,首先安装QuartusIIWebEdition。双击Destinationfolder,只要你确保该路径所在盘符有足够的硬盘空间即可(通常应该是要有3-5G的空间。点击“Install”开始解压。5.8Next下去。当然了,期间有5.8QuartusIIWebEdition安装页面如图5.9所示,QuartusIIWebEdition正在安装中。打开最终安装好的QuartusIIWebEdition5.10常编译使用的情况,笔者也曾遇到过。这里提醒大家注意,如果PC机上安装过其他版本的QuartusIIQuartusIIWebEditionLicenseSetuplicenseTools→LicenseSetup,5.11Licensefile后面是空白的(license,如果设置了某个license路径反而让软件无法使用UseLM_LICENSE_FILEvariable。5.11LicenseSetup接下来我们要分别安装已经好的可执行文件12.0_178_Edition安装过程。图5.13开始菜单打 图 FPGA/CPLD5.15所示。这个流程图是一个相对比较高等级的FPGA/CPLD器件开发流程,从项目的提上议程开始,设计者需要进行FPGA/CPLD器件功能的需求分析,然后进行模块的划分,比较复杂各种设计的约束输入以及也穿插其间。最终在EDA工具上验证无误,则可以生产 过没有关系,我们会简化这个过程,从实际操作角度,以比较级的方式来描绘整个设计的过程。如图5.16所示,这里简单的根据先后顺序将开发步骤分为工程管理、设计输入、QuartusII的新建工程向导完成工程的建立,源代码文件则可以是Verilog的.vVHDL的.vhd文件。设计输入阶段,完成代码的编写和基本语法的检查。实现与验证阶段,则先对RTL级仿真,确认代码实现基本功能后,则进行器件管脚的分配,接最后则是进行板级调试,首先需要通过EDA工具生成前面设计的配置文件,接着完成3当中,用到开发板上的两个按键和一个LED指示灯。如图5.17所示,两个按键在所有可能的四种组合状态下,其控制的LED指示灯状态如下:5.17把这个实例的两个按键作为输入,LED5.1所示的真值LEDIO1时,LED0时,LEDLED110011101000LED=QuartusII12.0sp1WebEdition(32-Bit)图标,或者单击开始→→Altera12.0sp1Build232→QuartusII12.0SP1WebEdition→QuartusII12.0sp1WebEdition,打的QuartusII工程,这个工程的路径名应该只有字母、数字和下划线,不要包含中文和Next进入Directory,Name,Top-LevelEntity页面,如图5.19所示。在该页面中,需要选择一个文件夹用于后续工程生成的所有相关文件,如这里将本实例的工程在了D盘的nameofthetop-leveldesignentityforthisproject?”下输入工程顶层设计文件的名字。通常我们建议工程名和工程顶层文件保持一致,如这里统一命名ex0。接着点击Next,AddFiles通常需要选择添加设计文件(VerilogVHDL文件)到工程中NextFamily&DeviceSetting5.20所示。该页面主要是选择元器件,我们在5.20Family&DeviceSetting5.21EDAToolSetting页面中,可以设置工程各个开发环节中需要用到的第(Altera公司以外)EDA工具,我们只需要设置Simulation工具为-Altera,FormatVerilogHDL即可,其他工具不涉及,因此都默认为<None>。Next继续进入下一页面查看并核对前面设置的结果,也可以直接点击Finish完成工程创建。5.22新工程的Project击OK完成文件创建。5.23实验功能的一段Verilog代码(VHDLVHDL代码5.24所★代码讲解L8:LED指示灯输出信号。如果使用VHDL输入,则对应的VHDL代码如图5.25所示。后则会弹出一个框提示输入文件名和保存路径,默认文件名会和我们所命名的moduleFlowCompilation下的ysis&Elaboration5.26所不得不关注的,因为Error意味着我们的代码有语法错误,后续的编译将无法继续;而warning则不一定是致命的,但很多时候warning中暗藏,很多潜在的问题都可以从这果设计者确认这些warning符合我们的设计要求,那么可以忽略它。最后, FPGA》10的相关内容。为了让大家更好的理解什么是仿真、为什么要做仿真以及如何做testbench,即测试平台,详细的说就是给待验证的设计添加激励,同时观察它的5.27所示,测试平台就是要模拟一个和待验证设计接口应应励观比5.27FPGAFPGA设计中,如果逻辑规模形产生激励是不现实的,观察波形的工作量也是可想而知的。例如,对于一个16位的如图5.28所示,设计的判断不仅可以通过观察对比波形,而且可以灵活的使动比较输出结果。总之,testbench的设计是多种多样的,它的语法也是很随意的,不像为它不需要实现到硬件中,它是运行在PC机上的一段,所以相对RTL级可以做得更容在终端打5.28更高级一些,它们无需实现到最终的硬件中,而是在PC上运行编译来实现相关功能。而testbench设计上了。不过对于一般的设计,我们也不用过分追求更高级的语法,行为级的Verilog足够应付大多数的设计验证。把工作所需的各种接口以及相关文件的关系梳理清楚。具为-Altera,但是我们还需要做更详细的配置。首先我们可以点击菜单栏的Processing→Start→StartTestBenchTemplateWriter,随后弹出提示“TestBenchTemplate如图5.29,我们打开工程路径下的 图5.29测试文图5.30测试代★代码讲解后面的1ps则仿真进度。应用示例见L46的讲解。999.999ns,精确到ps,即此处的小数点后3位。因此是reg型。测试中可以对其进行赋值。因此是wire型。测试中无法对其进行赋值。L43-571000ns分别给两个按键信号完成测试编写,我们接着需要打开菜单栏的Assigement→Settings选项,选择着便弹出下面的窗口。在此窗口中,我们根据实际情况输入TestbenchnameToplevelmoduleintestbenchTestbenchandsimulationfiles下面选择测试窗口的列表中出现了刚才添加的测试相关信息,接着点击OK完成设置。图5.32测试设图5.33完成新测试添5.34CategoryGeneral→EDAToolOptions-Altera软件安装路径(请根据实际安装时的路径进行设置。当QuartusII Tools→RunSimulationTool→RTLSimulation。随后 这是 -Altera软件的工作界面。关于 -Altera软件的基本使用建议大家参考该软件菜单栏Help下自带的一些文档,尤其是 ation里的几个文档-Altera的功能也非常强大实用,如果要详细展开来探讨,恐怕也要专门写本书才可以。限于篇幅,本书也只能是简单的在工程需要时附带的和大家介绍-Altera的因为在QuartusII里,我们做了大量的工作,包括-Altera仿真运行所需的各类文件,主要是被测试代码和测试,那么当我们调用-Altera软件时,它一方面(*.vtkey_left、key_rightled_lightWave窗口5.373个顶层信号key_left、left_rightled_light都在仿真波形中显1000-2000ns时,key_left1和key_right02000-3000ns时,key_left0和key_right系:LED指示灯状态=按键左的键值异或按键右的键值。Assignments→PinplannerI/O管脚进行分配,PinPlanner5.37NodeName列里没有出现顶层文件的5.37PinPlanner5.38接着我们回到QuartusII继续下面的流程。我们可以先对整个工程进行一次全编译,如图5.39所示,既可以点击的“StartCompilation”按钮,也可以在Task→Compilation中点击CompileDesign。5.39编译完成后会在主界面出如图5.40所示的编译报告,左侧罗列了各个阶段的各种设计相关报告,右侧则显示具体内容,默认的FlowSummary报告中则给出了该设计的最主5.405.41所示,在该实例工程中,逻辑资源的使用情况为:1个逻辑单元(Totallogicelements)3I/O管脚(Totalpins。QuartusII中,也提供了门级仿真的一键调用的便利。只要点击菜单栏Tools→Run真时使用的RTLSimulation下面一个选项。5.425.43key_leftkey_right则由高电平变为低电平。理论上,key_left为高,key_right为低时,led_light应该为高电平,而波形的实际状况却是key_right拉低大约9.5ns后led_light才由低电平上升到高电平。这就是真实的状况,在key_leftkey_right同时发生翻转,key_left是从高电平降到低电平,持高电平状态不变。但从波形中,我们却发现并非如此,led_light在key_left和key_right发毛刺产生的根本原因,其实也很简单,key_left和key_right这两个输入信号到达led_light的输入便是低电平,那么这就导致了毛刺信号的产生。clk,在每个时钟周期的上升沿对输入输出moduleinputclk;inputkey_left;outputregalways@(posedgeclk)beginled_light=key_left^key_right;libraryuseIEEE.std_logic_1164.all;useIE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论