热度 20| ||
相信很多人在使用Voltus-Fi 做EM/IR分析的时候与看到这样的建议,dspf 建议使用QRC 来产生.
但是实际很多情况下,工作环境中并没有搭建好QRC的抽取flow ,或者有些foundry就没有提供PVS +QRC 这套flow的数据.
一般常见的抽取工具有calibre XRC,S的star_rc,C的qrc. LVS 和抽取都使用C家的工具,数据兼容性好,毕竟都是自家工具.如果lvs 使用calibre 抽取使用QRC,就需要对svdb做下数据转换了,具体怎么操作这里不介绍.
我这里看下直接用calibre pex 抽取dspf ,用VoltusFi 做仿真会遇到什么问题,怎么解决.
虽然dspf是标准包含寄生参数格式,每家工具产生时还是有稍微差别.就是这些差别导致仿真异常.
可能会遇到的问题:
a. 使用Calibre 抽取的dspf 做EMIR 仿真,layer 层次都识别不到.
b. 使用Calibre 抽取的dspf 做EMIR 仿真,可能会遇到EM 异常超出巨大,违例百分之几万到几十万.
而使用QRC 抽取的dspf 做EMIR仿真,就没有这样的异常问题.
Debug过程:
首先要了解dspf中包含哪些信息,然后在针对这些信息一一判别影响EM结果的因素.
Dspf 包含哪些内容,寄生电阻的layer信息,寄生电阻的坐标信息,信号net的寄生rc信息,电源地的net信息,layer之间via信息.
c. 对比dspf会发现,layer 层次识别不到,与抽取的rule deck 有关,xrc 中的层次与qrc 的层次名称是不一致的.
-->用qrc的layer名称代替掉calibre 中的layer名称.
d. 将异常EM结果反标版图,打开详细EMIR内容查看到,(打开Annotation Browser 查询详情)异常地方计算的金属width异常的小(width = xxxx um needed xxxxum).再对比dspf会发现,两份dspf在标记l 与w时,单位是不一样的.calibre是用米做单位即*e-6,而qrc的是um做单位.
异常EM位置width符合这种规律.
-->第一种方法转换单位格式,第二种方法找到Voltus-Fi 的Variables 进行设置.将geounit_wl 改成1 默认是1e-6。
总结:Voltus-FI 仿真前要做DSPF file checking那个操作,查看checking report(会自动弹出来)语法是否符合Voltus-Fi。
使用calibre 抽取dspf 做格式转换处理后再用于Voltus-Fi 仿真。