1、课程导学与环境准备:Cadence IC618/IC617 安装验证、PDK 库安装、Virtuoso 启动与基本界面操作
各位同学好,欢迎来到《Cadence Virtuoso 模拟版图 DRC 与 LVS 实战》课程。
我是你们这门课的主讲。在芯片设计这行摸爬滚打了十几年,从最早的 IC5141 一路用到现在的 IC618,踩过的坑说实话不少。今天咱们先不急着画版图,先把吃饭的家伙——环境,给整明白了。
环境没搭好,后面所有操作都是空中楼阁。我自己就见过有同学折腾一星期,最后发现是 PDK 路径配错了,白白浪费时间。所以,这一章咱们稳扎稳打,把地基打牢。
1.1 Cadence IC618/IC617 安装验证
先说版本选择。IC617 和 IC618 是目前主流工艺厂 PDK 支持最多的两个版本。我个人习惯用 IC618,界面更现代,对多核 CPU 的优化也更好。但如果你手头只有 IC617,也别慌,咱们课程里讲的操作,两个版本基本通用。
安装过程我就不一步步截图了,那个安装手册几百页,看多了头疼。我挑几个关键点说:
- 操作系统: 推荐 RHEL 7 或 CentOS 7。Ubuntu 也能跑,但坑多。我曾在 Ubuntu 18.04 上折腾了三天,最后发现是 libXp 库缺失,换回 CentOS 7 一次过。
- License 配置: 这是最容易出问题的地方。确保你的 license 文件路径正确,环境变量
LM_LICENSE_FILE或CDS_LIC_FILE指向对了。验证方法很简单,终端敲lmstat -a,能看到 feature 列表就对了。 - 安装验证: 装完后,在终端输入
virtuoso &。如果界面能弹出来,恭喜你,第一步成功了。如果报错,别慌,八成是环境变量没设好。
setup.cshrc 或 setup.bashrc 脚本,每次开新终端就 source 一下。省得每次都要敲一堆 export 命令。
1.2 PDK 库安装
PDK 是什么?说白了就是工艺厂给你的“积木盒”。里面包含了晶体管、电阻、电容这些基础器件的模型、参数和版图规则。没有 PDK,你画出来的版图就是一堆没有灵魂的几何图形。
安装 PDK 通常分三步:
- 解压: 工艺厂给你的通常是一个压缩包,比如
smic18mmrf_1P6M_2021.tar.gz。解压到你的工作目录下。 - 运行安装脚本: 进入解压后的目录,找
install或setup.sh文件。运行它,按提示输入你的 Cadence 版本号(比如 IC618)和安装路径。 - 配置 cds.lib: 这是最关键的一步。在你的工作目录下,创建一个
cds.lib文件,里面写上类似这样的内容:
# 引用 PDK 库
INCLUDE /home/your_name/PDK/smic18mmrf/cds.lib
# 定义你的工作库
DEFINE my_work ./my_work
嗯,这里要注意:INCLUDE 的路径一定要写对。我见过最离谱的错误,是有人把路径写成了 /home/your_name/PDK/smic18mmrf/,少写了 cds.lib,结果 Virtuoso 根本找不到库。
cds.lib 里引用了绝对路径 /home/IC。如果你用户名不是 IC,就得手动改。所以,装完 PDK 后,第一件事就是打开它的 cds.lib 扫一眼,看看有没有硬编码的路径。
1.3 Virtuoso 启动与基本界面操作
环境配好了,咱们来启动 Virtuoso。在终端输入:
virtuoso &
你会看到 CIW(Command Interpreter Window)窗口弹出来。这是 Virtuoso 的“大脑”,所有操作日志、错误信息都在这里显示。
接下来,咱们创建第一个工作库:
- 在 CIW 菜单栏,点击 File → New → Library。
- 在弹出的对话框中,Name 填
my_lib。 - Technology File 选择 Attach to an existing technology file,然后在下拉菜单里选你刚才安装的 PDK(比如
smic18mmrf)。 - 点击 OK。搞定。
创建完库,咱们来画第一个版图。在 CIW 里点 File → New → Cell View:
- Library:选
my_lib - Cell:填
inv(反相器) - View:选
layout - Tool:选
Virtuoso - 点击 OK
这时候,版图编辑窗口就打开了。你可能会觉得眼花缭乱,别急,咱们先认识几个最常用的快捷键:
| 快捷键 | 功能 | 我的备注 |
|---|---|---|
I |
插入实例(比如调用 NMOS、PMOS) | 最常用的键,没有之一 |
P |
画多边形(画有源区、多晶硅等) | 注意:画完后按 Esc 退出 |
R |
画矩形 | 比多边形简单,但灵活性差一点 |
K |
标尺工具(测量距离) | DRC 检查前,我习惯先用它量一遍 |
F |
全屏显示 | 画乱了?按 F 找回你的图形 |
Ctrl+A |
全选 | 批量操作时很管用 |
Shift+Z |
撤销 | 画错了?别慌,按它 |
核心要点: Virtuoso 的操作逻辑是“先选对象,再执行命令”。比如你想移动一个图形,先点选它(变高亮),然后按 M 键(移动命令),再点目标位置。这个习惯一定要养成,不然你会发现命令怎么都执行不了。
最后,咱们来验证一下 PDK 是否正常工作。在版图编辑窗口,按 I 键,弹出 Create Instance 对话框。在 Library 下拉菜单里,你应该能看到你安装的 PDK 库名(比如 smic18mmrf)。点开它,选择 nmos1v 之类的器件,放到版图里。如果能放进去,说明 PDK 安装成功了。
好了,这一章的内容就到这儿。环境准备好了,下一章咱们就开始画真正的版图了。记住,磨刀不误砍柴工,环境配好了,后面学起来才顺手。
有什么问题,咱们课程群里见。