获奖课件FPGAAdvantage简易教程.ppt(79页)

上传人(卖家):ziliao2023 文档编号:7867824 上传时间:2024-08-29 格式:PPT 页数:79 大小:2.68MB
下载 相关 举报
获奖课件FPGAAdvantage简易教程.ppt(79页)_第1页
第1页 / 共79页
获奖课件FPGAAdvantage简易教程.ppt(79页)_第2页
第2页 / 共79页
获奖课件FPGAAdvantage简易教程.ppt(79页)_第3页
第3页 / 共79页
获奖课件FPGAAdvantage简易教程.ppt(79页)_第4页
第4页 / 共79页
获奖课件FPGAAdvantage简易教程.ppt(79页)_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、7.1 FPGA7.1 FPGA简介简介7.2 FPGA Advantage7.2 FPGA Advantage设计流程设计流程7.3 FPGA Advantage7.3 FPGA Advantage应用实例应用实例1 1一、什么是一、什么是FPGA二、二、FPGA的基本特点的基本特点三、三、FPGA的工作原理的工作原理四、四、FPGAFPGA的配置方式的配置方式 2 2一、什么是一、什么是FPGAFPGAFPGA是英文是英文Field Programmable Gate ArrayField Programmable Gate Array的缩写,即现场可编的缩写,即现场可编程门阵列,它是在程

2、门阵列,它是在PALPAL、GALGAL、EPLDEPLD等可编程器件的基础上进一步等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(发展的产物。它是作为专用集成电路(ASICASIC)领域中的一种半定)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。程器件门电路数有限的缺点。FPGAFPGA采用了逻辑单元阵列采用了逻辑单元阵列LCALCA(Logic Cell ArrayLogic Cell Array)这样一个新概)这样一个新概念,内部包括可配置逻辑模块念,内部包括可配置逻辑

3、模块CLBCLB(Configurable Logic BlockConfigurable Logic Block)、)、输出输入模块输出输入模块IOBIOB(Input Output BlockInput Output Block)和内部连线)和内部连线(InterconnectInterconnect)三个部分)三个部分3 3二、二、FPGA的基本特点的基本特点1 1)采用)采用FPGAFPGA设计设计ASICASIC电路,用户不需要投片生产,就电路,用户不需要投片生产,就能得到合用的芯片。能得到合用的芯片。2 2)FPGAFPGA可做其它全定制或半定制可做其它全定制或半定制ASICASI

4、C电路的中试样片。电路的中试样片。3 3)FPGAFPGA内部有丰富的触发器和内部有丰富的触发器和I IO O引脚。引脚。4 4)FPGAFPGA是是ASICASIC电路中设计周期最短、开发费用最低、电路中设计周期最短、开发费用最低、风险最小的器件之一。风险最小的器件之一。5 5)FPGAFPGA采用高速采用高速CHMOSCHMOS工艺,功耗低,可以与工艺,功耗低,可以与CMOSCMOS、TTLTTL电平兼容。电平兼容。4 4二、二、FPGA的基本特点(续)的基本特点(续)可以说,可以说,FPGAFPGA芯片是小批量系统提高系统集成度、可靠芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

5、性的最佳选择之一。目前目前FPGAFPGA的品种很多,有的品种很多,有XILINXXILINX的的XCXC系列、系列、TITI公司的公司的TPCTPC系列、系列、ALTERAALTERA公司的公司的FIEXFIEX系列等。系列等。5 5三、三、FPGA工作原理工作原理FPGAFPGA是由存放在片内是由存放在片内RAMRAM中的程序来设置其工作状态的,因此,工中的程序来设置其工作状态的,因此,工作时需要对片内的作时需要对片内的RAMRAM进行编程。用户可以根据不同的配置模式,进行编程。用户可以根据不同的配置模式,采用不同的编程方式。采用不同的编程方式。加电时,加电时,FPGAFPGA芯片将芯片将

