hcell验证单元有奇怪问题?
大家好,最近验证2个lib的lvs遇到一个问题:由于我只需要验证lib中我关心的数十个cell,所以我使用hcell run lvs的时候,只要保证底层cell lvs clean就ok了。我验证通过了一个lib,第二个怎么也不通过,有nets error,我就抽查了几个cell,单独出来run lvs没问题(property除外)无nets问题.不知道究竟是怎么回事,请大家分析一下,谢谢!
莫非是你上层net 有问题而引起下层报错。
上层就是把所有的cell调到一起,没有net信息,netlist中也没有给net信息,我跑lvs只关心底层cell是否ok?顶层过不过都不关心的,所有碰到我提出的问题感觉不可理解,犯难!
最起码 power gnd 应该给的吧,或者把command file的TEXT DEPTH后面的参数改一下
试一下看看,行不行
都已经改过了 试了都是一样的结果感觉特别奇怪 不明白是bug还是怎么回事? 我使用的是calibre2011
我也有遇到过跑带hcell的lvs(以及抽带hcell的rc)棘手的问题,原因大致是:1、将底层cell的内部net认到顶层;2、hcell有问题。
造成错误1、的具体原因有:内部net本应该完全包裹在底层cell内部,可是在顶层,又有一块多余的metal覆盖在它上面。在顶层用一个大的plus层次覆盖了好几个leafcell。
造成错误2、的具体原因有:将cellA仅仅包了一层PIN名,定义为cellB,并将cellB作为leafcell写在hcell文件中,可能会导致奇怪的问题,这时可以将cellA取代cellB作为leafcell写在hcell里。
为了避免出现上面的问题,在画hierarchy的版图时要注意:
把所有东西都尽可能放在低的层次中。
构成一个基本器件的layers要放在同一个单元里面(包括NW、OD、PO、NP、PP、CO、M1)。
要求逻辑运算的层次都放在一个cell中。
避免使用一个大的图形去盖住整个电路。如尽量不要在顶层用一个大的plus层次覆盖。
感谢你的答复,我遇到跟你有点区别,我验证的hcell都是完全独立的subblock,net都是在各自内部,和我自己make的top无关系,所以你说的这些跟我遇到的还是不太一样。我遇到的这个问题解决的办法是要把所有的subblock排列在一起(目的是让power都连接在一起,至于short不用在意),然后修改lvs.cmd的TEXT DEPTH为下一层,最后把整个top 用N-ring包围run hecll lvs,所有问题都没有了。
虽然问题解决了,但还是感觉很奇怪,不知道咋回事?谢谢大家的答复了
您好,在做版图的参数提取,但是不知道cell文件时如何产生的,另外如何输出spef文件呢,谢谢了