杰瑞科技汇

Cadence 16.3教程如何快速上手?

Cadence 16.3 全流程设计教程 (以CMOS反相器为例)

第一部分:准备工作与环境设置

在开始之前,请确保您已经安装了 Cadence 16.3 版本,并配置好了必要的库文件(tsmc18gf180mcu 等工艺库)。

Cadence 16.3教程如何快速上手?-图1
(图片来源网络,侵删)

启动 Cadence

  • 在终端中输入命令:icfb &
  • 这会启动 Cadence 的图形用户界面。

设置工作目录

  • 创建一个专门用于本次实验的文件夹,~/cadence_lab/inverter
  • 在 Cadence 界面中,通过 File -> Change Directory 将工作目录切换到该文件夹,所有生成的文件都会保存在这里。

创建库

  • 在 CIW (Command Interpreter Window) 窗口中,点击 File -> New -> Library
  • Name: 输入库名,my_lib
  • Technology Library: 选择 Attach to an existing techfile
  • Techfile Name: 点击 Browse,选择您工艺库对应的 .tf 文件(tsmc18.tf)。
  • 点击 OK,这样,您的库就与特定的工艺技术关联起来了。

创建单元格

Cadence 16.3教程如何快速上手?-图2
(图片来源网络,侵删)
  • 在库管理器中,右键点击 my_lib,选择 New -> Cellview -> From Cellview
  • Cell Name: 输入 inverter
  • View Name: 输入 schematic
  • Tool: 选择 Virtuoso Schematic Editor
  • 点击 OK,此时会打开一个空的原理图编辑窗口。

第二部分:绘制电路原理图

我们将在 schematic 视图中绘制 CMOS 反相器的电路。

添加元器件

  • 在原理图编辑窗口中,点击快捷键 b (Add Instance) 或点击菜单 Instance -> Place Instance
  • 在弹出的 "Component Browser" 窗口中:
    • Library: 选择您的工艺库,tsmc18
    • Cell: 选择 nmospmos
    • View: 选择 symbol
  • 在画布上点击放置一个 NMOS 和一个 PMOS。

添加电源和地

  • 再次按 b 键。
  • 在 "Component Browser" 中:
    • Library: 选择 analogLib (这是 Cadence 自带的模拟库,包含电源、地等基本元件)。
    • Cell: 选择 vdd (电源)。
    • View: symbol
  • 放置一个 vdd 和一个 gnd (地)。

连接线路

  • w 键 (Add Wire) 或点击菜单 Wire -> Wire
  • vdd 连接到 PMOS 的漏极。
  • 将 PMOS 的源极连接到 NMOS 的漏极,这个节点就是反相器的输出 out
  • 将 NMOS 的源极连接到 gnd
  • 将 PMOS 的栅极和 NMOS 的栅极连接在一起,这个节点就是反相器的输入 in

添加端口

  • p 键 (Add Pin) 或点击菜单 Pin -> Pin
  • 添加两个 Pin
    • 一个命名为 in,连接到输入节点。
    • 另一个命名为 out,连接到输出节点。
    • 确保 PinI/O Type 设置为 inputoutput

设置元器件参数

  • 双击任何一个 NMOS 或 PMOS 符号,会弹出其属性编辑窗口。
  • Width (W) 和 Length (L): 根据工艺规则设置合适的尺寸,可以都设为 18u (180纳米)。
  • 点击 OK 保存,通常为了匹配,PMOS 的宽度会是 NMOS 的 2-3 倍,以获得相同的驱动能力。

保存并检查

  • Ctrl + S 保存原理图。
  • 按快捷键 q (Check and Save) 或点击菜单 Design -> Check and Save
  • CIW 窗口没有报错,说明原理图绘制正确。

第三部分:电路仿真

我们使用 Cadence 自带的 spectre 仿真器进行仿真。

创建仿真配置文件

  • 在原理图编辑窗口中,点击菜单 Launch -> ADE L (Analog Design Environment L),这将打开仿真器主界面。

设置仿真变量

  • 在 ADE L 界面中,点击 Setup -> Model Libraries
  • 在弹出的窗口中,点击 Browse,选择您工艺库的模型文件 (通常是 .scs.sp 文件),然后点击 AddOK

设置仿真分析

  • 在 ADE L 界面中,点击 Analyses -> Choose
  • 勾选 tran (瞬态分析)。
  • Stop Time: 设置为 10n (10纳秒)。
  • 点击 OK

设置变量

  • 在 ADE L 界面中,点击 Variables -> Copy from Cellview,这会自动将原理图中的 inout 端口作为变量添加进来。

设置输出波形

  • 在 ADE L 界面中,点击 Outputs -> To Be Plotted -> Select on Schematic
  • 回到原理图窗口,分别点击 inout 节点,它们会出现在 ADE L 界面的 "Outputs" 列表中。

运行仿真

  • 在 ADE L 界面中,点击绿色的运行按钮 (或按 F5)。
  • 仿真结束后,会自动弹出 Waveform Viewer 窗口,显示 inout 的波形。

验证结果

  • 你应该能看到一个标准的反相器波形:当输入 in 为高电平时,输出 out 为低电平;当输入 in 为低电平时,输出 out 为高电平。

