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,够用又不卡。
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),宽度根据噪声和增益折中选,一般几百微米到几毫米。
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。这样仿真结果里看波形时一目了然。
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 检查,没有错误的话,原理图就完成了。
4.5 本章知识结构
下面这张图帮你梳理了原理图设计的核心流程:
这张图把从创建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馈通电阻。