|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
LVS check的一点体会 S k V5{.y i4d9M [
一些简单的经验,希望对刚刚入门的人有点启发
也许你刚刚从事LAYOUT不久,当你终于做了很多个小小的cell 之后,终于完
成了一个比较大的block了,于是你迫不及待的运行了DRACULA,想看看结果,
找到一点成就感,可是你可能看到 LVS 的结果时,也许感到十分沮丧,因为那
里可能有成百上千个 UN-MATCH 在对你微笑,而你感到茫然失措,几个错误是
很有可能的, 但是我会犯那么多错误吗?别担心,可能你也不过犯了几个错误而
已,甚至你的版图画得没有错,原因也可能来自其他方面,LVS改错不可怕,
但LVS后准确找到错误所在倒是问题的关键。
下面就谈谈根据鄙人肤浅的见识所了解到的一些常见问题所在: 9N @D"[R d$z
1. Label打对了吗?8z3O X8[ U)_ E b
如果你的layout是hierarchy 结构的,那么在block 中会看到大量的底层cell 的
label,最好在command file中规定只去认最top层的label,这样才能确保不会
抓错label造成误会。另外,注意label 所选的layer,如果选的是TEXT,那么注
意在重叠的layer上是否能被DRACULA正确的识别出该 label 是打在哪一层上。
用Metal TEXT打label 比较保险一点,因为其本身就已经针对不同的metal 作了
区分。相同的 label 出现在不同的电位节点和不同的 label 出现在相同的电位节
点都是不被允许的。
2. Power & Ground连接得没问题吗?
如果LVS的结果中看到大量的错误,多得如同好莱坞战争巨作中的场面一般壮
观,那么不要忙着查错,先去跑一下ERC吧,power & ground 不能保证正确的
话,会导致大量的错误,特别是有memory结构在电路中时错误场面更加宏大。
在不仅仅有一组power & ground的chip 中更要注意,这两组不要混淆。
3. 认真研究design rule了吗?
不仅仅是DRC时会用到design rule,LVS 一样可能用到,特别是你的电路中有
比较特殊的 device 时,比如双极型的管子,特别工艺的电阻和电容等等,其实
这种问题比较容易辨别,因为类型不同嘛,认真搞清楚了 design rule,就知道怎
么去画这些东西了。需要注意的是poly 电阻,注意定义它的layer,一定有某层
dummy layer用于指定它为电阻以与 poly 导线相区别的,如果没有加上这样的
layer很可能被认为是导线而造成short 的报错。D u E!O d
4. 你得到的files确实可靠吗?
为什么总是有些器件类型认不到?你得有点怀疑精神了,netlist 可靠吗?
technology file & command file可靠吗?不要太信任这些东西,特别当你这个
porject的 designer同样是个刚刚上道的新手时,更要有充分的心理准备,好好
检查一下 netlist 中器件类型的命名是否符合规范。有问题的话联系 designer,
让之去改。1n#{$N+{$o
5. 你确信自己没犯低级错误吗?
真的不会连错线?就算你lay 版图lay 了好几年也最好不要那么自信, 是人都可
能犯错,是错都可能有人犯。谁能保证自己永远不走神呢,也许怀念了一下故乡
亲人,也许垂涎了一下美女帅哥,也许幻想了一下奔驰宝马,也许只是规划了一
下晚上吃点什么… … 在此期间,你可能连错了一根线,用错了一个via… … 办法很
简单,检查,找到它,改正它。
6. 真的一切都很可靠吗? c G _9D aK l e H0_
在你进行过大量细致的检查后还是不明白为什么犯了错误, 左看右看, 上看下看,
怎么看也不明白,我想你开始觉得心烦意乱了吧,再这样下去,你会发怒,会随
着这社会一起浮躁,会想砸东西,想打人,想上厕所,想对老板说你TMD 不干
了… … 镇静,“hold, my brother, hold”。你该喝点茶,或者脑白金,或者太太口
服液,然后站起来走走,呼吸呼吸新鲜空气,等你冷静下来的时候请再回来,好
好想想,到底是哪里出了问题呢?我怎么知道,自己想啦。只是有一点,有时候
看似越可靠的东西,越有可能给你造成麻烦。这里说一下我自己的经历吧,也许
对你有点启发。 我曾经出差到另外一个城市的分公司去完成一个项目,到了那里
我就开始认真的干,没少了加班,但到最后的时候,却有问题不断的出现。明明
是已经通过了LVS验证的 block,怎么过了段时间给老板重新验证演示的时候就
不过了呢,真是郁闷阿,“你不是说已经过了吗?”面对老板和同事的质疑,我感
到非常的无辜,真 tmd 见鬼了,如果前两天我不是在梦游的话,那么我确实亲
眼看到是过了,而且这里还有保留的备份文档,我发誓不是我伪造的。在经过一
系列的排除法之后,一个很偶然的发现让我终于自己找到了问题,挽回了面子。
刚过来的时候,就得到了这个公司提供的一个map file,是用来供virtuoso对应
layer的,或者说,是针对这个制程,让virtuoso能够正确识别每个layer 的一个
辅助文件,可是包括老板在内没有人注意到这里边潜在的问题,这个 file 里对
layer number 的定义与 technology file中的定义不一致!导致在stream out 的
时候有些layer会丢失!怪不得工作中间就曾出现过莫名其妙的错误,有时能通
过有时却没通过, 这是因为有时我加载了map file 有时我忘了加载。不加载反倒
是正确的! 只是当时忙得焦头烂额没注意到这样的细节问题,以为是自己不小心
弄错了。所以,请你确信一切都可靠才行,有些看起来可靠的东西,可能正是出
问题的地方。 而如果遇到一些反常的现象也该多留心,也许这些小问题正预示着
以后碰到的大麻烦,唉,我白白付出了多少个晚上的代价才得出的结论啊,本来
我该用那些时间去江边赏月的… … I4^,E3@8| I
好,基本上就想到了这些,一定有很多人有更丰富的经验和更深刻的见解!
请多多指教。 |
|