altera_fpga的设计流程(1).ppt_第1页
altera_fpga的设计流程(1).ppt_第2页
altera_fpga的设计流程(1).ppt_第3页
altera_fpga的设计流程(1).ppt_第4页
altera_fpga的设计流程(1).ppt_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

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的区别 CPLDFPGA 内部结构ProducttermLookup Table 程序存储内部EEPROMSRAM,外挂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 推荐文章 /papers/ Verilog 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 如果没有使用, SDF用于顶级 49 用ModelSim作时序仿真(总结) 基本仿真步骤: 建立库 编译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 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 tcotsu 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 inout clk reg1reg2 clk clk clk slack = p2p required p2p delay p2p p2p required = setup relationship + clock skew tCO - tSU setup relationship = latch edge launch edge clock skew = clk clk launch latch Simple Register to Register 示例 84 inout clk reg1reg2 clk slack = p2p required p2p delay p2p p2p required = setup relationship + clock skew tCO tSU setup relationship = latch edge launch edge = 5.0 0.0 = 5.0 clock skew = clk clk 2.266 0.11 0.082 tcotsu 0.082 0.11 = 2.521 - 2.993 = 5.0 + (-0.472) 0.11 0.082 = 4.336 2.266 = -0.472 = 4.336 tcotsu = 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 DeviceExternal Device PCB Delay thA Input Minimum Delay Input Minimum Delay thA CLKCLK 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 DeviceExternal Device PCB Delay tcoB tCLK - Output Maximum Delay tco Output Maximum Delay CLKCLK 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 DeviceExternal Device Board Delay tcoB Output Minimum Delay tco Output Maximum Delay CLKCLK 88 Example Input Maximum Delay Notice: 1) Input Pin d(6) & d(3) Timing Information Is Included with Clock Setup (fmax) Analysis 2) 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描述 dataaI乘法器输入数据信号,16bit字长 databI乘法器输入数据信号,16bit字长 resultO滤波器输出数据信号,32bit字长 加法器模块:直接用Altera的DSPBLOCK lpm_add_sub进行例化 顶层模块:将乘法器和加法器连接成数据广播结构的FIR滤波器 信号名称I/O描述 dataaI乘法器输入数据信 号,36bit字长 databI乘法器输入数据信 号,36bit字长 resultO滤波器输出数据信 号,36bit字长107 DSP Blocks for Complex Arithmetic 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 Configu

温馨提示

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

评论

0/150

提交评论