Altera FPGA的设计流程

上传人:仙*** 文档编号:171765693 上传时间:2022-11-28 格式:PPT 页数:183 大小:8.08MB
收藏 版权申诉 举报 下载
Altera FPGA的设计流程_第1页
第1页 / 共183页
Altera FPGA的设计流程_第2页
第2页 / 共183页
Altera FPGA的设计流程_第3页
第3页 / 共183页
资源描述:

《Altera FPGA的设计流程》由会员分享,可在线阅读,更多相关《Altera FPGA的设计流程(183页珍藏版)》请在装配图网上搜索。

1、贺 光 辉清华大学电子工程系Altera FPGA的设计流程的设计流程1目标目标 掌握掌握FPGAFPGA的标准设计流程和工具的标准设计流程和工具 用Modelsim进行功能级仿真并诊断RTL Code 用Quartus II做设计综合和布局布线 用FPGA Mega-functions做设计 返标SDF并运行门级的仿真 掌握掌握FPGAFPGA的时序约束的时序约束 了解了解FPGAFPGA的设计原则的设计原则2提纲提纲 FPGAFPGA概要概要 FPGAFPGA的设计流程的设计流程 用用ModelsimModelsim进行仿真和调试进行仿真和调试 用用Quartus IIQuartus II

2、进行时序分析、综合等进行时序分析、综合等 FIRFIR滤波器的设计实例滤波器的设计实例3FPGA概要概要4FPGA的优点的优点 集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性 具有完善先进的开发工具提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性 可以反复地擦除、编程,方便设计的修改和升级 灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间布局布线容易,设计过程相当于只有ASIC设计的前端 研发费用低不需要投片费用5FPGA的应用前景的应用前景 通信、控制、数据计算等领域得到了广泛的应用 减少电子系统的开发风险和开发成本 缩短上市时间(tim

3、e to market)通过在系统编程、远程在线重构等技术降低维护升级成本 系统的原型实现ASIC的原型验证6ASICASIC常用常用FPGAFPGA进行原型机验证进行原型机验证CPLD与与FPGA的区别的区别CPLDFPGA内部结构ProducttermLookup Table程序存储内部EEPROMSRAM,外挂EEPROM资源类型组合电路资源丰富触发器资源丰富集成度低高使用场合完成控制逻辑能完成比较复杂的算法速度慢快其他资源EAB(嵌入式逻辑块),锁相环保密性可加密一般不能保密7CPLD还是还是FPGA?复杂组合逻辑:CPLDCPLDPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几

4、个甚至2030多个组合逻辑输入 复杂时序逻辑:FPGAFPGAFPGA芯片中包含的LUT和触发器的数量非常多,往往都是成千上万8推荐书籍推荐书籍 VerilogVerilogVerilog数字系统设计教程数字系统设计教程 夏宇闻 北京航天航空大学出版社硬件描述语言硬件描述语言VerilogVerilog 刘明业等译 清华大学出版社 FPGA基于基于FPGAFPGA的嵌入式系统设计的嵌入式系统设计 任爱锋 西安电子科技大学出版社基于基于FPGAFPGA的系统设计(英文版)的系统设计(英文版)Wayne Wolf 机械工业出版社 IC设计Reuse methodology manual for s

5、ystem-on-a-chip designsReuse methodology manual for system-on-a-chip designs 3rd ed.Michael Keating,Pierre Bricaud.片上系统片上系统:可重用设计方法学可重用设计方法学沈戈,等译电子工业出版社,2004Writing testbenches:functional verification of HDL modWriting testbenches:functional verification of HDL models/Janick Bergeronels/Janick Berge

6、ron Boston:Kluwer Academic,c2000 9推荐文章推荐文章 http:/www.sunburst- Coding Styles For Improved Simulation Efficiency State Machine Coding Styles for Synthesis Synthesis and Scripting Techniques for Designing Multi-Asynchronous Clock Designs Synchronous Resets?Asynchronous Resets?I am so confused!Nonblock

7、ing Assignments in Verilog Synthesis,Coding Styles That Kill!10FPGA的设计流程的设计流程11目标目标 完成本单元的学习后你将会 列出FPGA设计过程的步骤(以Altera的FPGA为设计例子)用缺省的软件选项来实现一个FPGA的设计 Quaturs II Modelsim12FPGA的设计流程的设计流程 FPGAFPGA的设计流程的设计流程 用ModelSim进行仿真 用Quartus II进行综合和时序分析 用Quartus II进行布局布线、调试和下载1314FPGA设计流程设计流程15综合综合 -Translate Des

