NCX 求助:问题汇总,求大神指点,新手上路,到处是错
最近从零开始学习使用NCX做lib re-char,觉得到处是问题,网上资料又比较少,把问题贴出来,一来求指导,二来也可以给新手参考
【1】使用calibre提取spice网表之后,放到 netlist_dir下面, 运行NCX,结果报Error: no netlist found for cell
--确实是网表的问题,网表内使用了不是default global_vdd (VDD)的信号作为电源,更改这些net就能运行成功
这儿仍然存在问题,不能指定default global_vdd和global_vss,见问题【4】
【2】而且,在synopsys的网站上也没有找到 ncx error message的文档,请问谁有?能否提供一下,谢谢了 !
--在 install_dir/man/* 可以查看到
【3】另外,NCX有没有什么设置可以停在软件环境内?
每次运行,不管结果是怎样,总会在给出memory summary之后自己就退出了
【4】 有没有大神做过multi_supply的库?
手册完全没说明这种状况下怎么去更改default的global_vdd和global_vss。
尝试过在templat file里面自定义,但不知道是哪里设置有误,设置完以后会导致运行出错,我的定义方式为:
global_vdd : "VDD VDDG" ;
global_vss : "VSS VSSG" ;
在此设置下,更改网表的VDD为VDDG,运行失败,说明default global_vdd没有被改变
-- template file好像写错了, 这里不需要引号, UG里面的说明误导了我(暴力吐槽一下,好几个地方都有这样的问题了)
【5】 跑通流程以后发现,同等PVT条件下,power与seed lib的值相差一个数量级,delay也会差上好几倍
因此,准备抽几个点自己用hspice仿一下,看看结果
求教一下,NCX有没有什么配置可以保留仿真步骤生成的hspice 仿真文件? 我需要这些文件作为参考
在安装目录下找了一遍,error message应该是在man目录下的各个文件夹里,grep查看即可
现在的问题变成了,multi supply时,pg_pin 怎么定义,怎么给定voltage_map ?
-- template file好像写错了,global_vdd/vss 定义的时候,多个电源名称直接列在冒号后面就可以,不需要引号,
UG里面的说明误导了我
(暴力吐槽一下,好几个地方都有这样的问题了)
跑通流程以后发现,同等PVT条件下,power与seed lib的值相差一个数量级,delay也会差上好几倍
因此,准备抽几个点自己用hspice仿一下,看看结果
求教一下,NCX有没有什么配置可以保留仿真步骤生成的hspice 仿真文件? 我需要这些文件作为参考
1楼已经没法再编辑,就跟帖更新吧
【6】 跑通了我需要的过程,现在存在这样的问题
seed lib里面关于cell_leakage_power或者是某个pin的internal_power,会有relate_pg_pin这个项(即存在多个supply时,relate到每一个supply都会有一个power的值或者是table),而NCX跑完以后输出的lib文件内,没有这些内容,请问该如何配置 ?
【7】 生成的库文件内,dc_current table变为了10X10,而原seed_lib内是25X25,并且index也明显不一致,请问:dc_current_table是用来做什么的?如何配置它生成时对应的属性?
同学有没有资料,给我几份啊,一起做cell,一起探讨。
我没用过NCX哈,表征库单元无外乎两方面内容,了解liberty格式和动态仿真,然后debug软件如何链接二者。
dc_current难道是ccs里边对特定input_slew,output_load记录下电流的值?
先确定标准的(跳变时间,负载)二维表是否和参考库一样?
你说的跳变时间和负载 我理解就是两个index,不知道这么说对不对
这些值是不一致的,并且仿真的点数(每个index的值的数量)也不一致
而且我把ccs model的项全都设false了,就算跟ccs noise model有关,也不应该再出现在输出文件了吧?还请指教一下 谢谢
输入跳变时间和输出负载是特征化一个timing arc的两个变量,你的这两个输入变量和参考库的变量不一样,即做动态仿真时单元的输入transition 和 output load都和参考库仿真时不一样,当然二维表对应的数据就不一样了。
我没用过NCX,你尝试搜索explicit points,设定你的index point和参考库一样再看看结果
推荐你有时间看看静态时序分析的书以及synopsys里边library compiler相关技术文档。前者能让你对为什么做那些特征化仿真有个了解,后者可以知道liberty文件里每一个属性都是什么意思
请教一下你的spice model生成了吗,怎么生成的呢
小编可能比我快一些,我还没有到这一步,现在遇到了model文件有错的提示,please contact encrytped file provider的提示,我觉得model文件本身不会有错,可能其他地方出错了。但是不晓得哪里的问题,小编帮忙判断一下?
在QQ上问过我了吧 ?
我都没加过你的QQ
model是没有错,但是NCX读不了存在调用关系的文件
比如tt.mdl文件,include了 diode.mdl文件,
或者是mos的参数定义在了其他文件内(比如.lib文件内定义的不同CORNER,会有几套值),
这样的状况都会导致encrypted的报错
我的做法是, 直接使用tt.mdl文件,把里面引用的参数从.lib里面复制过去(如果用到了其他device,也全都拷到同一个文件里面去)
你也可以试试
如果有谁知道可以避免这么做的,也请回复一下,谢谢!
我之前换了一下model就跑过了。
请问这样的问题现在解决了吗?不然这样的model制作太繁琐了。
同问,我现在遇到的问题也是model文件里存在调用.lib,而且调用的.lib非常多
我也遇到了第五点,同样pvt,跑出来结果和seed library差别较大。请问LZ后来问题解决了么?
多电源域怎么解决的?最近也是遇到这样的问题,要做io pad的lib文件。voltage_map定义老是出错。关于model文件的解决办法 ,我跟小编是一样的,有没有人有简单方便的解决办法?