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_FILECDS_LIC_FILE 指向对了。验证方法很简单,终端敲 lmstat -a,能看到 feature 列表就对了。
  • 安装验证: 装完后,在终端输入 virtuoso &。如果界面能弹出来,恭喜你,第一步成功了。如果报错,别慌,八成是环境变量没设好。
我的小技巧: 把环境变量设置写成一个 setup.cshrcsetup.bashrc 脚本,每次开新终端就 source 一下。省得每次都要敲一堆 export 命令。

1.2 PDK 库安装

PDK 是什么?说白了就是工艺厂给你的“积木盒”。里面包含了晶体管、电阻、电容这些基础器件的模型、参数和版图规则。没有 PDK,你画出来的版图就是一堆没有灵魂的几何图形。

安装 PDK 通常分三步:

  1. 解压: 工艺厂给你的通常是一个压缩包,比如 smic18mmrf_1P6M_2021.tar.gz。解压到你的工作目录下。
  2. 运行安装脚本: 进入解压后的目录,找 installsetup.sh 文件。运行它,按提示输入你的 Cadence 版本号(比如 IC618)和安装路径。
  3. 配置 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 根本找不到库。

避坑指南: 我曾经在安装某国产工艺 PDK 时,发现它的 cds.lib 里引用了绝对路径 /home/IC。如果你用户名不是 IC,就得手动改。所以,装完 PDK 后,第一件事就是打开它的 cds.lib 扫一眼,看看有没有硬编码的路径。

1.3 Virtuoso 启动与基本界面操作

环境配好了,咱们来启动 Virtuoso。在终端输入:

virtuoso &

你会看到 CIW(Command Interpreter Window)窗口弹出来。这是 Virtuoso 的“大脑”,所有操作日志、错误信息都在这里显示。

接下来,咱们创建第一个工作库:

  1. 在 CIW 菜单栏,点击 File → New → Library
  2. 在弹出的对话框中,Namemy_lib
  3. Technology File 选择 Attach to an existing technology file,然后在下拉菜单里选你刚才安装的 PDK(比如 smic18mmrf)。
  4. 点击 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 安装成功了。

好了,这一章的内容就到这儿。环境准备好了,下一章咱们就开始画真正的版图了。记住,磨刀不误砍柴工,环境配好了,后面学起来才顺手。

有什么问题,咱们课程群里见。