作为 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的一些看法

http://www.eetop.cn/blog/html/46/553746-21633.html

Synplify FPGA 逻辑综合的更多相关文章

  1. 硬件开发笔记(一):高速电路设计Cadence Aleego软件介绍和安装过程

    前言   红胖子软硬通吃的前提的使用AD,涉及到高速电路板,要配合高速硬件工程师,使用Aleegro更合适,遂开启了Aleegro设计电路板学习,过程保存为开发笔记,旨在普及和沟通技术,共同进步,学无 ...

  2. 浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真

    浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业 ...

  3. FPGA综合工具--Synplify Pro的常用选项及命令

    最近要用到Synplify,但以前没使用过,无基础,找到一篇帖子,隧保存下来. 本文转自:http://blog.sina.com.cn/s/blog_65fe490d0100v8ax.html Sy ...

  4. 基于Lattice_CPLD/FPGA Diamond 开发流程

         本文主要介绍了Lattice CPLD/FPGA集成开发环境的使用方法,并通过点亮开发板(Mach XO2 Breakout Board)上位号为D2的LED这一实例来演示其开发流程. 1. ...

  5. 如何学习FPGA

    如何学习FPGA 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/k331922164/article/details/44626989 PS:笔者强 ...

  6. 如何学好FPGA

    http://bbs.elecfans.com/jishu_278578_1_1.html 掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性.掌握了FP ...

  7. FPGA开发流程1(详述每一环节的物理含义和实现目标)

    要知道,要把一件事情做好,不管是做哪们技术还是办什么手续,明白这个事情的流程非常关键,它决定了这件事情的顺利进行与否.同样,我们学习FPGA开发数字系统这个技术,先撇开使用这个技术的基础编程语言的具体 ...

  8. FPGA大公司面试笔试数电部分,看看你会多少

    1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系. 答案应该与上面问题一致 [补充]:同步时序逻辑电路的特点:各触发器的时钟端全部连接 ...

  9. FPGA开发流程

    需求说明:Verilog设计 内容       :FPGA开发基本流程及注意事项 来自       :时间的诗 原文来自:http://www.dzsc.com/data/2015-3-16/1080 ...

随机推荐

  1. 安全性测试--CSRF攻击

    一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...

  2. Git 对比两分支中同一文件

    语法 git diff <分支名> <分支名> -- 文件名 git diff branch1 branch2 -- path/file.txt 案例 git diff ori ...

  3. hdu 1963 Investment 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1963 题目意思:有 本金 money,还有一些股票的种类,第 i 种股票买入需要 value[i] 这 ...

  4. 各种java生成word解决方案的优缺点对比

    解决方案 优点 缺点 Jacob 功能强大 直接调用VBA接口,程序异常复杂:服务器必须是:windows系统+安装Office:服务器端自动化com接口容易产生死进程造成服务器宕机 Apache P ...

  5. 隐马尔科夫模型HMM

    崔晓源 翻译 我们通常都习惯寻找一个事物在一段时间里的变化规律.在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等.一个最适用的例子就是天气的预测. 首先,本 ...

  6. OpenCV——PS滤镜算法之 Ellipsoid (凸出)

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  7. 年少和 Smart の日常比赛 R3

    在洛谷上参加了个比赛....写写题解 rank3....共5人...(捂脸 没有注明是官方代码的均是我比赛时本人提交的代码 T1  洗牌 题目描述 小明把 n (n 为偶数)张牌按编号顺序 1, 2, ...

  8. 【前端】Element-UI 省市县级联选择器 JSON数据

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/element_cascader.html 不想自己处理的就直接下载吧 http://shamoyuu.bj.bce ...

  9. UI:多线程 、用GCD创建线程

    什么是应用(程序):就是我们编写的代码编译后生成的app文件 进程:凡是一个运行的程序都可以看作为一个进程,如打开的多个 word,就可以认为是一个进程的多个线程. 线程:至少有一个线程就是主线程,网 ...

  10. C++开发工程师面试题库 150~200道

    151.简述需求分析的过程和意义 152.网状.层次数据模型与关系数据模型的最大的区别是什末 153.软件质量保证体系是什末 国家标准中与质量保证管理相关的几个标准是什末 编号和全称是什末号和全称是什 ...