热度 14| ||
昨天有小伙伴继主题的问题问我怎么解决的,我回答了但是评论一直没有被审核,就单独发一篇日志说一下!
先说一下背景,lef是virtuoso导出来的,我之前用的innovus,所以先说一下innovus:
重点就是lef层次定义要和tech.lef的层次定义对应上,保证为OVERLAP就可以,lef的层次一开始是OVERLAP,但是tech是prBndry,所以
tech.lef | macros.lef | |
例1(修改tech.lef) | LAYER OVERLAP TYPE OVERLAP ; END OVERLAP
| OBS LAYER OVERLAP ; POLYGON 1554.66 1378.945 20.82 1378.945 20.82 0.015 1554.66 0.015 1554.66 105.93 904.705 105.93 904.705 731.905 1554.66 731.905 ; END |
例2(修改macros.lef) | LAYER prBndry TYPE OVERLAP ; END prBndry | OBS prBndry ; POLYGON 1554.66 1378.945 20.82 1378.945 20.82 0.015 1554.66 0.015 1554.66 105.93 904.705 105.93 904.705 731.905 1554.66 731.905 ; END |
再说一下icc,为什么同样的设置在icc中不可以呢,我怀疑可能是icc不认prBndry的层次的原因,需要改为OverlapCheck才可以,我也是在网上看了很多例子试了一下才发现
1. 在macros之前加上定义:
LAYER OverlapCheck
TYPE OVERLAP ;
END OverlapCheck
2.在macros内部定义边界;
OBS
LAYER OverlapCheck ;
POLYGON 1554.66 1378.945 20.82 1378.945 20.82 0.015 1554.66 0.015 1554.66 105.93 904.705 105.93 904.705 731.905 1554.66 731.905 ;
END
3.然后用此lef生成.mw就可以了
希望我的经验对各位ic小伙伴有用