6、EPROMEPROM中数据读入片内编程中数据读入片内编程RAMRAM中,配置完成中,配置完成后,后,FPGAFPGA进入工作状态。掉电后,进入工作状态。掉电后,FPGAFPGA恢复成白片,内部逻辑关恢复成白片,内部逻辑关系消失,因此,系消失,因此,FPGAFPGA能够反复使用。能够反复使用。FPGAFPGA的编程无须专用的的编程无须专用的FPGAFPGA编程器,只须用通用的编程器,只须用通用的EPROMEPROM、PROMPROM编程器即可。当需要修改编程器即可。当需要修改FPGAFPGA功能时,只需换一片功能时,只需换一片EPROMEPROM即可。这样,同一片即可。这样,同一片FPGAFPG

7、A,不同的编程,不同的编程数据,可以产生不同的电路功能。因此,数据,可以产生不同的电路功能。因此,FPGAFPGA的使用非常灵活。的使用非常灵活。6 6四、四、FPGA配置方式配置方式FPGAFPGA有多种配置模式:并行主模式为一片有多种配置模式:并行主模式为一片FPGAFPGA加一片加一片EPROMEPROM的方式;主从模式可以支持一片的方式;主从模式可以支持一片PROMPROM编程多片编程多片FPGAFPGA;串行模式可以采用串行;串行模式可以采用串行PROMPROM编程编程FPGAFPGA;外设模式;外设模式可以将可以将FPGAFPGA作为微处理器的外设,由微处理器对其编程。作为微处理器

8、的外设,由微处理器对其编程。7 7使用FPGA Advantage的HDL Design流程使用工具创建设计使用工具创建设计oState MachinesoFlow ChartsoBlock Diagrams/Interface Based designoHDLSimulate to test functionality(RTL)Analyze Static TimingUse FPGA vendors Place and Route tool to build design database and extract true timingSimulate to verify post-rou

9、te design(Gate Level)8 8FPGA Advantage工具工具3种工具一起工作种工具一起工作:oHDL Designer -Design Creation -Data management -Flow ControloModelSim -RTL Simulation -Gate Level SimulationoPrecision RTL -Synthesis -Static Timing Analysis9 9FPGA Advantage工具工具工具交互工具交互:oFlow ExecutionoDownStream Data PreparationoSimulation

10、 ControloCrossprobing 1010注注:下面的界面是基于:下面的界面是基于HDS2003.2HDS2003.2,如果软件版本不,如果软件版本不同,可能界面会不一样。同,可能界面会不一样。这是一个简单的计时器例子,设计输入是一个十这是一个简单的计时器例子,设计输入是一个十比特的数据总线和一些控制信号,包括起始,停比特的数据总线和一些控制信号,包括起始,停止,复位和时钟信号。计数器的输出用两个四比止,复位和时钟信号。计数器的输出用两个四比特的总线描述高低值,同时也有一个逻辑输出用特的总线描述高低值,同时也有一个逻辑输出用来激励音频输出。如下所示:来激励音频输出。如下所示:Inpu

11、tsOutputsStart(logic signal)high(4-bit bus)Stop(logic signal)low(4-bit bus)reset(logic signal)alarm(logic signal)clk(logic signal)d(10-bit bus)1111我们将在我们将在Mentor GraphicsMentor Graphics公司的公司的FPGA AdvantageFPGA Advantage设设计环境中完成设计输入、仿真、综合、甚至后仿真的计环境中完成设计输入、仿真、综合、甚至后仿真的完整的完整的FPGAFPGA设计流程。通过练习,可以熟悉框图、状设

12、计流程。通过练习,可以熟悉框图、状态机、真值表等各种设计输入方式以及用态机、真值表等各种设计输入方式以及用ModelSimModelSim进进行仿真、用行仿真、用PrecisonPrecison进行综合的方法,从而熟悉整个进行综合的方法,从而熟悉整个FPGA AdvantageFPGA Advantage的设计环境和的设计环境和FPGA FPGA 设计流程。设计流程。1212二、二、FPGA Advantage FPGA Advantage设计环境设计环境(1 1)启动程序)启动程序用用“开始开始/程序程序/FPGA Advantage”命令,启动命令,启动FPGA Advantage。标题栏

