关于DC的optimize
最近面试被问到的几个DC的问题:1)DC的流程里面optimization是怎么实现的(以加法器为例)?2) wire_load怎么设?3)DC用的lib和encounter用的lib是一样的吗?请高人指点。
1) 就是dc的flow吧, elaborate + map , 具体再问下
2) 一般设成zero WLM , 也可以设成其他的,
3) 一样的,都是 .libformat ,
首先恭喜icfb荣升小编,您的贡献大家有目共睹!
1)opt可以是时序,也可以是功耗和面积。以加法为例,在DW中有许多种加法器,与速度快的,也有慢的,按照时序约束找到满足时序要求的,在里面再选面积和功耗最小的
2)wire load可以是zero,非zero的某个,topo
3)DC一般用NLDM或CCS的lib,encounter里面一般用NLDM或ECSM的lib
非常感谢两位!
多谢涛哥 补充!
不过dc的时候用ccslib很少,edi的ecsm lib是signoff用的, 我还没用过,在edi里面
nldm的 比较通用些
3)DC一般用NLDM或CCS的lib,encounter里面一般用NLDM或ECSM的lib
想问一下:CCS 和ECSM怎么解释?
刚拿到smic65的工艺,对于同一个corner有好几个文件:
scc65nll_hd_hvt_ss_v1p08_125c_basic.lib
scc65nll_hd_hvt_ss_v1p08_125c_ccs.lib
scc65nll_hd_hvt_ss_v1p08_125c_ecsm.lib
其中_basic.lib中/* ModelType: NLDM, NLPM*/
_ccs.lib中/* ModelType: NLDM, NLPM, CCS_timing, CCS_noise */
_ecsm.lib中 ModelType: NLDM, NLPM, ECSM
NLDM:non-linear delay model(非线性延迟模型)
NLPM,CCS,ECSM分别指什么?
我用encounter P&R,那就选*_basic.lib 或*_ecsm.lib,具体点还有什么要求吗?
2) 一般设成zero WLM , 也可以设成其他的,
他问的wire_load怎么设?
难道不是举个例子)
set_wire_load_model -name "tsmc18_wl30" -library "slow"
set_wire_load_mode top
你说的zero WLM又是什么?
就是zero fanout 那种wireload model, 一般名字里面包含zero的,
比如:
set_wire_load_model -name zerowireload -library "slow"
看看.lib 就知道了,
我看到很多 综合脚本都是用zero wireload model来做 ,
能不设置set_wire_load_model
只设置set_wire_load_mode top吗?
我在*.lib中没查到"wire_load" 或"zero"
会出什么问题?
mode 和 model 是 2码事情,
model 有 top , segmented ,enclosed3种模式,
效果不一样,
model 是model name,选其他model也行的,
没有规定一定要用某个model,
我知道model和mode不一样.
我现在只想确认我手里的库是不是少点东西.
我打开一个*.lib看了,
查不到"wire_load"的说明
我在tsmc0.18um的文件里就看到过:
/* wire-loads */
wire_load("tsmc18_wl10") {
resistance: 8.5e-8;
capacitance : 1.5e-4;
area: 0.7;
slope: 66.667;
fanout_length(1,66.667);
}
NLDM 是传统的liberty format,就是一开始的.lib ,经典款, 只包含timing , power信息
CCS : composite current source,是synopsis为了90、65nm下多power,timing,noise合一的
lib,而且计算算法比较精确,可以做signoff,比如pt 和icc都可以用ccs db 做link path,
ECSM : effective current source model ,cadence主推的,类似ccs的lib, cadence自己的算法,
为cadence工具提供signoff 程度,比如edi ,celtic ,
synopsis flow的工具可以用ccs, cadence的用ecsm,
如果不想太麻烦,直接用NLDM 也行的, 一般CCS/ECSM 文件都很大,几百M,
学习了。多谢
说的很好。
学习学习
学习了!
请问一下,有一点我不太懂,icc如何用ccs库进行更精确的时序分析呢?您说在icc中设置link path,是设置link_library吗?但是link libray只是放一下gate level netlist中用到的instance而已,怎么会用它进行时序分析呢?不太清楚
dc可以根据面积优先,速度优先,power优先做优化。
wire load可以在没有routing之前估算wire的cap和delay
DC大致分为三个步骤:
Elaborate(不作时序优化)
Logic Level Optimization
Cell (& Physical for DCT/DCG) Optimization
前面两项优化对DC就是个笑话...
学习一下,刚下了smic055的的工艺库
NLDM:non-linear delay model,那么NLPM是什么意思呢?
NLDM:non-linear delay modelNLPM:non-linear power model
在lib中,NLPM通常在NLDM的上面,就是上面icfbicfb提到的,“经典款的lib的format,包含timing,power信息”,其中的timing的部分是NLDM,power的部分是NLPM,都是以查找表的方式存在于库中的,查找表的格式以及查找表的索引分别代表什么可以在lib的头上找到格式范例,比如有的lut的索引为input net transition和total output net capacitance
NLDM:non-linear delay modelNLPM:non-linear power model
在lib中,NLPM通常在NLDM的上面,就是上面icfbicfb提到的,“经典款的lib的format,包含timing,power信息”,其中的timing的部分是NLDM,power的部分是NLPM,都是以查找表的方式存在于库中的,查找表的格式以及查找表的索引分别代表什么可以在lib的头上找到格式范例,比如有的lut的索引为input net transition和total output net capacitance
学习了
学习了