1 / 66

FPGA 设计方法

FPGA 设计方法. 刘志凯 2008 年 8 月. 培训目标. 了解 FPGA 的基本概念和特点 Cyclone 器件的结构 了解 FPGA 的设计流程 理解 FPGA 的五大设计思想 了解如何设计最佳的状态机 了解 FPGA 设计的安全性. 一、 FPGA 概念及特点.  FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列。  特点 ( 1 )无需投片生产,即可得到芯片 ( 2 )可做 ASIC 的中试样片 ( 3 )有丰富的触发器和 I / O 引脚

wyatt
Download Presentation

FPGA 设计方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FPGA设计方法 刘志凯 2008年8月

  2. 培训目标 • 了解FPGA的基本概念和特点 • Cyclone器件的结构 • 了解FPGA的设计流程 • 理解FPGA的五大设计思想 • 了解如何设计最佳的状态机 • 了解FPGA设计的安全性

  3. 一、FPGA概念及特点 •  FPGA 是英文Field Programmable Gate Array的缩写,即现场可编程门阵列。 •  特点 (1)无需投片生产,即可得到芯片 (2)可做ASIC的中试样片 (3)有丰富的触发器和I/O引脚 (4)设计周期最短、开发费用最低、风险最小 (5)采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容

  4. 二、Cyclone芯片结构 (1)可编程输入/输出单元 (2)逻辑阵列由LABs组成 ,10个LE组成一个LAB (3)锁相环PLL 全局时钟网络 (4)M4K RAM (5)其他硬件资源:如硬件乘法器、专用接口等 NEXT

  5. (1)可编程输入/输出单元 1、适应不同的电气标准 2、可调整驱动电流大小 3、可以改变上、下拉电阻 4、在高速接口设计时的输入输出时序配置 BACK

  6. (2)逻辑单元LE (1)四输入查找表 (2)触发器 BACK

  7. (3)全局时钟网络 1、专用时钟管脚 驱动 2、给所有的内部组件提供时钟源 ,保证足够驱动能力和最小时钟偏移 BACK

  8. (4)M4K RAM 支持以下特性: ■ 4,608 RAM bits ■ 250 MHz执行频率 ■ 真双口存储器 ■ 普通双口存储器 ■ 单口存储器 ■ 字节使能 ■ 奇偶校验位 ■ 移位寄存器 ■ FIFO 缓冲 ■ ROM ■ 混合时钟模式 BACK

  9. (1)设计规范 输入工具:Block&Symbol Editor ,Text Editor(VHDL,Verilog) (2)设计输入 辅助分析工具:RTL Viewer, State Machine (3)功能仿真 Technology Map Viewer (4)逻辑综合 管脚约束:Pin planner, Assignment Editor 优化设计:Design Space Explorer Resource Optimization Adviser (5)布局布线 手动工具:Chip Editor, Timimg Closure Floorplan 分析工具:Early Timing Estimate Timing Analyzer Tool 优化工具: Design Space Explorer Timing Optimization Adviser (6)时序分析 仿真工具:Waveform Editor Modelsim (7)在系统测试 三、FPGA设计流程 NEXT

  10. (1)设计规范 • 系统中所处的位置及功能 • 内部功能框图 • 资源估计 • 时序估计 • 接口描述 A、硬件:连接关系,功耗,I/O引脚的描述(驱动能力、电平等) B、软件:操作方法,时序配合 • 测试项目 BACK

  11. Block&Symbol Editor BACK

  12. Text Editor(VHDL,Verilog) BACK

  13. RTL Viewer BACK

  14. State Machine BACK

  15. (3)功能仿真 调用模块的 行为仿真模型 RTL代码 测试程序 (test bench) 测试数据 逻辑仿真器 BACK

  16. (4)逻辑综合 RTL代码 调用模块的 黑盒子接口 设置综合目标和约束条件 逻辑综合器 EDIF网表 (netlist) HDL网表 (netlist) BACK

  17. Technology Map Viewer BACK

  18. (5)布局布线 逻辑综合器 设置布局布线约束条件 EDIF网表 (netlist) 调用模块的 综合模型 FPGA厂家工具 HDL网表 (netlist) SDF文件 (标准延时格式) 下载/编程文件 BACK

  19. Assignment Editor BACK

  20. Design Space Explorer BACK

  21. Chip Editor BACK

  22. Timimg Closure Floorplan BACK

  23. (6)时序分析 测试数据 FPGA厂家工具 HDL网表 (netlist) SDF文件 (标准延时格式) FPGA基本单元仿真模型 测试程序 (test bench) 逻辑仿真器 BACK

  24. Timing Analyzer Tool BACK

  25. Waveform Editor&Modelsim BACK

  26. 四、五大设计思想 (1)Top-down结构化 (2)乒乓操作 (3)串并转换 (4)流水线操作 (5)数据接口同步化 NEXT

  27. design doc (过程文档) dev (器件文件) src (源代码) core (功能核) lib (原始库) sim (仿真) funcsim (功能仿真) parsim (功能仿真) (1)Top-down结构化 BACK

  28. (2)乒乓操作 BACK

  29. (3)串并转换 通过 DPRAM 实现数据流的串并转换,而且由于使用了 DPRAM ,数据的缓冲区可以开得很大,对于数量比较小的设计可以采用寄存器完成串并转换。是面积与速度互换原则的体现! BACK

  30. (4)流水线操作 BACK

  31. (5)数据接口同步化 • 1.同步电路比较容易使用寄存器的异步复位/置位端,以使整个电路有一个确定的初始状态; • 2.在可编程逻辑器件中,使用同步电路可以避免器件受温度,电压,工艺的影响,易于消除电路的毛刺,使设计更可靠,单板更稳定; • 3.同步电路可以很容易地组织流水线,提高芯片的运行速度,设计容易实现;

  32. 不同步的风险

  33. 双触发器同步器

  34. 快时钟域信号到慢时钟域信号传输失败

  35. 快时钟域信号到慢时钟域信号同步 上图 下图

  36. 多控制信号下数据交换失败

  37. 多控制信号同步方法

  38. 多数据交换方法 (1)握手机制 (2)FIFO方式 速度匹配或数据宽度匹配。 BACK

  39. 五、状态机 (1)设计状态机步骤 (2)采用状态转移图或ASM设计 (3)状态编码 (4)状态机的类型 (5)状态机的风格 (6)其他注意事项 NEXT

  40. (1)设计状态机步骤 1、深入的理解问题(Understand the problem)。 2、获得一个对状态机的理论性的描述(Obtain an abstract representation of the FSM)。如状态转移图或时序图。    3、对状态机进行优化(Perform state minimization. )。 4、进行状态编码的赋值(Perform state assignment)。编码方式好坏决定了执行的速度。 5、选择何种类型来实现状态机(Choose fit types for implementing the FSM)。 6、实现有限状态机(Implement the finite state machine)。 BACK

  41. (2)采用状态转移图或ASM设计 4位二进制同步计数器 BACK 状态转移图 ASM图

  42. (3)状态机编码    1.顺序编码。2.格雷码编码。3.独热编码(one-hot)。4.其他(江逊计数器等)。 在小设计中可以考虑使用Gray码或one-hot。大设计中,由于现在技术进步几乎不用考虑逻辑资源不够的问题,可以考虑使用one-hot编码以提高速度。至于顺序二进制编码,一般不予考虑。 BACK

  43. (4)状态机类型 1、moore状态机 (与当前输入有关) Current State Input 组合逻辑 组合逻辑 状态 外部输入 输出 Output CLK Next State

  44. 2、mealy状态机 (与当前输入无关) 组合逻辑 外部输入 Input Output 状态 组合逻辑 外部输出 Next State Current State CLK BACK

  45. (5)状态机风格 • 一段式 一个always模块完成输出及状态转移; 必须要综合考虑现态在何种状态转移条件下会进入哪些次态,然后在每个现态的case 分支下分别描述每个次态的输出。 • 两段式 一个always 模块采用同步时序描述状态转移;另一个模块采用组合逻辑判断状态转移条件。 • 三段式 在两段式基础上使用同步时序逻辑寄存FSM 的输出 ; 使FSM 做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组 。 BACK

  46. (6)其他注意事项 • 对于所有的输出信号在每一个时钟周期的取值,都必须作出非常明确的定义 • case与default,if与else • 代码优化为4输入组合逻辑 BACK

  47. FPGA设计的安全性 辐射效应主要有 : (1)总剂量效应 (2)单粒子翻转 (3)单离子闩锁 (4)单-粒子功能中断 (5)单粒子烧毁 (6)单粒子瞬态脉冲 (7)位移损伤

  48. 可靠性设计 • 整体屏蔽减少辐射 • 冗余设计

  49. 可靠性设计 • 防止关键电路引起的抖动 A、内部复位电路尽可能使用同步复位; B、控制线尽可能配合使能信号线使用; C、组合逻辑数据在锁存时尽可能配合使能信号 • 逻辑和算术运算的设计 Berber预测法、余数判断法检测法、奇偶校验等 • 自检模块 • 系统监控与重配置

  50. 总结 • FPGA是一种可编程硬件,深入理解器件的结构有助于设计 • 严格遵守设计流程,充分利用工具 • 在整个设计中贯穿五大设计思想 • 状态机的编码、类型、风格和设计思路决定了能否设计出高效的状态机 • FPGA在设计中需要考虑安全性

More Related