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 |
安装步骤其实不复杂,但有几个关键点要注意:
- 操作系统:建议用Red Hat Enterprise 7或CentOS 7。Ubuntu也能跑,但坑多。
- 安装路径:不要有中文,不要有空格。我见过有人装在
/home/张三/cadence/,结果死活起不来。 - 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,但需要手动转。
转换流程我用一张图给你讲清楚:
具体命令很简单:
cdb2oa -lib /home/design/cdb_lib -o /home/design/oa_lib -log cdb2oa.log
-skip_broken 参数跳过坏cell。
4.3 PDK安装:工艺厂给的“说明书”
PDK(Process Design Kit)就是工艺厂给你的设计套件。里面包含了器件模型、参数、版图规则等等。没有PDK,你画出来的电路就是空中楼阁。
安装PDK的步骤各家工艺厂大同小异,但核心就三步:
- 解压:通常是一个tar.gz包,解压到你的设计目录下。
- 运行安装脚本:一般是
./install.sh或者./pdkInstall.pl。 - 配置环境变量:把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
4.4 CDF参数设置:让仿真器认识你的器件
CDF(Component Description Format)说白了就是器件的“身份证”。它告诉仿真器:这个管子是什么型号、有哪些参数、模型文件在哪。
PDK装好后,CDF参数通常是自动加载的。但有时候你会发现,调出来的管子参数是空的,或者仿真报错说找不到模型。这时候就需要手动检查CDF设置。
| CDF参数项 | 说明 | 常见问题 |
|---|---|---|
| modelName | 模型名称,如 nmos1v8 | 拼写错误或大小写不对 |
| modelFile | 模型文件路径 | 路径不对或文件缺失 |
| simulator | 仿真器类型,如 spectre | 与所用仿真器不匹配 |
| parameters | 器件参数,如 w、l、m | 参数名与模型不一致 |
检查CDF的方法:
- 在原理图中选中器件,按
q键打开属性窗口。 - 看
CDF标签页,确认modelName和modelFile是否正确。 - 如果为空,点
Edit手动添加,或者重新加载PDK的CDF定义。
.cdsinit 文件里加载PDK的顺序不对。Cadence启动时,先加载了默认的CDF,后加载PDK的CDF,结果PDK的CDF被覆盖了。解决办法是把PDK加载命令放到 .cdsinit 的最后一行。
4.5 环境验证:跑一个简单的反相器
所有东西都装好后,我建议你跑一个最简单的电路来验证环境。比如一个反相器:
- 新建一个库,选
OA格式。 - 新建cell view,选
schematic。 - 从PDK里调一个NMOS和一个PMOS,连成反相器。
- 加一个直流电压源和脉冲源。
- 跑一次瞬态仿真,看输出波形是否正常。
如果波形正常,恭喜你,环境搭建成功了。如果报错,别慌,按这个顺序排查:
- 先看CIW窗口的报错信息,它通常会告诉你问题出在哪。
- 检查模型文件路径,确认文件存在且可读。
- 检查CDF参数,确认modelName和modelFile正确。
- 检查仿真器设置,确认用的是spectre还是hspice。
总结一下:环境搭建这件事,说白了就是“路径、权限、配置”六个字。路径别搞错,权限给够,配置文件写对,基本就稳了。我见过太多人在这上面花了一两天,最后发现只是少写了一个斜杠。
嗯,这节课的内容就到这。记住,环境搭好了,后面的仿真才能跑得顺。别急,慢慢来。