FPGA实战开发技巧(3)
5.3.1 综合工具XST的使用
所谓综合,就是将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接( 网表),并根据目标和要求( 约束条件) 优化所生成的逻辑连接,生成EDF 文件。XST 内嵌在ISE 3 以后的版本中,并且在不断完善。此外,由于XST 是赛灵思公司自己的综合工具,对于部分赛灵思芯片独有的结构具有更好的融合性。
完成了输入、仿真以及管脚分配后就可以进行综合和实现了。在过程管理区双击Synthesize-XST,如图5-1所示,就可以完成综合,并且能够给出初步的资源消耗情况。图5-2 给出了模块所占用的资源。
图5-1 设计综合窗口
图5-2 综合结果报告
综合可能有3 种结果:如果综合后完全正确,则在Synthesize-XST 前面有一个打钩的绿色小圈圈;如果有警告,则出现一个带感叹号的黄色小圆圈;如果有错误,则出现一个带叉的红色小圈圈。综合完成之后,可以通过双击View RTL SchemaTIcs 来查看RTL 级结构图,察看综合结构是否按照设计意图来实现电路。ISE 会自动调用原理图编辑器ECS 来浏览RTL 结构。对于一个计数器,其RTL 结构图如图5-3 所示,综合结果符合设计者的意图,调用了加法器和寄存器来完成逻辑。
图5-3 经过综合后的RTL级结构图
2.综合参数的设置
一般在使用XST 时,所有的属性都采用默认值。其实XST 对不同的逻辑设计可提供丰富、灵活的属性配置。下面对ISE9.1 中内嵌的XST 属性进行说明。打开ISE 中的设计工程,在过程管理区选中"Synthesis –XST"并单击右键,弹出界面如图5-4 所示。
图5-4 综合选项
由图5-4 可以看出,XST 配置页面分为综合选项(Synthesis OpTIons)、HDL 语言选项(HDL OpTIons) 以及赛灵思特殊选项(Xilinx Specific OpTIons) 等三大类,分别用于设置综合的全局目标和整体策略、HDL 硬件语法规则以及赛灵思特有的结构属性。
1) 综合选项参数
综合参数配置界面如图5-4 所示,包括8 个选项,具体如下所列:
【Optimization Goal】:优化的目标。该参数决定了综合工具对设计进行优化时,是以面积还是以速度作为优先原则。面积优先原则可以节省器件内部的逻辑资源,即尽可能地采用串行逻辑结构,但这是以牺牲速度为代价的。而速度优先原则保证了器件的整体工作速度,即尽可能地采用并行逻辑结构,但这样将会浪费器件内部大量的逻辑资源,因此,它是以牺牲逻辑资源为代价的。
【Optimization Effort】:优化器努力程度。这里有【normal】和【high】两种选择方式。对于【normal】,优化器对逻辑设计仅仅进行普通的优化处理,其结果可能并不是最好的,但是综合和优化流程执行地较快。如果选择【high】,优化器对逻辑设计进行反复的优化处理和分析,并能生成最理想的综合和优化结果,在对高性能和最终的设计通常采用这种模式;当然在综合和优化时,需要的时间较长。
【Use Synthesis Constraints File】:使用综合约束文件。如果选择了该选项,那么综合约束文件XCF 有效。
【Synthesis Constraints File】:综合约束文件。该选项用于指定XST 综合约束文件XCF 的路径。
【Global Optimization Goal】:全局优化目标。可以选择的属性包括有【AllClockNets】、【Inpad To
Outpad】、【Offest In Before】、【Offest Out After】、【Maximm Delay】。该参数仅对FPGA 器件有效,可用于选择所设定的寄存器之间、输入引脚到寄存器之间、寄存器到输出引脚之间,或者是输入引脚到输出引脚之间逻
辑的优化策略。
【Generate RTL Schematic】:生成寄存器传输级视图文件。该参数用于将综合结果生成RTL 视图。
【Write Timing Constraints】:写时序约束。该参数仅对FPGA 有效,用来设置是否将HDL 源代码中用于控制综合的时序约束传给NGC 网表文件,该文件用于布局和布线。
【Verilog 2001】:选择是否支持Verilog 2001 版本。
HDL语言选项
HDL 语言选项的配置界面如图5-5 所示,包括16 个选项,具体如下所列:
图5-5 HDL语言选项的配置界面选项
【FSM Encoding Algorithm】:有限状态机编码算法。该参数用于指定有限状态机的编码方式。选项有【Auto】、
【One-Hot】、【Compact】、【Sequential】、【Gray】、【Johnson】、【User】、【Speed1】、【None】编码方式,默认为【Auto】编码方式。
【Safe Implementation】:将添加安全模式约束来实现有限状态机,将添加额外的逻辑将状态机从无效状态
调转到有效状态,否则只能复位来实现,有【Yes】、【No】两种选择,默认为【No】。
- 4G LTE技术很成功,对5G设计有何意义?(05-05)
- 物联网的承诺:下一个重大应用(02-16)
- Xilinx在2017嵌入式世界大会上展示响应最快且可重配置的视觉导向智能系统(02-17)
- 基于赛灵思FPGA的端到端广播平台解决方案的实现(10-27)
- 基于赛灵思(Xilinx) FPGA的DisplayPort设计与实现(10-23)
- 玩转赛灵思Zedboard开发板(3):基于Zynq PL的流水灯(11-05)