Synplify FPGA 逻辑综合
作为 Synopsys FPGA 设计解决方案的一部分,Synplify FPGA 综合软件是实现高性能、高性价比的 FPGA 设计的行业标准。 其独特的行为提取综合技术 (Behavior Extracting Synthesis Technology, BEST) 在将 RTL 代码综合成特定的 FPGA 逻辑之前,先进行高层次优化。 此方法可以对整个 FPGA 进行高度优化,提供更快运行时间并支持超大型设计。
Synplify FPGA综合工具以其能对FPGA设计产生高性能和低成本而成为业界的标准工具。Synplify软件支持最新的VHDL和Verilog语言结构包括SystemVerilog和VHDL-2008. 该软件也支持多种不同的FPGA架构, 如Altera, Achronix, Lattice, Microsemi and Xilinx,使用时, 仅需输入单个RTL个约束文件即可。Synplify软件使用单一且易用的界面,它能做增量综合和直观的HDL代码分析。针对需要最快综合运行时间以及最高质量的时序、面积和功耗的大型设计的设计人员。 Synplify Premier 软件能够提供 Synplify Pro 的所有功能,以及其他一些组件用于高级 FPGA 设计。
synplify综合过程包括三方面内容:
1.对HDL源代码进行编译,synplify将输入的HDL源代码翻译成boolean表达式;
2.对编译的结果优化,通过逻辑优化消除冗余逻辑和复用模块,这种优化是针对逻辑关系的,与具体器件无关;
3.对优化的结果进行逻辑映射与结构层次上的优化,最后生成网表;synplify将编译生成的逻辑关系映射成FPGA的底层硬件模块和原语(primitive),生成网表并优化;
synplify 生成的网表文件
*.vm:Verilog Synthesized netlist for simulation. 此文件可作为modelsim等仿真工具进行综合后门级功能仿真的输入文件
*.edf:Netlist for P&R tools. edif 文件格式:标准电子设计互换格式文件(NETLIST FILE),独立于所采用的实现工艺。因而当用不同厂家的器件来实现已经验证的逻辑网表(EDIF文件)时,需要相应的基本单元库与布线延迟模型优化(optimization),映象(mapping)。
Implemention设置
选择器件,设置综合顶层,综合优化选项,选择输出的文件格式等。
synplify 批处理模式
设计者可以用批处理命令的形式执行一个综合,也可以一次执行同一设计的多个综合,尝试不同器件、不同延时目标、不同约束条件;工程文件prj、约束文件sdc本质上都是采用tcl脚本编写的;可采用如下命名运行批处理模式:
synplify_pro –batch project_file_name.prj
DesignWare IP
Synopsys公司的DesignWare IP产品包括各种控制器、物理层(PHY)和验证IP的完整的接口IP解决方案、模拟IP、各种嵌入式存储器、逻辑 库、可配置处理器内核和子系统。如USB,PCI Express的,SATA,以太网等。 DesignWare在DC综合的时候没有多少优化的余地,因为DC调用的已经是DesignWare的版图。仿真的时候都是调用synopsys提供的DesignWare仿真库,是没办法综合的。最后,如果应用于FPGA中的话,只有synplify_premier综合工具支持。其他工具是无法调用DesignWare的。
总结
让专业的工具干专业的事,Xilinx和Altera虽然都提供自家的FPGA开发工具,但综合速度和结果都比不上synplify,尤其是Xilinx的Vivado综合速度更加慢如牛,在平时的开发过程中,我自己对综合后的资源都不太关心,但综合速度一定要快。效率就是时间,时间就是生命。而且用FPGA做ASIC设计原型验证时,synplify还可以综合DesignWare中的IP核。synplify 所有有用的信息都可以在synplify的user guide和reference manual中找到。
参考文献:
[1] synplify使用. http://www.eetop.cn/blog/html/14/56214-21591.html
[2] FPGA 逻辑综合. https://www.synopsys.com/CN/Tools/Implementation/FPGAImplementation/FPGASynthesis/Pages/SynplifyPro.aspx
[3] http://blog.csdn.net/xiaoweige207/article/details/6211153
[4] http://blog.csdn.net/angelbosj/article/details/17605223
[5] Synopsys. synplify pro user guide and tutorial.
[6] DesignWare 元件库
http://www.synopsys.com/CN/IP/SOCINFRASTRUCTUREIP/DESIGNWARE/Pages/default.aspx
[7] 关于Designware的一些看法