在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: houjs

[原创] 面向微电子专业的免费培训--—工艺规则DRC/LVS/RCX的Rule开发及验证

[复制链接]
发表于 2018-10-11 22:28:19 | 显示全部楼层
多谢分享
发表于 2018-10-12 15:47:40 | 显示全部楼层
请问怎么参加培训 现在还有吗? 等级不够 无法私信 静等回复
 楼主| 发表于 2018-10-12 16:00:52 | 显示全部楼层
回复 122# houzhengyi


    请给一个邮箱地址。
发表于 2018-10-12 20:38:30 | 显示全部楼层
回复 123# houjs


   1248894438@qq.com  谢谢!
 楼主| 发表于 2018-10-17 10:57:11 | 显示全部楼层
本帖最后由 houjs 于 2018-10-17 11:00 编辑

回复 124# houzhengyi

寄生参数提取的transistor level,cell level, full hierarchical如何运行?

在寄生参数提取中,经常遇到transistor level提取、cell level提取和full hierarchical提取的不同需求,它们有和用途,区别在哪里,该如何运行呢?

Transistor Level提取又称为flatten提取,它是把版图全部打散后的寄生参数提取,精度最高,但是网表规模大,后续的仿真速度慢。该模式适合于小规模电路,一般数字电路在50万个晶体管以内可以采用TransistorLevel提取,模拟电路一般都采用TransistorLevel提取。


Transistor Level的运行方式分为3:


1   calibre -lvs -spice $svdb_dir/top_cell.sp  rules

( 或者 calibre -xrc -phdb rules )

2   calibre -xrc -pdb -rc  rules

3   calibre -xrc -fmt -rc  rules


full hierarchical提取是保持版图层次化提取,如果一个cell被调用多遍,只提取一次,减少提取的工作量,提取速度较快,提取的网表规模小,适宜于大规模电路的提取。特别适合于memory等层次化程度保持较好的电路提取。


如果采用flatten方式提取,Cell B的连线对Cell A的连线的耦合电容会被提取,相反,如果采用hierarchical提取,Cell B内的连线会把其对Cell A的耦合电容折算到对地电容上,同时,Cell A的连线对Cell B的耦合电容会被忽略。因为Cell B调用了Cell A,因此Cell A处理时并不知道Cell B的图形和调用环境。


从以上分析可以看出,hierarchical提取会略微造成精度损失,如果对精度特别敏感,可以采用flatten模式。


运行hierarchical提取的方法如下:

1    calibre -lvs -hier -hcell hcell_file-spice $svdb_dir/top_cell.sp  rules

( 或者 calibre -xrc -phdb -hcell hcell_file  rules )

2   calibre -xrc -pdb -xcell xcell_file -rc  rules

3   calibre -xrc -fmt -rc  rules


其中hcell_file/xell_file格式如下:

// layout source

NOR   NOR

NAND  NAND

INV  INV

NMOS NMOS



    它的含义是:寄生参数提取时保持NOR, NAND, INV, NMOS这几个cell的层次不动,其余的cell都被flatten。要求在做寄生参数提取前,采用层次化LVS的比较应该clean。


Gate Level提取的含义是:针对布局布线自动产生的layout,寄生提取时保持标准单元库的层次化,不要提取标准单元库的寄生参数(因为在标准单元的liberty文件中已经包含了寄生参数,不要重复提取)。Gate Level与Full hierarchical提取的区别是:它不提取xcell中的寄生参数,也不提取xcell中的器件信息,把xcell看做是一个黑盒子。而Full hierarchical提取是要提取xcell内部的寄生参数的,只是提取一次,不重复提取。


运行Gate Level提取的方法如下:

1   calibre -lvs -hier -hcell hcell_file-spice $svdb_dir/top_cell.sp  rules

( 或者 calibre -xrc -phdb -hcell hcell_file rules )

2  calibre -xrc -pdb -xcell xcell_file -rc rules

3  calibre -xrc -fmt -rc  rules


其调用方式与full hierarchical完全一样,但是xell_file格式不一样,如下:

// layout source flag

NOR   NOR  -I   //treatedas an ideal cell

NAND  NAND  -P //treated as a primitive

INV  INV        //handling depends on the extractiontype

NMOS  NMOS  -PCDEF    //treated as a pcell


可以看到,它的xcell文件多了第3列的flag标志,针对gate level提取,应该把所有的标准单元库的cell名都列出来,用 -Pflag标志。


-P的含义是:它是一个primitive,看成一个黑盒子,既不要提取其内部的寄生参数,也不要提取其内部的器件信息。