13、菜单栏工具栏设计导航设计导航,以层层次树次树的形式显示设计桌面下的所有文件。1.1.进入进入FPGA AdvantageFPGA Advantage1313(2 2)创建一个)创建一个ProjectProjectHDL DesignerHDL Designer用用Project Project 来管理设计,一个来管理设计,一个ProjectProject里可以包含多个库(里可以包含多个库(LibraryLibrary)。开始一)。开始一个新项目前,首先建一个新的个新项目前,首先建一个新的ProjectProject。每个。每个ProjectProject对应一个对应一个.hdp.hdp文件,该

14、文文件,该文件包含件包含ProjectProject中的所有库的信息。软件安装后自中的所有库的信息。软件安装后自带 一 个 缺 省 的 名 为带 一 个 缺 省 的 名 为 e x a m p l ee x a m p l e 的的 P r o j e c tP r o j e c t(example.hdpexample.hdp),里面包含一些作为例子的库。里面包含一些作为例子的库。在在Design ManagerDesign Manager窗口点击窗口点击ProjectProject工具栏下的快工具栏下的快捷图标捷图标New Project,New Project,创建一个新的创建一个新的

15、ProjectProject。1414点击点击New Project后,弹出后,弹出Creating a New Project对话框。对话框。1515输入输入Project名、存放位置、缺省库的名字。点击名、存放位置、缺省库的名字。点击Next,弹出弹出Project Summary窗口,窗口,1616点击点击Next,弹出弹出Project Content窗口,选择窗口,选择Create design files,点击点击Finish.1717Project被创建的同时,被创建的同时,Tutorial库也被创建并打开。注库也被创建并打开。注意,在指定的路径下创建了源设计数据目录意,在指定的

16、路径下创建了源设计数据目录C:tmpMyprojectTUTORIALhds,HDL文件目录文件目录存放目录存放目录C:tmpMyprojectTUTORIALhdl。1818(2 2)设置缺省的语言)设置缺省的语言 从从Options菜单中选择菜单中选择Main,选择选择General,确确保保VHDL被选为默认的语言,其他选项都保留被选为默认的语言,其他选项都保留默认值,然后默认值,然后OK。1919(1 1)创建一个框图)创建一个框图 对于当前的对于当前的TOP-DOWNTOP-DOWN设计流程,整个设计刚开始都要设计流程,整个设计刚开始都要进行逻辑上的功能划分,这个功能用画框图来完成很

17、进行逻辑上的功能划分,这个功能用画框图来完成很方便,激活方便,激活TUTORIALTUTORIAL库,在库,在Design ManagerDesign Manager窗口中点窗口中点击按钮,选择击按钮,选择Graphical ViewBlock DiagramGraphical ViewBlock Diagram。2.2.设计输入方式设计输入方式-框图框图2020(1 1)创建一个框图(续)创建一个框图(续)一个新的框图编辑窗口被打开。一个新的框图编辑窗口被打开。2121(2 2)添加)添加BlocksBlocks 点击(点击(add blockadd block)快捷图标在框图中添加两)快捷

18、图标在框图中添加两个模块,模块会显示默认的库个模块,模块会显示默认的库和和,以及唯一的实例名以及唯一的实例名I1I1和和I0I0。2222(3 3)添加嵌入式模块)添加嵌入式模块 点击快捷图标在框图中添加两个嵌入式点击快捷图标在框图中添加两个嵌入式模块,这些模块也显示默认的名字,如模块,这些模块也显示默认的名字,如图所示:图所示:2323(3 3)添加嵌入式模块(续)添加嵌入式模块(续)在一个库中,描述一个在一个库中,描述一个BlockBlock的视图必须的视图必须被命名和保存为一个独一无二的设计单被命名和保存为一个独一无二的设计单元。嵌入式模块和一般模块的区别是不元。嵌入式模块和一般模块的区