8、ign into Device Specific Primitives -Optimization to Meet Required Area&Performance Constraints -Synplify,Quartus IIDesign Specification布局布线 -Map Primitives to Specific Locations inside Target Technology with Reference to Area&Performance ConstraintsDesign Entry/RTL Coding -Behavioral or Structural

9、Description of DesignRTL仿真仿真 -Functional Simulation(Modelsim,Quartus II)-Verify Logic Model&Data Flow (No Timing Delays)LEM512M4KI/OFPGA设计流程设计流程16时序分析时序分析 -Verify Performance Specifications Were Met -Static Timing Analysis门级仿真门级仿真 -Timing Simulation -Verify Design Will Work in Target TechnologyPC Bo

10、ard Simulation&Test -Simulate Board Design -Program&Test Device on Board -Use SignalTap II for Debuggingtclk系统规划和预算系统规划和预算 系统功能的总体规划:功能集的定义;端口的定义;模块的基本划分和功能定义:每个模块应该完成的功能;模块之间的接口定义;模块间通讯的问题一定要考虑好,硬件通信的成本一般比较大。17设计的整体规划设计的整体规划设计规模的初步估计,大致应该选择哪一层次的芯片;设计时序的宏观规划:频率和时钟结构;可能的关键路径,着重优化;模块的进一步细化,考虑可重用性等的规划:

11、可以考虑基本单元,比如加法、乘法器和寄存器等。18设计文档化非常重要设计实现设计实现 用电路框图或者HDL描述实现自己的设计:图形输入:状态图输入,波形图输入,原理图输入简单的设计可以用电路框图;大型复杂的一般倾向于用HDL描述;HDL描述和计算机编程中的高级语言描述有很大不同,每一个描述都要考虑硬件的实现能力,是不是可以综合的等等,目前HDL语言标准中仍然有不能被综合的语法,这些要尤其注意。19功能仿真功能仿真 对逻辑功能进行验证:不考虑时序问题,认为门都是理想门,没有延时;详细一些的可以认为门延时都是一样,而忽略互连线的延时。20RTL代码代码逻辑仿真器逻辑仿真器调用模块的调用模块的行为仿

12、真模行为仿真模型型测试数据测试数据测试程序测试程序(test bench)逻辑综合逻辑综合 通过映射和优化,把逻辑设计描述转换为和物理实现密切相关的工艺网表:21RTL代码逻辑综合器调用模块的黑盒子接口设置综合目标和约束条件EDIF网表(netlist)HDL网表(netlist)逻辑综合逻辑综合 将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。22布局布线也叫适配布局布线也叫适配 将综合生成的网表文件,在FPGA内部进行布局布线的设计,并最终生成用于下载的二进制配置文件;如JEDEC、JAM格式的文件,适配所选定的目标器件必须属于原综合器指定的目标器件系列

13、23逻辑综合器EDIF网表网表(netlist)FPGA厂家工具调用模块的综合模型设置布局布线约束条件HDL网表(netlist)SDF文件(标准延时格式)下载/编程文件时序逼近时序逼近 时序逼近流程是一个推荐的设计方法可以帮助设计满足它们的时序目标24门级仿真门级仿真25FPGA厂家工具厂家工具HDL网表(netlist)SDF文件(标准延时格式)逻辑仿真器逻辑仿真器测试数据测试数据FPGA基本单元仿真模型测试程序(test bench)SDF 文件文件 Industry Standard Format Automatically Generated When You Compile a D

14、esign(Output File with Extension.sdo)Contain Timing Information Device Delays Interconnect Delays Port Delays Path Delays Timing Checks Can be Back-annotated to a Design for Accurate Model of Delays26物理验证物理验证 将生成的二进制配置文件下载到FPGA上,进行实际的功能和时序的测试;Altera(.sof文件)Xlinx(.bit 文件),由于FPGA常常是作为整个系统一部分,因此还应该将FPG

