DC综合教程 下载本文

写脚本

tip9:在终端中启动DC用脚本综合

dc_shell-t -f ./scripts/seg_drive.tcl > 1

将报告写入1文件

tip10:设计中有多个模块时,如果用top_down策略,则在脚本中得把所有的模块读入:

set active_design seg_drive //注意:相等于一个宏定义,用active_design代替seg_drive read_verilog {encode_seg.v number_mod.v scan.v seg_drive.v} //read_file也可以,它可以读多种格式文件,包括.db

#analyze -format verilog {encode_seg.v number_mod.v scan.v seg_drive.v}

#elaborate $active_design //注意这里是$active_design

current_design $active_design //将顶层设置成当前设计 link

//read_verilog命令与 后面的analyze、elaborate功能相同,可以选择其中一个;参看 《ASIC综合与DC使用》:

set_svf ./mapped/svf/$active_design.svf //没查

###############################################1 # Define the Design Environment

#1

###############################################1

13Modeling the System Interface设置系统接口2

1)

set_operating_conditions slow //设定一个库的环境,库内包含使用温度、电压、电路特征线

宽等

2)set_wire_load_model –name model_name –lib_name library –max –min//设定线负载模型

set_wire_load_model -name tsmc090_wl40 -library slow //表示使用库slow里的

tsmc090_wl40线模型

如果没有 wire_load_model,可以将 auto_wire_load_selection 参数设置为 true,则 DC 自动根据综合之后的面积来选择一个统计的线负载模型用于估计连线延迟。 set auto_wire_load_selection true

set_wire_load_mode enclosed //跨模块线负载模式选择

3)Modeling the System Interface设置系统接口

输出端:设置set_load

由于外部电路的负载将会影响到接到端口上单元电路的延迟(这里设置的是电容值),因此, 需要对端口的带负载能力做限制。为了比较精确地计算输出电路的延迟, DC需要知道输出电路驱动的所有负载。参看p144

参看@@Design Compiler User Guide 2010.03 p44

如:set_load [load_of ssc_core_slow/buf1a2/A] [all_outputs]

set_load [expr 4*[load_of DICE_DELAY_DFF_RN_slow/DICE_DELAY_DFF_RN/D]] [all_outputs]

输入端:设置set_driving_cell

set_driving_cell -lib_cell DICE_DELAY_DFF_RN -pin Q –library DICE_DELAY_DFF_RN_slow [all_inputs]

set_drive 0 [list clk_62_5M rst_n] //参见Design Compiler User Guide 2010.03.pdf 144页

为了更加精确的估计输入电路的延迟, DC需要知道信号到达输入端

口的过渡时间(transition time) 。set_drive 使用一个确定的值来估计输入端的输入电阻,

从而得到输入端口的延迟;而 set_driving_cell 是假定一个实际的驱动单元来估计输入的 transtion time:Time = arrive_time + drive*net_load +connect_delay dc_shell> current_design top_level_design dc_shell> set_drive 1.5 {I1 I2}

dc_shell> current_design sub_design2 //注意切换当前设计 dc_shell> set_driving_cell -lib_cell IV {I3}

dc_shell> set_driving_cell -lib_cell AN2 -pin Z -from_pin B {I4}

################################### # Design constraint

#

###################################