synopsys dc中文教程(比较详细)

合集下载

Synopsys软件安装步骤及说明

Synopsys软件安装步骤及说明
#setenvLM_LICENSE_FILE 27000@192.168.90.33:$CDS_LICENSE_FILE
5、环境配置………………………………..…………………..…..11
6、说明……………………………………………………………..…..12
7、附录……………………………………………………………..…..13
Synopsys公司的软件都不用破解文件,图形安装流程几乎一样,关键在于license的制作,安装配置都较为简单,在制作license时需要细心。
Unable to obtain feature 'Design-Analyzer ' because:
Error: Can't communicate with the license server. (பைடு நூலகம்EC-12)
Pleasecontact atroot@(none), who isyour local Synopsys license administrator for Synopsys site 000.
aliassnps=“./<SCL安装目录>/linux/bin/lmgrd–c<license所在目录>/<license名称> -l <log文件名称及其路径>”
Cshell设置:
aliassnps“./<SCL安装目录>/linux/bin/lmgrd–c<license所在目录>/<license名称> -l <log文件名称及其路径>”
exportPATH=$SYNOPSYSDC/bin:$PATH
aliasdv=$SYNOPSYSDC/bin/design_vision

DC简单使用

DC简单使用

综合概述综合主要包括三个阶段:转换(translation)、优化(optimization)与映射(mapping)。

转换阶段综合工具将高层语言描述的电路用门级的逻辑来实现,对于Synopsys的综合工具DC来说,就是使用gtech.db1库中的门级单元来组成HDL语言描述的电路,从而构成初始的未优化的电路。

优化与映射是综合工具对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。

必须的限制条件1)电路中需要有时钟的定义.2)保留时钟网络,不对时钟网络做综合.3)综合的时候需要指定线负载模型,用于估计连线延迟.4)限制模块中组合路径的输入输出延迟.5)限制输出的带负载能力(Loading budget)以及输入的驱动单元(drivingcell)6)模块同步输出的输出延迟(output delay)的限制,以及同步输入的输入延迟(input delay)的限制.7)多周期路径(multicycle path)以及非法路径(false path)的限制8)工作环境的给定综合的准备设计文件自下而上式的编译目录结构综合划分(Partitioning for Synthesis)采取的策略:z方便设计重用(Partition for design reuse)z保证相关的组合逻辑一起(Keep related combinational logic together)z确保块输出为寄存器(Registering block outputs)z按设计目标划分(Partition by design goal)z按编译技术划分(Partition by compile technique)z保证共享的资源在一起(Keep sharable resources together)z Keep user-defined resources with the logic they drive.z隔离特殊的功能,例如pads,时钟,边界扫描和异步逻辑(Isolate special functions,such as pads,clocks,boundary scans,and asynchronous logic)综合划分技术库技术库包含了半导体厂商提供的每个单元的特征和功能的信息。

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⾯积数值,选取最合适的平衡点。

synopsys-dc中文教程(比较详细)

synopsys-dc中文教程(比较详细)

ASIC design flow
IP and Library Models
Verified RTL
Design Constraints
Logic Synthesis optimization&scan insertion Static Timing Analysis
no Time ok?
Floorplan placement, CT Insertion&Global routing
-output active_design+”.sdf” write_constraints –format sdf –cover_design\
-output constraints.sdf
ASIC design flow
Verification
利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件 形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真少,
方案。我们就以下几个方面对DC做以介绍:
script文件:由DC的命令构成,可使DC自动完成综合的整个过程。 DC支持的对象、变量、属性 DC支持的文件格式及类型 DC在HDL代码中的编译开关,控制综合过程
Translate_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。 full_case:阻止case语句在不完全条件下生成latch。
பைடு நூலகம்
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

DC使用说明

DC使用说明

Design Compiler(DC)使用1.建立逻辑综合环境,熟悉DC命令建立逻辑综合环境的命令是:new_dc [文件名],例如new_dc mydesign,就是在当前目录下新建一个名为mydesign的DC综合环境。

环境如图1 环境实例所示。

图1 环境实例在mydesign目录下,Readme文件给了我们怎么使用工具的提示;filelist.tcl文件是给出需要综合代码的路径和文件名。

在synopsys.sdc文件中我们设置设计约束和设置工作环境,比如建立时钟,设置输入延时和输出延时等等。

在top.tcl文件中设置顶层模块名,设置库文件名,以及读入设置好的clock和输入、输出约束的文件,以及分析并报告结果。

.synopsys_dc.setup文件是DC工具的设置文件。

2.以加法器Adder_Array为例说明具体使用步骤。

Adder_Array共有5个设计文件,分别为顶层模块Adder_Array.v,状态机模块FSM.v,数据通过模块Data_Path.v,加法器模块adder_21.v,减法器模块Add_Sub_21.v。

Adder_Array 综合的步骤如下:(1)Adder_Array的设计文件添加到filelist.tcl中。

如图2 文件列表图2 文件列表(2)在top.tcl中将顶层模块设置为Adder_Array。

