FPGA开发流程详细解析

电子发烧友网工程师 发表于 2018-01-12 03:59:48 收藏 已收藏
赞(0) •  评论(0

评论

当前没有评论,快来抢沙发
打开电子发烧友,查看全部评论

FPGA开发流程详细解析

电子发烧友网工程师 发表于 2018-01-12 03:59:48 收藏 已收藏

  1. FPGA开发流程:

  ●电路设计与设计输入

  ●仿真验证:利用Xilinx集成的仿真工具足矣

  ●逻辑综合:利用XST(Xilinx Synthesis Tool)工具

  ●布局布线:利用Xilinx的Implementation Tool工具

  ●FPGA配置下载:利用iMPACT工具

  2. 时序标注文件是指SDF(Standard Delay Format Timing Annotation)文件,在Xilinx公司的FPGA/CPLD设计中使用“.sdf”作为时序标注文件的扩展名,而在 Altera 公司的FPGA设计中使用“.sdo”作为时序标注文件的扩展名。它在仿真过程的主要作用就是在SDF标注文件中对每一个底层逻辑门提供了 3 种不同的延时值,分别是典型延时值、最小延时值和最大延时值,用于进行静态时序分析(STA)仿真验证。

  3. 综合在FPGA/CPLD设计中的作用是是将寄存器传输层的的结构描述转化为逻辑层的结构描述,以及将逻辑层的结构描述转化为电路的结构描述。综合步骤的输入是HDL源代码,输出是逻辑网表。

  4. ModelSim仿真器是基于事件驱动的,它可以用来仿真Verilog语言,也可以用来仿真VHDL语言,同时也支持两种语言的混合仿真。

  5. 根据设计阶段不同,仿真可以分为RTL行为级仿真、综合后门级功能仿真和时序仿真等三大类型。

  6. ModelSim提供的调试手段与工具有以下几种:

  ●在源文件窗口中设置断点或者单步执行。

  ●观察波形测量时间。

  ●在数据流窗口中浏览设计的物理连接。

  ●查看或者初始化存储器。

  ●分析仿真效率。

  ●测试代码覆盖率。

  ●波形比较。

  7. HDL Bencher的Xilinx版本可以支持VHDL语言输入、Verilog HDL语言输入和Xilinx原理图输入等3种输入方法。

  8. 实现(Implement)是将设计的逻辑网表信息转换成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。

  9. 实现主要分为3个步骤:

  ●转换逻辑网表(Translate):将多个设计文件合并为一个网表

  ●映射到器件单元(Map):将网表中的逻辑符号(门)组装到物理元件(CLB和IOB)中

  ●布局布线(Place&Route):将元件放置到器件中,并将其连接起来,同时提取出时序数据,并生成各种报告

  10. 实现前应该设计实现约束条件: 约束条件一般包括管脚锁定、时钟约束、全局时钟、第二全局时钟、分组约束和物理特性约束等信息。ISE中可以使用约束编辑器(Constraints Editor)生成约束文件(UCF)。

  11. FPGA的设计指导原则:面积和速度的平衡与互换原则、硬件原则、系统原则、同步设计原则

  12. ISE中的HDL Editor工具包括的Verilog和 VHDL 三大语言模板大致可以分为下列 4个项目:器件实例化、语法模板、综合模板、用户自定模板

  13. XST(Xilinx Synthesis Technology)是Xilinx ISE内嵌的综合工具。XST的输入文件一般是HDL源文件,并且XST已经支持Verilog和VHDL混合语言源代码输入;XST的输出文件是NGC网表,XST的报告文件是Log文件。

  14. XST的综合约束文件是XCF(XST Constraint File),而布局布线阶段最重要约束文件是用户约束文件UCF(User Constraint File)。

  15. XST综合主要分为以下3个步骤: HDL源代码分析、HDL代码综合、底层优化

  16. Xilinx全局时钟资源必须满足的重要原则是:“使用IBUFG或IBUFGDS的充分必要条件是信号从专用全局时钟管脚输入”。即,当某个信号从全局时钟管脚输入,不论它是否为时钟信号,都必须使用IBUFG或IBUFGDS;如果对某个信号使用了IBUFG或IBUFGDS硬件原语,则这个信号必定是从全局时钟管脚输入的。

  17. BUFGP相当于IBUFG和BUFG的组合,所以BUFGP的使用也必须遵循上述的原则。

  18. 全局时钟资源的例化方法大概可分为两种:在程序中直接例化全局时钟资源、通过综合阶段约束或者实现阶段约束完成对全局时钟资源的使用

  19. 简述全局时钟资源与第二全局时钟资源的概念与基本使用方法。

  同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时、抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA/CPLD设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。第二全局时钟资源,也叫长线资源。它是分布在芯片的行、列的栅栏(Bank)上,一般采用铜、铝工艺,其长度和驱动能力仅次于全局时钟资源。与全局时钟相似,第二全局时钟资源直接同IOB、CLB、Block Select RAM等逻辑单元连接,第二全局时钟信号的驱动能力和时钟抖动延迟等指标仅次于全局时钟信号。

  Xilinx全局时钟资源的使用方法有以下5种:IBUFG + BUFG的使用方法、 IBUFGDS + BUFG的使用方法、.BUFG + DCM+BUFG的使用方法、Logic+BUFG的使用方法、Logic + DCM+BUFG的使用方法

  第二全局时钟资源的使用方法一般是在Xilinx的约束编辑器(Constraints Editor)的专用约束(Misc)选项卡中指定所选信号使用低抖动延迟资源“Low Skew”。也可以直接在指导Xilinx实现步骤的用户约束文件(UCF)中添加“USELOWSKEWLINES”约束命令。

热门推荐

分享到

QQ空间 QQ好友 微博
取消