实测本人, Cadence IC618从ISR20升级到ISR24, 踩过电阻symbol在更新后直接变为方框的坑, 新手依照步骤一步步进行操作, 便能够轻松避开这类常见问题。 第一步 清理旧版本……
实测本人, Cadence IC618从ISR20升级到ISR24, 踩过电阻symbol在更新后直接变为方框的坑, 新手依照步骤一步步进行操作, 便能够轻松避开这类常见问题。
第一步 清理旧版本遗留环境变量
之后登录服务器, 不要着急去解压新版安装包。要手动清除旧版环境变量缓存,不然新版会去识别并锁死旧路径就不好了。执行命令:
source /opt/cadence/IC618/tools/bin/cds_root
unsetenv CDS_INST_DIR
接着, 查验.bashrc或者.cshrc, 将诸如setenv CDS_INST_DIR /opt/cadence/IC618.ISR20这般绑定旧版本的行给删除掉。
【新手避坑】
报出错误的现象当中, 存在这一情况, 那就是, 在运行virtuoso之后, 出现了提示信息, 显示为FATAL can’t find OA library。
关键缘由在于, 存在旧版的CDS_INST_DIR环境变量的残留现象, 这使得新版的工具链前往旧有的路径去寻觅OA文件。
迅速的解决办法是, 直接通过sudo sed -i ‘/CDS_INST_DIR/d’~./bashrc来强行删除变量, 然后再重新执行source~./bashrc。要留意别删除错误的行, 预先使用grep CDS_INST_DIR~./bashrc来确认位置。
第二步 更新PDK库映射文件
新版的IC618所具备的ISR24对底层的OA库规范作出了改动, 原本在cds.lib当中被引用的旧display.drf以及techfile.cdb会没法生效。直接去打开cds.lib, 定位到PDK定义行, 把techfile参数强制性地指定为新版的路径:
DEFINE MY_PDK /home/PDK/1.8V_CMOS
TECHFILE = /home/PDK/1.8V_CMOS/techfile.cdb
能被推荐的关键参数值为: TECHFILE的路径一定得是绝对路径, 不可以使用$PDK HOME环境变量, 其原因在于: 新版技术娴熟的人启动的时候环境变量加载顺序出现了变化, 变量引用常常在cds.lib解析之后才会生效, 采用绝对路径能够直接防止符号解析失败。
【新手避坑】
最为关键的缘由在于, 一种情况是techfile.cdb这个文件被旧版本的工具给锁定了, 另一种情况是该文件的权限届时已经被设置成了只读状态。
快速处置思路: 运用chmod 644 /home/PDK/1.8V_CMOS/techfile.cdb去更改权限, 接着执行cd $HOME并且采用mv .cdsinit .cdsinit.bak来清理旧会话缓存, 随后重新启动virtuoso。
第三步 重新编译spectre模型卡
新版进行更新之后, 当 spectre 调用原本的 hspice格式模型库时, 会直接报出 FATAL , 必须得使用新的编译器重新去编译, 在 ADE L 里将仿真器设置为 spectre 之后, 执行:
cd /home/PDK/1.8V_CMOS/models
spectre -c -format psf model.scs
【新手避坑】
关键缘由在于, 模型库里面的vth0参数, 被新版的spectre给摒弃不用了, 然而原来的文件, 却依旧采用着旧有的语法。
完整报错示例:
解决流程:
1. 使用grep工具, 通过 -n选项, 针对”vth0″, 在model.scs文件中进行定位, 找出所有行。
2. 使用sed -i ‘进行替换操作, 将其中的s/vth0=/vth=%操作, 应用于model.scs文件, 以批量替换。
3. 将virtuoso重新启动, 然后把模型再次加载起来, 仿真最终成功了。
这种方法仅仅适用于Cadence IC618版本系列, 当你使用的是IC617或者ICADV12.3时, 上述路径以及语法差异极大。替代方案为, 直接进行对应版本的PDK更新包的下载, 使用pdkUpdate.sh自动化脚本加以处理, 然后手动修改cds.lib里面的几行路径便可, 不过需要注意的是, PDK版本一定要匹配ISR号, 不然的话可能会引发跨版本不兼容。
微信扫一扫
还没有评论呢,快来抢沙发~