后端面试--每日一题(006)
During the synthesis, what type of wire load model are often used?
做RTL综合时,经常使用的wire load model有哪几种?
难度:2
注意:问题是wire load model,不是wire load mode,也不是delay model
top/enclosed
小编问的好像是model 不是mode
一般采用slow库的model,选取要根据设计规模来吧,越大越悲观
我只知道一个ZeroWireLoad 无导线延迟信息来报timing。
其他不确定
NLDM module
注意:问题是wire load model,不是wire load mode,也不是delay model
刚用report_design看了下,综合自动选择的是最大的那个model,应该是为了最大化setup violation
TLU+ ?
这里问的“有哪几种wire load model?”,并不是问你用的.lib里面有多少个WLM,分别叫什么名字。
而是常用的WLM有多少种类?4楼说的zero wire load model算是一种,.lib里面那些非zero wire load model是另一种,还有一种用得比较多的是什么?
CWLM (customer WLM)
求指教
求指导~我好像题目没怎么理解
DC默认的应该是zero wire load model,当然也会根据design 的大小选择不同K值的wire model,
nldm(非线性负载模型)
CCS(synopsys)和ecsm(cadence)都是电流源模型,精细度更高,
这三种模型是对cell delay的计算方式的不同区分;
PVT(process voltage temperature)条件
就是我们平时做时序分析的wcl、wc、lt、tc、ml等corner设置work condition
一般情况下wcl下修复setup
lt下修复hold、ml下查看leakage
详细的信息可以查看lib文件,希望有所帮助
tiger_lein
在DC中,有一个变量叫auto_select_wire_load_model,
这个变量设置为True的话,那么DC在综合过程中,就会自动选择线负载模型,来做综合,分析Timing。
而同时,可以设置set_wire_load_mode [top|segmented|encolse],这三个不同的值设置上之后,DC在综合的过程中,就会根据一定的算法来选择不同负载模型了。
不同线负载模型的选择,对综合出来的Netlist 的QoR有很大的影响。主要体现在Chip的面积上。
约束得过紧,对于后端来说是一件好事,因为相当于预留了不少的Margin,如果约束过松,后端就是辛苦了。
一般的做法是选择负载最小的那个模型,来做综合。
或者用自动选择线负载模型,然后
set_wire_load_mode -segmented.来做。
这个是我个人的理解,陈小编,不知道我答对了多少。还是全错。
tiger_lein小编把我下一个要问的问题提前给答了。
What types of delay model are used in digital design? (数字IC设计中有多少种类型的delay model)
答案就是你说的“NLDM,CCS,和ECSM”,还有一个现在基本不用了的--LDM
回来讲wire load model,在综合时,除了用ZWLM,或者不同K值的wire load model以外,还有一个基于物理位置(距离)的wire load model,在Cadence的RC中叫PLE,Synopsys叫DC Ultra Topographical
呵呵,期待大家更激烈的讨论,谢谢陈涛
1、Synopsys叫DC Ultra Topographical,就是我们平时所说的DCT吗?如是这样好像需要导入def文件来细化
2、auto选择wire load model我想问个问题,针对不同的模块我是不是可以选择不同k值的wire load model呢,如果可以我怎么设置来实现这个功能呢?求解
基本上就是14#说的方法,auto_select_wire_load_model + set_wire_load_mode [top|segmented|enclose]
但是我猜大部分的公司不让这么用,因为这种用法对于小模块来讲,会自动选用很小的WLM,而实际P&R时,你无法保证这个模块就一定摆得非常近
应该选择slow corner 的,然后根据面积大小选择 model。
The wire_load_model is used to model the interconnect parasitics, which can be modeled with RLC model. Since L can be neglected for on-chip pre-layout analysis, it becomes an RC network. Base on the block size and fanout, wlm_light, wlm_conservative, and wlm_aggresive fall into awire_load_model_selection_table that we can specify. For wire_load_model to model the interconnect parasitics, best_case rc tree, balanced rc tree and worst_case rc tree can be used to represent to above three models respectively. The wire_load_model_selection_table should be in the lib file a std cell lib, but I don't have it, I also don't know how to get it into .lib during characterization.
Can someone tell more about K? Something I don't quite agree is K-value is not used here to specify any wire_load_model, it is used to multiply the far-end capacitance for calculation ofthe effective capacitance when doing delay calculation. K should range within 0 and 1.
Thanks
线负载模型是用来计算连线的延时的,一般根据面积的不同选择不同的线负载模型,面积越大的芯片线负载模型中定义的单位长度的电阻电容也越大。
当需要估算连接不同模块的连线的延时时需要设主席set_wire_load_mode选项:有三种 enclosed(用包围两个子模块的模块的线负载模型估算连接它们的连线的延时) ,top,(用包含所有模块的顶层模块的线负载模型来估算),segment(分别根据穿过的三段模型估算之后相加得到)
顶一个,学习中啊
DC Ultra Topographical
WLM
CCS
NLDM
追加一个
ECSM
太全面了
能不能分别说说这几个具体代表啥意思啊
谢谢宋大牛
但是DC时一般都这么做:auto_select_wire_load_model + set_wire_load_mode top
太全面了.....
DC Ultra Topographical
来学习的..
百花齐放,好东西!