我亲身进行了Synopsys ICC2 2025.12 – SP3的测试,遭遇了更新以后从前旧版的Tcl脚本全都报告出现 “unknown command” 这个状况的陷阱,刚入门的新手依照下面的步骤……
我亲身进行了Synopsys ICC2 2025.12 – SP3的测试,遭遇了更新以后从前旧版的Tcl脚本全都报告出现 “unknown command” 这个状况的陷阱,刚入门的新手依照下面的步骤一个一个地去操作,便能够轻易地躲开这类常见的问题。
步骤1 更新后环境变量怎么配
首先实现打开终端这个操作,接着进行输入 setenv ICC2_HOME /tools/synopsys/ICC2/2025.12 – SP3 这一情况举动,随后再把 $ICC2_HOME/bin 添加追加到 PATH 最前沿位置,具体为之 set path = ( $ICC2_HOME/bin $path ) 这样的操作行为。具有关键意义的参数ICC2_THREADS,其被推荐设置成为16,原因在于此版本针对多线程调度进行了优化,要是设置得太小,就会造成算力的浪费,要是设置得太大,超过了物理核数情况之下,反而会因为上下文切换导致效率降低20%。
初涉者需避开的坑:在常见报错当中,有“libstdc++.so.6: version GLIBCXX_3.4.22 not found”这种情况。其缘由在于,新的EDA依赖着更高版本的GCC库,然而系统默认的库年头太久远了。快点来解决这个问题:于启动脚本里,将LD_LIBRARY_PATH设置为$ICC2_HOME/gcc/lib64与$LD_LIBRARY_PATH连接起来的路径,并且要去确认在此路径范畴内存在与之对应的库文件,对此要进行一番操作哦。
步骤2 旧工艺库无法识别怎么办
把Library Manager打开,将File -> Add Library点击,让路径朝着旧工艺库文件夹去指向。要是报出“invalid library format”,那就得运行icc2_shell -f convert_lib.tcl,convert_lib.tcl的内容是read_lib -format db old_lib.db,write_lib -format ndm new_lib.ndm。参数-format ndm呈现的是NDM格式,而新版ICC2在默认状态下会进行读取。
新手需避开此坑:出现报错“Library cell missing pin geometry”。其原因在于,旧版使用FRAM视图 ,而新版会强制采用NDM的完整几何信息。要快速解决该问题:可使用官方脚本milkyway2ndm.py -i old_mw_lib -o new_ndm_lib -t 16 ,这里的16代表金属层数 ,需依据实际工艺进行更改。
步骤3 两种更新策略怎么选
方案 A:径直实行覆盖安装旧版本目录,其具备不用更改脚本路径的优点,然而存在新旧二进制混合易于崩溃的缺点,方案 B:构建独立目录,通过软链接指向最新版,它拥有可随时进行回滚的优点,不过存在需要批量修改脚本中的 source 路径的缺点,推荐在芯片规模大于 500 万门时采用方案 B,因为一旦新版出现 bug,回滚仅需 10 秒变动软链接,小规模设计采用方案 A 较为省事。
给新手的避坑提示:出现报错内容为“ERROR: Cannot open shared object file: libssl.so.1.0.0”。一种一站式的解决办法为:先是使用命令find / -name”libssl.so*” ,之后发现系统当中仅存在1.1版本。随后进行软链接的创建,ln -s /usr/lib64/libssl.so.1.1 /tools/eda/lib/libssl.so.1.0.0。接着执行 export LD_PRELOAD=/tools/eda/lib/libssl.so.1.0.0。需要留意,此方法仅仅适用于小版本的兼容情景,要是 EDA 强行校验 MD5 ,那么就需要对 OpenSSL 1.0.2 重新开展编译。
以下版本不适用于本方法,Cadence Innovus版本低于2024的情况也是,因其库依赖全然不同。替代方案为:直接运行官方所提供的docker镜像,以此避免环境冲突。你在更新EDA时还碰到过哪些奇葩报错?在评论区分享出来,一同避坑。
微信扫一扫
还没有评论呢,快来抢沙发~