1. 课程导入与工具环境搭建
《Virtuoso版图实现与寄生效应验证》这门课要解决的核心问题,是把一个已经通过原理图仿真验证的电路,真正变成可以交付给晶圆厂的版图,并且在版图完成后回答一个关键问题:金属连线和器件本身引入的寄生电阻、寄生电容,会不会让电路性能偏离设计目标?前者对应版图实现(Layout Implementation),后者对应寄生参数提取与后仿验证(Parasitic Extraction & Post-layout Simulation)。这两件事在模拟与射频设计中往往是迭代进行的:画完版图提取一次寄生,发现某条关键信号线太长、耦合电容过大,就要回到版图修改走线或加屏蔽,再提取、再仿真,直到后仿结果满足指标。
本课程的学习目标可以归纳为四条主线。第一,掌握 Virtuoso Layout Editor 的基本操作与版图设计规则,能够独立完成一个模块级版图,包括器件调用、连线、衬底/阱连接、DRC 与 LVS 检查。第二,理解版图几何与寄生参数的对应关系,知道哪些结构会带来大的寄生电容、哪些走线会引入明显的寄生电阻。第三,掌握寄生提取工具的使用方法,能够从版图生成带寄生的网表,并区分 PEX(Parasitic Extraction)网表与原始原理图网表的差异。第四,能够搭建后仿测试平台,把提取出的寄生网表代入仿真,对比前仿与后仿的差异,判断版图是否可接受。
工具链与各自分工
完成上述任务需要一整套 EDA 工具协同工作,它们的分工可以用一条从版图到验证的数据流来理解。Cadence Virtuoso 是版图编辑与设计环境的主体,其中 CIW(Command Interpreter Window)是启动后首先出现的命令交互窗口,Library Manager 用于管理设计库(Library)与单元(Cell),Layout Editor 则是真正绘制版图的画布。版图完成后,需要设计规则检查(DRC)和版图与原理图一致性检查(LVS),这一步通常由 Assura、PVS 或 Calibre 之一完成。寄生提取同样依赖这些工具中的寄生提取模块,或使用 Quantus、Star-RC 等专用提取工具。最后把提取出的网表放回 Virtuoso 的 ADE(Analog Design Environment)中做后仿。
下面这张图给出了本节最需要建立的整体认识:从设计库到版图、再到寄生提取与后仿的完整数据流,以及各工具在链路中的位置。
环境搭建的实际操作
工具链的安装通常由实验室或公司的 IT/EDA 管理员完成,但作为设计者,必须知道如何验证环境是否可用,以及如何配置自己的工作目录。在 Linux 环境下,Virtuoso 的启动依赖一系列环境变量,典型配置如下(路径为示例,需按实际安装位置替换):
# 示例:在 ~/.bashrc 或项目 setup 脚本中配置
export CDS_INST_DIR=/opt/cadence/IC617
export PATH=$CDS_INST_DIR/tools/bin:$CDS_INST_DIR/tools/dfII/bin:$PATH
export CDS_LIC_FILE=5280@license_server
export MMSIM_ROOT=/opt/cadence/MMSIM151
export PATH=$MMSIM_ROOT/tools/bin:$PATH
# 启动 Virtuoso
virtuoso &
启动后首先出现的是 CIW 窗口,它是整个 Virtuoso 会话的命令中心。CIW 上方的菜单可以打开 Library Manager 和 Layout Editor,下方的命令行则可以直接输入 SKILL 语句。例如输入 hiGetCurrentWindow() 可以查看当前活动窗口,输入 dbOpenCellViewByType("myLib" "inv" "layout") 可以以脚本方式打开一个版图视图。养成用 CIW 观察报错信息的习惯非常重要,因为 DRC、LVS、PEX 的运行日志都会在这里或独立日志文件中输出。
Library Manager 是设计库的组织者。一个典型的项目库结构是:myLib 下包含 inv、ota 等 Cell,每个 Cell 下又有 schematic、layout、symbol、extracted 等 View。需要特别注意的是,工艺库(如 tsmc18)通常以只读方式挂载,我们自己的设计必须放在独立库中,并通过 cds.lib 文件把工艺库路径包含进来。一个常见的错误是直接在工艺库中新建 Cell,导致后续版本管理混乱。
cds.lib,用 DEFINE 语句声明库路径,例如 DEFINE myLib ./myLib、DEFINE tsmc18 /pdk/tsmc18。这样在不同机器上迁移项目时,只需修改这一个文件。Layout Editor 界面要点
Layout Editor 是后续所有版图工作的主战场。初次打开时,建议先确认几个关键设置:一是工艺层显示(LSW,Layer Selection Window),它决定了当前可绘制哪些层,例如 M1、M2、VIA1、POLY、NW;二是网格与捕捉(Grid/Snap),通常把网格设为工艺最小格点(如 0.005 μm)的整数倍,避免出现无法通过 DRC 的离格图形;三是快捷键,例如 i 调用器件、p 画路径、r 画矩形、Shift+E 进入/退出编辑模式。这些操作在后续章节会反复使用,本节只需建立“哪个窗口负责什么”的认知。
关于工具选择,Assura、PVS 和 Calibre 都能完成 DRC/LVS/PEX,但它们的规则文件格式、命令方式和运行速度不同。Assura 与 Virtuoso 集成度高,适合教学和小规模模块;Calibre 在工业界使用最广,规则文件(Rule File)由代工厂提供,运行速度快、检查项全;PVS 则是较新的物理验证平台。学习阶段建议至少熟悉一种,理解其输入(版图 GDS、规则文件、网表)与输出(错误报告、提取网表)即可,不必在三种工具间反复切换。