参数提取
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对GDSII database进行gate-level寄生参数抽取
VIMICRO 祝侃
1.Abstract
伴随着SOC技术的发展,自动布局布线规模不断扩大,同时产品的上市周期
由于市场竞争的加剧压力也愈来愈大。因此,如何提高自动布局布线设计中寄生
参数验证的效率成为众多IC设计者必须要考虑的重要课题。
通过引入calibre DRC/LVS/XRC,vimicro已经发展了一套提高自动布局布
线设计验证效率的方法,这些方法包括GDSII文件的直接处理,使用gate-level
寄生参数抽取来满足数字电路的时序分析验证,以及修改相应的文件来加速寄生
参数的抽取等。
2. Introduction
首先,在自动布局布线结束后,我们通常会进行DRC/LVS检查,然后在 layout editor (如Virtuoso)里修改错误,最后得到DRC/LVS clean的GDSII 文件。这个时候前端设计人员发现功能有问题进行了修改,要求自动布局布线作 ECO。这样原先的DRC/LVS检查都要重新做一遍。
对DRC/LVS clean的GDSII 文件抽取寄生参数,然后拿这个含有寄生参数
的网表作 STA,如果时序可以满足要求的话,就不需要做那些重复的工作了。
Calibre xRC可以对GDSII 数据进行gate level 的寄生参数抽取.
这样的设计流程是针对于简单的ECO改动,例如IO位置的调整,或者对为
数不多的逻辑门连接关系的修改。对于复杂的改动,还必须应用自动布局布线的 ECO流程.
3. Flow Description
1).Run hierarchical LVS (PHDB Generation)
执行hierarchical LVS是为了对layout做器件和连接关系的抽取,并且建立版图和网表的cross-reference.
2).抽取寄生参数 (PDB Generation)
Calibre XRC 抽取gate level的寄生参数.
3).写出网表 (FMT)
Calibre xRC 从第二步抽取的寄生参数数据中写出DSPF 或 SPEF 网表.
4).静态时序分析 (STA)
PrimeTime 读入DSPF 或 SPEF 网表,还有原来的verilog 网表 和cell library,产生SDF文件.
1).LVS-H
首先要Run hierarchical LVS,就需要设定hcell list.Calibre xRC 叫做xcell.这个xcell list跟普通的LVS使用的hcell list差不多,只是比LVS要更严格一些,需要Calibre识别出所有的standard cells and micro blocks.这样在第二步抽取寄生参数的时候Calibre才知道那些出现在hcell list里的
cells里面是不要抽取寄生参数的而只需要抽取top cell的连接线部分就好了.判断xcell是不是正确的,要看lvs report file里top cell的统计结果是不是都是cells而没有devices.
比如下面这个结果虽然LVS clean, 但是并不适合做gate level RC extraction.
LAYOUT CELL NAME: chip_top
SOURCE CELL NAME: chip_top
INITIAL NUMBERS OF OBJECTS
Layout Source Component Type
------ ------ --------------
Ports: 370 370
Nets: 11098 11098
Instances: 303 303 MN (4 pins)
307 307 MP (4 pins)
150 150 ADFULD1 (7 pins)
2873 2873 ADFULDL (7 pins)
一定要保证在top level的报告中看不到device才可以.
LAYOUT CELL NAME: chip_top
SOURCE CELL NAME: chip_top
INITIAL NUMBERS OF OBJECTS
Layout Source Component Type
------ ------ --------------
Ports: 370 370
Nets: 10207 10207
Instances: 150 150 ADFULD1 (7 pins)
2873 2873 ADFULDL (7 pins)
33 33 AOI33D1 (9 pins)
1 1 AOI33D
2 (9 pins)
1 1 AOI33D4 (9 pins)
LVS的执行命令跟普通的LVS是完全一样的:
calibre –lvs –hier –hcell
2).PDB Extraction
第二步抽取寄生参数,Calibre XRC 从2006.3版本开始有个新的选项 -asic,使用了这个选项,xRC会对asic design进行优化以提高抽取的速度.这个新的选项可以使gate level extraction的速度提高10倍,并且对内存的消耗也大大降低.
calibre –xrc –pdb –asic –hcell
3).Ouput netlist
Calibre xRC可以写出符合不同后仿真工具的网表格式,比如ELDO,HSPICE, SPECTRE 等. 使用PrimeTime一般需要DSPF 或 SPEF 格式. Calibre xRC从 2006.3 的版本开始有一个新的选项 “PRIMETIME”来控制DSPF 和SPEF输出格式,可以使输出的SDPF和SPEF网表更加符合PrimeTime的要求,且网表大小缩小10倍以上.
PEX NETLIST DISTRIBUTED filename DSPF [PRIMETIME]
PEX NETLIST DISTRIBUTED filename SPEF [PRIMETIME]
在rulefile里设置好这个选项就可以写出网表了:
calibre –xrc –fmt –hcell
和 spice netlist,但是要输出供PrimeTime使用的网表就需要对输出网表作一
些特别处理.需要设置几个环境变量:
PEX_FMT_SPF_INSTANCE_SECTION OFF
PEX_FMT_NOXREF_MODEL_MODE NONE
PEX_FMT_SPF_NAME_FILTER_MODE “X”
PEX_FMT_SPF_LUMPED_MODEL_MODE NONE
新的[PRIMETIME]选项也可以自动设置PEX_FMT_SPF_INSTANCE_SECTION OFF 和 PEX_FMT_SPF_NAME_FILTER_MODE “X”.