synopsys Design Complier 中文教程

合集下载

Design_Compiler

Design_Compiler

Design Compiler 使用简要说明Design Compiler可以针对层次化的组合电路或者时序电路的速度、面积和可布性进行优化。

按照所定义的电路的测量特征所要达到的目标,Design Compiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。

综合的过程如下图:•读入设计及其子设计。

•设置顶层的设计特性参数•设置实际时序和面积目标参数•执行check_design验证设计,识别并且更正错误•进行Design Compiler优化在db、verilog、vhdl文件夹下设计内容都是一样的,只是形式不一样。

Db文件夹:ALARM_BLOCK.db ALARM_COUNTER.db ALARM_SM.dbALARM_STATE_MACHINE.db COMPARATOR.dbHOURS_FILTER.db MUX.db TIME_BLOCK.dbTIME_COUNTER.dbTIME_STATE_MACHINE.db CONVERTOR.pla CONVERTOR_CKT.db TOP.dbVerilog文件夹:ALARM_BLOCK.v ALARM_COUNTER.v ALARM_SM.vALARM_STATE_MACHINE.v COMPARATOR.vHOURS_FILTER.v MUX.vTIME_BLOCK.vTIME_COUNTER.vTIME_STATE_MACHINE.v CONVERTOR.pla CONVERTOR_CKT.v TOP.vVhdl文件夹:ALARM_BLOCK.vhd ALARM_BLOCK.vhd ALARM_SM.vhdALARM_STATE_MACHINE.vhd COMPARATOR.vhdHOURS_FILTER.vhd MUX.vhd TIME_BLOCK.vhdTIME_COUNTER.vhdTIME_STATE_MACHINE.vhd CONVERTOR.pla CONVERTOR_CKT.vhd TOP.vhd设置path参数将 Synopsys_installroot/arch/syn/bin加到.cshrc文件中。

SynopsysDesignCompiler使用

SynopsysDesignCompiler使用

SynopsysDesignCompiler使⽤Synopsys Design Compiler使⽤⼀、介绍:美国Synopsys公司发布的“Design Compiler”软件,简称“DC”,是⼀种逻辑合成⼯具。

通过改进电路延迟时间的计算⽅法,缩⼩了逻辑合成时的时序与布局完成后的最终时序之间的偏差。

DC得到全球60多个半导体⼚商、380多个⼯艺库的⽀持。

据最新Dataquest的统计,Synopsys的逻辑综合⼯具占据91%的市场份额。

DC是⼗⼆年来⼯业界标准的逻辑综合⼯具,也是Synopsys最核⼼的产品。

它使IC设计者在最短的时间内最佳的利⽤硅⽚完成设计。

它根据设计描述和约束条件并针对特定的⼯艺库⾃动综合出⼀个优化的门级电路。

它可以接受多种输⼊格式,如硬件描述语⾔、原理图和⽹表等,并产⽣多种性能报告,在缩短设计时间的同时提⾼设计性能。

⼆、要求:由于实训没有硬性要求VHDL⽂件,本⼈挑选了已经预先做好的洗⾐机时控电路,利⽤Synopsys Design Compiler⼯具,进⾏优化分析,通过这⼀过程熟悉软件的使⽤。

三、过程:设置优化运⾏库,鉴于⽼师在练习⼿册上⾯提供的例⼦,我们使⽤库LSI-10K,因此在打开VHDL⽂件前,需要作以下设置Setup->Defaults,填⼊以下信息。

在File->read打开要分析优化的VHDL⽂件,这⾥我选择⼀个洗⾐机时控电路NewWasher.vhd 如下所⽰(分别为不同层次的视图:顶层、器件、门级电路)在Tools->Design Optimization中设置好兼顾平衡的约束条件(左图),确定编译后,产⽣了右边经过优化的门级电路图。

接下来,把优化过的图形转换为VHDL⽂件和DB⽂件输出,另存到指定位置File->Save As如右图,⽣成了新的DB⽂件和vhd⽂件。