-I的含义是:把它看成一个理想器件,只有器件参数,没有寄生参数。


-PCDEF的含义是:把它看成一个pcell,不提取pcell内部的寄生参数和器件信息,但是上层单元的走线与pcell内部的走线之间的寄生参数需要计算。


从以上分析可以看到,不同需求条件下,需要选择不同的寄生参数提取模式。其中xcell的定义和选择至关重要,建议xcell定义遵循如下规律:

1.  如果一个cell重复次数很多,则尽量把它放到xcell中。

2.  一个cell虽然重复次数很多,但是它与周围环境耦合很紧密,则不要把它放到xcell中,例如,在Memory设计中,一个single bit单元不要放到xcell中,而是把一个array放到xcell中,因为xcellxcell之间的寄生参数是不提取的,会引起误差。

3.  如果两个同级别的celloverlap区域,则不要放到xcell中,因为overlap区域的寄生参数会被重复计算,引起误差。

4.  如果一个cellfeedthrough nets穿过,则不要把该cell作为xcell

5.  如果是source模式提取(不是layout模式提取),则一定要保证xcellLVS clean的,才能放到xcell中。


通过上述分析,我们理解了transistor level, cell level, full hierarchical的不同含义和运行方法,其中最重要的是如何定义xcell

27.PNG
发表于 2018-10-17 11:34:33 | 显示全部楼层
回复 125# houjs

老师好,我最近遇到一个问题,一个二极管结构的IO layout,提参结果显示从TOP MT到DIO M1的阻值是0.3欧姆左右(M7叠到M1),到DIO diffusion的阻值是3欧姆左右(到很多支DIO中的一支,cont是打满的状态),导致后仿与前仿结果差异很大,不知道是不是重复抽取了DIO的寄生电阻,另外我也尝试将这种DIO写进了XCELL,但抽取的结果没有变化,不知道问题出在哪里
 楼主| 发表于 2018-10-17 16:43:41 | 显示全部楼层
回复 126# 账户已登录

     3欧姆的电阻显得有些大了。 设置xcell_file中把这个DIO单元设置成ideal试一下,它不提取内部的寄生参数。

         DIO  DIO    -I      //treated as an ideal cell




    如果结果还是3欧姆左右,就要分析一下是否从Top Metal到DIO的入口确实有3欧姆的电阻了。是否走线部分有Diffusion或者poly的区域,这部分电阻值比较大?
发表于 2018-10-19 11:29:49 | 显示全部楼层
回复 127# houjs

老师好,我昨天按照您的办法试了,结果差异不大,layout是一支纯二极管结构的IO,多支并联,外圈ring有共用

有两个疑问想再请教下您:
1,xcell必须配合hcell使用吗?看您前面发的教程里面第一步有使用hcell;如果是的话那我设置的xcell是不是应该写进hcell的文件里面;
2,既然将我自己做的dio cell设置成xcell,那为何还能trace到原本属于cell内的diffusion层呢。

先行谢过老师~ 您有时间帮我解答下疑问吧,因为layout在公司内网上截不到图
 楼主| 发表于 2018-10-19 14:45:10 | 显示全部楼层
回复 128# 账户已登录


   



1,xcell必须配合hcell使用吗?看您前面发的教程里面第一步有使用hcell;如果是的话那我设置的xcell是不是应该写进hcell的文件里面;



     是的,xcell必须和hcell配合使用,而且内容要一样。这样提取的结果才会一致。

     而且,还要检查一下,它做lvs提取时,是否保留了这个DIO的cell没有被flatten了,如果被flatten了,说明你设置的这个hcell没有起作用。检查是否flatten的方法是:



      calibre -spice tmp.spi *.rule



      其中*.rule就是你的LVS file,运行后,打开tmp.spi看,是否DIO这个单元在网表中,如果不在,说明被flatten了。



      这时,需要在LVS文件中加:

LAYOUT PRESERVE CELL LIST preserved_cells
LAYOUT CELL LIST preserved_cells "DIO"



      再运行一遍calibre -spice tmp.spi *.rule,看结果是否对了。

      如果对了,要用真个修改后的LVS file去运行寄生参数提取。




2,既然将我自己做的dio cell设置成xcell,那为何还能trace到原本属于cell内的diffusion层呢。



      原因可能是:第一步所说的原因,DIO这个cell被flatten了。
发表于 2018-10-21 09:31:07 | 显示全部楼层
thank you
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 06:58 , Processed in 0.029581 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表