如图3修改顶层模块名图3 修改顶层模块名(3)修改synopsys.sdc实现以下设计约束:时钟周期1.2ns,input_delay设置为0.5ns,output_delay设置为0.5ns。

如果使用者想增加其他的设计约束可以在此文件中增添。

(4)进入刚才建好的综合环境,在终端中执行run命令,调用Design Compiler执行逻辑综合。

打开终端:cd [建好的环境路径],进入后输入run,即可。

(5)等逻辑综合执行完毕后,查看123.log,对其中的error和warning进行确认,如果有问题修改设计或综合脚本后重新综合,直至没有问题。

DC仿真教程

DC仿真教程

DC仿真教程DC的使⽤⼀、实验⽬的1、掌握DC软件的基本使⽤流程;2、熟悉基本的DC命令,并理解其意义;3、对DC综合后的结果进⾏分析。

⼆、实验⼯具Synopsys 公司电路综合⼯具Design Complier,即DC。

三、实验内容概述1、利⽤DC图形界⾯进⾏电路综合;2、使⽤DC脚本⽂件进⾏电路综合;3、查看综合报告,根据报告分析电路性能。

四、实验步骤(⽂件说明:为了演⽰⽅便,在进⾏下⾯的实验时需要⽤到两个⽂件,⼀个是example1.v,它是描述⼀个电路的verilog代码,我们的⽬标就是⽤DC综合这个代码得到满⾜约束条件的电路⽹表;另⼀个是dc.scr,它是综合example1.v 的脚本⽂件。

)DC既可使⽤图形界⾯,也可不使⽤图形界⾯⽽直接运⾏脚本来综合电路。

当然,它们⼆者功能是⼀样的,在图形界⾯的每步操作都有相应的命令。

我们先以较为直观的图形界⾯来演⽰各个操作步骤,并给出相应的tcl命令,再⽤DC 脚本来对电路进⾏综合。

准备好需要综合的⽂件和相应的脚本⽂件后,下⾯就开始我们的实验:⼀、DC图形界⾯的使⽤。

1.DC图形界⾯的启动打开⼀个终端窗⼝,键⼊命令dv –db_mode,回车:则DC图形界⾯启动,如下图所⽰:红框处是DC的命令输⼊框,所有以下在图形界⾯上的操作都可以在这个命令输⼊框中输⼊相应的命令来完成。

选择Help-----→Man Pages可以查看DC的联机帮助。

相应指令:man。

例:man man表⽰查看man命令的帮助。

man create_clock表⽰查看creat_clock命令的帮助。

2.设置库⽂件选择File----→Setup打开如下界⾯:接下来就要在这设置库⽂件了,在设置之前我们有必要对这些库做个简单说明:●search_path是要指定综合⼯具的搜索路径。

●target_library为综合的⽬标库,它⼀般是由⽣产线提供的⼯艺相关的库。

●synthetic_library是综合库,它包含了⼀些可综合的与⼯艺⽆关的IP。

DC使用说明

DC使用说明

Design Compiler使用说明一.软件说明Design Compiler是synopsys的综合软件,它的功能是把RTL级的代码转化为门级网表。

综合包括转译(Translation),优化(Opitimization),映射(Mapping)三个过程。

在转译的过程中,软件自动将源代码翻译成每条语句所对应的功能模块以及模块之间的拓扑结构,这一过程是在综合器内部生成电路的布尔函数的表达,不做任何的逻辑重组和优化。

优化:基于所施加的一定时序和面积的约束条件,综合器按照一定的算法对转译结果作逻辑优化和重组。

在映射过程中,根据所施加的一定的时序和面积的约束条件,综合器从目标工艺库中搜索符合条件的单元来构成实际电路。

DC有两种界面,图形界面通过敲入design vision&调用出来,另一种命令行界面通过dc_shell-t调用。

建议初学者使用图形界面,因为图形界面比较容易上手;业界的人士比较青睐命令行界面,因为其所耗的资源少,并且将所用的命令写成综合脚本的形式,便于查阅。

因为门级和代码级不同,代码级考虑的是理想情况,但是实际电路不是这样的,它有门级的延时,线的延时,信号的转换时间,甚至时钟信号到达各个触发器的时间不相等。

基于这些考虑,DC通过施加约束,模拟实际环境,根据实际情况得出门级网表。

因此如何适当的施加约束是DC的关键所在。

二.库的配置通过上述说明可知,DC需要通用库和工艺库的支持,DC用到的工艺库是.db或者是.lib格式的,其中.lib格式的文件是可读得,通过此文件可以了解库的详细信息,比如说工作电压,操作温度,工艺偏差等等。

.db格式的库是二进制的,不可读。

.db格式的库由.lib格式的库通过命令read_lib生成。

目标工艺库(Target_library):是指将RTL级的HDL描述到门级时所需的标准单元综合库,它是由芯片制造商(Foundry)提供的,包含了物理信息的单元模型。

Synopsys软件安装步骤及说明

