微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 数模混合LVS的奇怪错误

数模混合LVS的奇怪错误

时间:10-02 整理:3721RD 点击:
具体的情况是这样的:总拼的版图包括一些模拟电路和A,B,C,D四个数字模块,在candence里导出网表,四个数字模块分别都用v2lvs生成网表,替换掉导出网表的数字部分,做了LVS后报出很多错误被定位在A,B两个模块里。 A,B,C,D都是单独做过LVS和后仿的。然后我又单独对A,B,C,D做了数模混合的仿真,就是A加个模拟的MOS管,B加个模拟的MOS管子。方法同总拼版图的是一样的。然后发现C,D可以通过,A,B会报很多错误,许多Incorrect Nets,Incorrect Instances。目前我想到可能两个原因:v2lvs生成的网表有问题,但是数字模块单独做LVS都是可以的。
从candence里导出的网表有错。
请大家帮我分析分析原因和解决办法吧。谢谢!

两个方面:
1.保证数模混合电路导出的网表里对数字部分的定义里面pin的顺序和v2lvs里的pin的顺序一样。
2.电源,地,是否有多个电源,地。

第一个方面:导出网表里对数字部分的定义里PIN的顺序不是应该保留下来不变么?其它部分替换成v2lvs生成网表的内容。第二个方面:数字模块的电源只有一组,模拟部分用到了很多组电源,所有电源的名字都不一样。

我猜猜哈
数字行为级语句能仿真成功,但是综合过之后对应的不是行为级了,而是门级电路。
拿一个简单的与非门A&B=Y来说 ,A和B的关系是一样的,但是在版图生成的时候A和B的关系是不一样的。



因为连接A和B的NMOS 4端连接关系是不一样的。
那么在上层,到底是谁接A,谁接B不会影响逻辑仿真,但是LVS就可能不过。
所以楼上有一位兄弟说的对,模块A和B上层的连接关系(Pin)都要对才行。
希望能够帮得到你。

4楼提到的pin swap不大可能,因为C和D可以pass。
1楼提到的pin顺序有可能,因为spice调用模块,pin是按顺序调用的,所以查看一下top网表里边例化模块时的pin顺序和.v里边的顺序是不是一样。
另外,再查看一下是不是大小写的问题,综合/pr工具默认是区分大小写的,而lvs时一般大小写不区分。有的代码中可能存在两个net大小写的问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top