4. 原理图设计入门:在Virtuoso中创建LNA原理图

好,咱们正式开始动手了。前面几章聊了LNA的指标和工艺库,现在终于要打开Virtuoso,画第一张原理图。说实话,我第一次用Cadence画LNA时,光找元器件就花了半小时——库路径配错了,器件调不出来,急得满头汗。这一章我带你把这些坑都绕过去。

4.1 创建原理图Cellview

打开Virtuoso后,第一步是建一个原理图视图。操作路径很简单:File → New → Cellview。

弹出来的对话框里,你需要填几个关键信息:

字段 填写内容 说明
Library 你的项目库名(比如 LNA_Project) 确保库已经建好,且可写
Cell 电路名(比如 LNA_Core) 建议用小写+下划线,别用中文
View schematic 固定选这个,别选成symbol
Tool Composer-Schematic 默认就是它,不用改

点OK之后,你会看到一个空白的画布。嗯,这里要注意:画布大小默认是A4,如果电路复杂,建议在Options里改成A3或自定义尺寸。我习惯设成1200x800,够用又不卡。

小技巧: 每次新建Cellview前,先确认你的工艺库已经attach到项目库了。否则调出来的器件全是空的,没有模型参数。检查方法:CIW窗口里输入 ddGetObj("你的库名"),看返回的库对象里有没有techLib。

4.2 添加元器件

元器件从哪调?快捷键 i(或者菜单栏 Insert → Instance)。按下i后,会弹出Instance对话框。这里我重点说几个LNA最常用的器件:

  • NMOS/PMOS:在工艺库的 analogLib 或 你的工艺库名 下找 nmos / pmos。注意选对模型名,比如 nch 或 nmos_rf。
  • 电阻:analogLib → res,或者用工艺库里的 rppoly / rnwell。我一般用多晶电阻,温度系数小。
  • 电容:analogLib → cap,或者工艺库的 mimcap / momcap。LNA的输入输出耦合电容常用MIM电容。
  • 电感:这个比较特殊。标准工艺库不一定有片上电感模型。我通常用 analogLib → ind 加一个理想电感,或者用EM仿真后的s参数模型。后面联合ADS时再细说。
  • 电源与地:analogLib → vdc(直流电压源),gnd(地符号)。别忘了加。

每个器件放上去后,双击就能编辑参数。比如MOS管的宽度W、长度L、指状数目M。这里有个经验:LNA的输入管通常用最小沟道长度(比如0.18μm工艺就用0.18μm),宽度根据噪声和增益折中选,一般几百微米到几毫米。

注意: 千万别把器件的模型名搞错。我曾经有一次把nmos调成了pmos,仿真结果NF直接高了3dB,查了半天才发现是管子类型选错了。调器件时多看一眼对话框里的model name。

4.3 设置节点与端口

元器件放好了,接下来要告诉仿真器:哪里是输入,哪里是输出,哪里接电源。这就用到端口(Port)了。

快捷键 p 打开端口设置。端口类型选 input、output 或 inout。对于LNA:

  • 输入端口:选 input,信号类型 sine 或 dc(后面仿真再改)。端口号一般用1。
  • 输出端口:选 output,端口号用2。
  • 电源端口:用 vdc 器件,或者用 port 类型选 dc。我个人习惯用 vdc 加一个 net 标签,更直观。

端口放好后,用导线(快捷键 w)把它们连起来。连线时注意:

  • 交叉线默认不连接,需要手动加节点(快捷键 c 或按 Insert 键)。
  • 总线用粗线表示,快捷键 b。
  • 给关键节点加标签(快捷键 l),比如 VDD、VIN、VOUT、BIAS。这样仿真结果里看波形时一目了然。
核心要点: 端口和节点标签是仿真器识别电路拓扑的依据。如果端口没设对,仿真器会报“浮空节点”或“未定义端口”的错误。我建议每连完一个模块,就按一次 Check and Save(快捷键 X),及时发现问题。

4.4 一个简单的LNA原理图示例

咱们画一个最基本的共源级LNA,带源极电感负反馈。结构如下:

输入端口 (VIN) → 隔直电容 C1 → M1 栅极
M1 源极 → 电感 Ls → GND
M1 漏极 → 电感 Ld → VDD
M1 漏极 → 隔直电容 C2 → 输出端口 (VOUT)
M1 栅极 → 偏置电阻 Rb → VBIAS (直流偏置电压)

在Virtuoso里画出来,大概就是:

  • 一个NMOS管(M1),宽长比设成 200μm/0.18μm,M=4(4个指状)。
  • 源极电感 Ls = 0.5nH(理想电感)。
  • 漏极电感 Ld = 5nH(谐振用)。
  • 输入电容 C1 = 10pF,输出电容 C2 = 10pF。
  • 偏置电阻 Rb = 10kΩ,接到一个直流电压源 Vbias = 0.6V。
  • 电源 VDD = 1.8V。

连好线后,按 X 检查,没有错误的话,原理图就完成了。

避坑指南: 我曾经在画LNA时,把源极电感Ls直接接地了,但忘了加一个DC路径。结果仿真时DC工作点不对,管子直接截止。后来我在Ls旁边并联了一个小电阻(1kΩ),提供DC到地的通路,同时不影响AC性能。这叫“DC馈通”,很多初学者会忽略。

4.5 本章知识结构

下面这张图帮你梳理了原理图设计的核心流程:

LNA原理图设计流程 LNA原理图设计核心流程 创建Cellview 添加元器件 设置端口与节点 连线与加标签 Check and Save 关键提醒 • 库路径要配好 • 模型名别选错 • 端口类型要匹配 • 节点标签要清晰 • DC路径必须存在 • 及时Check & Save • 器件参数先设对 • 电源地别漏接 • 交叉线要加节点 • 偏置电路要完整

这张图把从创建Cellview到最终检查保存的五个步骤串起来了。每一步都有坑,但只要你按流程走,基本不会出大问题。

4.6 常见错误与排查

画完原理图后,按 X 检查,可能会报错。我列几个最常见的:

错误信息 原因 解决方法
Floating net 某条导线一端没连任何器件 检查连线,确保两端都有连接
Undefined port 端口类型没设或设错了 双击端口,重新选input/output
No DC path to ground 某个节点没有直流通路到地 加一个电阻或电感提供DC路径
Mismatched instance 器件参数超出工艺范围 检查W/L/M是否在允许范围内

嗯,这些错误我几乎都犯过。尤其是“No DC path to ground”,在LNA里特别常见——因为源极电感Ls对DC是短路的,但如果你在漏极用了电感Ld,DC路径可能被电容隔断。解决办法就是在关键节点加一个高阻值的DC馈通电阻。

一句话总结: 原理图设计就是“放器件、连导线、设端口、加标签、检查保存”。每一步都细心点,后面仿真才能顺利跑起来。