接下来,是要设定CLK的周期,根据分析、优化、编译出来的Slack Time 松弛数值和Area⾯积数值,选取最合适的平衡点。

使用Design Compiler进行电路综合

使用Design Compiler进行电路综合

使用Design Compiler进行电路综合——By WangJZ magic14@2011-4-19 本文以一个简单设计为例,介绍Synopsys公司的综合工具Design Compiler(以下简称DC)的基本使用流程。

DC综合过程可划分为三个部分:一,读取设计文件,将设计代码转换为DC自带的基本逻辑单元表示的门电路;二,设计者对设计进行约束,包括时序约束和面积约束;三,DC根据设计者提供的约束,对电路进行优化,并映射为流片厂家工艺库逻辑门表示的电路。

下面是具体步骤:工程目录为存放在用户文件夹下的dc_phy文件夹,该工程包括4个用verilog语言编写的代码文件,存放在工程目录的scr文件夹里,其中phy_utmi为顶层文件,其余为子模块。

设置环境变量,进入工程目录,用dc_shell命令启动DC,如下图所示。

使用set search_path命令设置搜索路径,用set target_library命令设置目标库(流片厂所提供的工艺库)所在路径,用set link_library命令设置链接库路径,如下图所示。

用read_verilog命令读取设计文件,虽然设计文件并不在当前目录dc_phy中,但由于设置了搜索路径(set search_path “$ search_path ./scr”),所以DC仍能找scr文件夹中的设计文件,如下图所示。

用current_design命令告知DC,设计的顶层模块为phy_utmi,并用link命令链接到工艺库,如下图所示:对设计进行时序约束和面积,由于本设计比较简单,所以仅进行几个简单约束作为演示。

约束完后使用compile命令进行综合,如下图所示:综合完成后,使用write命令输出门级网表,使用write_sdc命令输出设计约束,获取门级网表和约束文件后,就可以使用Cadence公司的Encounter软件进行自动布局布线了。

过程如下图所示。

Design Compiler使用简要说明

Design Compiler使用简要说明

Design Compiler 使用简要说明Design Compiler可以针对层次化的组合电路或者时序电路的速度、面积和可布性进行优化。

按照所定义的电路的测量特征所要达到的目标,Design Compiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。

综合的过程如下图:•读入设计及其子设计。

•设置顶层的设计特性参数•设置实际时序和面积目标参数•执行check_design验证设计,识别并且更正错误•进行Design Compiler优化在db、verilog、vhdl文件夹下设计内容都是一样的,只是形式不一样。

Db文件夹:ALARM_BLOCK.db ALARM_COUNTER.db ALARM_SM.dbALARM_STATE_MACHINE.db COMPARATOR.dbHOURS_FILTER.db MUX.db TIME_BLOCK.dbTIME_COUNTER.dbTIME_STATE_MACHINE.db CONVERTOR.pla CONVERTOR_CKT.db TOP.dbVerilog文件夹:ALARM_BLOCK.v ALARM_COUNTER.v ALARM_SM.vALARM_STATE_MACHINE.v COMPARATOR.vHOURS_FILTER.v MUX.vTIME_BLOCK.vTIME_COUNTER.vTIME_STATE_MACHINE.v CONVERTOR.pla CONVERTOR_CKT.v TOP.vVhdl文件夹:ALARM_BLOCK.vhd ALARM_BLOCK.vhd ALARM_SM.vhdALARM_STATE_MACHINE.vhd COMPARATOR.vhdHOURS_FILTER.vhd MUX.vhd TIME_BLOCK.vhdTIME_COUNTER.vhdTIME_STATE_MACHINE.vhd CONVERTOR.pla CONVERTOR_CKT.vhd TOP.vhd设置path参数将 Synopsys_installroot/arch/syn/bin加到.cshrc文件中。

design-compiler的安装和使用资料

design-compiler的安装和使用资料

