synplify pro下载为什么设置syn

synplify使用(转) - chanon的个人空间 - 中国电子顶级开发网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台
- Powered by X-Space
synplify使用(转)
& 01:15:06
评定综合好坏最重要的两个指标:速度是否快和面积是否小;
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的界面:
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.设置综合优化参数
7.综合后分析
synplify pro的SCOPE综合约束选项:
1.时钟 clock
2.时钟延迟 clock to clock
3.输入输出 inputs/outputs
4.寄存器 registers
5.多周期路径 multi-cycle paths
6.弱约束路径 false paths
7.路径最大延迟 max_delay path
8.约束属性 attributes
9.多位置编译& compile points
10.其他 other
11.collections
12.IO标准IO standard
synplify pro中设计FSM的工具:
Compiler将FSM编译为类似状态转移图的连接图,然后对FSM重新编码、优化以达到更好的综合效果;
Explorer使用FSM
Compiler的编译结果,遴选不同的编码方式进行状态机编码探测,从而达到对FSM编码的最佳优化效果;
Viewer是观查FSM的好工具
&&& 它们的作用:
重新选择编码方式、确定更恰当的起始状态、删除冗余逻辑和不可达状态;
&&& 综合时使用了FSM
compiler则可以在log file中查看每一个状态机的综合结果;
综合以后生成的文件有.srr& .tlg&
工程报告(重要),以"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部分,注意综合产生的时间报告只是估计值,设计实际的时序状况极大程度依赖于布局布线工具;FPGA设计,视时序为一切 | 电子创新网赛灵思中文社区:转载时请以超链接形式标明文章原始出处和作者信息及本声明
具体文档下载:
使用说明.要在每个源码目录建立一个file list,这个makefile中设置了VLOG_FPGA.LIST,VHDL_FPGA.LIST.
makefile中要设置需要哪些目录下的filelist.都可以自己定义,不一定是最低层目录,可以是top目录.有些文件需要放在列表顶层的,make已经处理的,可以参考修改.
还需要一synplify的约束文件.ise的约束文件.具体synlify和ise的tcl可以看看.
脚本自动生成vlog.list,vhdl.list,macro.list(fpga的ngc文件列表)
= xc5vlx220t
FPGA_SPEED = -1
= $(FPGA_PART)-$(FPGA_PACK)$(FPGA_SPEED)
TOP_MODULE = TOP_TEST
SCRIPT_DIR
= "scripts"
UPDATE_LIST
VLOG_LIST_NAME
= VLOG_FPGA.LIST
VHDL_LIST_NAME
= VHDL_FPGA.LIST
MACRO_LIST_NAME = NGC.LIST
DESIGN_DIR
= ../../../../RTL ../../../../IP ../../../../FPGA
all : filelist prepare syn ise bakup clean
if [ $(UPDATE_LIST) == 1 ] ; then \
if [ -e ./vlog.list ] ; then
\rm -r ./vlog.list 2&/dev/
if [ -e ./vhdl.list ] ; then
\rm -r ./vhdl.list 2&/dev/
if [ -e ./macro.list ] ; then
\rm -r ./macro.list 2&/dev/
for d in $(DESIGN_DIR) ; do \
for i in `find $$d -name $(MACRO_LIST_NAME) -print | xargs` ; do \
dos2unix $$ \
dir=$${i%$(MACRO_LIST_NAME)}; \
if [ -n "$$line" ] ; then
echo $$dir$$line && ./macro. \
done & $$ \
for i in `find $$d -name $(VLOG_LIST_NAME) -print | xargs` ; do \
dos2unix $$ \
dir=$${i%$(VLOG_LIST_NAME)}; \
if [ -n "$$line" ] ; then
echo $$dir$$line && ./vlog_tmp. \
done & $$ \
for i in `find $$d -name $(VHDL_LIST_NAME) -print | xargs` ; do \
dos2unix $$ \
dir=$${i%$(VHDL_LIST_NAME)}; \
if [ -n "$$line" ] ; then
echo $$dir$$line && ./vhdl_tmp. \
done & $$ \
'/DEFINE/p'
vlog_tmp.list
sed -i -e '/DEFINE/d'
vlog_tmp. \
cat vlog_tmp.list && vlog.list
'/PKG_TOP.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/PKG_TOP.*\.vhd/d'
vhdl_tmp. \
'/PKG_.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/PKG_.*\.vhd/d'
'/defs.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/defs.*\.vhd/d'
'/config.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/config.*\.vhd/d'
'/tb.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/tb.*\.vhd/d'
'/Entity.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/Entity.*\.vhd/d'
'/RTL.*\.vhd/p'
vhdl_tmp.list
sed -i -e '/RTL.*\.vhd/d'
cat vhdl_tmp.list && vhdl.list
\rm -rf *_tmp.\
dos2unix *. \
echo "!!!Design File List Not Update !!!!" ; \
sed -i -e '1,3d' synplify.\
sed -i -e '1i set tec
\"'$(FPGA_TEC)'\"' synplify.\
sed -i -e '1a set chip
{'$(FPGA_PART)' '$(FPGA_PACK)' '$(FPGA_SPEED)'}' synplify.\
sed -i -e '2a set top_module \"'$(TOP_MODULE)'\"' synplify.\
sed -i -e '1,3d' ise.\
sed -i -e '1i set tec
\"'$(FPGA_TEC)'\"' ise.\
sed -i -e '1a set chip
{'$(FPGA_PART)' '$(FPGA_PACK)' '$(FPGA_SPEED)'}' ise.\
sed -i -e '2a set top_module \"'$(TOP_MODULE)'\"' ise.tcl
[ -d ../work
] || ( mkdir -p ../work
[ -d ../bitfile ] || ( mkdir -p ../bitfile ) \
[ -d ../logs
] || ( mkdir -p ../logs
cd ../work
\cp -rf ../$(SCRIPT_DIR)/vlog.list
\cp -rf ../$(SCRIPT_DIR)/vhdl.list
\cp -rf ../$(SCRIPT_DIR)/macro.list
\cp -rf ../$(SCRIPT_DIR)/ise.ucf
\cp -rf ../$(SCRIPT_DIR)/ise.tcl
\cp -rf ../$(SCRIPT_DIR)/synplify.sdc . \
\cp -rf ../$(SCRIPT_DIR)/synplify.tcl .
cd ../work
synplify_pro -batch synplify.tcl
cd ../work
xtclsh ise.tcl rebuild_project
\cp -rf ../work/$(TOP_MODULE).bit
../bitfile/ ; \
\cp -rf ../work/$(TOP_MODULE).srr
../logs/ \
\cp -rf ../work/$(TOP_MODULE)_map.mrp ../logs/ \
\cp -rf ../work/$(TOP_MODULE).twr
../logs/ \
\cp -rf ../work/$(TOP_MODULE).par
\rm -rf ../work
历史上的今天:Synlify综合软件安装步骤 - qinhld的个人空间 - 中国电子顶级开发网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台
- Powered by X-Space
资源共享才更有价值
Synlify综合软件安装步骤
& 09:15:32
verilogsynopsyssynlifysynopsys
synplify pro9.6.2
synplify pro9.6.2synplify pro9.6.2
regeditsynlifysynplicitysynplify pro9.6.2
synplify pro9.6.2
&&&& 1license setup Floating(License is on a license server)
synplify pro9.6.2license, IDFloating Host ID:& 00E04C052EAA
licensesynplify_helper notepadUEsynplctyd.licMAC_ADDRESSFloating Host ID(HOSTID=00E04C052AA)synplctyd.liclicense.txtLicense.txt C\program File\Synplicity\fpga_962\license.txt.
ibfs32.dll synplify_helper, ibfs32.dll\program File\Synplicity\fpga_962\bin\mbin\
&& 1-&-&-&
&& 2-&-&SYNPLCTYD_LICENSE_FILE
&&&&&& C\program File\Synplicity\fpga_962\license.txt.
synplify pro9.6.2如何破解Synplify Pro 9.6.2_百度知道
如何破解Synplify Pro 9.6.2
我有更好的答案
将ibfs32;Program Files&#92,使用notepad开启synplctyd.7z;Synplicity&#92.dll复制到C;license:\mbin&#92。Step 7是否在桌面建立图示.txt内;Program Files&#92:执行Synplify Pro由於尚未破解:复制ibfs32,所以出现以下讯息:&#92.7z,将MAC_ADDR全部取代成Step 6的Floating Host ID;bin&#92:设定license下载synplify_Synplicity&#92,将synplctyd.lic全部内容复制到license,记下你的Floating Host id.dll下载synplify_helper.lic.txt。用notepad开启C;fpga_962\fpga_962\Step 8:Sinplicity其他产品讯息Step 6,选择是(Y)或否(N)皆可Step 5。最後结果如下所示
其他类似问题
为您推荐:
synplify的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 synplify pro 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信