15、A放到整个系统中进行验证,整个系统工作正常,才算完成了开发过程。2728用用ModelSim仿真仿真内容内容vModelSim产品简介vModelSim的用途v用ModelSim进行功能仿真v用ModelSim进行时序仿真29ModelSim产品简介(产品简介(1 1)v 由Mentor Graphics公司 的子公司Model Tech公司开发v 工业上最通用的仿真器之一v 支持Verilog 和 VHDL仿真 OEM版本允许Verilog仿真 或者或者 VHDL 仿真v ModelSim/SE 首要的版本,能混合仿真Verilog 和 VHDLv ModelSim/XE OEM版,包含Xi

16、linx公司的库文件v ModelSim/AE OEM版,包含Altera公司的库文件30ModelSim产品简介(产品简介(2 2)ModelSim 用户界面31main主窗口:structure结构窗口process处理窗口:Signal&variable信号和变量窗口dataflow数据流窗口source源窗口Wave&list波形和列表窗口ModelSim的用途的用途1.RTL 仿真(功能仿真)v 验证设计HDL的基本逻辑功能,属于最基本的验证v 仿真速度最快2.门级仿真 v 采用综合软件综合后生成的门级网表v 不带有布局布线后产生的时序信息3.时序仿真(后仿真)v 在门级仿真的基础上

17、加入时延文件“.sdf”文件v 速度很慢,需要很长时间32用用ModelSim作功能仿真作功能仿真(1)(1)ModelSim 的实现方法:v 交互式的命令行(Cmd)利用控制台的命令行v 用户界面(UI)能接受菜单输入和命令行输入v 批处理模式 从DOS或UNIX命令行运行批处理文件33用用ModelSim作功能仿真作功能仿真(2)(2)基本仿真步骤:1 1 建立库2 映射库到物理目录3 编译源代码-所有的HDL代码必须被编译4 启动仿真器5 执行仿真34用用ModelSim作功能仿真作功能仿真(3)(3)1 建立库UI)从主菜单里面:Design-Create a New LibraryC

18、md)从main,记录窗口:ModelSim vlib 35用用ModelSim作功能仿真作功能仿真(4)(4)2 映射库到物理目录UI)从主菜单:Design-Browse Libraries Design-Create a New LibraryCmd)从主体的记录窗口:ModelSim vmap 36用用ModelSim作功能仿真作功能仿真(5)(5)3 编译源代码(Verilog)UI)Design-CompilevCmd)vlog-work .v.v文件按出现的顺序被编译文件的顺序或者编辑的顺序不重要v支持增量式编译(只有被改动的设计单元被编译)v缺省编译到work库例如.vlog

19、my_design.v37用用ModelSim作功能仿真作功能仿真(6)(6)3 编译源代码38点亮一个或多个文点亮一个或多个文件并点击件并点击 Compile用用ModelSim作功能仿真作功能仿真(7)(7)4 启动仿真器UI)Design-Load New DesignCmd)vsim-lib vVHDLvsim top_entity top_architecturevVerilogvsim top_level39用用ModelSim作功能仿真作功能仿真(8)(8)4 启动仿真器40选择库选择库选择顶级选择顶级module 或或 entity/architecture用用ModelSim

20、作功能仿真作功能仿真(9)(9)5 执行仿真vUI)RunCMD)run v按timesteps指定的时间长度执行仿真4142用用ModelSim作功能仿真作功能仿真(10)(10)5 执行仿真(UI)选择选择 timesteps数量就数量就可以执行仿真可以执行仿真Restart 重装任何已改动重装任何已改动的设计元素并把仿真时间设的设计元素并把仿真时间设为零为零COM)restart43用用ModelSim作功能仿真作功能仿真(11)(11)5 执行仿真-run 命令举例命令举例vrun 1000 从当前位置运行仿真 1000 timestepsvrun 2500 ns 从当前位置运行仿真2

21、500 nsvrun 3000 运行仿真到 timestep 300044用用ModelSim作功能仿真作功能仿真(12)(12)5 执行仿真-仿真器激励v测试台 Verilog 或 VHDL代码非常复杂的仿真(交互式仿真、数据量大的仿真)vforce命令简单的模块仿真直接从命令控制台输入.DO 文件(宏文件)45用用ModelSim作功能仿真(作功能仿真(13 13)5 执行仿真-仿真器激励.do文件v自动完成仿真步骤的宏文件库设置编译仿真强制仿真激励v能在所有的ModelSim 模式里被调用UI)Macro-ExecuteCOM)do.dov能调用其他的DO文件add wave/clkad

22、d wave/clradd wave/loadadd wave-hex/dataadd wave/qforce/clk 0 0,1 50-repeat 100force/clr 0 0,1 100run 500force/load 1 0,0 100force/data 16#A5 0force/clk 0 0,1 50-repeat 100run 100046用用ModelSim作功能仿真(作功能仿真(14 14)5 执行仿真-仿真器激励.do文件举例vlib workvcom counter.vhdvsim counterview*add wave/*add list/*do run.do

