4. Cadence环境搭建与PDK导入:IC617/618安装、OA库转换、PDK安装与cdf参数设置

说实话,很多做射频的同行,一开始都卡在环境搭建这一步。我记得刚入行那会儿,光装个PDK就折腾了两天,最后发现是OA库转换的路径搞错了。嗯,这节课我就把那些坑提前告诉你。

4.1 IC617与IC618的选择与安装

先说说版本选择。我个人习惯用IC618,因为它对OA(OpenAccess)数据库的支持更原生。但如果你手头有老项目,或者团队里还有人用IC617,那也没问题。

对比项 IC617 IC618
OA原生支持 需要手动转换 原生支持
仿真速度 中等 提升约20%
PDK兼容性 老PDK更友好 新工艺首选
内存占用 约2GB 约3GB

安装步骤其实不复杂,但有几个关键点要注意:

  1. 操作系统:建议用Red Hat Enterprise 7或CentOS 7。Ubuntu也能跑,但坑多。
  2. 安装路径:不要有中文,不要有空格。我见过有人装在 /home/张三/cadence/,结果死活起不来。
  3. License配置:环境变量 CDS_LIC_FILE 要指向你的license文件。格式是 5280@license-server-ip。
小技巧:装完后先跑一下 virtuoso -nograph,如果能正常启动,说明环境变量没问题。别急着开图形界面,省得报错半天找不到原因。

4.2 OA库转换:从CDBA到OA

为什么非要转OA?说白了,老版本的Cadence用CDBA(Cadence Design Database Architecture),新版本用OA。IC618默认就是OA,IC617也能用OA,但需要手动转。

转换流程我用一张图给你讲清楚:

OA库转换流程 CDBA原始库 .cdb 格式 转换工具 cdb2oa OA格式库 .oa 格式 转换后原CDBA库不会被删除,建议先备份 转换命令:cdb2oa -lib /path/to/cdb_lib -o /path/to/oa_lib 常见问题 • 路径权限不足 → 检查目录读写 • 库版本不匹配 → 升级PDK • 缺少依赖库 → 安装libXp等 验证方法 • 用virtuoso打开库 • 检查cellView是否完整 • 跑一次DC仿真验证

具体命令很简单:

cdb2oa -lib /home/design/cdb_lib -o /home/design/oa_lib -log cdb2oa.log
注意:转换过程中如果报错,先看日志文件。我曾经遇到过一次,原因是CDBA库里有损坏的cell,cdb2oa直接卡死。解决办法是用 -skip_broken 参数跳过坏cell。

4.3 PDK安装:工艺厂给的“说明书”

PDK(Process Design Kit)就是工艺厂给你的设计套件。里面包含了器件模型、参数、版图规则等等。没有PDK,你画出来的电路就是空中楼阁。

安装PDK的步骤各家工艺厂大同小异,但核心就三步:

  1. 解压:通常是一个tar.gz包,解压到你的设计目录下。
  2. 运行安装脚本:一般是 ./install.sh 或者 ./pdkInstall.pl。
  3. 配置环境变量:把PDK路径加到 CDS_LOAD_PDK 或者 CDS_LOAD_PDK_CFG 里。

举个例子,某主流工艺的PDK安装:

tar -xzf PDK_180nm_v1.5.tar.gz
cd PDK_180nm_v1.5
./install.sh -dir /home/design/pdk
# 安装完成后,在.cdsinit或.bashrc里加:
setenv CDS_LOAD_PDK /home/design/pdk/PDK_180nm_v1.5/pdk_config.cfg
我的习惯:装完PDK后,我会先创建一个空库,然后从PDK里调一个NMOS管出来。如果能正常显示symbol和model,说明PDK装好了。这一步花不了5分钟,但能省下后面排查问题的大把时间。

4.4 CDF参数设置:让仿真器认识你的器件

CDF(Component Description Format)说白了就是器件的“身份证”。它告诉仿真器:这个管子是什么型号、有哪些参数、模型文件在哪。

PDK装好后,CDF参数通常是自动加载的。但有时候你会发现,调出来的管子参数是空的,或者仿真报错说找不到模型。这时候就需要手动检查CDF设置。

CDF参数项 说明 常见问题
modelName 模型名称,如 nmos1v8 拼写错误或大小写不对
modelFile 模型文件路径 路径不对或文件缺失
simulator 仿真器类型,如 spectre 与所用仿真器不匹配
parameters 器件参数,如 w、l、m 参数名与模型不一致

检查CDF的方法:

  1. 在原理图中选中器件,按 q 键打开属性窗口。
  2. 看 CDF 标签页,确认 modelName 和 modelFile 是否正确。
  3. 如果为空,点 Edit 手动添加,或者重新加载PDK的CDF定义。
避坑指南:我曾经遇到过一个问题——PDK装好了,但CDF参数死活不显示。查了半天,发现是 .cdsinit 文件里加载PDK的顺序不对。Cadence启动时,先加载了默认的CDF,后加载PDK的CDF,结果PDK的CDF被覆盖了。解决办法是把PDK加载命令放到 .cdsinit 的最后一行。

4.5 环境验证:跑一个简单的反相器

所有东西都装好后,我建议你跑一个最简单的电路来验证环境。比如一个反相器:

  1. 新建一个库,选 OA 格式。
  2. 新建cell view,选 schematic。
  3. 从PDK里调一个NMOS和一个PMOS,连成反相器。
  4. 加一个直流电压源和脉冲源。
  5. 跑一次瞬态仿真,看输出波形是否正常。

如果波形正常,恭喜你,环境搭建成功了。如果报错,别慌,按这个顺序排查:

  • 先看CIW窗口的报错信息,它通常会告诉你问题出在哪。
  • 检查模型文件路径,确认文件存在且可读。
  • 检查CDF参数,确认modelName和modelFile正确。
  • 检查仿真器设置,确认用的是spectre还是hspice。

总结一下:环境搭建这件事,说白了就是“路径、权限、配置”六个字。路径别搞错,权限给够,配置文件写对,基本就稳了。我见过太多人在这上面花了一两天,最后发现只是少写了一个斜杠。

嗯,这节课的内容就到这。记住,环境搭好了,后面的仿真才能跑得顺。别急,慢慢来。