calibre抽数字电路xrc的问题
时间:10-02
整理:3721RD
点击:
需用calibre xrc用于pt做sta的spef格式的RC文件,
之前用encounter做过一个spef,这次想用calibre试试看。但calibre抽出来的calibre.spef的内容和encounter不同,并且会导致在sta时,某些器件的脚找不到。
encounter.spef和calibre.spef对某一个cell的NAME_MAP报告区别如下
encounter.spef
digit/send/U17
calibre.spef
digit/send/U17/MMMM1
digit/send/U17/MMMM0
digit/send/U17/6
digit/send/U17/MMMM3
digit/send/U17/MMMM2
digit/send/U17/MMMM7
现可以证明的encounter.spef给pt,pt能用,但是calibre.spef给pt,pt报告有很多未知的脚,因此想问问如何解决这个问题?
整个xrc的cmd为
calibre -lvs -hier -auto rule.file
calibre -xrc -pdb -rcc -xcell cell.file rule.file
calibre -xrc -fmt -all -xcell cell.file rule.file
补充一下,我感觉抽取rc的时候用的是spice网表,但是sta用的网表是verilog的,是encounter导出的门级网表,不知道是不是这里有影响?
xrc 抽取的是transistor level的,和spice有关的,
encounter抽的是gate level的rc, 只和verilog有关,
这是两个层面的东西,没啥联系的,
我看xrc的user guide上说,如果命令中有-xcell xcell.file。就可以抽出gate_level的spef
但我今天尝试抽取后发现,出来的spef给pt做sta,pt会报错,大致意思就是spef中的NAME_MAP提及的端口找不着
是否是因为xrc是用spi网表来抽取的,因此不可能做到门级抽取?因此用xrc来做这样的工作,是不可行的?
反正pt没法用,pt是基于门级 的,
xrc里面说写个xcell文件就可以抽取门级的spef给pt用
不过不知道是xcell文件没写对,还是哪里的option没写对
生成不了门级的
你可以试试在command file中把std cell 都box住,
例如
LVS BOX invx1
这里的重点是如何知道所有的cell?
尝试过用lvs的hcell auto的方式得到的一个自动的cell list,但是没哟办法完全识别到所有的cell
我们一般用calibre的图像界面做xrc,里面是可以选择extracted type为transistor level or gate level。图形界面可以做到,命令行也可以做到。查一下calibre的manual吧。