DRC、LVS及一些常见错误
在上节中,我们介绍了如何绘制方向器的版图及DRC校验,但DRC存在一些问题没有解决。本节我们先解决一下DRC一些问题然后再介绍LVS
这是我们遇到的问题,以第一个为例,我们看到下面的注释:
意思是GT层必须被SN或者SP包围,否则寄生电容过大
我们可以点右键,highlight,然后返回反相器版图
可以看到中间裸露的GT层外围标黄了,提示我们应该覆盖SN或者sp
为了对称起见,我们用SN和SP分别覆盖GT的一半,覆盖完长这样(只显示GT,SN,SP层)
再跑一下DRC,可以看到刚才的问题已经没有了
剩下的问题都是关于destiny和覆盖率相关的,我们暂时先不管,到最后顶层在解决。
接下来我们需要验证一下连线是否正确(也就是layout版图和schematic原理图是否一致),点击connectivity→check→against source,保持默认,点击OK
可以看到我们缺四个pin,点击create→Pin,然后添加VDD(可以选择pin的I/O Type,figure等等,我们选择input,rectangle,其余保持默认;注意figure要和版图一致,假如版图是VDD和VSS设置的是inputoutput,此处也要设置inputoutput)
我们添加到这个位置
同理也可以添加VSS,A和Y(由于我们做的模块非常简单,可以相对随意添加)
下面介绍一下做LVS,lvs全称是Layout Versus Schematics,是Dracula的验证工具,用来验证版图和逻辑图是否匹配。
在界面中还是选择Calibre,选择第三个run nmlvs,和DRC一样,在Rules中导入LVS文件(一般在对应工艺库的Calibre中)
inputs中layout选中export from layout viewer,netlist选中export from schematic viewer
然后选择setup→lvs options,在supply中填入VDD和VSS,在gates中选择第一个AB,代表分析G,S,D三端的情况,同时往下翻把RC也勾选中
然后点击RUN LVS,可以看到有一个error(warning一般不需要管他)
我们返回到这个界面,可以看到error是由于我们没有打label导致的。打label的方法是create→Label或者快捷键L
注意,在tsmc工艺中,label是有专门的图层的,所以我们首先要选中对于的图层,然后按快捷键L,例如我们要给A打label,先选中M1图层,然后按L,名称是A,字体改为Roman,大小是0.15,然后点击M1覆盖的区域,就打上了(如图所示)
对于Y,VDD,VSS同理,打完label之后再做一下LVS,可以看到此时已经没有error了,看到这个对钩和笑脸就代表已经成功啦!至此我们DRC和LVS校验已经完成了
最后,当我们关闭LVS的时候,他会提示我们是否需要保存,我们可以选择保存(这样下一次我们如果还想要调用lvs的时候,我们就不需要重新设计参数进行LVS,只需要调用这个保存的模型文件),随便起一个名字保存
对于DRC也是一样,在此不赘述
后续还有最后一步后仿真(区别于前仿),后仿真意思是:对于原理图来说,导线都是理想的,但在绘制版图的时候由于我们使用了对应的工艺库,一些导线会产生寄生效应,这时候就需要把这些寄生参数提取出来,并且把寄生参数也考虑到电路图上去,这就叫做后仿真。由于后仿真考虑了非理想情况,所以通常性能要比前仿真电路性能差一些但对于实际电路来说是必不可少的。后续我会更新介绍寄生参数的提取方法
标签:GT,版图,LVS,label,反相器,IC,我们,DRC From: https://blog.csdn.net/qq_64956710/article/details/144811821