19、别是不支持层次化,而且只能有一种描述方式。支持层次化,而且只能有一种描述方式。2424(4 4)添加端口和信号)添加端口和信号 使用工具栏上的按钮添加端口和信号,使用工具栏上的按钮添加端口和信号,如下。如下。2525(5 5)添加一个)添加一个BundleBundle和全局连接器和全局连接器 使用工具栏上的按钮添加使用工具栏上的按钮添加BundleBundle和全局连接器,如下:和全局连接器,如下:2626(6 6)保存框图)保存框图 在在Design ManagerDesign Manager窗口中选择下拉菜单窗口中选择下拉菜单ViewSubWindowsDesign Hierarchy,V

20、iewSubWindowsDesign Hierarchy,打开打开Design HierarchyDesign Hierarchy(设计层次)窗口。(设计层次)窗口。2727(6 6)保存框图(续)保存框图(续)从从Design UnitsDesign Units窗口中选择窗口中选择TimerTimer模块拖模块拖到到Design HierarchyDesign Hierarchy窗口并展开,可以看窗口并展开,可以看到:到:红色字样表示模块没有被定义,也就是说这些模块没有具红色字样表示模块没有被定义,也就是说这些模块没有具体地描述实现,仅仅有一个空的符号,相当于只有体地描述实现,仅仅有一个空

21、的符号,相当于只有VHDL的的实体头,没有结构体。实体头,没有结构体。2828(7 7)编辑模块和信号名)编辑模块和信号名 右键单击总线的属性,如图:右键单击总线的属性,如图:2929(8 8)添加一个嵌入式)添加一个嵌入式HDLHDL文本文本视图视图如果修改后的总线看不到位宽的描述,可以如果修改后的总线看不到位宽的描述,可以在 修 改 总 线 的 同 时 修 改 名 字 旁 边 的在 修 改 总 线 的 同 时 修 改 名 字 旁 边 的VisibilityVisibility。选中选中OR1OR1嵌入式模块,按右键,从嵌入式模块,按右键,从OpenOpen中选中选择择New ViewNew

22、 View显示如下:显示如下:3030(8 8)添加一个嵌入式)添加一个嵌入式HDLHDL文本文本视图(续)视图(续)从下拉菜单中选择从下拉菜单中选择Text,Text,然后然后OKOK。此时可以。此时可以看到一个默认的看到一个默认的HDLHDL文本视图出现在文本视图出现在OR1OR1旁旁边,也可以编辑边,也可以编辑OR1OR1模块的属性。如下:在模块的属性。如下:在文本中输入:文本中输入:alarm=hold OR beep;alarm New ViewAsNew View,此时如下图所示:,此时如下图所示:3.3.设计输入方式设计输入方式-状态机状态机3333(1 1)创建一个状态机(续)

23、创建一个状态机(续)选择选择State DiagramState Diagram,点击,点击NextNext,然后,然后FinishFinish,一个新的状态机图作为,一个新的状态机图作为ControlControl模模块的子视图被创建,状态机编辑窗口弹出。块的子视图被创建,状态机编辑窗口弹出。此时如下此时如下:3434(2 2)定义状态和状态转移)定义状态和状态转移条件(续)条件(续)点 击 添 加 五 个 状 态,默 认 的 状 态 名 为点 击 添 加 五 个 状 态,默 认 的 状 态 名 为s0,s1,s2,s3,s4s0,s1,s2,s3,s4,注意:你输入的第一个状态,注意:你输

