作为 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. 织梦DedeCMS信息发布员发布文章默认自动审核更新并生成HTML页面

    织梦DedeCMS信息发布员发布文章默认自动审核更新并生成HTML页面 一直以为DEDECMS的信息发布员在后台发布文章后,非要管理员审核才能显示,今天一哥们问我这个问题.问:“能不能直接发布,并自动 ...

  2. RecyclerView 局部刷新(获取viewHolder 去刷新)

    RecyclerView.ViewHolder viewHolder = mRecyclerView.findViewHolderForAdapterPosition(i); if (viewHold ...

  3. oracle自动统计信息

    在11g中,默认自动收集统计信息的时间为晚上10点(周一到周五,4个小时),早上6点(周六,周日,20个小时),   select a.window_name, a.repeat_interval,a ...

  4. ssl原理及应用

    今天学习网络通信,看到使用ssl(Secure Sockets Layer)进行加密,由于对ssl只是有些概念上的了解,对于具体应用原理.过程和如何使用不慎了解,于是学习了一番,总结如下: 1. 为什 ...

  5. [51nod 1129] 字符串最大值(kmp)

    传送门 题目大意 求一个字符串的前 缀出现次数乘以长度的最大值. 题解 暴力枚举每一个前缀求出现次数再乘以常数取最大 这样做会T几个点 看了老师的做法是任意前缀出现的次数,它的next也会出现这些次数 ...

  6. codevs1258关路灯

    传送门 1258 关路灯  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master   题目描述 Description 多瑞卡得到了一份有趣而高薪的工作.每天早晨他 ...

  7. DebugView 使用

    最近遇到带加密狗的工程项目,无法使用控制台调试,尝试使用DebugView进行辅助调试. DebugView是一个系统调试信息输出的捕获工具,可以捕获程序中由TRACE(debug版本)和Output ...

  8. C - Woodcutters

    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Little ...

  9. 1、HTML的本质以及在web中的作用

    一.HTML 1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: -写Html文件(充当模板的作用)****** -数据库获取数据,然后替换到html文件的指定位置(We ...

  10. 算法练习--LeetCode--54. Spiral Matrix 100%

      Spiral MatrixMedium Given a matrix of m x n elements (m rows, n columns), return all elements of t ...