技术文档 2026年06月3日
0 收藏 0 点赞 1,512 浏览 2164 个字
摘要 :

曾经我亲自测试Cadence Virtuoso IC6.1.7版本, 使其与TSMC 28nm工艺的PDK互相配合, 期间遭遇了菜单错位、PDK加载居然失败以及快捷键冲突这些极其要命的坑, 然而要是新手……

曾经我亲自测试Cadence Virtuoso IC6.1.7版本, 使其与TSMC 28nm工艺的PDK互相配合, 期间遭遇了菜单错位、PDK加载居然失败以及快捷键冲突这些极其要命的坑, 然而要是新手依照步骤一步步去操作, 便能够轻松地避开这类常见问题。

第一步 核心环境变量精准配置

通过找到终端并将其开启, 输入vi~/.bashrc, 于文件的末尾位置追加下面这四行代码, 并且一个字母都不可以出现错误:

export CDS_HOME=/opt/cadence/IC617
export CDS_INST_DIR=$CDS_HOME
export PATH=$CDS_HOME/tools/bin:$CDS_INST_DIR/tools/dfII/bin:$PATH
export CDS_LOAD_ENV=CWD

【新手避坑】

平常出现的报错状况为, 开启virtuoso之际提示这样一句话“Cannot find layout window”, 或者菜单栏变为灰色而没办法进行点击。其中内在的出错缘由是, CDS_LOAD_ENV没有被设置, 或者被设置成了HOME, 从而致使工具无法读取到当前工作目录下的.cdsenv文件句号。迅速解决之道乃: 查验于~/.bashrc之中此一行是否绝对精准无误, 保存而后运用source ~/.bashrc去刷新环境变量接着启动。

第二步 PDK安装路径与菜单关联

进到工艺库PDK解压后的目录里, 去执行./install.sh这个操作, 将安装路径选定为/home/eda/tsmc28nm。装上完成之后, 于Virtuoso的CIW窗口之中键入: load(strcat(getShellEnvVar(“CDS_HOME”)”/tools/dfII/samples/artist/artist.il”)), 接着去执行pdkCreate函数, 填进路径/home/eda/tsmc28nm, 勾选“Create Symbol Library”以及“Create Technology Library”。

【新手避坑】

常出现的报错状况是, PDK菜单加载好之后就瞬间闪退, 又或者工艺库于Layout里呈现为乱码。核心的出错缘由是, PDK安装路径含有中文或者空格字符, 又或者pdkCreate时没勾选“Create Technology Library”致使工艺文件缺失。快速的解决办法是, 全路径仅能用英文、数字以及下划线, 推荐全为小写;再次执行pdkCreate, 一定要检查两个勾选框是不是都被选中了。

第三步 用户自定义快捷键与启动脚本

于个人的home目录之内, 去创建.cdsinit文件, 往其中写入如下这般的内容:

; 绑定F2键为保存
hiSetBindKey("Layout" "F2" "leHiSaveAs()")
; 绑定Ctrl+Shift+S为另存为
hiSetBindKey("Schematics" "CtrlShiftS" "schHiSaveAs()")
; 设置网格间距为0.05um
envSetVal("layout" "gridSpacing" 'float 0.05)

保存后,在.cdsenv文件中写入:

layout gridSpacing float 0.05
layout snapToGrid boolean t

关键参数最优推荐值:网格间距设为0.05um

缘故是, TSMC 28nm的最小线宽是0.07um, 0.05um的网格能够确保器件对齐, 并且不会出现Drc违规情况, 它比0.01um更为稳定, 比0.1um更加精细。

两种实操方案对比:

方案A, 即通过手动逐条进行绑定的办法, 每一次发生版本更换的时候, 都需要再次进行设置, 这种方式适合于临时开展测试。

方案B, 也就是那种要写.cdsinit来实现自动加载的方式, 有着一次性解决问题, 以后不用再操心的特点, 它是适合那种有着较长持续时间的项目的。

倘若团队之中存在多人共同使用服务器并且版本并非固定这一情况, 那么便使用方案A来防止出现冲突;要是属于个人工作电脑或者是固定的项目组, 那就直接采用方案B。

高频完整报错——“Error getShellEnvVar: argument #1 should be a string”

完整一站式解决流程:

1. 查看.cdsinit的首行那里有没有getShellEnvVar这个调用, 去确认一下CDS_HOME它是不是已经在bashrc里给导出了。

2. 对于在CIW窗口之内执行getShellEnvVar(“CDS_HOME”)这一操作而言, 当返回的结果是nil的情况下呢, 这就表示着环境变量并未被传递至Skill解释器那儿。

3. 添加强制绑定, 在 ,cd 的开头, 添加 setShellEnvVar, 其参数为”CDS_HOME”, 括号内是 getShellEnvVar, 参数同样为”CDS_HOME”。

4. 保存后重启Virtuoso,报错消失。

倘若你运用的是Linux服务器之上借助X11转发进行远程时候使用Virtuoso, 此方法里的环境变量加载方式有可能因网络延迟致使其.cdsinit执行出现超时情况, 替代办法为: 将核心绑定命令放置到.cdsinit的末尾处, 并且在启动命令之前添加-nocdsinit参数来手动加载, 比如virtuoso -nocdsinit &, 登录之后再于CIW之中load”~/.cdsinit”。

微信扫一扫

支付宝扫一扫

版权:
1、本网站名称:智行者IC社区
2、本站唯一官方网址:https://www.2632.net (警惕克隆站点,认准SSL证书指纹:B2:3A:...)
3、本站资源100%原创除软件资源区,侵权投诉请提交权属证明至 xiciw@qq.com (24小时响应)
4、根据《网络安全法》第48条,本站已部署区块链存证系统,所有用户行为数据将保存至2035年3月9日以备司法调取
5、资源观点不代表本站立场,禁止用于商业竞赛/学术造假,违规后果自负
6、违法信息举报奖励200-5000元,通过匿名举报通道提交证据链
7、核心资源采用阿里云OSS+IPFS双链存储,补档申请请使用工单系统
转载请注明出处:https://www.2632.net/doc/4102.html

相关推荐
2026-06-03

曾亲身测试 IPC – 7351B 标准, 还试用多款国产 EDA 软件, 经历过因极性标识反标致使整板电容…

2026-06-03

实测Altium Designer 22.0版本, 经历了封装画错大坑, 还遭遇了DRC报错众多情况, 打板后又出现短路问…

2026-06-03

我亲自进行了华为S5700系列交换机与Windows Server 2019环境的测试, 遇到过在网络重命名之后全网出…

2026-06-03

我亲自测试了iOS 17.5.1系统, 遭遇过快捷指令“无法运行”以及“权限闪退”这些状况, 对于新手而言, 只…

2026-06-03

曾经我亲自测试Cadence Virtuoso IC6.1.7版本, 使其与TSMC 28nm工艺的PDK互相配合, 期间遭遇了菜单…

2026-06-03

此为本人实际测试得出的情况, 针对四层FR – 4板材于0.6mm小间距过孔阵列之时, 曾踩过板材边缘…

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

870555860

客服电话

173-5410-9521

客服邮箱

xiciw@qq.com

扫描二维码

手机访问本站

头部图片