资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2008 Cytech Technology Ltd.,Co,#,Quartus II,软件使用教程,Vincent Song,Q2 2008,Cytech-XA,2,Structured ASIC,HardCopy,II&HardCopy Stratix,High&medium density FPGAs,Stratix III,Stratix II&Stratix,Low-cost FPGAs,Cyclone III,Cyclone II&Cyclone,FPGAs w/clock data recovery,Stratix II GX&Stratix,Low-cost 90-nm FPGAs for PCI Express,Gigabit Ethernet,and Serial RapidIO up to 2.5 Gbps,Arria GX,CPLDs,MAX II,MAX 7000&MAX 3000,Configuration devices,Serial(EPCS)&enhanced(EPC),Programmable Logic Families,3,QuartusII,软件发布,RoadMap,Q4,Q1,Q2,Q3,Q4,2006,6.1,Windows 2000,Windows XP(32-bit&64-bit),Red Hat Enterprise 3(32/64-bit),Linux,Sun,Windows,Q1,7.0,Q2,2007,Q3,Q4,Q1,2008,Red Hat Enterprise 4(32/64-bit),Suse Server 9(32/64-bit),7.1,7.2,8.0,8.1,9.0,Solaris 8/9(32-bit&63-bit),2009,Red Hat Enterprise 5,New,Windows Vista,4,Multi-processor cores now mainstream,Benefit,faster compile times,64-Bit O/S moving mainstream,Benefit,access to more than 2 GB of memory,从,QII 6.1,开始支持多核处理器和,64,位,OS,5,Quartus II,开发环境,资源管理窗,信息显示窗,编辑状态显示窗,工程工作区,工具栏,6,主要快捷键,Compilation report,Chip Planner,(Floorplan&Chip Editor),Execution controls,Assignment,Editor,Settings,Pin Planner,Programmer,To open step by step compilation flow:,Tools,Customize,Toolbars,Select“Processing”Check Box,7,Agenda,设计流程概要,建立工程,设计输入,编译,综合,使用,Synplify Pro,做综合,布局布线,Assignment Editor,管脚分配,仿真,器件编程,时序约束,SignalTap II,逻辑分析仪,Quartus II,软件使用教程,设计流程概要,9,Typical PLD Design Flow,Synthesis,-Translate design into device specific primitives,-Optimization to meet required area&performance constraints,-Quartus II,Precision Synthesis,Synplify/Synplify Pro,Design Compiler FPGA,Design Specification,Place&route,-Map primitives to specific locations inside,Target technology with reference to area&,performance constraints,-Specify routing resources to be used,Design entry/RTL coding,-Behavioral or structural description of design,RTL simulation,-,Functional simulation(ModelSim,Quartus II),-Verify logic model&data flow,(no timing delays),LE,M512,M4K,I/O,10,Typical PLD Design Flow,Timing analysis,-Verify performance specifications were met,-Static timing analysis,Gate level simulation,-,Timing simulation,-Verify design will work in target technology,PC board simulation&test,-,Simulate board design,-Program&test device on board,-Use,SignalTap II,for debugging,t,clk,Quartus II,软件使用教程,建立工程,12,设计新工程使用,New Project Wizard,比较方便,工程名可以使用任何名字,建议使用和顶层设计名相同的名字,选择工程的路径,顶层,Entity,名称,必须符合,TOP,文件中定义的,module,名称,File menu,新工程使用现有工程的设置,13,Add design files,Graphic(.BDF,.GDF),AHDL,VHDL,Verilog,EDIF,VQM,Add user library pathnames,User libraries,MegaCore,/AMPP,SM,libraries,Pre-compiled VHDL packages,添加源文件(这一步骤可以跳过),14,如果跳过新建向导的,Add File,,可以在工程生产完毕之后,在导航界面的,File,下点击“,Device Design Files”,,右键弹出菜单选择“,Add/Remove Files in Project”,15,Package,可以选择器件的封装,,Pin count,可以选择器件的引脚数,,Speed grade,可以选择器件的速度等级,这些选项可以缩小可用器件列表的范围,以便快速找到需要的目标器件。,选择器件系列,选择器件,16,选择综合、仿真、时序分析等第三方工具,EDA,工具设置,17,确认全部参数设置,若无误则单击,Finish,按钮,完成工程的创建;若有误,可单击,Back,按钮返回,重新设置。,完成,!,18,工程管理,工程打包,生成,.qar,文件,工程复制,Copy Project,Archive Project,19,版本管理,通过菜单,Project-Revisions,打开版本管理窗口,可以在原工程的基础上建立多个版本,并且可以比较,方便设计。,注意:不同的版本只能对约束做更改,如果更改原设计,则所有版本均会更改。,Quartus II,软件使用教程,设计输入,21,新建一个设计文件,选择要创建的文件类型,22,QII7.1,文本编辑器,列对齐显示标记,行对齐显示标记,独立,/,整合窗口切换,“,Alt”,键实现列操作的切换,插入代码模版,23,使用,MegaWizard Plug-in Manager,调用宏功能模块,可以创建一个新的,IP,文件,也可以编辑已有的,IP,文件,或者拷贝已创建的文件。,Tools,MegaWizard Plug-In Manager,语言和文件名,选择,megafunction,或,IP,24,MegaWizard,示例,察看本机和互联网上帮助文档,资源利用情况,用户设置,25,MegaWizard,示例,默认,HDL,源文件,symbol,文件,(.bsf),可选,器件声明文件,(.cmp),例化模型文件,(_int.v),黑盒子文件,(_bb.v),示例波形,(.html),Quartus II,软件使用教程,编译,27,Qusrtus II,全编译流程,Design Files,Analysis&Elaboration,Synthesis,Fitter,Constraints&Settings,Constraints&Settings,Functional Simulation,Gate-Level Simulation,EDA Netlist Writer,Functional Netlist,Post-Fit Simulation Files(.vho/.vo),Programming&Configuration files(.sof/.pof),TimeQuest,Timing Analysis,Assembler,*,This is the typical flow.Other module executables will be added if additional software features are enabled.,28,Processing,选项,Start Compilation,Performs full compilation,Start Analysis&Elaboration,Checks syntax&builds database,only,Performs initial synthesis,Start Analysis&Synthesis,Synthesizes&optimizes code,Start Fitter,Places&routes design,Generates output netlists,Start Assembler,Generate programming files,Start TimeQuest Timing Analyzer,Start I/O Assignment Analysis,Start Design Assistant,29,Status&Message Windows,Analysis&Synthesis,完成综合的功能,Fitter,是对设计进行布局布线,Assembler,为编程或配置目标器件建立一个或多个编程文件,包括,.sof,和,.pof,。,Timing Analyzer,作为全编译的一部分自动运行,它观察和报告时序信息,例如,:,:建立时间、保持时间、时钟至输出延时、引脚至引脚延时、最大时钟频率、延缓时间以及设计的其它时序特性,。,30,编译报告,-,资源报告,资源报告,资源的详细信息,31,编译报告,-,时序报告,时序报告中按时序要求由差至好排列,报告中首列一般为,Slack,值,Slack=Largest Required Time-Longest Actual Time,Slack,为正值,表示符合时序要求,显示为黑色,Slack,为负值,表示不符合时序要求,显示为红色,Quartus II,软件使用教程,综合,33,与,Synthesis,相关的设置,(1),如果选中,可以减少工程的编译时间。比如在工程中没有改动源代码而只是对约束进行了修改,使用了,Smart Compilation,选项,则进行全编译(按钮)过程中,软件会自动跳过“,Analysis&Synthesis”,步骤。,QII,默认设置为关闭,建议打开。,34,与,Synthesis,相关的设置,(2),优化目标:速度,面积和平衡,默认设置为平衡,一般是优化工程设计的第一步,35,第三方综合器,Synplify Pro,嵌入,(1),Step1:,Tools,菜单,Options-General-EDA Tool Options,指定,SynplifyPro,的安装路径,选中”,Enable NativeLink for Synplify/Synplify Pro with a node-locked license“,。如果不选,,QII,是无法直接调用,Synplify,进行综合的。,36,第三方综合器,Synplify Pro,嵌入,(2),Step2:,-,如果是新建工程,需要在,EDA Tool Settings,中设置,并选中“,Run this tool antomatically to synthesize the current design”,-,如果是现有工程,,Settins-EDA Tool Settings,同样设置,37,第三方综合器,Synplify Pro,嵌入,(3),-,如果使用,IPcore,,,QII,导航界面可以看到的是,IPcore,生成的,.v,文件,这样是无法进行直接调用,SynplifyPro,的,软件会报错,-,只需要将,ufm1.v,文件删除,用,ufm1_bb.v,文件替代,就可以直接调用,Synplify Pro,-QII,会自动在工程目录下生成,synplify_xxx_work,目录,目录下有供,Synplify Pro,可以直接打开的工程文件,Quartus II,软件使用教程,使用,Synplify Pro,做综合,39,使用,Synplify Pro,做综合,通常我们综合时,使用的是,Quartus II,自带的综合工具,实际工作中,许多设计人员都习惯于使用专业综合工具,Synplify Pro,。,正常情况下,正版的,Quartus II,和,Synplify Pro,可以实现无缝链接,过程同,ISE,差不多。但是大多数用户使用时,,Quartus II,直接调用,Synplify Pro,往往是有问题的,因此我们最好将两者分离开来操作。,40,在,Synplify Pro,下建立工程,选择,File-New Project,或者在工程管理窗口中右键选,【New Project】,41,添加源文件,42,添加源文件时注意:,如果调用的是,Quartus,软件中生成的,IP,模块,则只需要加入,_bb.v,的黑盒文件(,bb.v,文件是使用,MegaWizard,向导产生的),顶层文件要放在文件结构树的最下面或者是最后一个加到工程里面。,43,设置工程属性,双击一个实现,确认生成的,VQM,网表,设置对应的,Quartus II,版本,44,综合设计,点击,Run,,对源文件进行综合,信息栏将显示警告或者错误,文件列表可以看到生成的,vqm,网表,45,调用,Quartus II,编译工程,需要注意的是,在,Synplify Pro,工程下用到的,IP,模块调用的是,_bb.v,的文件,但进入到,Quartus,中则需要的是由,MegaWizard,向导生成的,.v,文件,所以最好让,Quartus,工程文件与,IP,生成的,.v,文件放在同一个目录下。,选择直接调用,Quartus,编译或是在后台编译,Quartus II,软件使用教程,布局布线,47,与,Fitter,相关的设置,(1),-,Standard Fit,编译效果最好,时间最长,-,Fast Fit,编译时间减少,50%,,牺牲,Fmax,作代价,-,Auto Fit,一旦满足时序要求,,QII,会停止优化,从而节省编译时间,-,One fitting attempt,(不同的种子导致编译结果小幅度变动,波动范围在,5%,),48,与,Fitter,相关的设置,(2),默认情况下为“,IO to register and min Tco,”,-,表示以,IO,到寄存器的,Th,约束、从寄存器到,IO,的最小,Tco,约束和从,IO,或寄存器到,IO,或寄存器的最小,TPD,约束为优化目标,设置为,“,All Paths,”,-,除了,IO,路径和最小,TPD,路径为优化目标外,增加了寄存器到寄存器的时序约束优化,-,尽可能的使用同步设计以避免时序问题,对于时序报告中,Hold,时间的不满足,可以尝试设置“,All Paths”,Quartus II,软件使用教程,Assignment Editor,50,Assignment Editor(AE),选择菜单,Assignments,Assigment Editor,或者直接点击按钮,通过,AE,生成的各种约束都会保存在,.QSF,文件中,51,Using AE,Category,下拉选择,一般常用的是,Pin,Timing,和,Logic Options,,可以分别独立设置,52,编辑多个约束,Use Edit bar,auto-fill,copy&paste,鼠标选择多个需改动的约束,在,Edit Bar,中下拉或直接复制粘贴选择新的约束。当,Edit Bar,中的“”变成灰色表示修改成功,Quartus II,软件使用教程,管脚分配,54,Pin,的约束,(1),一个新建,Project,是没有约束的,,AE,显示为空,如果在没有约束的情况下直接编译,Project,,,QII,会自动分配引脚,显示在编译报告中,(Compilation Report-Fitter-Resource Section-Input Pins,Output Pins or Bidir Pins),55,Pin,的约束,(2),如果需要手工输入,Pin,约束,除直接编辑,QSF,文件之外,还有两种相对来说比较方便的方法,方法一:反标约束,让,QII,自动生成约束,反标时只选择“,Pin&device assignments”,,,AE,立刻显示反标过的,Pin,约束,56,Pin,的约束,(3),方法二:,Pin Planner,图形化操作,直接拖动引脚到约束的位置上,57,Pin,的约束,(4),需要注意的是,在反标,FPGA,时会多出两三个信号,这与,FPGA,的配置模式有关。为避免麻烦,建议直接删除,在,Category,下拉选择,Pin,,直接修改,Location,栏下的,Pin,值就可以了。比如新约束为,A22,,点击“,PIN_A18”,,手工敲入“,A22”,即可,58,Pin,的约束,(5),如果先前已有,.QSF,文件,可以直接导入新的,Project,中,,AE,立刻显示新的约束,选择需导入的文件,选择需导入的约束类型,Quartus II,软件使用教程,仿真,60,建立仿真文件,选择,File,菜单下的,New-Other Files-Vector Waveform File,双击空白处,61,编辑波形,选择“,Radix”,下拉框实现进制的转换。,通过选择“,Value”,或者点左边的快捷键给信号赋值,62,用,Quartus II,进行功能,/,时序仿真,从,Processing,菜单打开,simulation tools,选择做功能仿真还是时序仿真,选择激励文件,缺省情况下,,QII,产生的是,timing netlist,,因此在做功能仿真前,需要先生成功能仿真网表文件,63,调用,ModelSim-SE,进行功能,/,时序仿真,1,、选择,Tools-Options,,点击,【General】/【EDA Tool Options】,,设置,ModelSim,执行文件的安装路径(,Synplify Pro,也在此设置)。,64,2,、选择,EDA Tools Settings,下的,Simulation,栏,设置仿真工具,。,选择仿真工具,设置生成的仿真文件的语言和所存的路径,65,3,、重点,设置,TestBench,!,填入,Test bench,文件名、顶层模块名和例化元件的名称,设置,Test bench,文件的位置,66,点击 “,Start Compilation”,按钮编译工程,完成之后在当前的工程目录下可以看到一个名为“,Simulation”,的新文件夹,下面的“,ModelSim”,文件夹下包括仿真需要的,.vo,网表文件和包含延迟信息的,.sdo,文件。,如果之前在“,Settings,EDA Tools Setting,Simulation”,出现的设置栏中选中了“,Run this tool automatically after compilation”,,编译完成后,Quartus,会自动调用,ModelSim,进行门级时序仿真。,如果没选,则选择菜单,Tools,EDA Simulation Tool,Run EDA Gate Level Simulation,,,Quartus,便会调用,ModelSim,进行门级时序仿真。,选择,Run EDA RTL Simulation,则进行行为级仿真。,用户也可以单独在,ModelSim,中通过,【Tools】/【Execute Macro】,运行,Quartus II,自动生成的,*_run_msim_gate_verilog.do,文件进行时序仿真或者*,_run_msim_rtl_verilog.do,文件进行功能仿真。,4,、运行仿真,Quartus II,软件使用教程,器件编程,68,器件编程,Alrera,编程器硬件包括,MasterBlaster,、,ByteBlasterMV,、,ByteBlaster II,、,USB-Blaster,和,Ethernet Blaster,下载电缆,或,Altera,编程单元,(APU),。,Quartus II,软件编程器具有四种编程模式:,被动串行模式(,Passive Serial mode,),;,JTAG,模式;,主动串行编程模式(,Active Serial Programming mode,);,套接字内编程模式(,In-Socket Programming mode,)。,69,打开编程器窗口,选择,Tools-Programmer,或者单击快捷图标 ,打开编程器窗口,注意一定要在,Currently selected hardware,框中出现所选的硬件,才表示设置成功,70,设置编程选项,自动检测器件,添加编程文件,手动添加器件,选择编程模式,添加,sof,文件,,Mode,栏选择,Jtag,,是对,FPGA,编程,因此编程选项中只有,Program/Configure,项可选。,添加,pof,文件,,Mode,栏选择,Passive serial,(被动串行,对应,EPC,配置器件)或者,Active Serial Programming,(主动串行,对应,EPCS,配置器件),由于是对配置器件编程,因此编程选项中可以选择多种操作,如,Program/Configure,、,Verify,、,Blank-Check,、,Examine,。,点击,Start,按钮,进度条显示编程进度,,100%,时提示编程完毕,Quartus II,软件使用教程,时序约束,72,时序约束设置时钟频率设置,单时钟设计中的全局时钟约束,多时钟设计中的全局时钟约束,-,如果设计中的时钟都由,PLL,产生,,QII,会自动约束,约束时序参数,73,时序分析及优化,-,最基本的方法,时序优化,(Fmax,优化,),最根本、最有效的方式还是对设计代码的优化,常用几种速度优化的技巧,(Coding Style):,-,增加流水级,-,组合逻辑平衡,-,复制高扇出结点,-,用户状态机设计,-,模块边界输入输出寄存,QII,软件也为工程师提供了很多方便设计优化的选项,74,时序分析及优化,-,优化首选及保持时间优化,通过时序分析报告发现时序存在的问题,-,结合,List Path,和,Locate,功能,不可以把所有优化选项一起加上,需要对症下药,首选第一步是设置综合优化选项,选择优化目标的优先原则,对于保持时间告警的尝试解决,设置保持时间的优化选项,Quartus II,软件使用教程,SignalTap II,逻辑分析仪,76,SignalTap II,如何工作,?,配置,ELA,将,ELA,和原有设计一起,下载到,FPGA,中,启动,ELA,定义触发条件,采样,并将数据存储到,FPGA,内部剩余,RAM,中,通过,JTAG,口将采样数据传递给,Quartus II,软件,77,特性,Feature,Benefit,支持多个,SignalTap II,核,支持在单个芯片中同时存在多个不同时钟域或者不同功能模块的逻辑分析仪,IP,函数,支持采样时钟超过,200MHz,使用户可以实时观察信号,支持增量编译,允许用户添加,/,编辑逻辑分析仪的属性,而不影响现有设计的布局布线,最大,1024,个数据通道,/,每个通道最大,128K,采样点,允许用户观察大量大量的采样数据,最大,10,级触发条件,为设置复杂的触发条件提供了足够的灵活性,支持外部触发,允许用户用外部信号触发逻辑分析仪或者输出一个触发信号,支持基本或高级触发功能,支持信号电平、固定值、复杂算数逻辑或者状态机多种触发模式,支持多种文件格式存储数据,使得采样数据可以,被第三方验证工具读入、显示和分析,78,1),创建一个新的,.STP,文件,方法,1,选择菜单,Tools,SignalTap II Embedded Logic Analyzer,方法,2,选择菜单,File,New,默认文件名为,stp1.stp,79,.STP,文件的界面,采样信号配置,JTAG,链配置,节点列表,实体管理,设计层次,存储日志,(,记录采样设置和结果,),80,实体管理,增加,/,删除,.STP,文件中的实体模块,切换对哪个实体进行操作,显示,ELA,占用的资源,运行和控制实体,81,设置采样时钟,Altera,推荐使用全局时钟,而不要使用门控时钟,在每个采样时钟上升沿将被测信号存储到缓存,如果没有分配采样时钟,软件自动产生一个外部引脚名,auto_stp_external_clock,ELA,建议此外部信号连接到专用时钟脚上,(,用,Pin Planner,分配,),82,指定采样深度和,RAM,类型,采样深度,设置每个信号的采样点数,0 to 128K,采样深度,SignalTap II,所能显示的被测信号波形的时间长度为,Tx,,计算公式如下:,Tx=NTs,N,为缓存中存储的采样点数,,Ts,为采样时钟的周期,选择,RAM,类型,选择适当的,RAM,有利于节省,RAM,资源,83,数据获取模式,环形存储,指定,trigger,位置,Pre(12%before trigger,88%after),Center(50%before,50%after),Post(88%before,12%after),Continuous,分段存储,将整个缓存分成多个片段,(segment),,每当触发条件满足时就捕获一段数据。,可以去掉无关的数据,使采样缓存的使用更加灵活,84,触发前,采样数据循环填入一个环形数据缓冲区中,触发后,软件采集,post-trigger,的数据直到填满,Buffer,环形,Buffer,85,环形,Buffer,示例,86,分段,Buffer,示例,87,触发,触发级别,支持,10,级触发条件,所有事件发生后才开始获取数据,Trigger-in,任何,I/O,脚都可以触发分析仪,Behaves like trigger level“0”,自动创建,auto_stp_trigger_in_n,脚,在,Pin Planner,中进行分配,Trigger-out,当触发条件满足时,输出一个信号表示触发,自动创建,auto_stp_trigger_out_n,脚,在,Pin Planner,中进行分配,Latency delay,表示从触发到信号输出的延迟时钟数,88,节点列表,&,波形窗,Setup tab,Data tab,89,添加节点,双击空白处,设置是否采样该信号,设置触发信号,90,基本触发,右键设置触发值,所有信号都满足时开始获取数据,选择是否使能该级触发条件,91,触发类型选择,Advanced,时,可以在图形界面中创建复杂的触发条件。,高级触发,节点列表,运算符列表,触发条件编辑器,92,2),保存,.STP,文件,&,编译,选择菜单,Assignments,Settings,指定当前使用的,SignalTap II,文件,93,3),器件编程,使用,Quartus II,编程器或者,SignalTap II,分析仪中的编程界面,SignalTap II,界面中的编程按钮只能对,JTAG,链中的当前器件进行编程,使用,Quartus II,编程器对多个,FPGA,进行编程,可以为,JTAG,链上的每个,FPGA,单独创建一个,SignalTap II,文件,94,4),获取数据,Run Analysis,单步执行。逻辑分析仪等待触发事件,事件发生时开始采集数据,然后停止,Autorun Analysis,自动运行。逻辑分析仪连续捕获数据,直到用户按下,Stop Analysis,为止,Stop Analysis,停止。如果触发事件还没有发生,则没有接收数据显示,Read Data,显示捕获的数据。如果触发事件还没有发生,可以点击该按钮察看当前捕获的数据,95,显示获取的数据,将数据显示为条状或者点状。,创建信号节点的列表文件,(,菜单,File,Create/Update),输出结果供其它验证工具显示和分析,(,菜单,File,Export,),创建,.VWF,.TBL,.CSV,.VCD,.JPG or.BMP,文件,Time Formatted Bar Graph,Sample Number Formatted Line Graph,96,谢 谢!,THANK YOU,
展开阅读全文