24、入的第一个状态被假定为启始状态,用绿色的双线圆圈表示,被假定为启始状态,用绿色的双线圆圈表示,如图所示:如图所示:3535编辑后,保存状态机。保存后在编辑后,保存状态机。保存后在Designer ManagerDesigner Manager窗口中可以看到窗口中可以看到如下图所示:如下图所示:(2 2)定义状态和状态转移)定义状态和状态转移条件(续)条件(续)3636(3 3)编辑状态)编辑状态 编辑状态属性有多种途径,可以直接双击要编辑的编辑状态属性有多种途径,可以直接双击要编辑的状态,也可以选中状态后单击鼠标右键,选择弹出状态,也可以选中状态后单击鼠标右键,选择弹出菜单中的菜单中的Obje

25、ct Properities,Object Properities,比如比如s0,s0,如图所示:如图所示:3737(3 3)编辑状态(续)编辑状态(续)编辑过的状态如下图所示:编辑过的状态如下图所示:3838注意:注意:ZEROSZEROS是一个常数,需要在状态机设置中的结是一个常数,需要在状态机设置中的结构构 D e c l a r a t i o nD e c l a r a t i o n 进 行 说 明。选 择 下 拉 菜 单进 行 说 明。选 择 下 拉 菜 单DiagramState Machine PropertiesDiagramState Machine Propertie

26、s,在,在Architecture Declaration TabArchitecture Declaration Tab中输入:中输入:Constant Constant ZEROS:std_logic_vector:=”0000000000”,ZEROS:std_logic_vector:=”0000000000”,然后点然后点击击OKOK完成。如图所示:完成。如图所示:(3 3)编辑状态(续)编辑状态(续)3939(4 4)创建一个层次状态机)创建一个层次状态机 在在CountCount的属性中,改变的属性中,改变State TypeState Type成成Hierarchical St

27、ate,Hierarchical State,双击该状态进入,双击该状态进入,然后编辑如图所示:然后编辑如图所示:4040(4 4)创建一个层次状态机)创建一个层次状态机 (续)(续)最终编辑如下图所示:最终编辑如下图所示:4141回到上一级状态机,可以看到:回到上一级状态机,可以看到:(4 4)创建一个层次状态机)创建一个层次状态机 (续)(续)4242(5 5)编辑状态机属性)编辑状态机属性 在 顶 层 状 态 机 编 辑 窗 口 中,选 择 下 拉 菜 单在 顶 层 状 态 机 编 辑 窗 口 中,选 择 下 拉 菜 单DiagramState Machine properties,Di

28、agramState Machine properties,编辑编辑Signals StatusSignals Status项中的内容,如图所示:项中的内容,如图所示:4343(5 5)编辑状态机属性(续)编辑状态机属性(续)按照下图设置按照下图设置GenerationGeneration中的内中的内容。如图所示:容。如图所示:4444点击在图形中添加一个点击在图形中添加一个Panel,Panel,如图所示:如图所示:(5 5)编辑状态机属性(续)编辑状态机属性(续)4545(6 6)为状态机生成)为状态机生成HDLHDL代码代码从从TasksTasks菜单中选择菜单中选择GenerateGe

29、nerate运行,运行,如图所示:如图所示:4646(6 6)为状态机生成)为状态机生成HDLHDL代码(续)代码(续)选择下拉菜单选择下拉菜单ViewModeHDL Files,ViewModeHDL Files,切换切换到到HDLHDL浏览模式下,查看已经生成的浏览模式下,查看已经生成的HDLHDL文文件。如图所示:件。如图所示:4747生成的生成的HDLHDL文件如下图所示:文件如下图所示:(6 6)为状态机生成)为状态机生成HDLHDL代码(续)代码(续)4848(1 1)导入)导入BCDCounterBCDCounter设计单元设计单元实际设计中要用到许多现成的设计单元,即复用。在实

30、际设计中要用到许多现成的设计单元,即复用。在Designer ManagerDesigner Manager窗口中点击(窗口中点击(HDL ImportHDL Import)图标,弹)图标,弹出出HDL Import wizardHDL Import wizard对话框,如图所示,按下图设置:对话框,如图所示,按下图设置:4.4.导入外部设计单元导入外部设计单元4949(1 1)导入)导入BCDCounterBCDCounter设计单元(续)设计单元(续)在在DirectoryDirectory项点击项点击 Brower,Brower,找到找到HDSHDS安装路径下安装路径下的的example

