首先,本次内容是上一版检查单个contact或者via的DRC rule的更新,所以有不懂的同学可以先去历史记录里面找到最初的版本,然后再来看本次更新的内容。
搜索版图中连接M1和M2的via或者连接AA、POLY和M1的contact,如果该范围内确实只有一个孔,那么就在DRC中提示出该位置,如果该范围内有一个以上的孔,那么就认为不存在单孔情况。
添加内容:如果距离某个孔一定范围内只有一个孔,那么认为该孔也是单孔,这种情况经常出现,比如:同一个net,打了两个孔,但是两个孔之间距离很远,这种情况在初版的rule里面查不出来,可是实际上这种情况也应该认为是单孔。
下面给出以smic 180nm 模拟工艺DRC rule中命名规则为例实现上面功能的DRC rule.
1// added by WeChat Official: ICSkillSharing
2// single contact & via rule for smic18
3
4// design rule for single contact
5single.contact_1{
6 @added by ICSkillSharing
7 @single contact check, single contact not allowed
8 // replace GTO AAO M1O CTO according to your process
9 POLY_M1 = (GTO AND M1O) INTERACT CTO < 2
10 CTO INSIDE POLY_M1
11 AA_M1 = (AAO AND M1O) INTERACT CTO < 2
12 CTO INSIDE AA_M1
13}
14
15single.contact_2{
16 @added by ICSkillSharing
17 @single contact check, contact space > 0.72, try add one more contact
18 // CTO according to your process
19 (CTO OR (EXT CTO <= 0.72 ABUT < 90 SINGULAR REGION)) ENCLOSE CTO < 2
20}
21
22// design rule for single via1
23single.via1_1{
24 @added by ICSkillSharing
25 @single via1 check, single via1 not allowed
26 // replace M1O M2 V1O according to your process
27 M1_M2 = (M1O AND M2) INTERACT V1O < 2
28 V1O INSIDE M1_M2
29}
30
31signal.via1_2{
32 @added by ICSkillSharing
33 @single via1 check, via1 space > 0.78, try add one more via1
34 // replace V1O according to your process
35 (V1O OR (EXT V1O <= 0.78 ABUT < 90 SINGULAR REGION)) ENCLOSE V1O < 2
36}
左右滑动可以查看更多内容哦!
只需要把上面内容添加到DRC rule文件中或者将原本DRC rule文件用INCLUDE语句添加到末尾即可完成单孔检查。
为了保持原来DRC文件的完整性,也可以在Calibre软件中设置相应内容,在运行DRC时直接INCLUDE用户添加的DRC语句。
有一项需要注意,上面DRC语句检查时需要使用Flat模式,否则Pcell中的违反项无法检查出来。
检查结束可以在DRC报告中查看相应的结果,以上内容只针对smic 180nm 模拟工艺,对于其它工艺需要用户根据工艺中层的命名修改文件中相应的内容,具体参考上述DRC语句中的注释内容。