calibre view 后仿问题
问题描述不是太清晰,你确定是和电路规模有关系么?
我觉得这个问题不应该和电路规模有关系,因为你用小电路做extraction没有问题。
如果是calibre view上的尺寸是正确的,但是netlist出错,那你就要debug一下
但是这个问题应该还是很电路规模没有必然关系,这其实还是比较容易debug的
有时候这是PDK的问题,我曾经遇到过做extraction 中finger/multiply的问题,
记得如果schematic的device如果用finger,extraction出来的就对不上,用multiply就可以
这是csmc的PDK,我在tsmc从来没有遇到过类似问题
反正你需要自己动手查一查,不用害怕,一点一点debug
这其实是design flow的问题,就像路上有很多雷,别人走过了,雷都趟干净了,别人没走过,只能自己趟雷了
calibre view上的尺寸确实是对的,spectre网表中的MOS管的L产度是对的,但是宽度不对,电路规模特别大,没有办法修改网表,把每个模块的后仿都已经用这种方法做过啦,spectre网表没有问题。
当我把大电路的一个不正确网表的模块的calibre view拷出来建立schemetc,重新生成网表,发现网表就有问题,郁闷
你的问题比较奇怪,在top level做extraction calibre view正确,但是netlist出错
然后把calibre view 存成schematic, w 就错了?
其实你可以做extraction时候直接出成 网表,再跟你calibre view导出的网表比较
如果你没办法close这个问题,可以直接把做LPE的到的netlist include到你的schematic里仿真
谢谢fuyibin,问题找到了,我发现用PEX抽取的calibre view中的MOS管的finger width为固定值的最小宽度或固定值,不是原理图中的宽度值,spectre生成网表的时候就采用finger的宽度,所以出错,求大神指点
还是finger size 出错, 既然招到出错的地方,那离找到solution 不远了
你不是说有子电路不出错的么?比较一下差别,我相信应该不是电路规模大导致的,我曾经碰到的就是finger 和multiply 的错误,我猜测还可能是这个问题,因为calibre 做反标的时候还是要用到原来schematic 上的devicesymbol 和instantname,反标的那个参数就update, 但是有的参数不是calibre 反标的就有可能不update,于是就可能出现这种case. 这是由于calibre extraction rule file youwenti有小问题
谢谢fuyibin,小规模电路仿真只要电路原理图中的m值和finge值与版图中对应,在XRC提取的过程中将命名采用原理图相关联,就能得到正确结果。
当需要提取大规模电路的时候,有的IO模块采用工艺厂提供的单元库,就只能采用layout的命名关联,所以提取的结果错误。提取的只有MOS的W和L,没有finger width。不知道怎样能把finger width设置为与W相同值,而不是最小值。
谢谢各位大侠
自己顶,求帮助
你好,我也碰到了跟你一样的问题,你的问题解决了没有啊?怎么解决的呢?
calview.map文件的问题吧?里面很多finger和multiplier参数弄得很乱的。摸索着自己改下试试。在你调用的管子下面加上(w fw)之类的语句,指定width=finger width。
供参考