31、stutorial_refImportTimerexamplestutorial_refImportTimer路径;路径;选中选中Timer_BCDCounter.vhd,Timer_BCDCounter.vhd,点击点击AddAdd把该文件加把该文件加入入Files to ConvertFiles to Convert栏中。然后点击栏中。然后点击Next,Next,5050点击点击Next,Next,最后最后FinishFinish。(1 1)导入)导入BCDCounterBCDCounter设计单元(续)设计单元(续)5151(2 2)创建一个子框图)创建一个子框图打开框图编辑窗口,选中模

32、块,双击或者右键打开框图编辑窗口,选中模块,双击或者右键Open Open AsNew View,AsNew View,选择选择Block Diaram,Block Diaram,点击点击Next,Next,5252(2 2)创建一个子框图(续)创建一个子框图(续)实际设计中实际设计中,点击点击FinishFinish后,后,5353实际设计中,点击(实际设计中,点击(Add ComponentAdd Component)弹出添)弹出添加实例对话框,用鼠标左键选中加实例对话框,用鼠标左键选中TUTORIALTUTORIAL库库里的里的BCDCounterBCDCounter单元并拖到图中。单元

33、并拖到图中。(2 2)创建一个子框图(续)创建一个子框图(续)5454实际设计中,在图中添加两个实际设计中,在图中添加两个BCDCounterBCDCounter模模块,连接模块和信号,块,连接模块和信号,(2 2)创建一个子框图(续)创建一个子框图(续)5555实际设计中,在实际设计中,在DiagramDiagram的的AutorouteAutoroute中可以找到,或者右键也可以看到。中可以找到,或者右键也可以看到。设置成下面的形式:设置成下面的形式:(2 2)创建一个子框图(续)创建一个子框图(续)5656然后选中然后选中clear,load clear,load 和和dat_in,da

34、t_in,右键,右键,Autoroute,AutoconnectAutoroute,Autoconnect即可看到信号被即可看到信号被明确连接到一起。明确连接到一起。(2 2)创建一个子框图(续)创建一个子框图(续)5757(3 3)添加)添加ModuleWareModuleWare单元单元从从WindowWindow菜单中选菜单中选ModuleWareModuleWare打开打开ModuleWareModuleWare库。此框图要用到常数库。此框图要用到常数GROUNDGROUND和或非门。和或非门。5858(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)选择

35、选择ConstantsConstants中的中的GroundGround拖到图中,拖到图中,连接到连接到carry_incarry_in。5959因为因为carry_incarry_in是四比特,所以双击是四比特,所以双击GroundGround编编辑它的属性。如下图设置:辑它的属性。如下图设置:(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)6060因为因为gndgnd仅仅是一个常数,但是还没有具仅仅是一个常数,但是还没有具体地定义。在该子框图打开的情况下,弹体地定义。在该子框图打开的情况下,弹出出Object PropertiesObject Propert

36、ies对话框,对话框,(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)6161点击对话框中的点击对话框中的User Declarations,User Declarations,对对常量进行定义。常量进行定义。(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)6262从从ModuleWareModuleWare库选择库选择LogicLogic中的中的N Input NORN Input NOR并拖并拖到图中,到图中,(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)6363最终完成的设计如下图,保存文件

37、,最终完成的设计如下图,保存文件,生成生成HDL HDL 代码。代码。(3 3)添加)添加ModuleWareModuleWare单元(续)单元(续)6464(1 1)创建真值表)创建真值表从从CounterCounter的框图返回到上一级,双击的框图返回到上一级,双击DtoBDtoB模块,模块,然后选择然后选择True TableTrue Table即可。即可。5.5.设计输入方式设计输入方式-真值表真值表6565(1 1)创建真值表(续)创建真值表(续)最终编辑成下面形式。最终编辑成下面形式。6666在在Designer ManagerDesigner Manager窗口中选中窗口中选中T