的,该文件在scl目录下)
的实际路劲
修改主机名
用记事本打开“synopsys.dat”,将第一行修改为:SERVER 主机名 MAC地址 27000。其中主机名是Linux系统下的主机名,可在Linux的终端中用“uname -a”命 令查看,默认一般为“localhost.localdomain”;MAC地址就是网卡地址,后面的 27000是默认需要的。本文中该行信息为“SERVER localhost.localdomain 000c2916d785 27000”
Design_Compiler_2008.09_common.tar
Design_compiler_2008.09_linux.tar 3.安装DC2008需要用到SCL软件包
scl_v10.9.3_common.tar
scl_v10.9.3_linux.tar 4.安装平台 在linux4.6上安装(如果要使用虚拟机,则使用vmware6.5,使用虚拟机有 很多方便,可以在虚拟机中随时读取windows下的文件,资料复制都很方便 (可以直接往linux系统里面拖资料!),而且对于在只有一台电脑的情况下, 可以利用windows平台查看课件,查资料等)
3.利用KeyGen得到得到FEATURE SSS信息 ,运行“KeyGen.exe”,在“SECRET DATA” 栏中填入得到的SECRET DATA码,在“HOST ID”中填入你的MAC地址。
我们刚才得到的SECRET DATA
你的MAC地址
点击Generate后,会在此文件夹中生成一个license.dat的文件。
众多,为了方便,最好分类安放,下面是我文件夹内部的目录结构,仅供参考以 及便于后面的说明。建议安装的时候也参考这样。

synopsys design_compiler

synopsys design_compiler

Synopsys design_compiler安装记录2015年4月10日22:35 阅读35安装环境:Fedora 21 x86_64Shell : bashHostname :localhost.localdomain安装准备:1)首先查看本机以太网网卡mac地址,打开终端输入ifconfig命令,查看网卡名为eth0的地址。

2)查看本机主机名,终端下输入hostname或cat /etc/hosts进行查看3)查看自己的shell类型echo $04)更新系统输入sudo yum update5) 获得root权限输入su然后执行cd /opt 在该目录下建立安装目录如mkdirdesign_compilertmp&& cd design_compiler&&mkdirscl dv安装过程:6) 我的安装文件是crack ,installer_v3.0 , scl11.5 , syn_vG-2012.06-SP2。

将安装文件全部拷贝到/opt/tmp下,方法:cp path/安装文件名/opt/tmp/然后执行cd /opt/tmp/installer_v3.0 在该目录下执行ls 找到setup.sh 或installer文件,执行./install -gui或./setup.sh 然后进入图形安装界面7) 直接点击Start ,然后在第2个界面中在Site Administrator 选项中任意输入自己看顺眼的字符,其他不用修改,直接点击Next进入第3个界面,在Source 选项中为待安装文件的路径,点击Browse先找到scl11.5(该过程中“..“代表上一个目录“.”代表该本级目录)。

找到后点击Done确定安装文件目录,接下来一直next直到出现有关platform平台的选项,根据自己的系统平台进行选择,64位的话直接选amd64即可,然后继续next。

Synopsys 实验系列4编译与优化Design CompilerPPT课件

