[转载]synplify使用

it2022-05-05  88

评定综合好坏最重要的两个指标:速度是否快和面积是否小;synplify是专门针对FPGA/CPLD的逻辑综合工具;synplify两个最显著的特点是BEST和Timing driven引擎,使得综合结果在速度和面积上都达到比较理想的效果;synplify的几个版本使用相同的核心,但synlify pro的功能最强大;

synplify综合过程包括三方面内容:1.对HDL源代码进行编译    synplify将输入的HDL源代码翻译成boolean表达式并优化逻辑关系;2.对编译的结果优化    通过逻辑优化消除冗余逻辑和复用模块,这种优化是针对逻辑关系的,与具体器件无关;3.对优化的结果进行逻辑映射与结构层次上的优化,最后生成网表;    synplify将编译生成的逻辑关系映射成FPGA的地层模块和硬件原语(primitive)生成网表并优化;

synplify pro的主要特色:1.支持混合设计: 一个工程中的源程序既可以包含verilog HDL代码又可以包含VHDL代码;2.HDL源代码编辑器:可以直接在synplify中编辑HDL源代码,其语法纠错功能强大,有syntax check和synthesis check两个层次;3.BEST(行为级提取技术):将行为级提取的模块直接适配到FPGA底层单元中去;4.scope(综合约束优化环境):以电子表格形式输入、管理设计的约束,使用户可以方便、全面、有效地对设计进行综合约束,结果是.sdc文件5.cross-probing:可以方便在代码、视图(RTL视图和technology view视图)、仿真、报告和关键路径之间切换6.RTL view:synplify pro在对源码编译后应用BEST技术再现寄存器传输级原理图7.technology view:将设计用FPGA的硬件原语(primitive)和底层模块(嵌入式PLL RAM等)描述的门级结构原理图  technology视图是RTL视图向具体器件进行结构映射的结果8.FSM compiler: 有限状态机综合工具  FSM EXPLOER/FSM VIEVER:fsm explorer的本质是timing driven的状态机优化技术;  fsm viewer是有限状态机观察器;9.TCL命令界面,可以通过TCL脚本极大的提高工作效率;10.resource sharing:资源共享,有助于减少设计占用的物理面积11.retiming:用寄存器分割组合逻辑,在组合电路中插入寄存器平衡时延,以提高芯片工作频率;   retiming技术也属于timing driven优化技术之一;   pipelining: pipelining主要运用于一些算法路径,如乘法器、加法器等;   pipelining是局部优化而retiming是整体优化;12.针对具体的厂家器件提供了丰富的综合属性attributes;13.probe:探针,不改变源码的前提下拉出任意信号到输出引脚;14.timing analyst:时序分析专家,能够进行点对点的路径时序分析;15.automativ gate clock conversion:IC设计和FPGA设计时的门控时钟向同步时钟的转换;

synplify的界面:1.菜单栏2.工具栏3.状态显示栏:显示综合器当前状态4.基本操作步骤按钮:按实际操作顺序组织5.重要综合优化参数选项设置: 集中了综合优化过程中罪重要的一些参数,这些参数将直接决定综合的结果6.工程管理窗口: 显示了工程结构和资源文件7.工程文件显示窗口: 显示工程输入文件和综合结果文件8.消息/TCL脚本显示窗口9.综合结果观察窗口:显示综合结果的时钟频率、IO引脚、寄存器资源、LUT资源和选用器件等重要信息;

synplify与quartus联合使用:1. quartus中的setting中选择synplify pro为综合工具,则quartus将自动调用synplify pro完成设计流程中的综合;2. 单独启用synplify pro完成综合,输出EDIF或VQM网表文件;此时quartus仅仅完成对网表的映射和布局布线等操作;

synplify pro的操作步骤:1.创建工程2.源代码添加与编译3.RTL和technology观察4.使用scope设计综合约束5.设置综合优化参数6.综合7.综合后分析

synplify pro的SCOPE综合约束选项:1.时钟 clock2.时钟延迟 clock to clock3.输入输出 inputs/outputs4.寄存器 registers5.多周期路径 multi-cycle paths6.弱约束路径 false paths7.路径最大延迟 max_delay path8.约束属性 attributes9.多位置编译  compile points10.其他 other11.collections12.IO标准IO standard

synplify pro中设计FSM的工具:    FSM Compiler将FSM编译为类似状态转移图的连接图,然后对FSM重新编码、优化以达到更好的综合效果;    FSM Explorer使用FSM Compiler的编译结果,遴选不同的编码方式进行状态机编码探测,从而达到对FSM编码的最佳优化效果;    FSM Viewer是观查FSM的好工具    它们的作用: 重新选择编码方式、确定更恰当的起始状态、删除冗余逻辑和不可达状态;    综合时使用了FSM compiler则可以在log file中查看每一个状态机的综合结果;

综合以后生成的文件有.srr  .tlg  .srs    .srr: 工程报告(重要),以"project_name.srr"命令;    .tlg:工程组织结构信息文件    .srs:RTL视图文件

tcl脚本文件的使用: 

   设计者可以用批处理命令的形式执行一个综合,也可以一次执行同一设计的多个综合,尝试不同器件、不同延时目标、不同约束条件;工程文件prj、约束文件sdc本质上都是采用tcl脚本编写的;添加约束的方法: synplify的scope, HDL中添加约束;synplify把最后编译的module/entity and architecture作为顶层设计,所以要把顶层设计文件拉到设计文件列表的最底端(否则只会在RTL视图中显示末尾HDL的视图)优化时如果resource sharing被选中,则最高频率一般来说会降低,但是资源有所节约;建议在设计能够满足时钟频率要求时选中以节省资源;pipelining即流水,在高速设计时如果其他措施都不能达到目标频率则最好选中此项;technology view和RTL view都是针对HDL的,都是综合之前就能显示的,technology view是基于目标器件技术的层次结构电路图;时间报告(timing report):即srr中的preference summary部分,注意综合产生的时间报告只是估计值,设计实际的时序状况极大程度依赖于布局布线工具;

转载于:https://www.cnblogs.com/lmeqs/p/4207605.html

相关资源:synplify 的使用手册

最新回复(0)