DC综合操作流程_设置流程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总流程

1:库的设置

2:设计的读入

3:设置环境属性

(1)set_operating_conditions

(2)set_wire_load_model和set_wire_load_mode (3)set load

(4)set_drive或者set_driving_cell

4:设计规则约束

(1)set_max_transtion

(2)set_max_capacitance

(3)set_max_fanout

5:优化约束

(1)create_clock

(2)set_clock_uncertainty

(3)set_clock_latency

(4)set_input_delay

(5)set_output_delay

(6)set_false_path

(7)set_multicycle_path

(8)set_max_delay和set_min_delay

(9)set_max_area

7:一些编译命令及DC的输出格式

注意:

1:在前端设计中一般不做hold_time的约束,hold_time的约束可以在后端修复!!!

总流程:

1:对库进行基本设置,如下:设置完成后应该查看.synopsys_dc.setup里面库的设置和软件application setup处的设置是否一样!DC的初始化文件.synopsys.dc.setup需要用ls –a显示,命令:more .synopsys.dc.setup查看文件内容!

2:读入设计,两种方法:read和analyze+elaborate

Analyzer是分析HDL的源程序并将分析产生的中间文件存于work(用户可以自己指定)的目录下;Elaborate则在产生的中间文件中生成verilog的模块或者VHDL的实体缺省情况下,elaborate读取的是work目录中的文件

3:设置环境定义:如果不指定operating_conditions,DC自动搜索link_library 中的第一个库的工作环境作为优化时使用的工作环境。

(1)set_operating_conditions:工作条件包括三方面—温度、电压以及工艺;

工作条件一般分三种情况:best case, typical case, worst case

图形界面:

#1:先进入the symbol view of the top界面,选择top模块

#2:attributes—operating environment—operating conditions

命令方式:

#1:可通过report_lib libraryname命令来查看,如下图查看的是slow.db库的工作条件,则使用命令:report_lib slow,右边是report_lib fast。

另外一个例子,只是为了说明库中的library name必须是用report_lib 命令得到下面图形中的conditions里面的库的name:(******自己想的******)

#2:一般综合时候只需考虑最差和最好两种情况即可,最差情况用于做

建立时间(setup time)的时序分析,最好情况用于做保持时间(hold time)的时序分析。最差情况-max下使用slow.db库,最好情况-min

下使用fast.db库;

{最差和最好情况和温度以及电压有很大关系,温度越大,延时越大;电

压越大,延时越小;不过温度对延时的作用更大}

所以:

##1: 做建立时间分析时候用最差情况,命令:

set_operating_conditions –max “slow”

##2: 如果既要分析建立时间,又要分析保持时间,则需要两条命令:

set_min_library slow.db –min_version fast.db

set_operating_conditions –min fast –max slow

首先通过命令set_min_library同时设置worst-case和best-case的

library,然后通过set_operating_conditions命令指定不同环境下使用

的库模型;

上面的命令指定的是:fast库用于对hold time优化,slow库用于对

setup time进行优化。

set_operating_conditions –min fast –max slow命令中的–min fast

和–max slow可以互换。

(2)set_wire_load_model和set_wire_load_mode

命令方式:

#1:set_wire_load_model: 设置连线负载模型, 为了估计模块输出的时序—transition time;DC默认输出负载为0

负载模型可以通过report_lib libraryname命令下查看线的模型种类,如下图是fast.db库中的几种线的模型。

在布局布线前应使用较悲观的模型,对最坏的情况做综合,线负载模型由目标库提供。-max –min选项指定该模型用于估计最大路径延迟和最小路径延迟。

例如:(写一个即可)

set_wire_load_model -name tsmc13_wl40 -min

set_wire_load_model -name smic13_wl50 –max :最坏情况

或者可以直接设置负载模型:

set_wire_load_model -name tsmc13_wl40 -library slow

表示使用的是slow库里的tsmc13_wl40线模型。

#2:自己不清楚如何选择的话,则让DC自动选择

set auto_wire_load_selection true

#3:上面的设置完成后,需要对负载模块的使用位置加以说明,三种模

相关文档
最新文档