Synopsys软件安装步骤及说明
图 (二)
之后可一直“NEXT”到如图(三)所示。
图 (三)
在该界面勾选需要选择所想要的安装包,如果系统是64bit,可将linux和amd64均选上,继续下一步到如图(四)所示。选择安装路径后继续下一步直到结束。
图 (四)
至此DC安装结束。
3
在Synopsys软件的安装目录下没有管理License的工具,故需要安装SCL这一License管理工具。
exportSYNOPSYSFM=/eda_tools/synopsys/fm_vD_2010.03_SP5
exportPATH=$SYNOPSYSFM/bin:$PATH
################################HSPICE12.06#############################
此安装与D处略过。
4
License的制作是在windows下进行的。
1)、打开EFALicGen0.4b文件夹运行LicGen.exe程序出现如图(五)所示界面。
图 (五)
点击“OPEN”选择Synopsys.lpd文件,“打开”。回到图(五)所示界面。勾选上Custon、Use Daemon及最后一个Custon,在两个“Custon”后输入Linux系统的MAC。填好以上内容后点击“Generade”出现license内容界面,取名ynopsys.dat保存(例:保存到D:/Synopsys SSS FeatureKeygen)。
exportPATH=$SYNOPSYSDC/bin:$PATH
aliasdv=$SYNOPSYSDC/bin/design_vision
aliasdc=$SYNOPSYSDC/bin/dc_shell
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASIC design flow

Pre_layout 的 STA :用DC的静态时序分析引擎做block的STA,用PrimeTime做 full_chip的STA。 Setup_time分析 Hold_time分析 其时序约束和提供给DC做逻辑综合的约束相同。静态时序分析同综合一样,是 一个迭代的过程,和cell的位置及布线关系密切,通常都执行多次,直到满 足需要。
综合的定义

逻辑综合:决定设计电路逻辑门的相互连接。
逻辑综合的目的:决定电路门级结构、寻求时序和与面积的平衡、 寻求功耗与时序的平衡、增强电路的测试性。 逻辑综合的过程:首先,综合工具分析HDL代码,用一种模型 (GTECH) ,对HDL进行映射,这个模型是与技术库无关的;然后, 在设计者的控制下,对这个模型进行逻辑优化;最后一步,进行 逻辑映射和门级优化,将逻辑根据约束,映射为专门的技术目标 单元库(target cell library)中的cell,形成了综合后的网表。


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仿真验证;
DC介绍

Synopsys Design Compiler,是一个基于UNIX系统,通过命令行进行交互的综合工具, 除了综合之外,它还含有一个静态时序分析引擎及FPGA和LTL(links-to-layout)的解决 方案。我们就以下几个方面对DC做以介绍: script文件:由DC的命令构成,可使DC自动完成综合的整个过程。 DC支持的对象、变量、属性 DC支持的文件格式及类型 DC在HDL代码中的编译开关,控制综合过程
}
ASIC design flow

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 */ 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

Translate_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。 full_case:阻止case语句在不完全条件下生成latch。
Script 文件

Script 文件

Script 文件的构成 DC综合环境设置(.synopsys_dc.setup); 属性和约束信息; 综合命令(read,compile); 控制流命令;
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

ASIC design flow
IP and Library Models Verified RTL Design Constraints Logic Synthesis optimization&scan insertion Static Timing Analysis no Post global route Static Timing Analysis Time ok? no
ASIC design flow

Verification


利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件 形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真少, 验证全面。在这里验证RTL描述与gate_level网表的逻辑等效性。
ASIC design flow

Initial Setup :建立设计环境,技术库文件及其它设计环境设置。 DC .synopsys_dc.setup 文件 company =―zte corporation‖; designer =―name‖; technology=―0.25 micron‖ 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}

Write netlist
remove_unconnected_ports find(-hierarchy cell,‖*‖) change_names –hierarchy –rules BORG set_dont_touch current_design write –herarchy –output active_design+‖.db‖ write –format verilog –hierarchy –output active_design+‖.sv‖
ASIC design flow

ECO


Engineering change order,不属于正常的ASIC流程,一般只有在ASIC设计的 后期,需要改变网表,可利用ECO,例如,在tape-out(sign-off)以后,遇见设 计的硬件bug。采用ECO可仅对设计的一小部分重新布线不影响chip其他部分 的位置及时序,通常,修改不能大于10%。 最新版本的DC提供由ECO compiler, 可使设计者手工修改网表,节省时间。 一些layout工具也具有ECO功能。
ASIC design flow

设计举例,tap控制器,已完成代码ntroller.v Tap_bypass.v Tap_instruction.v Tap_state.v 完成全部设计还需经过如下几个步骤:


Pre_layout Synthesis STA using PrimeTime SDF generation Verification Floorolanning and Routing Post_layout 反标来自layout tool的信息, STA using PrimeTime Post-layout Optimization Fix Hold-Time Violation
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 \ -output active_design+‖.sdf‖ write_constraints –format sdf –cover_design\ -output constraints.sdf
相关文档
最新文档