第四部分:版图设计与验证

原理图仿真通过后,我们开始进行物理版图的设计。

创建版图视图

  • 关闭 ADE L 和 Waveform Viewer。
  • 在库管理器中,右键点击 inverter 单元,选择 New -> Cellview
  • View Name: 输入 layout
  • Tool: 选择 Virtuoso Layout Editor
  • 点击 OK,此时会打开一个空的版图编辑窗口。

设置版图层

  • 在版图编辑窗口中,点击菜单 Options -> Display
  • 在 "Layers" 标签页中,确保 nwell, pwell, pdiff, ndiff, poly, metal1, via1, metal2 等工艺所需的关键层都已显示并设置了不同的颜色。

绘制版图

  • 绘制阱区:
    • s 键 (Shape)。
    • 在 "Layer" 窗口中选择 nwell,在画布上画一个矩形包裹住 PMOS。
    • 再画一个 pwell 矩形包裹住 NMOS,注意阱区的间距规则。
  • 绘制有源区:
    • 选择 pdiff 层,在 nwell 内画一个矩形作为 PMOS 的源漏区。
    • 选择 ndiff 层,在 pwell 内画一个矩形作为 NMOS 的源漏区。
  • 绘制多晶硅栅极:
    • 选择 poly 层,画一个横跨在 ndiffpdiff 上方的矩形,将两个晶体管连接起来,形成反相器的输入。
  • 绘制接触孔:
    • 选择 via1 层,在有源区和多晶硅上放置接触孔,用于连接金属1。
    • pdiff 上方放一个 via1 连接到 vdd
    • ndiff 上方放一个 via1 连接到 gnd
    • 在输入多晶硅两端各放一个 via1 连接到 metal1
    • 在输出节点 (ndiffpdiff 的连接处) 放一个 via1 连接到 metal1
  • 绘制金属连线:
    • 选择 metal1 层。
    • metal1 连接 vdd 接触孔到 PMOS 源极。
    • metal1 连接 gnd 接触孔到 NMOS 源极。
    • metal1 连接输入端的 via1
    • metal1 连接输出端的 via1
  • 添加 I/O 端口:
    • 点击菜单 Pin -> Pin
    • Layer 窗口中选择 metal1
    • vddgndinout 的金属上放置 Pin,并命名。

保存并检查 DRC

  • Ctrl + S 保存版图。
  • 在版图编辑窗口中,点击菜单 Verification -> DRC...
  • 在弹出的窗口中,点击 Run
  • 检查 CIW 窗口:如果没有任何错误信息,说明版图通过了设计规则检查,如果有错误,根据提示修改版图。

第五部分:版图与原理图对比

确保版图实现的功能与原理图完全一致。

启动 LVS

  • 在版图编辑窗口中,点击菜单 Verification -> LVS...
  • 在弹出的窗口中:
    • Source: 选择 Layout
    • Netlist: 点击 Browse,选择当前版图对应的 inverter (layout) 视图。
    • Source: 选择 Schematic
    • Netlist: 点击 Browse,选择 inverter (schematic) 视图。
  • 点击 Run

检查 LVS 结果

  • 检查 CIW 窗口:LVS 成功,会显示 LVS comparison successful,这意味着版图和原理图在拓扑结构上是完全一致的。
  • 如果失败,CIW 会给出详细的错误信息,Netlist comparison failed,你需要根据提示对比版图和原理图,找出连接错误或元器件不匹配的地方。

第六部分:生成网表与后仿真

生成版图网表

  • 在 LVS 窗口中,点击 Extract 按钮。
  • 这会生成一个包含寄生参数的版图网表文件 (.sp.scs 格式)。

运行后仿真

  • 回到 ADE L 界面 (Launch -> ADE L)。
  • 加载寄生参数: 在 ADE L 中,点击 Setup -> Model Libraries,将刚刚生成的版图网表文件添加进去。
  • 运行仿真: 再次运行瞬态仿真 (tran)。
  • 对比波形: 对比后仿真波形和之前的原理图仿真波形,你会发现后仿真的波形会有延迟和失真,这是因为版图中的寄生电阻和电容效应,这个延迟就是电路的实际延迟。

总结与后续

恭喜!您已经完成了一个完整的 Cadence 16.3 设计流程,包括:

  1. 原理图设计
  2. 前仿真
  3. 版图设计
  4. DRC/LVS 验证
  5. 后仿真

这个流程是所有模拟和混合信号集成电路设计的基础,您可以在此基础上,尝试设计更复杂的电路,如与非门、或非门、运算放大器等。

进阶提示:

  • 参数化单元: 使用 pcell 功能可以创建可配置的版图单元,提高设计效率。
  • 约束驱动布局: 在版图布局前,先定义时序、功耗等约束,让工具辅助完成布局。
  • 寄生参数提取: 学习更高级的寄生提取工具,如 StarRC,以获得更精确的 RC 网表。
  • 时序分析: 学习使用 TimeQuest 等静态时序分析工具进行数字电路的时序验证。

希望这份详细的教程能帮助您顺利入门 Cadence!

分享:
扫描分享到社交APP
上一篇
下一篇