Synopsys 实验系列4编译与优化Design CompilerPPT课件
Specify Library and Set DC Startup File
Saving Designs
14
ASIC of SYSU
2-1 启动DC and 读RTL代码
Read a Verilog RTL file:
Read a VHDL RTL file:
多个RTL文件的读取方法?
15
ASIC of SYSU
Contents
1 Introduction to Synthesis
2 Setting Up and Saving Designs
3 Design and Library Objects
4 Area and Timing Constraints
5
Compile Commands
6
Timing Analyze
Linking means that DC tries to locate(定位) the source of, or ‘resolve’(解析) any instances(例化的实体) in the Design. Instances can be gates or sub-blocks(层次化的模块、软核、硬核
Saving Designs
21
ASIC of SYSU
2-6 需要指定的库:
target_library: target library对应工艺库,也就是代工厂提供的某种工艺的工艺库
link_library: DC在定位或者解析设计中的instances时,所去查找的库
symbol_library: 在DC的图形化界面给出原理图上各种标准单元的符号时,DC所去查找
2-2 层次化的 RTL Designs

综合工具-DesignCompiler学习教程

综合工具-DesignCompiler学习教程

综合⼯具-DesignCompiler学习教程Design Compiler 13讲中的部分内容:1、逻辑综合的概述DC⼯作流程分为三步2、DC的三种启动⽅式GUIdc_shellBatch mode3、DC-Tcl语⾔的基本结构1、⾼层次设计的流程图2、DC在设计流程中的位置3、使⽤DC进⾏基本的逻辑综合的流程图与相应的命令①准备设计⽂件②指定库⽂件③读⼊设计④定义设计环境⑤设置设计约束⑥选择编译策略⑦编译⑧分析及解决设计中存在的问题⑨存储设计数据(1)启动环境配置简述(2).synopsys_dc.setup配置⽂件的书写(3).synopsys_dc.setup的讲解(1)标准单元库①概述⼀个ASIC综合库包括如下信息:·⼀系列单元(包括单元的引脚)。

·每个单元的⾯积(在深亚微⽶中,⼀般⽤平⽅微⽶表⽰,在亚微⽶⼯艺下,⼀般⽤门来称呼,⾄于具体的单位,可以咨询半导体制造商)。

·每个输出引脚的逻辑功能。

·每个输⼊到输出的传递延时,输出到输出的传递延时;inout到输出的传递延时。

②内容与结构Synopsys的⼯艺库是⼀个.lib⽂件,经过LC编译后,产⽣.db⽂件。

⼯艺库⽂件主要包括如下信息:·单元(cell)(的信息):(主要有)功能、时间(包括时序器件的约束,如建⽴和保持)、⾯积(⾯积的单位不在⾥⾯定义,可按照规律理解,⼀般询问半导体⼚商)、功耗、测试等。

·连线负载模型(wire load models):电阻、电容、⾯积。

·⼯作环境/条件(Operating conditions):制程(process)(电压和温度的⽐例因数k,表⽰不同的环境之间,各参数缩放的⽐例)·设计规则约束(Design ):最⼤最⼩电容、最⼤最⼩转换时间、最⼤最⼩扇出。

⼯艺库的结构如下所⽰:(2)DC的设计对象在了解了综合库之后,下⾯介绍⼀下DC的设计对象,虽然这个设计对象相对于综合库没有那么重要,但是还是要了解⼀下的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最新版本的DC提供由ECO compiler, 可使设计者手工修改网表,节省时间。 一些layout工具也具有ECO功能。
DC介绍
Synopsys Design Compiler,是一个基于UNIX系统,通过命令行进行交互的综合工具, 除了综合之外,它还含有一个静态时序分析引擎及FPGA和LTL(links-to-layout)的解决
if (find(port, clk) == {"clk"}) { set_drive 0 clk } /* Apply default timing constraints for modules */ set_input_delay 1.2 all_inputs() -clock clk_name set_output_delay 1.5 all_outputs() -clock clk_name set_clock_skew -minus_uncertainty 0.45 clk_name /* Set operating conditions */ set_operating_conditions WCCOM /* Turn on Auto Wireload selection Library must support this feature */ auto_wire_load_selection = true
ASIC design flow
Synthesis:利用约束完成设计的门及实现及扫描插入
Constrain scripts
/* Create real clock if clock port is found */ if (find(port, clk) == {"clk"}) { clk_name = clk create_clock -period clk_period clk }
Constrain scripts(续)
/* Apply default drive strengths and typical loads for I/O ports */
set_load 1.5 all_outputs() set_driving_cell -cell IV all_inputs() /* If real clock, set infinite drive strength */
search_path=search_path+{“.” “/usr/golden/library/std_cells”\ “/usr/golden /library/pads”}
target_library ={std_cells_lib.db} link_library ={“*”,std_cells_lib.db,pad_lib.db} symbol_library ={std_cells.sdb,pad_lib.sdb}
/* Create virtual clock if clock port is not found */ if (find(port, clk) == {}) { clk_name = vclk create_clock -period clk_period -name vclk
}
ASIC design flow
ASIC design flow
Initial Setup :建立设计环境,技术库文件及其它设计环境设置。 DC .synopsys_dc.setup 文件
company =“zte corporation”; designer =“name”; technology=“0.25 micron”
ASIC design flow
Pre_layout 的 STA :用DC的静态时序ll_chip的STA。 Setup_time分析 Hold_time分析 其时序约束和提供给DC做逻辑综合的约束相同。静态时序分析同综合一样,是 一个迭代的过程,和cell的位置及布线关系密切,通常都执行多次,直到满 足需要。
Static Timing Analysis no
Time ok?
Tape out
ASIC design flow
设计举例,tap控制器,已完成代码编写及功能仿真:
Tap_controller.v Tap_bypass.v Tap_instruction.v Tap_state.v
ASIC design flow
ECO
Engineering change order,不属于正常的ASIC流程,一般只有在ASIC设计的 后期,需要改变网表,可利用ECO,例如,在tape-out(sign-off)以后,遇见设 计的硬件bug。采用ECO可仅对设计的一小部分重新布线不影响chip其他部分 的位置及时序,通常,修改不能大于10%。
少,验证全面。在这里验证RTL描述与gate_level网表的逻辑等效性。
Floorolanning and global Routing; Estimated 寄生电容和RC delay的抽取; 利用抽取的参数静态时序分析,若时序不满足要求,生成custom wire_load 做
incremental synthesis即post_layout的优化,采用reoptimize_design –in_place命令,其script文件需反标抽取的参数到设计; Detail routing; real寄生电容和RC delay的抽取; 利用抽取的参数静态时序分析,修正hold_time如需要做post_layout的优化; 生成post_layout的SDF文件,做gate_level仿真验证;
-output active_design+”.sdf” write_constraints –format sdf –cover_design\
-output constraints.sdf
ASIC design flow
Verification
利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件 形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真
Transfer clock tree to DC
Formal verification
Post global route Static Timing Analysis
no Time ok?
Detail routing
Post-layout Optimization (in-place optimization(IPO))
方案。我们就以下几个方面对DC做以介绍:
script文件:由DC的命令构成,可使DC自动完成综合的整个过程。 DC支持的对象、变量、属性 DC支持的文件格式及类型 DC在HDL代码中的编译开关,控制综合过程
Translate_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。 full_case:阻止case语句在不完全条件下生成latch。
ADVANCED ASIC CHIP SYNTHESIS
提纲
综合的定义 ASIC design flow Synopsys Design Compiler的介绍 Synopsys technology library Logic synthesis的过程 Synthesis 和 layout的接口——LTL Post_layout optimization SDF文件的生成
Script 文件
Script 文件
Script 文件的构成
DC综合环境设置(.synopsys_dc.setup);
ASIC design flow
SDF generation,pre_layout的SDF文件,用于pre_layout timing仿真,同时还需 提供时序约束文件(SDF格式)给layout tool做布局布线。script文件如下:
active_design=tap_controller read active_design current_design active_design link Create_clock –period 33 –waveform {0 16.5} tck Set_dont_touch_network {tck trst} set_clock_skew –delay 2.0 –minus_uncertainty 3.0 tck set_driving_cell –cell BUFF1X –pin Z all_inputs() set_drive 0 {tck trst} set_input_delay 20.0 –clock tck –max all_inputs() set_output_delay 10.0 –clock tck –max all_outputs() write_timing –format sdf-v2.1 \
ASIC design flow
Compile and scan insert的scripts,采用bottom_up的编译方法
set_fix_multiple_port_net –buffer_constants –all compile –scan check_test create_test_pattern –sample 10 preview_scan insert_scan check_test 如果模块内的子模块具有dont_touch 属性需添加如下命令,因要插入扫描 remove_attribute find(-hierarchy design,”*”)dont_touch
完成全部设计还需经过如下几个步骤:
Pre_layout Synthesis STA using PrimeTime SDF generation Verification Floorolanning and Routing
相关文档
最新文档