23、cd c:mydirvlib workvcom counter.vhdvsim counterview*do stimulus.domy_sim.dostimulus.do47用用ModelSim作功能仿真(作功能仿真(15 15)5 执行仿真-仿真器激励测试台文件(test bench)v针对复杂的仿真v在测试台文件中将设计模块实例化-将测试台文件置于TOP层,调用设计模块-在测试台文件中加载时钟激励信号,以及给部分信号赋初值v测试台文件的写法与设计模块写法有区别-一些符合语法但又无法被综合的语句(根据具体的综合工具而定),可以在测试台文件中使用用用ModelSim作功能仿真作功能仿真(总结

24、总结)基本仿真步骤:1 1 建立库(Altera MegaFunction库)2 映射库到物理目录3 编译源代码-所有的HDL代码必须被编译4 启动仿真器5 执行仿真48#Create libary#Create libaryvlib workvlib work#Compile the altera_mf library#Compile the altera_mf libraryvlog d:/quartus51/eda/sim_lib/altera_mf.vvlog d:/quartus51/eda/sim_lib/altera_mf.v#Create altera_mf library a

25、nd map it to wo#Create altera_mf library and map it to workrkexec vmap altera_mf workexec vmap altera_mf work#source files#source files#FIFO#FIFOvlog./core/INFIFO.vvlog./core/INFIFO.v#top_level#top_levelvlog./src/chip_top.vvlog./src/chip_top.vvlog./src/tb_top.vvlog./src/tb_top.v#simulation and testb

26、enches#simulation and testbenchesvsim-L work tb_topvsim-L work tb_topdo wave_tb_top.dodo wave_tb_top.dorun 5 msrun 5 ms用用ModelSim作时序仿真(作时序仿真(1 1)时序仿真的含义:v 布局布线后进行的后仿真v 包含有延时信息v 仿真结果可能与功能仿真不相同v 除功能仿真时需要的文件以外,还需要网表文件(如time_sim.vhd或time_sim.v)和包含延时信息的文件(time_sim.sdf文件)v 在Quartus中是.vo 和.sdo文件49用用ModelSi

27、m作时序仿真(作时序仿真(2 2)指定SDF文件50指定指定 SDF文件文件使用定时值的等级的使用定时值的等级的类型类型(如果不是顶级如果不是顶级)用用ModelSim作时序仿真(作时序仿真(3 3)vsim 命令的参数 参数-t 指定仿真的时间分辨率单位可以是fs,ps,ns,ms,sec,min,hr如果用了 Verilog的 timescale指令,将使用整个设计中的最小的时间精度可选项(缺省是 ns)-sdfmin|-sdftyp|-sdfmax=注释SDF文件可选项使用实例名也是可选项;如果没有使用,SDF用于顶级51用用ModelSim作时序仿真作时序仿真(总结总结)基本仿真步骤:

28、1 建立库2 编译Altera器件库3 映射库到物理目录4 编译综合后网表5 加入SDF文件4 启动仿真器5 执行仿真52#script for Modelsim post timing sim#script for Modelsim post timing simulation of Altera cyclone deviceulation of Altera cyclone device#by Wayne#by Wayne#set your PC environment#set your PC environmentset modelsim_home d:/edatools/Modset

29、modelsim_home d:/edatools/Modeltech_6.1deltech_6.1dset quartus_home d:/quartus51set quartus_home d:/quartus51#build work lib#build work libvlib workvlib work#add cyclone device lib and its sim#add cyclone device lib and its sim modelsmodelsvlog-reportprogress 300-work cyclovlog-reportprogress 300-wo

30、rk cyclone$quartus_home/eda/sim_lib/cyclone$quartus_home/eda/sim_lib/cyclone_atoms.vne_atoms.v程序接下页53vmap cyclone workvmap cyclone work#post simulation in modelsim for Altera device#post simulation in modelsim for Altera devices sset design_name chip_topset design_name chip_topset home./impset home.

31、/impvlog./src/tb_top.vvlog./src/tb_top.vvlog./imp/simulation/modelsim/$design_name.vlog./imp/simulation/modelsim/$design_name.vovovsim-sdftyp/tb_top/UUT=chip_top_v.sdo-t ps vsim-sdftyp/tb_top/UUT=chip_top_v.sdo-t ps work.tb_topwork.tb_topdo wave.dodo wave.dorun 500 usrun 500 us程序接上页54用用Quartus II 进行

32、综合、进行综合、时序分析和布局布线时序分析和布局布线设计流程设计流程 Create a New Quartus II Project Compile a Design into an FPGA Locate Resulting Compilation Information Assign Design Constraints(Timing&Pin)Perform Timing Analysis&Obtain Results Configure an FPGA55创建一个新的工程创建一个新的工程56添加文件添加文件57器件选择器件选择58Choose Device Family管脚分配管脚分配

33、Assignments menu-Assignment Editor-Pins59Pin Planner 窗口窗口60Unassigned Pins ListPackage View(Top or Bottom)Assigned Pins ListAltera的的IP工具工具IPIP的概念的概念:用于用于ASICASIC、ASSPASSP、PLDPLD等芯片中预先设计好的常用但较复等芯片中预先设计好的常用但较复杂的电路功能模块,经过严格测试和优化,如杂的电路功能模块,经过严格测试和优化,如FIRFIR滤波器滤波器、SDRAMSDRAM控制器、控制器、PCIPCI接口等。接口等。使用使用IPIP

34、的优势的优势:提高设计性能提高设计性能降低开发成本降低开发成本缩短设计周期缩短设计周期设计灵活性强设计灵活性强仿真方便仿真方便6162IPIP的分的分类类:软软IPIP、固、固IPIP和硬和硬IPIPMegafunctions/LPMMegafunctions/LPM(免费的宏功能模块):(免费的宏功能模块):如算术组件、门、如算术组件、门、I/OI/O组件、存储器、存储组件组件、存储器、存储组件MegaCoreMegaCore(需要授权的):(需要授权的):如数字信号处理类、通信类、接口和外设类、如数字信号处理类、通信类、接口和外设类、微处理器类微处理器类Altera的的IP工具工具IP使用

35、的步骤使用的步骤 下载所要的MegaCore 通过MegaWizard的界面打开IP核的统一界面IP Toolbench 定制要生成的IP的参数 产生IP的封装和网表文件,以及功能模型 对IP的RTL模型做功能仿真 将IP的封装和网表文件放在工程中,并实现设计 购买IP许可证63MegaWizard Plug-In Manager Eases Implementation of Megafunctions&IPEases Implementation of Megafunctions&IP64Tools MegaWizard Plug-In ManagerMegaWizard 示例示例 65M

36、ultiply-AddPLLLocate Documentation in Quartus II Help or the Web时序分析时序分析66Timing Assignments 5 types of timing assignments exist:fmax,tsu,thold,tco,tpd These timing assignments can be assigned globally or individually6768Register的参数的参数DClkQDQClktc-qtholdTtsutsu:建立时间,在时钟有效沿到来之前寄存器数据输入应保持稳定的时间,它间接约束了组

37、合逻辑的最大延时thold:保持时间,在寄存器数据输入的引脚的数据在系统有效时钟沿到来后需要保持稳定的时间,它间接约束了组合逻辑的最小延时tc-q:寄存器从有效时钟沿到来到输出有效的最大时间违反建立或保持时间,都会造成触发器工作异常,产生Metastability。为了可靠工作,在建立时间开始到保持时间为止的这段时间内,触发器的输入端信号不应发生变化。69Clock Skewl在同一个时钟域或者两个时钟域之间时钟信号到达寄存器的最大时间差别l产生原因主要有:时钟源到达各端点的路径长度不同,各端点负载不同,时钟网络中插入的缓冲器不同等l在两个点之间,可以大体认为Skew是固定的值l注意:Cloc

38、k Skew影响的是时钟的到达时间不同,也就是时钟发生相移,并不影响时钟的周期宽度70Clock Skew(2)71时钟参数满足的条件l时钟周期应大于寄存器延时、组合逻辑延时、和目标寄存器建立时间的和l本寄存器有效输出通过组合逻辑的延时应该大于目的寄存器的保持时间要求Fmax Assignment72Fmax Assignment:Single/Multiple Clock73Clock Setup(fmax)Worst-Case Clock FrequencyWorst-Case Clock Frequency74Clock Period=Clock-to-Out+Data Delay+Se

39、tup Time-Clock Skew =tco+B+tsu-(E-C)fmax=1/Clock PeriodBCtcotsuE Clock PeriodClock Setup(fmax)Tables75Select Clock SetupWorst fmaxFmax Values Are Listed in Ascending Order;Worst Fmax Is Listed on the TopSource,Destination Registers&Associated Fmax Valuesfmax Analysis Details76Data Delay(B)Source Reg

40、ister Clock Delay(C)Setup Time(tsu)BCtcotsuE Clock PeriodDestination Register Clock Delay(E)Clock to Output(tco)10.384 ns+7.445 ns+0.180 ns-0.000 ns=124.86 MHzMessages Window(System Tab)in Quartus II I/O Assignments:Tsu,Tco77Timing Assignments What can be tagged with a timing assignments?Registers(a

41、ll)Clock Pins(all)Input Pins(tsu,th)Output Pins(tco)Bidirectional Pins(all)78Timing SettingsEasy way to enter timing assignmentsConsolidates all timing assignments in one menu Individual clock settings OR overall circuit frequency Default system timing tsu th tco tpd Default external input/output de

42、lays Enable/Disable timing analysis during compilation Timing driven compilation79Reporting Timing ResultsTiming information is part of the Compilation Report Summary Timing Analyses fmax(not incl.delays to/from pins)or fmax (incl.delays to/from pins)Register-to-Register Table tsu(Input Setup Times)

43、th(Input Hold Times)tco(Clock to Out Delays)tpd(Pin to Pin Delays)All timing results are reported here80I/O 建立时间和保持时间建立时间和保持时间81Clock delaytsu thData delaytsu=data delay-clock delay+intrinsic tsuintrinsic tsu&holdth=clock delay-data delay+intrinsic thI/O Clock-to-Output Analysis(tco)82Data delaytcoC

44、lock delayclock delay+intrinsic tco+data delay=tcointrinsic tco83Time Slackslack=期望数据到达时间 数据实际到达时间Slack为正,表示数据提前到达,此时组合逻辑延迟满足条件,Register有足够的建立时间;Slack为负,表示数据比预期的时间晚到达,此时显然不满足Register的建立时间,不满足约束;Slack Equations(Setup)84Slack=Largest Required Time-Longest Actual TimeRequired Time=Clock Setup-tco-tsu+(

45、clk-clk)Actual Time=Data Delaylaunch edgeclkclksetup latch edgeClock Setup*clktcotsuCombinatorial LogicclkRegister 1Register 2data delaySlack Equations(Hold)85launch edgeclkhold latch edgeClock Hold*clktcothCombinatorial LogicclkRegister 1Register 2data delaySlack=Shortest Actual Time-Smallest Requi

46、red TimeActual Time=Data DelayRequired Time=Clock Hold-tco+th+(clk-clk)clk86inoutclkreg1reg2clkclkclkslack=p2p required p2p delayp2pp2p required=setup relationship+clock skew tCO-tSUsetup relationship=latch edge launch edgeclock skew=clk clk launchlatchSimple Register to Register 示例示例87inoutclkreg1r

47、eg2clkslack=p2p required p2p delayp2pp2p required=setup relationship+clock skew tCO tSUsetup relationship=latch edge launch edge=5.0 0.0=5.0 clock skew=clk clk 2.2660.110.082tcotsu0.0820.11=2.521-2.993=5.0+(-0.472)0.11 0.082=4.336 2.266=-0.472=4.336tcotsu=2.072.9932.5212.9932.521Simple Register to R

48、egister 示例(示例(con)Input Minimum DelayMinimum Delay from External Device to Altera I/OMinimum Delay from External Device to Altera I/O Represents External Device tco+PCB Delay+PCB Clock SkewRepresents External Device tco+PCB Delay+PCB Clock SkewConstrains Registered Input Path(th)Constrains Registere

49、d Input Path(th)88AtcothAltera DeviceExternal DevicePCB DelaythA Input Minimum DelayInput Minimum DelaythACLKCLKOutput Maximum DelayMaximum Delay from Altera I/O to External DeviceMaximum Delay from Altera I/O to External Device Represents External Device tsu+PCB Delay+PCB Clock SkewRepresents Exter

50、nal Device tsu+PCB Delay+PCB Clock SkewConstrains Registered Output Path(Max.tco)Constrains Registered Output Path(Max.tco)89BtcotsuAltera DeviceExternal DevicePCB DelaytcoB tCLK-Output Maximum DelaytcoOutput Maximum DelayCLKCLKOutput Minimum DelayMinimum Delay from Altera I/O to External DeviceMini

51、mum Delay from Altera I/O to External Device Represents External Device th-PCB Board DelayRepresents External Device th-PCB Board DelayConstrains Registered Output Path(Min.tco)Constrains Registered Output Path(Min.tco)90BtcothAltera DeviceExternal DeviceBoard DelaytcoB Output Minimum DelaytcoOutput

52、 Maximum DelayCLKCLKExample Input Maximum Delay91Notice:1)Input Pin d(6)&d(3)Timing Information Is Included with Clock Setup(fmax)Analysis2)Input Delay Has Been Added to List Path CalculationInput Maximum Delay(d)=4 ns Compiling in Quartus92Compiling in Quartus(Start)93Compiling in Quartus94Done!95D

53、ownload Bit File96Download Bit File into FPGA97Altera FPGA配置列表配置列表98配置模式典型应用被动串行模式(PS)运用增强配置芯片(EPC16,EPC8或EPC4)EPC1,EPC2,EPC1441,串行同步微处理器,USB接口下载电缆,MasterBlasterTM通信电缆,ByteBlasterTM II并口下载电缆或ByteBlasterMVTM并口下载电缆。主动串行模式(AS)应用串行配置芯片EPCS1,EPCS4等被动并行同步模式(PPS)并行同步微处理器配置快速被动并行模式(FPP)增强型配置芯片或8位同步并行微处理器速度为

54、PPS模式的8倍。被动并行异步模式(PPA)采用异步微处理器,这种模式下微处理器对于目标芯片如同一个存储器。被动串行异步模式(PSA)串行异步处理器JTAG模式根据 IEEE Std.1149.1(JTAG)引脚标准Debug with SignalTap II99Quartus II 嵌入式逻辑分析仪特点嵌入式逻辑分析仪特点100特点优点可以灵活的改变缓冲器模式在循环模式或间隔模式采样时,使每次不同的触发均能采到更加精确的数据。每个器件最高支持1024个通道可以支持多个采用通道和很宽的总线模式采样。每个器件支持128K采样存储使每个通道得到更多的采样数据。采样时钟最高可达270MHz可以采集

55、速率更高的数据。资源使用的评价者可以评估逻辑或存储器件的资源使用情况。不需要额外费用SignalTap II logic Analyzer 是Quartus II免费提供的。可对一个器件进行多重逻辑分析可以从一个复杂的时钟信号中分析出想要得到的数据通过一个JTAG接口可对多个器件进行多重的逻辑分析使设计者可以通过一个JTAG接口同步得到多个芯片的数据对每个信号均有10种触发模式可以捕捉到更加复杂的数据信号,更加景区的找到问题的所在。增加的编译可以在综合编译之前对逻辑分析仪进行修改。FIR滤波器设计实例滤波器设计实例101一个综合的例子一个综合的例子 FIR滤波器的设计 Modelsim的使用

56、Quartus II的使用 宏功能模块的使用 仿真、综合等过程及报告的查看102设计要求设计要求 设计一个14阶FIR滤波器,已给出滤波器系数,要求用Verilog/VHDL实现该滤波器,并且选用Altera的Stratix或Stratix II器件。要求充分利用Altera Stratix/Stratix II的器件的DSPBLOCK资源。要求每一级都一级流水线(pipeline)。能够利用Altera的megafunction。能够在Modelsim下进行仿真。选用EP2S60F484C3器件。Fmax达到270Mhz以上。103设计难点设计难点 难点在于要达到270MHz以上的频率 通过

57、插入流水线可以达到要求 为了不过分的增加流水线寄存器的数量,需要对FIR滤波器的结构进行精心设计 104直接形式结构直接形式结构 105关键路径是关键路径是1 1个乘法器和个乘法器和2 2个加法器个加法器 流水线割集插入流水线寄存器,这样得到的关键路径是流水线割集插入流水线寄存器,这样得到的关键路径是1 1个乘法和个乘法和1 1个加法个加法 数据广播结构数据广播结构106关键路径是关键路径是1 1个乘法器和个乘法器和1 1个加法器个加法器 流水线割集插入流水线寄存器,关键路径是流水线割集插入流水线寄存器,关键路径是1 1个乘法个乘法 设计方案选择设计方案选择寄存器数目寄存器数目关键路径长度关键

58、路径长度直接形式结构直接形式结构39 36个个1个乘法器和个乘法器和1个加法器个加法器数据广播结构数据广播结构13 36个个1个乘法器和个乘法器和1个加法器个加法器进一步流水的数进一步流水的数据广播结构据广播结构27 36个个1个乘法器个乘法器107FIR滤波器的结构滤波器的结构108模块划分模块划分乘法器模块乘法器模块:直接用:直接用AlteraAltera的的DSPBLOCK lpm_multDSPBLOCK lpm_mult进行例化进行例化信号名称I/O描述dataaI乘法器输入数据信号,16bit字长databI乘法器输入数据信号,16bit字长resultO滤波器输出数据信号,32b

59、it字长信号名称I/O描述dataaI乘法器输入数据信号,36bit字长databI乘法器输入数据信号,36bit字长resultO滤波器输出数据信号,36bit字长109 加法器模块加法器模块:直接用:直接用AlteraAltera的的DSPBLOCK lpm_add_subDSPBLOCK lpm_add_sub进行例化进行例化 顶层模块顶层模块:将乘法器和加法器连接成数据广播结构的:将乘法器和加法器连接成数据广播结构的FIRFIR滤波器滤波器DSP Blocks for ComplexArithmetic Applications WirelessWirelessFiltering&Co

60、mpressionFiltering&CompressionEncryptionEncryptionSignal ProcessingSignal Processing ConsumerConsumerImage ProcessingImage ProcessingAudio ProcessingAudio ProcessingCompressionCompression DataComDataComBarrel ShiftingBarrel ShiftingQoS AlgorithmsQoS Algorithms110+Optional PipeliningOutput RegistersO

61、utput MUX+-S+-S SInput RegistersStratix II DSP Blocks Up 96 DSP BlocksUp 96 DSP BlocksEach Configured forEach Configured for(8)9x9 Multipliers(8)9x9 Multipliers(4)18x18 Multipliers(4)18x18 Multipliers(1)36x36 Multiplier(1)36x36 MultiplierCan Be Cascaded for Larger OperationsCan Be Cascaded for Large

62、r Operations Dedicated Configurable Math CircuitryDedicated Configurable Math CircuitryMultiplier,Accumulate&Addition/SubtractionMultiplier,Accumulate&Addition/SubtractionRounding&SaturationRounding&Saturation Built-In Shift Register for Complete FIR Filter ImplemenBuilt-In Shift Register for Comple

63、te FIR Filter Implementationtation Selectable Input,Output&Pipeline Stage RegistersSelectable Input,Output&Pipeline Stage Registers111DSP Block Architecture112Add/Sub/AccSummationUnitOutput RegisterXXXX+-+-Input Register Pipeline RegisterOutput Mux综合结果综合结果目标器件目标器件EP2S60F484C3Total ALUTs338/48,352(1%

64、)DSP block 9-bit elements28/288(9%)最高时钟频率最高时钟频率(约束(约束300MHz情况下)情况下)312.89 MHz(period=3.196 ns)113资资源利用率源利用率速度速度总结总结(1)1、使用ModelSimModelSim进行功能仿真功能仿真 3、使用Quartus IIQuartus II对对设计进行综合综合,时序分析和时序分析和布线布线 4、使用ModelSimModelSim进行后仿真后仿真 5、使用Quartus IIQuartus II下载文件到实际电路 6、使用SignalTap IISignalTap II进行调试和数据观测1

65、14总结总结(2)数字系统设计应该明确如下观点:无论是ASIC、FPGA还是DSP,都只是一种实现手段;无论采用哪种HDL或哪种开发工具,都不能单纯从语言或工具本身作出评价;关键是看应用环境,只有选择最适合于应用的实现方式和工具才是最好的设计方案;设计应该注重硬件设计本身,只有先有了良好的设计,才可能有高效的描述和实现。数字模拟电路、HDL语言等知识和实际经验比了解软件更重要。115Altera公司的下载电缆公司的下载电缆 针对FPGA器件不同的内部结构,Altera公司提供了不同的器件配置方式。Altera FPGA的配置可通过编程器、JATG接口在线编程及Altera在线配置等方式进行。A

66、ltera器件编程下载电缆的有:ByteBlaster并行下载电缆,ByteBlasterMV并行下载电缆,MasterBlaster串行USB通信电缆,BitBlaster串口下载电缆。116ByteBlaster并行下载电缆并行下载电缆 ByteBlaster并行下载电缆是一种连接到 PC机 25针标准口(LPT口)的硬件接口产品。ByteBlaster并行下载电缆可以对FLEX10K、FLEX8000和 FLEX6000进行配置,也可以对 MAX9000(包括MAX9000A)、MAX7000S和MAX7000A进行编程。ByteBlaster为FPGA提供了一种快速而廉价的配置方法,设计人员的设计可以直接通过ByteBlaster下载电缆下载到芯片中去。117ByteBlaster并行下载电缆并行下载电缆ByteBlaster并行下载电缆提供两种下载模式:Passive serial mode(PS,被动串行模式)用于配置FLEX10K、FLEX8000和FLEX600O系列器件。JTAG模式 采用工业标准的JTAG边界扫描测试电路(符合IEEE 1149.1-1990标准)用

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!