1. 0.13um工艺Bandgap设计实战指南
刚入行模拟IC设计时,导师扔给我一个Bandgap基准电压源项目练手。这个采用0.13um工艺的电压模结构,既有经典架构的清晰脉络,又包含了亚阈值补偿、cascode电流镜等实用技巧,特别适合新人理解模拟电路的设计哲学。经过三个版本的迭代,最终流片实测温漂控制在9ppm/℃以内,电源抑制比(PSRR)达到68dB。下面我就把从环境搭建到稳定性调优的全流程拆解给大家,特别是那些仿真报告中不会写的实战细节。
2. 电路架构解析
2.1 核心结构选择
这个Bandgap采用电压模基础架构,相比电流模结构更容易实现高PSRR。核心由三部分组成:
- PTAT电流生成支路:采用标准双极性晶体管比例结构,通过ΔVBE产生正温度系数电流
- CTAT补偿支路:利用MOS管亚阈值区特性产生负温度系数电压
- 叠加网络:将PTAT和CTAT信号按比例叠加,实现接近零温度系数的基准电压
关键技巧:亚阈值区MOS管的栅压与绝对温度成反比,这个非线性特性恰好可以补偿双极管ΔVBE的高阶温度项
2.2 运放设计细节
二级运放结构配置了20kΩ调零电阻和2pF密勒电容,实测相位裕度65°。这里有个容易忽略的点:运放第一级的尾电流需要比Bandgap核心电流至少大3倍,否则在工艺角变化时可能引起系统性偏移。我们的设计参数如下表:
| 参数 | 主支路值 | 运放尾电流 |
|---|---|---|
| 电流密度 | 5μA/μm | 15μA/μm |
| Cascode长度 | 0.5μm | 0.3μm |
| 调零电阻 | 20kΩ | - |
2.3 启动电路设计
采用耗尽型MOS管作为启动器件,关键是要确保:
- 上电时能提供足够初始电流
- 正常工作后完全关断
- 栅极漏电流小于100pA
曾经有个版本因为启动管漏电导致输出电压卡在200mV,后来在栅极串联了反相器才解决。实测启动波形应该呈现典型的"过冲-回落-稳定"三段式特征。
3. 仿真环境搭建
3.1 PDK配置要点
工艺文件路径设置是第一个坑,建议采用如下脚本结构:
bash复制set PDK_PATH /home/user/tech_13um
setenv CDS_Netlisting_Mode "Analog"
libgen -i bg_core -l $PDK_PATH/tech.lib
常见报错排查:
- "Model not found":检查tech.lib中MOS管命名是否与PDK一致
- 仿真不收敛:尝试在.spice文件中添加.options METHOD=gear或.reltol=1e-6
3.2 温度特性仿真
标准温度扫描脚本:
spice复制.DC TEMP -40 125 1
.MEASURE VREF FIND V(bg_out) AT=27
观察要点:
- 在波形窗口输入"plot derivative(vref)"应得到标准抛物线
- 低温段翘尾通常补偿不足,可增大亚阈值管W/L比
- 高温段上翘则需调整电阻比例系数
实测案例:将补偿管W/L从3u/1u改为5u/1u后,温漂从25ppm/℃降至12ppm/℃
4. 关键性能验证
4.1 PSRR测试方案
采用分段AC分析:
spice复制psrr_analysis begin
ac dec 100 1 100Meg
param VDD=3.3
end
重点关注三个频段:
- 低频(<1kHz):反映运放环路增益
- 中频(1k-1MHz):cascode结构起主导作用
- 高频(>1MHz):受寄生电容影响
血泪教训:曾将cascode管换成普通镜像,PSRR从68dB暴跌至42dB,电源噪声直接耦合到输出
4.2 稳定性分析
必须使用STB分析而非普通AC仿真:
spice复制stb::probe v("opamp_out")
stb::analysis type=openloop
run
plot phase_margin
典型问题处理:
- 相位裕度不足:增大密勒电容或调整调零电阻
- 增益峰值:检查补偿网络节点阻抗
- 89度假象:通常是摆率限制导致,需增大偏置电流
4.3 瞬态启动测试
上电仿真脚本:
spice复制.TRAN 1n 10u
set VDD=0
alter VDD 0->3.3 in 1u
合格波形特征:
- 输出电压在1μs内达到稳态值的90%
- 过冲幅度不超过10%
- 无振荡或停滞现象
5. 实战调试技巧
5.1 温漂优化三板斧
- 分段拟合:将-40℃~125℃分为三个区间单独优化
- 电阻微调:温度系数匹配比绝对值更重要
- 版图技巧:采用中心对称布局抵消梯度误差
5.2 蒙特卡洛分析准备
在基础仿真通过后,建议按此顺序进行:
- 全局工艺角仿真(FF/SS/TT)
- 局部失配分析(MC mismatch)
- 系统级蒙特卡洛(500次以上)
5.3 版图注意事项
虽然本次无版图要求,但实际项目中:
- 双极管必须采用共质心布局
- 匹配电阻使用同一排掺杂
- 敏感节点用Guard Ring保护
- 电源走线宽度≥5μm/A
6. 经典文献导读
-
《A 1.2V Bandgap Reference in 0.13μm CMOS》- IEEE JSSC 2004
- 详细推导了亚阈值补偿的非线性方程
- 提供温漂优化实用公式
-
《Design of Analog CMOS Integrated Circuits》- Razavi
- 第12章有完整的Bandgap设计实例
- 包含工艺角分析示例
-
JSSC 2003年专题
- 对比了7种运放结构的PSRR特性
- 给出调零电阻优化曲线
调试过程中我习惯把Baker红皮书中的SPICE模板作为起点,其典型结构如下:
spice复制* Bandgap Core
Q1 1 2 3 PNP_10x10
Q2 4 5 3 PNP_1x1
R1 2 0 15k
M1 6 7 8 8 NMOS W=5u L=0.5u
...
这个Bandgap项目最让我受益的是理解了"先完成再完美"的迭代逻辑。新手常犯的错误是过早陷入局部优化,比如一开始就纠结0.1ppm的温漂差异。实际上应该先确保基本功能正常,再逐步提升性能指标。仿真时多按F3观察节点工作状态,往往比公式推导更能快速定位问题。
