AlteraFPGA的设计流程课件

上传人:hknru****knru 文档编号:243151400 上传时间:2024-09-17 格式:PPT 页数:114 大小:2.87MB
返回 下载 相关 举报
AlteraFPGA的设计流程课件_第1页
第1页 / 共114页
AlteraFPGA的设计流程课件_第2页
第2页 / 共114页
AlteraFPGA的设计流程课件_第3页
第3页 / 共114页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*, , , , , ,FPGA设计,*,*,单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Altera FPGA的设计流程,贺 光 辉,清华大学电子工程系,1,目标,掌握FPGA的标准设计流程和工具,用Modelsim进行功能级仿真并诊断RTL Code,用Quartus II做设计综合和布局布线,用FPGA Mega-functions做设计,返标SDF并运行门级的仿真,掌握FPGA的时序约束,了解FPGA的设计原则,2,提纲,FPGA概要,FPGA的设计流程,用Modelsim进行仿真和调试,用Quartus II进行时序分析、综合等,FIR滤波器的设计实例,3,FPGA概要,4,FPGA的优点,集成度高,可以替代多至几千块通用,IC,芯片,极大减小电路的面积,降低功耗,提高可靠性,具有完善先进的开发工具,提供语言、图形等设计方法,十分灵活,通过仿真工具来验证设计的正确性,可以反复地擦除、编程,方便设计的修改和升级,灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间,布局布线容易,设计过程相当于只有ASIC设计的前端,研发费用低,不需要投片费用,5,FPGA,的应用前景,通信、控制、数据计算等领域得到了广泛的应用,减少电子系统的开发风险和开发成本,缩短上市时间(time to market),通过在系统编程、远程在线重构等技术降低维护升级成本,系统的原型实现ASIC的原型验证,ASIC常用FPGA进行原型机验证,6,CPLD与FPGA的区别,CPLD,FPGA,内部结构,Productterm,Lookup Table,程序存储,内部EEPROM,SRAM,外挂EEPROM,资源类型,组合电路资源丰富,触发器资源丰富,集成度,低,高,使用场合,完成控制逻辑,能完成比较复杂的算法,速度,慢,快,其他资源,EAB(嵌入式逻辑块),锁相环,保密性,可加密,一般不能保密,7,CPLD还是FPGA ?,复杂组合逻辑:,CPLD,PLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至2030多个组合逻辑输入,复杂时序逻辑:,FPGA,FPGA芯片中包含的LUT和触发器的数量非常多,往往都是成千上万,8,推荐书籍,Verilog,Verilog数字系统设计教程,夏宇闻 北京航天航空大学出版社,硬件描述语言Verilog,刘明业等译 清华大学出版社,FPGA,基于FPGA的嵌入式系统设计,任爱锋 西安电子科技大学出版社,基于FPGA的系统设计(英文版),Wayne Wolf 机械工业出版社,IC设计,Reuse methodology manual for system-on-a-chip designs,3rd ed. Michael Keating, Pierre Bricaud,.,片上系统,:,可重用设计方法学,沈戈,等译电子工业出版社, 2004,Writing testbenches : functional verification of HDL models / Janick Bergeron,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!,Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill!,10,FPGA的设计流程,11,目标,完成本单元的学习后你将会,列出FPGA设计过程的步骤(以Altera的FPGA为设计例子),用缺省的软件选项来实现一个FPGA的设计,Quaturs II,Modelsim,12,FPGA的设计流程,FPGA的设计流程,用ModelSim进行仿真,用Quartus II进行综合和时序分析,用Quartus II进行布局布线、调试和下载,13,FPGA设计流程,综合,- Translate Design into Device Specific Primitives,- Optimization to Meet Required Area & Performance Constraints,- Synplify, Quartus II,Design Specification,布局布线,- Map Primitives to Specific Locations inside,Target Technology with Reference to Area,&,Performance Constraints,Design Entry/RTL Coding,- Behavioral or Structural Description of Design,RTL仿真,-,Functional Simulation (Modelsim, Quartus II),- Verify Logic Model & Data Flow,(No Timing Delays),LE,M512,M4K,I/O,14,FPGA设计流程,时序分析,- Verify Performance Specifications Were Met,- Static Timing Analysis,门级仿真,-,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,15,系统规划和预算,系统功能的总体规划:,功能集的定义;,端口的定义;,模块的基本划分和功能定义:,每个模块应该完成的功能;,模块之间的接口定义;,模块间通讯的问题一定要考虑好,硬件通信的成本一般比较大。,16,设计的整体规划,设计规模的初步估计,大致应该选择哪一层次的芯片;,设计时序的宏观规划:,频率和时钟结构;,可能的关键路径,着重优化;,模块的进一步细化,考虑可重用性等的规划:,可以考虑基本单元,比如加法、乘法器和寄存器等。,设计文档化非常重要,17,设计实现,用电路框图或者HDL描述实现自己的设计:,简单的设计可以用电路框图;,大型复杂的一般倾向于用HDL描述;,HDL描述和计算机编程中的高级语言描述有很大不同,每一个描述都要考虑硬件的实现能力,是不是可以综合的等等,目前HDL语言标准中仍然有不能被综合的语法,这些要尤其注意,。,18,功能仿真,对逻辑功能进行验证:,不考虑时序问题,认为门都是理想门,没有延时;,详细一些的可以认为门延时都是一样,而忽略互连线的延时。,RTL代码,逻辑仿真器,调用模块的,行为仿真模型,测试数据,测试程序,(test bench),19,逻辑综合,通过映射和优化,把逻辑设计描述转换为和物理实现密切相关的工艺网表:,RTL代码,逻辑综合器,调用模块的,黑盒子接口,设置综合目标和约束条件,EDIF网表,(netlist),HDL网表,(netlist),20,布局布线,将综合生成的网表,在FPGA内部进行布局布线的设计,并最终生成用于下载的二进制配置文件;,逻辑综合器,EDIF网表,(netlist),FPGA厂家工具,调用模块的,综合模型,设置布局布线约束条件,HDL网表,(netlist),SDF文件,(标准延时格式),下载/编程文件,21,时序逼近,时序逼近流程是一个推荐的设计方法可以帮助设计满足它们的时序目标,22,门级仿真,FPGA厂家工具,HDL,网表,(netlist),SDF文件,(标准延时格式),逻辑仿真器,测试数据,FPGA基本单元仿真,模型,测试程序,(test bench),23,SDF 文件,Industry Standard Format,Automatically Generated When You Compile a Design (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 Delays,24,物理验证,将生成的二进制配置文件下载到FPGA上,进行实际的功能和时序的测试;,Altera,(.sof文件),Xlinx,(.bit 文件),,由于FPGA常常是作为整个系统一部分,因此还应该将FPGA放到整个系统中进行验证,整个系统工作正常,才算完成了开发过程。,25,用Model,Sim,仿真,26,内容,Model,Sim,产品简介,Model,Sim,的用途,用Model,Sim,进行功能仿真,用Model,Sim,进行时序仿真,27,Model,Sim,产品简介(1),由Mentor Graphics公司 的子公司Model Tech公司开发,工业上最通用的仿真器之一,支持Verilog 和 VHDL仿真,OEM版本允许Verilog仿真,或者,VHDL 仿真,Model,Sim,/SE,首要的版本,能混合仿真Verilog 和 VHDL,Model,Sim,/,XE,OEM版,包含Xilinx公司的库文件,Model,Sim,/AE,OEM版,包含Altera公司的库文件,28,Model,Sim,产品简介(2),Model,Sim,用户界面,main主窗口,:,structure结构窗口,process处理窗口,:,Signal&variable信号,和变量窗口,dataflow数据流窗口,source源窗口,Wave&list,波形和列表窗口,29,Model,Sim,的用途,RTL 仿真(功能仿真),验证设计HDL的基本逻辑功能,属于最基本的验证,仿真速度最快,门级仿真,采用综合软件综合后生成的门级网表,不带有布局布线后产生的时序信息,时序仿真(后仿真),在门级仿真的基础上加入时延文件“.sdf”文件,速度很慢,需要很长时间,30,用,Model,Sim,作功能仿真(1),Model,Sim,的实现方法,:,交互式的命令行 (Cmd),利用控制台的命令行,用户界面 (UI),能接受,菜单输入,和,命令行输入,批处理模式,从DOS或UNIX命令行运行批处理文件,31,用,Model,Sim,作功能仿真(2),基本仿真步骤,:,1,建立库,2, 映射库到物理目录,3 编译源代码,- 所有的HDL代码必须被编译,4 启动仿真器,5 执行仿真,32,用,Model,Sim,作功能仿真(3),1,建立库,UI),从主菜单里面:,Design - Create a New Library,Cmd),从main, 记录窗口:,ModelSim,vlib ,33,用,Model,Sim,作功能仿真(4),2, 映射库到物理目录,UI),从主菜单:,Design - Browse Libraries,Design - Create a New Library,Cmd),从主体的记录窗口:,ModelSim,vmap,34,用,Model,Sim,作功能仿真(5),3 编译源代码(Verilog),UI),Design - Compile,Cmd),vlog,-work ,.v,.v,文件按出现的顺序被编译,文件的顺序或者编辑的顺序不重要,支持增量式编译(只有被改动的设计单元被编译),缺省编译到work库,例如.,vlog,my_design.v,35,用,Model,Sim,作功能仿真(6),3 编译源代码,点亮一个或多个文件并点击 Compile,36,用,Model,Sim,作功能仿真(7),4 启动仿真器,UI),Design - Load New Design,Cmd),vsim,-lib ,VHDL,vsim,top_entity top_architecture,Verilog,vsim,top_level,37,用,Model,Sim,作功能仿真(8),4 启动仿真器,选择库,选择顶级module 或 entity/architecture,38,用,Model,Sim,作功能仿真(9),5 执行仿真,UI),Run,CMD),run, ,按timesteps指定的时间长度执行仿真,39,用,Model,Sim,作功能仿真(10),5 执行仿真(UI),选择 timesteps数量就可以执行仿真,Restart, 重装任何已改动的设计元素并把仿真时间设为零,COM) restart,40,用,Model,Sim,作功能仿真(11),5 执行仿真-,run,命令举例,run,1000,从当前位置运行仿真 1000 timesteps,run,2500 ns,从当前位置运行仿真2500 ns,run,3000,运行仿真到 timestep 3000,41,用,Model,Sim,作功能仿真(12),5 执行仿真-,仿真器激励,测试台, Verilog 或 VHDL代码,非常复杂的仿真(交互式仿真、数据量大的仿真),force命令,简单的模块仿真,直接从命令控制台输入,.DO 文件 (宏文件),42,用,Model,Sim,作功能仿真(13),5 执行仿真-,仿真器激励,.do文件,自动完成仿真步骤的宏文件,库设置,编译,仿真,强制仿真激励,能在所有的Model,Sim,模式里被调用,UI),Macro - Execute,COM),do,.do,能调用其他的DO文件,43,用,Model,Sim,作功能仿真(14),5 执行仿真-,仿真器激励,.do文件举例,vlib work,vcom counter.vhd,vsim counter,view *,add wave /*,add list /*,do run.do,add wave /clk,add wave /clr,add wave /load,add wave -hex /data,add wave /q,force /clk 0 0, 1 50 -repeat 100,force /clr 0 0, 1 100,run 500,force /load 1 0, 0 100,force /data 16#A5 0,force /clk 0 0, 1 50 -repeat 100,run 1000,cd c:mydir,vlib work,vcom counter.vhd,vsim counter,view *,do stimulus.do,my_sim.do,stimulus.do,44,用,Model,Sim,作功能仿真(15),5 执行仿真-,仿真器激励,测试台文件(test bench),针对复杂的仿真,在测试台文件中将设计模块实例化,-,将测试台文件置于TOP层,调用设计模块,-,在测试台文件中加载时钟激励信号,以及给部分信号赋初值,测试台文件的写法与设计模块写法有区别,-,一些符合语法但又无法被综合的语句(根据具体的综合工具而定),可以在测试台文件中使用,45,用,Model,Sim,作功能仿真(总结),基本仿真步骤,:,1,建立库(Altera MegaFunction库),2, 映射库到物理目录,3 编译源代码,- 所有的HDL代码必须被编译,4 启动仿真器,5 执行仿真,# Create libary,vlib work,# Compile the altera_mf library,vlog d:/quartus51/eda/sim_lib/altera_mf.v,# Create altera_mf library and map it to work,exec vmap altera_mf work,# source files,# FIFO,vlog ./core/INFIFO.v,# top_level,vlog ./src/chip_top.v,vlog ./src/tb_top.v,# simulation and testbenches,vsim -L work tb_top,do wave_tb_top.do,run 5 ms,46,用,Model,Sim,作时序仿真(1),时序仿真的含义,:,布局布线后进行的后仿真,包含有延时信息,仿真结果可能与功能仿真不相同,除功能仿真时需要的文件以外,还需要网表文件(如time_sim.vhd或time_sim.v)和包含延时信息的文件(time_sim.sdf文件),在Quartus中是.vo 和.sdo文件,47,用,Model,Sim,作时序仿真(2),指定SDF文件,指定 SDF文件,使用定时值的等级的类型 (如果不是顶级),48,用,Model,Sim,作时序仿真(3),vsim,命令的参数,参数,-t ,指定仿真的时间分辨率,单位可以是fs, ps, ns, ms, sec, min, hr,如果用了 Verilog的 timescale指令, 将使用整个设计中的最小的时间精度,可选项(缺省是 ns),-sdfmin | -sdftyp | -sdfmax =,注释SDF文件,可选项,使用实例名也是可选项; 如果没有使用, SDF用于顶级,49,用,Model,Sim,作时序仿真(总结),基本仿真步骤,:,建立库, 编译Altera器件库,3, 映射库到物理目录,4 编译综合后网表,5 加入SDF文件,4 启动仿真器,5 执行仿真,# script for Modelsim post timing simulation of Altera cyclone device,# by Wayne,# set your PC environment,set modelsim_home d:/edatools/Modeltech_6.1d,set quartus_home d:/quartus51,#build work lib,vlib work,#add cyclone device lib and its sim models,vlog -reportprogress 300 -work cyclone $quartus_home/eda/sim_lib/cyclone_atoms.v,程序接下页,50,vmap cyclone work,# post simulation in modelsim for Altera devices,set design_name chip_top,set home ./imp,vlog ./src/tb_top.v,vlog ./imp/simulation/modelsim/$design_name.vo,vsim -sdftyp /tb_top/UUT=chip_top_v.sdo -t ps work.tb_top,do wave.do,run 500 us,程序接上页,51,用,Quartus II,进行综合、,时序分析和布局布线,52,设计流程,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 FPGA,53,创建一个新的工程,54,添加文件,55,Choose Device Family,器件选择,56,管脚分配,Assignments menu-Assignment Editor-Pins,57,Pin Planner 窗口,Unassigned Pins List,Package View (Top or Bottom),Assigned Pins List,58,Altera的IP工具,IP的概念,:,用于ASIC、ASSP、PLD等芯片中预先设计好的常用但较复杂的电路功能模块,经过严格测试和优化,如FIR滤波器、SDRAM控制器、PCI接口等。,使用IP的优势,:,提高设计性能,降低开发成本,缩短设计周期,设计灵活性强,仿真方便,59,IP的分类,:,软IP、固IP和硬IP,Megafunctions/LPM(免费的宏功能模块):,如算术组件、门、I/O组件、存储器、存储组件,MegaCore(需要授权的):,如数字信号处理类、通信类、接口和外设类、微处理器类,Altera的IP工具,60,下载所要的MegaCore,通过MegaWizard的界面打开IP核的统一界面IP Toolbench,定制要生成的IP的参数,产生IP的封装和网表文件,以及功能模型,对IP的RTL模型做功能仿真,将IP的封装和网表文件放在工程中,并实现设计,购买IP许可证,IP使用的步骤,61,MegaWizard Plug-In Manager,Eases Implementation of Megafunctions & IP,Tools,MegaWizard Plug-In Manager,62,MegaWizard 示例,Multiply-Add,PLL,Locate Documentation in Quartus II Help or the Web,63,时序分析,64,Timing Assignments,5 types of timing assignments exist:,fmax, tsu, thold, tco, tpd,These timing assignments can be assigned globally or individually,65,Register,的参数,D,Clk,Q,D,Q,Clk,t,c-q,t,hold,T,t,su,tsu:建立时间,在时钟有效沿到来之前寄存器数据输入应保持稳定的时间,它间接约束了组合逻辑的最大延时,thold:保持时间,在寄存器数据输入的引脚的数据在系统有效时钟沿到来后需要保持稳定的时间,它间接约束了组合逻辑的最小延时,tc-q:寄存器从有效时钟沿到来到输出有效的最大时间,违反建立或保持时间,都会造成触发器工作异常,产生Metastability。,为了可靠工作,在建立时间开始到保持时间为止的这段时间内,触发器的输入端信号不应发生变化。,66,Clock Skew,在同一个时钟域或者两个时钟域之间时钟信号到达寄存器的最大时间差别,产生原因主要有:时钟源到达各端点的路径长度不同,各端点负载不同,时钟网络中插入的缓冲器不同等,在两个点之间,可以大体认为Skew是固定的值,注意:Clock Skew影响的是时钟的到达时间不同,也就是时钟发生相移,并不影响时钟的周期宽度,67,Clock Skew(2),68,时钟参数满足的条件,时钟周期应大于寄存器延时、组合逻辑延时、和目标寄存器建立时间的和,本寄存器有效输出通过组合逻辑的延时应该大于目的寄存器的保持时间要求,69,Fmax Assignment,70,Fmax Assignment,: Single/Multiple Clock,71,Clock Period,= Clock-to-Out + Data Delay + Setup Time - Clock Skew,= tco + B + tsu - (E - C),fmax,= 1/Clock Period,B,C,tco,tsu,E,Clock Period,Clock Setup (fmax),Worst-Case Clock Frequency,72,Select,Clock Setup,Worst fmax,Fmax Values Are Listed in Ascending Order; Worst Fmax Is Listed on the Top,Source, Destination Registers & Associated Fmax Values,Clock Setup (fmax) Tables,73,fmax Analysis Details,Data Delay (B),Source Register Clock Delay (C),Setup Time (tsu),B,C,tco,tsu,E,Clock Period,Destination Register Clock Delay (E),Clock to Output (tco),1,0.384 ns + 7.445 ns + 0.180 ns - 0.000 ns,= 124.86 MHz,Messages Window (System Tab) in Quartus II,74,I/O Assignments:,Tsu, Tco,75,Timing Assignments,What can be tagged with a timing assignments?,Registers (all),Clock Pins (all),Input Pins (tsu, th),Output Pins (tco),Bidirectional Pins (all),76,Timing Settings,Easy way to enter timing assignments,Consolidates all timing assignments in one,menu, Individual clock settings OR overall circuit frequency, Default system timing, tsu, th, tco, tpd, Default external input/output delays, Enable/Disable timing analysis during,compilation, Timing driven compilation,77,Reporting Timing Results,Timing 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), th (Input Hold Times), tco (Clock to Out Delays), tpd (Pin to Pin Delays), All timing results are reported here,78,I/O 建立时间和保持时间,Clock delay,tsu th,Data delay,tsu = data delay - clock delay + intrinsic tsu,intrinsic tsu & hold,th = clock delay - data delay + intrinsic th,79,I/O Clock-to-Output Analysis (tco),Data delay,tco,Clock delay,clock delay + intrinsic tco + data delay = tco,intrinsic tco,80,Time Slack,slack = 期望数据到达时间 数据实际到达时间,Slack为正,表示数据提前到达,此时组合逻辑延迟满足条件,Register有足够的建立时间;,Slack为负,表示数据比预期的时间晚到达,此时显然不满足Register的建立时间,不满足约束;,81,Slack Equations (Setup),Slack = Largest Required Time - Longest Actual Time,Required Time,=,Clock Setup,- tco - tsu + (clk- clk),Actual Time = Data Delay,launch edge,clk,clk,setup latch edge,Clock Setup*,clk,tco,tsu,Combinatorial Logic,clk,Register 1,Register 2,data,delay,82,Slack Equations (Hold),launch edge,clk,hold latch edge,Clock Hold*,clk,tco,th,Combinatorial Logic,clk,Register 1,Register 2,data delay,Slack = Shortest Actual Time - Smallest Required Time,Actual Time = Data Delay,Required Time =,Clock Hold,- tco + th + (clk- clk),clk,83,in,out,clk,reg1,reg2,clk,clk,clk,slack = p2p required p2p delay,p2p,p2p required = setup relationship + clock skew t,CO,- t,SU,setup relationship = latch edge launch edge,clock skew = clk clk,launch,latch,Simple Register to Register,示例,84,in,out,clk,reg1,reg2,clk,slack = p2p required p2p delay,p2p,p2p required = setup relationship + clock skew ,t,CO, t,SU,setup relationship = latch edge launch edge,= 5.0 0.0,=,5.0,clock skew = clk clk,2.266,0.11,0.082,tco,tsu,0.082,0.11,= 2.521 - 2.993,=,5.0,+ (,-0.472,) 0.11 0.082,=,4.336, 2.266,=,-0.472,= 4.336,tco,tsu,=,2.07,2.993,2.521,2.993,2.521,Simple Register to Register,示例(con),85,Input Minimum Delay,Minimum Delay from External Device to Altera I/O,Represents External Device tco + PCB Delay + PCB Clock Skew,Constrains Registered Input Path (th),A,tco,th,Altera Device,External Device,PCB Delay,th,A,Input Minimum Delay,Input Minimum Delay,th,A,CLK,CLK,86,Output Maximum Delay,Maximum Delay from Altera I/O to External Device,Represents External Device tsu + PCB Delay + PCB Clock Skew,Constrains Registered Output Path (Max. tco),B,tco,tsu,Altera Device,External Device,PCB Delay,tco,B,t,CLK,-,Output Maximum Delay,tco,Output Maximum Delay,CLK,CLK,87,Output Minimum Delay,Minimum Delay from Altera I/O to External Device,Represents External Device th - PCB Board Delay,Constrains Registered Output Path (Min. tco),B,tco,th,Altera Device,External Device,Board Delay,tco,B,Output Minimum Delay,tco,Output Maximum Delay,CLK,CLK,88,Example Input Maximum Delay,Notice:,Input Pin d(6) & d(3) Timing Information Is Included with Clock Setup (fmax) Analysis,Input Delay Has Been Added to List Path Calculation,Input Maximum Delay (d) = 4 ns,89,Compiling in Quartus,90,Compiling in Quartus (Start),91,Compiling in Quartus,92,Done!,93,Download Bit File,94,Download Bit File into FPGA,95,Altera FPGA配置列表,配置模式,典型应用,被动串行模式(PS),运用增强配置芯片(EPC16,EPC8或EPC4 )EPC1,EPC2,EPC1441,串行同步微处理器,USB接口下载电缆,MasterBlasterTM通信电缆,ByteBlasterTM II并口下载电缆或ByteBlasterMVTM并口下载电缆。,主动串行模式(AS),应用串行配置芯片EPCS1,EPCS4等,被动并行同步模式(PPS),并行同步微处理器配置,快速被动并行模式(FPP),增强型配置芯片或8位同步并行微处理器速度为PPS模式的8倍。,被动并行异步模式(PPA),采用异步微处理器,这种模式下微处理器对于目标芯片如同一个存储器。,被动串行异步模式(PSA),串行异步处理器,JTAG模式,根据 IEEE Std. 1149.1 (JTAG)引脚标准,96,Debug with,SignalTap II,97,Quartus II 嵌入式逻辑分析仪特点,特点,优点,可以灵活的改变缓冲器模式,在循环模式或间隔模式采样时,使每次不同的触发均能采到更加精确的数据。,每个器件最高支持1024个通道,可以支持多个采用通道和很宽的总线模式采样。,每个器件支持128K采样存储,使每个通道得到更多的采样数据。,采样时钟最高可达270MHz,可以采集速率更高的数据。,资源使用的评价者,可以评估逻辑或存储器件的资源使用情况。,不需要额外费用,SignalTap II logic Analyzer 是Quartus II免费提供的。,可对一个器件进行多重逻辑分析,可以从一个复杂的时钟信号中分析出想要得到的数据,通过一个JTAG接口可对多个器件进行多重的逻辑分析,使设计者可以通过一个JTAG接口同步得到多个芯片的数据,对每个信号均有10种触发模式,可以捕捉到更加复杂的数据信号,更加景区的找到问题的所在。,增加的编译,可以在综合编译之前对逻辑分析仪进行修改。,98,FIR滤波器设计实例,99,一个综合的例子,FIR滤波器的设计,Modelsim的使用,Quartus II的使用,宏功能模块的使用,仿真、综合等过程及报告的查看,100,设计要求,设计一个14阶FIR滤波器,已给出滤波器系数,要求用Verilog/VHDL实现该滤波器,并且选用Altera的Stratix或Stratix II器件。,要求充分利用Altera Stratix/Stratix II的器件的DSPBLOCK资源。,要求每一级都一级流水线(pipeline)。,能够利用Altera的megafunction。,能够在Modelsim下进行仿真。,选用EP2S60F484C3器件。,Fmax达到270Mhz以上。,101,设计难点,难点在于要达到270MHz以上的频率,通过插入流水线可以达到要求,为了不过分的增加流水线寄存器的数量,需要对FIR滤波器的结构进行精心设计,102,直接形式结构,关键路径是1个乘法器和2个加法器,流水线割集插入流水线寄存器,这样得到的关键路径是1个乘法和1个加法,103,数据广播结构,关键路径是1个乘法器和1个加法器,流水线割集插入流水线寄存器,关键路径是1个乘法,104,设计方案选择,寄存器数目,关键路径长度,直接形式结构,39 36个,1个乘法器和1个加法器,数据广播结构,13 36个,1个乘法器和1个加法器,进一步流水的数据广播结构,27 36个,1个乘法器,105,FIR滤波器的结构,106,模块划分,乘法器模块,:直接用Altera的DSPBLOCK lpm_mult进行例化,信号名称,I/O,描述,dataa,I,乘法器输入数据信号,16bit字长,datab,I,乘法器输入数据信号,16bit字长,result,O,滤波器输出数据信号,32bit字长,加法器模块,:直接用Altera的DSPBLOCK lpm_add_sub进行例化,顶层模块,:将乘法器和加法器连接成数据广播结构的FIR滤波器,信号名称,I/O,描述,dataa,I,乘法器输入数据信号,36bit字长,datab,I,乘法器输入数据信号,36bit字长,result,O,滤波器输出数据信号,36bit字长,107,DSP Blocks for ComplexArithmetic Applications,Wireless,Filtering & Compression,Encryption,Signal Processing,Consumer,Image Processing,Audio Processing,Compression,DataCom,Barrel Shifting,QoS Algorithms,+,Optional Pipelining,Output Registers,Output MUX,+ - S,+ -,S,Input Registers,108,Stratix II DSP Blocks,Up 96 DSP Blocks,Each Configured for,(8) 9x9 Multipliers,(4) 18x18 Multipliers,(1) 36x36 Multiplier,Can Be Cascaded for Larger Operations,Dedicated Configurable Math Circuitry,Multiplier, Accumulate & Addition/Subtraction,Rounding & Saturation,Built-In Shift Register for Complete FIR Filter Implementation,Selectable Input, Output & Pipeline Stage Registers,109,DSP Block Architecture,Add/Sub/Acc,Summation,Unit,Output Register,X,X,X,X,+,+ -,+ -,Input Register,Pipeline Register,Output Mux,110,综合结果,目标器件,EP2S60F484C3,Total ALUTs,338 / 48,352 ( 1 % ),DSP block 9-bit elements,28 / 288 ( 9 % ),资源利用率,速度,最高时钟频率,(约束300MHz情况下),312.89 MHz,( period = 3.196 ns ),111,总结(1),1、使用,ModelSim,进行,功能仿真,3、使用,Quartus II对,设计进行,综合,,,时序分析和布线,4、使用,ModelSim,进行,后仿真,5、使用,Quartus II,下载文件到实际电路,6、使用,SignalTap II,进行调试和数据观测,112,总结(2),数字系统设计应该明确如下观点:,无论是ASIC、FPGA还是DSP,都只是一种实现手段;,无论采用哪种HDL或哪种开发工具,都不能单纯从语言或工具本身作出评价;,关键是看应用环境,只有选择最适合于应用的实现方式和工具才是最好的设计方案;,设计应该注重硬件设计本身,只有先有了良好的设计,才可能有高效的描述和实现。,数字模拟电路、HDL语言等知识和实际经验比了解软件更重要。,113,5,、世上最美好的事是:我已经长大,父母还未老,;,我有能力报答,父母仍然健康。,6,、没什么可怕的,大家都一样,在试探中不断前行。,7,、时间就像一张网,你撒在哪里,你的收获就在哪里。纽扣第一颗就扣错了,可你扣到最后一颗才发现。有些事一开始就是错的,可只有到最后才不得不承认。,8,、世上的事,只要肯用心去学,没有一件是太晚的。要始终保持敬畏之心,对阳光,对美,对痛楚。,9,、别再去抱怨身边人善变,多懂一些道理,明白一些事理,毕竟每个人都是越活越现实。,10,、山有封顶,还有彼岸,慢慢长途,终有回转,余味苦涩,终有回甘。,11,、人生就像是一个马尔可夫链,你的未来取决于你当下正在做的事,而无关于过去做完的事。,12,、女人,要么有美貌,要么有智慧,如果两者你都不占绝对优势,那你就选择善良。,13,、时间,抓住了就是黄金,虚度了就是流水。理想,努力了才叫梦想,放弃了那只是妄想。努力,虽然未必会收获,但放弃,就一定一无所获。,14,、一个人的知识,通过学习可以得到,;,一个人的成长,就必须通过磨练。若是自己没有尽力,就没有资格批评别人不用心。开口抱怨很容易,但是闭嘴努力的人更加值得尊敬。,15,、如果没有人为你遮风挡雨,那就学会自己披荆斩棘,面对一切,用倔强的骄傲,活出无人能及的精彩。,5,、人生每天都要笑,生活的下一秒发生什么,我们谁也不知道。所以,放下心里的纠结,放下脑中的烦恼,放下生活的不愉快,活在当下。人生喜怒哀乐,百般形态,不如在心里全部淡然处之,轻轻一笑,让心更自在,生命更恒久。积极者相信只有推动自己才能推动世界,只要推动自己就能推动世界。,6,、人性本善,纯如清溪流水凝露莹烁。欲望与情绪如风沙袭扰,把原本如天空旷蔚蓝的心蒙蔽。但我知道,每个人的心灵深处,不管乌云密布还是阴淤苍茫,但依然有一道彩虹,亮丽于心中某处。,7,、每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方!,8,、不要活在别人眼中,更不要活在别人嘴中。世界不会因为你的抱怨不满而为你改变,你能做到的只有改变你自己!,9,、欲戴王冠,必承其重。哪有什么好命天赐,不都是一路披荆斩棘才换来的。,10,、放手如拔牙。牙被拔掉的那一刻,你会觉得解脱。但舌头总会不由自主地往那个空空的牙洞里舔,一天数次。不痛了不代表你能完全无视,留下的那个空缺永远都在,偶尔甚至会异常挂念。适应是需要时间的,但牙总是要拔,因为太痛,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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