38、imerTimer,运行运行generate HDL filesgenerate HDL files,在,在loglog窗口中窗口中看到;看到;(1 1)创建真值表(续)创建真值表(续)6767在在Designer ManagerDesigner Manager窗口选择窗口选择ViewModeHDL ViewModeHDL Files,Files,可以看到所有的可以看到所有的HDL HDL 文件。文件。(1 1)创建真值表(续)创建真值表(续)6868(1 1)创建)创建Test benchTest benchDesigner ManagerDesigner Manager窗口选中窗口选中Ti

39、merTimer模块,然后从菜模块,然后从菜单单FileFile的的NewNew中选择中选择Create Test BenchCreate Test Bench,默认的,默认的设置即可。设置即可。6.6.设计仿真设计仿真6969(1 1)创建)创建Test benchTest bench(续)(续)在在Designer ManagerDesigner Manager窗口可以看到模块窗口可以看到模块Timer_tbTimer_tb,打开后可以看到:打开后可以看到:7070打开模块打开模块Timer_tbTimer_tb,删掉里面的,删掉里面的Timer_testerTimer_tester模块,

40、然后点击(模块,然后点击(Add Add ComponentComponent)按钮,把)按钮,把TUTORIALTUTORIAL库里的库里的Timer_testerTimer_tester模块拖到图中。模块拖到图中。(1 1)创建)创建Test benchTest bench(续)(续)7171把该模块的端口和把该模块的端口和TimerTimer的端口一一对的端口一一对应连接。应连接。点击点击Generate Through Components,Generate Through Components,为所有的图形化设为所有的图形化设计产生对应的计产生对应的HDLHDL代码。代码。(1 1)

41、创建)创建Test benchTest bench(续)(续)7272在这个练习中,后端流程使用的仿真和综合工具缺在这个练习中,后端流程使用的仿真和综合工具缺省设置为省设置为ModesimModesim和和PrecisionPrecision。7373(1 1)运行仿真过程)运行仿真过程在在Design ManagerDesign Manager窗口中选择窗口中选择View SubWindows View SubWindows Task and Templetes Task and Templetes,打开,打开TasksTasks窗口。窗口。在在Design ExplorerDesign E

42、xplorer窗口中选中窗口中选中Timer_tb,Timer_tb,执行执行TasksTasks窗口中的窗口中的ModelSim ComplierModelSim Complier。如图所示。如图所示。7.7.运行仿真过程运行仿真过程7474(1 1)动画仿真)动画仿真打开状态机,把顶层的所有信号加到波形窗打开状态机,把顶层的所有信号加到波形窗口,然后使状态机进行动画仿真,波形窗口口,然后使状态机进行动画仿真,波形窗口如图所示。如图所示。8.8.动画仿真动画仿真7575(1 1)逻辑综合)逻辑综合在在Design ExplorerDesign Explorer窗口中选中窗口中选中TimerT

43、imer模块,模块,然后按下按钮进入综合流程,然后按下按钮进入综合流程,9.9.逻辑综合逻辑综合7676(1 1)逻辑综合(续)逻辑综合(续)选择所用的选择所用的FPGAFPGA芯片型号和速度级别,设芯片型号和速度级别,设置设计的工作频率,如上图设置,然后点置设计的工作频率,如上图设置,然后点击击OKOK,PrecisionPrecision开始了综合过程。开始了综合过程。7777(1 1)逻辑综合(续)逻辑综合(续)综合结束后,可以分别查看综合结束后,可以分别查看RTLRTL级和工业级级和工业级原理图,原理图,RTLRTL级原理图如下所示。级原理图如下所示。7878Thank you!Thank you!7979

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(获奖课件FPGAAdvantage简易教程.ppt(79页))为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|