带隙基准电路全流程设计:从HSPICE仿真到Cadence版图验证
1. 项目概述:从理论到流片的带隙基准电路实战
在模拟集成电路设计的领域里,带隙基准电压源(Bandgap Reference, BGR)绝对算得上是一个“基石”级别的模块。无论你是在设计一个高精度的ADC、一个低噪声的LDO,还是一个需要稳定偏置的PLL,一个稳定、精准、与工艺和温度无关的基准电压都是整个系统正常工作的前提。这个项目,就是一次完整的带隙基准电路设计实战,从理论推导、电路设计、HSPICE仿真验证,到最终在Cadence Virtuoso平台完成版图设计与验证的全过程记录。
我之所以想详细记录这个过程,是因为在初学阶段,我常常感到困惑:课本上的公式推导很清晰,但一到实际设计,面对工艺库模型、仿真收敛、版图寄生效应等问题时,就手足无措。网上能找到的资料要么过于理论化,要么是零散的片段,缺乏一个从零到一、贯穿始终的实操指南。这次,我将以一个典型的、基于Brokaw Cell结构的带隙基准电路为例,手把手拆解每一个环节,分享我在使用HSPICE进行电路仿真和Cadence Virtuoso进行版图设计时踩过的坑和积累的经验。无论你是正在学习模拟IC设计的学生,还是刚入行的工程师,希望这篇详尽的记录能为你提供一条清晰的路径。
我们的目标很明确:设计一个在典型工艺角(TT)、电源电压3.3V、温度范围-40°C到125°C下,输出基准电压Vref约为1.25V,且温度系数(TC)低于20ppm/°C的带隙基准电路。我们将使用HSPICE进行晶体管级的电路性能仿真与优化,并在Cadence Virtuoso中完成最终的原理图输入、版图绘制以及物理验证。
2. 核心架构选型与理论计算
2.1 为什么选择Brokaw Cell结构?
带隙基准的核心思想,是利用一个具有正温度系数的电压(通常是ΔVBE)与一个具有负温度系数的电压(通常是VBE)进行加权求和,从而得到一个零温度系数的基准电压。实现这一思想的电路结构有多种,比如经典的Widlar结构、运用运放的反馈结构等。在本项目中,我选择了Brokaw Cell结构,原因有以下几点:
- 结构相对简洁,易于分析:Brokaw Cell的核心是一个由双极晶体管(BJT)和电阻构成的负反馈环路,其工作原理直观,关键参数(如电阻比值、晶体管面积比)与输出电压的关系明确,非常适合教学和入门级设计。
- 对运放性能要求相对宽松:虽然它内部也包含一个运放(通常用简单的差分对实现),但其环路增益要求不像一些精密结构那么苛刻,更容易在有限的功耗和面积下实现稳定。
- 在CMOS工艺中实现成熟:现代CMOS工艺通常都会提供寄生PNP或NPN晶体管(作为工艺监测器件),虽然其性能(如β值)远不如标准BJT工艺,但用于构建Brokaw Cell已经足够。这是CMOS工艺中实现带隙基准最常用的方法之一。
注意:在深亚微米CMOS工艺中,这些寄生BJT的模型参数(如饱和电流IS、β值)可能随工艺角漂移较大,这是设计高精度基准时需要重点考虑和仿真的部分。
2.2 关键参数的理论推导与初步计算
我们以最经典的、利用两个发射极面积不同的BJT(Q1和Q2,面积比为1:N)来产生ΔVBE的Brokaw Cell为例。其简化原理图包含一个运放(强制其两个输入端电压相等,即VX = VY)、两个BJT、以及几个电阻R1和R2。
假设运放是理想的,那么流过R1的电流I1等于流过R2的电流I2。我们可以推导出: ΔVBE = VBE1 - VBE2 = VT * ln(N), 其中VT = kT/q是热电压(约26mV @300K)。 这个ΔVBE出现在电阻R2两端。因此,电流 I = ΔVBE / R2。 而输出电压Vref出现在某个BJT的VBE(负温度系数)加上电阻R1两端的电压(正温度系数)上。经过推导,最终的表达式通常为: Vref = VBE + (R1/R2) * VT * ln(N)
为了使Vref在某一温度点(如27°C)达到零温度系数,我们需要选择合适的电阻比值(R1/R2)和晶体管面积比N。
实操计算示例: 假设我们采用某180nm CMOS工艺,其寄生PNP的VBE在27°C、特定偏置下约为0.75V,温度系数约为-2mV/°C。VT在27°C时为25.85mV,其温度系数为+0.085mV/°C(因为VT与绝对温度T成正比)。 我们希望Vref约等于硅的带隙电压1.25V。那么: 1.25V ≈ 0.75V + (R1/R2) * 0.02585V * ln(N) => (R1/R2) * ln(N) ≈ (1.25 - 0.75) / 0.02585 ≈ 19.34
这是一个约束方程。我们可以先选定一个方便的N值,比如N=8(ln(8)≈2.079),那么: R1/R2 ≈ 19.34 / 2.079 ≈ 9.3 我们可以初步选择R1=93kΩ, R2=10kΩ。这样,我们就得到了电路参数的初始值。这些值将在后续的HSPICE仿真中进行精细调整。
心得:理论计算只是提供了一个起点。实际设计中,BJT的VBE值、电阻的绝对值和温度系数都会受到工艺偏差的影响。因此,理论计算的目标是让电路进入“大致正确”的工作区间,真正的优化必须依靠包含工艺模型的仿真。
3. HSPICE仿真:从DC分析到蒙特卡洛
拿到工艺库的模型文件(.lib或.scs)后,我们的主战场就转移到了HSPICE。HSPICE仿真的核心目标是:在理想的电路拓扑上,验证功能、优化参数、并评估其在工艺偏差和温度变化下的鲁棒性。
3.1 网表编写与基础DC仿真
首先,我们需要将设计好的Brokaw Cell电路转化为HSPICE网表。这包括定义电源VDD(3.3V)、地VSS、调用工艺库中的BJT和MOSFET模型、实例化所有器件并连接。
一个关键的起步点是确保电路能正常启动并建立稳定的工作点。我会先做一个简单的**.OP直流工作点分析**,在室温(27°C)下运行。查看所有晶体管是否工作在饱和区(对于MOSFET)或正向放大区(对于BJT),运放的输入对管是否平衡,输出电压Vref是否在1.25V附近。
如果电路无法启动(比如输出为0或VDD),最常见的原因是启动电路(Start-up Circuit)缺失或失效。带隙基准电路通常存在两个稳定工作点:一个是期望的正常工作点,另一个是零电流的“简并”点。启动电路的作用就是在上电瞬间,将电路“踢”出简并点,引导至正常工作点。在网表中加入一个简单的启动电路(例如,一个由电容和电阻构成的脉冲注入电路)后,再次进行.OP分析。
3.2 温度扫描与系数优化
电路能正常工作后,下一步就是进行**.DC TEMP温度扫描**。这是带隙基准设计的核心仿真。我会让温度从-40°C扫到125°C,步长可以是5°C或10°C。
仿真完成后,绘制Vref随温度变化的曲线。最初的曲线很可能是一个“笑脸”或“哭脸”形状,即在中温点有极值,但在高温和低温端偏离较大。我们的目标是通过微调电阻比值(主要是R1/R2)和/或晶体管面积比N,将这个曲线的曲率压平,使其在整个温度范围内尽可能平坦。
优化过程实录:
- 在HSPICE中,可以将关键电阻设为变量,例如
R1=‘R1_val’,R2=‘R2_val’。 - 使用
.PARAM语句定义这些变量,并利用.STEP命令进行参数扫描。例如:.STEP PARAM R1_val LIST 80k 90k 93k 100k 110k。 - 对每一个参数组合,运行一次温度扫描,观察Vref的波动范围。
- 定义一个衡量指标,比如“温度系数(TC)”,计算公式为:
TC = (max(Vref) - min(Vref)) / (Vref_nom * (T_max - T_min)),单位是ppm/°C。我们的目标是让这个值最小化。 - 经过几轮迭代,我发现将R1微调到96.5kΩ, R2保持10kΩ, N调整为9时,在TT工艺角下,Vref在-40°C到125°C范围内的变化小于4mV,计算出的TC约为15ppm/°C,达到了设计目标。
踩坑提醒:优化时不要只盯着TT corner。要时刻记得,电阻和BJT的参数在其他工艺角(FF, SS, FS, SF)下会变化。最好在优化初期,就偶尔跑一下其他工艺角的温度扫描,确保你的优化方向不会在某个角落导致电路彻底失效(比如运放失调过大导致环路锁定错误)。
3.3 工艺角仿真与蒙特卡洛分析
基础性能达标后,必须进行鲁棒性验证。这包括两部分:
1. 工艺角(Corner)仿真: 使用.LIB语句调用不同工艺角的模型文件,例如TT,FF,SS,FS,SF。对每一个工艺角,重复进行温度扫描。我需要观察:
- 在所有工艺角下,电路是否都能正常启动和工作?
- 输出电压Vref的绝对值偏差有多大?例如,在TT角下是1.250V,在FF角可能变成1.235V,在SS角变成1.265V。这个偏差(通常几十mV)就是由于工艺波动引起的。
- 不同工艺角下的温度系数TC是否依然可控?
2. 蒙特卡洛(Monte Carlo)分析: 这模拟了芯片内部由于制造随机波动(如掺杂浓度、线宽细微变化)导致的器件失配。对于带隙基准,运放输入对的失调电压(Vos)、BJT的失配、电阻的失配都会直接影响输出电压的精度。 在HSPICE中,需要模型文件支持蒙特卡洛模型。使用.TEMP 27在常温下,运行.TRAN或.DC分析,并加上SWEEP MONTE=1000选项,进行1000次随机抽样仿真。
仿真结束后,统计Vref的均值和标准差(σ)。一个良好的设计,其Vref的3σ偏差应该小于总指标的1%(例如,小于12.5mV)。在我的这次设计中,蒙特卡洛分析显示Vref的3σ偏差约为10mV,满足要求。
核心技巧:蒙特卡洛分析非常耗时。在初期调试时,可以先跑50-100次看看大致分布。在最终验证时,再增加次数到500-1000次。同时,要仔细查看最坏情况下的几次仿真结果,分析是哪个器件的失配导致了极端偏差,这能为版图设计时的匹配布局提供关键指导。
4. 在Cadence Virtuoso中实现全流程设计
仿真验证通过后,我们就进入了物理实现阶段,也就是版图设计。这是将电路思想转化为实际可制造芯片的关键一步,也是在Virtuoso平台上的核心工作。
4.1 原理图输入与电路符号创建
首先,在Cadence Virtuoso的“Schematic Editor”中,根据HSPICE仿真确定的最终参数,绘制带隙基准电路的原理图。这个过程与画电路图类似,需要从工艺库的“Part Library”中调取实际的MOSFET、BJT、电阻、电容等器件。
- 器件参数化:对于电阻、MOS管的宽长比(W/L)等参数,不要直接填数字,而是使用“CDF参数”(如
w,l,m)。这样在后续需要调整时,只需修改CDF参数,版图关联的器件会自动更新。 - 创建Cellview:绘制完原理图后,为其创建一个对应的“Symbol”。这个Symbol就像一个黑盒子,定义了输入输出端口,方便在更大的系统(比如一个电源管理模块)中被调用。
- Check and Save:务必使用“Check”功能检查电气连接错误,然后保存。
4.2 版图绘制:匹配、对称与寄生控制
版图设计是艺术与工程的结合。对于模拟电路,尤其是基准源,版图质量直接决定性能。在Virtuoso的“Layout Editor”中,我们需要遵循几个黄金法则:
1. 器件匹配:
- BJT匹配:产生ΔVBE的两个BJT(Q1和Q2,面积比1:N)必须严格匹配。应采用共质心(Common Centroid)结构。例如,如果N=8,可以将Q2拆分成8个完全相同的单元,与Q1的单元交叉排列,形成如“ABABABAB”或更复杂的二维阵列,以抵消工艺梯度的影响。
- 电阻匹配:电阻R1和R2的比值至关重要。应使用同一种类型的电阻材料(如高阻多晶硅),将它们并排放置,方向一致,并放置在相同的环境(远离功率器件等热源)。对于需要高精度比例的情况,可以采用“单位电阻串联”的方法,即R1和R2都由多个相同的单位电阻串联而成。
- 差分对匹配:运放中的输入差分对MOS管必须采用共质心、交叉耦合(Interdigitated)的版图,并将它们的源极和漏极合并,以最大程度减少失配。
2. 对称性: 整个带隙基准的核心部分应尽可能布局对称。电源线、地线从两侧对称接入。这有助于减少由于电压降(IR Drop)和热梯度引入的系统性误差。
3. 寄生参数控制:
- 敏感节点保护:运放的两个输入端、BJT的基极等是高阻抗敏感节点,必须用上层金属(如Metal3)走线,并用地线或电源线(Guard Ring)包围进行屏蔽,防止衬底噪声耦合。
- 电源/地线宽度:提供充足的电流路径,避免因线电阻导致工作点偏移。可以使用“Calculate->R via Sheet”工具估算金属线的电阻。
4. 添加Dummy器件: 在匹配器件阵列的边缘,必须添加与功能器件结构完全相同但不连接的Dummy器件。这是为了确保所有功能器件在光刻和刻蚀过程中经历完全相同的物理环境,保证匹配性。
4.3 DRC与LVS验证
版图绘制完成后,绝对不能直接交付。必须通过物理验证。
1. DRC(设计规则检查): 运行DRC,检查版图是否符合晶圆厂制定的最小线宽、最小间距、最小包围等几何规则。任何DRC错误都必须修正,否则芯片无法制造。Virtuoso集成的验证工具(如Assura或Pegasus)会清晰地标出错误位置。
2. LVS(版图与原理图一致性检查): 这是最关键的一步。LVS工具会提取版图的电气连接网表,并与你绘制的原理图网表进行比较。它要确保:
- 所有器件类型一致(NMOS对NMOS, PNP对PNP)。
- 所有器件的连接关系一致。
- 所有器件的参数(如MOS管的W/L, 电阻阻值)在容差范围内一致。 只有LVS显示“NETS ARE EQUIVALENT”,才证明你的版图正确地实现了电路功能。
避坑指南:LVS报错时,最常见的难点在于“软连接”(比如衬底连接)。在原理图中,PMOS的衬底通常接VDD, NMOS的衬底接VSS,但在版图中,这些连接是通过“Tap”或“Well Tap”器件实现的。必须确保版图中这些Tap器件的连接与原理图中的全局声明一致。仔细阅读LVS报告文件,从第一个错误开始排查,往往能顺藤摸瓜解决一系列问题。
5. 后仿真与性能确认
通过了DRC和LVS,我们得到了一个“物理正确”的版图。但它的电性能如何?由于版图引入了寄生电阻(金属连线电阻)、寄生电容(金属间和金属对衬底电容)以及可能的寄生二极管,电路性能肯定会与之前的“前仿真”(仅基于理想器件模型)有差异。因此,必须进行“后仿真”(Post-layout Simulation)。
5.1 寄生参数提取
在Virtuoso中,使用PEX(寄生参数提取)工具,对完成的版图进行提取。工具会根据工艺文件,计算出每段金属线的电阻(R)、线与线之间、线与衬底之间的电容(C)。提取模式通常有三种:
- RC:只提取寄生电阻和电容,最常用。
- CC:只提取寄生电容。
- RCC:提取电阻和耦合电容。
- RCC+K:最全面,提取R、C并考虑电感效应,用于高频电路,对于带隙基准这种低频电路通常不需要。
提取完成后,会生成一个包含了所有原始器件和寄生RC元件的新的SPICE网表。
5.2 后仿真流程与结果分析
将这个提取后的网表(通常是一个.pex.sp文件)导入HSPICE或直接在Virtuoso的ADE环境中进行仿真。重复前仿真时做过的所有关键分析:
- DC工作点分析:检查电路是否仍能正常启动,工作点是否有显著偏移。
- 温度扫描:这是重点。观察引入寄生后,Vref的温度曲线形状是否改变,温度系数是否恶化。通常,寄生效应会导致性能轻微下降,例如TC从15ppm/°C变为18ppm/°C。只要在可接受范围内即可。
- 瞬态启动仿真:进行一个
.TRAN仿真,观察上电过程中,输出电压建立到稳定的过程。寄生电容可能会略微影响启动时间,并可能引入微小的过冲或振铃。需要确保启动过程平稳,无持续振荡。 - 电源抑制比(PSRR)仿真:在电源VDD上叠加一个小的交流扰动(如1V振幅, 频率从1Hz扫到1MHz),观察输出Vref对这个扰动的抑制能力。良好的PSRR是基准源抵抗电源噪声的关键。后仿真中的PSRR在中低频段可能会因为寄生效应而略有下降。
后仿真结果处理: 将后仿真的结果(如Vref vs. Temp曲线)与前仿真的结果绘制在同一张图中进行对比。两者的差异直观地反映了版图寄生带来的影响。如果性能恶化严重(比如TC超标超过50%),就需要回溯版图,检查是否在敏感节点引入了过大的寄生电容,或者电源/地线电阻过大导致局部电压差。
6. 常见设计陷阱与调试心得
在整个设计流程中,我遇到了不少典型问题,这里总结出来,希望能帮你绕过这些坑。
6.1 电路无法启动或锁定在错误状态
现象:DC仿真显示输出为0或VDD,所有管子电流为0或极大。排查:
- 检查启动电路:这是首要怀疑对象。确保启动电路能在上电后提供一个有效的触发脉冲,并在电路正常工作后完全关断(避免引入额外的功耗和误差)。可以用瞬态仿真仔细查看启动瞬间各节点的电压波形。
- 检查运放环路极性:这是最隐蔽的错误之一。运放的正负输入端是否接反?如果接反,负反馈会变成正反馈,电路会迅速饱和到电源轨。仔细核对原理图。
- 初始条件设置:在
.TRAN仿真中,尝试为某些关键节点(如运放输出端)设置一个非零的初始条件(.IC),帮助电路跳出简并点。
6.2 温度曲线呈“S”形或曲率过大
现象:温度扫描曲线不是平滑的抛物线,而是在高温或低温端出现拐点。排查:
- BJT模型的高注入效应:当电流密度过大时,BJT的VBE与电流的对数关系会偏离理想公式。这通常发生在高温下。解决方法是减小流经BJT的电流,或增大BJT的发射极面积。
- 电阻的温度系数(TCR):我们之前的计算假设电阻是理想的。实际上,不同材料(多晶硅、扩散层等)的电阻具有不同的TCR(可能是正也可能是负)。如果电路中使用了TCR差异很大的电阻,就会引入额外的非线性。尽量使用同一种类型、TCR已知且稳定的电阻。
- 运放失调电压的温度依赖性:运放的输入失调电压Vos本身也是温度的函数。在高精度设计中,需要选择或设计Vos及其温漂足够小的运放结构。
6.3 蒙特卡洛仿真结果分散度大
现象:输出电压Vref的3σ范围远超预期。排查:
- 定位主要失配源:在HSPICE的蒙特卡洛输出中,可以查看每次运行的器件参数。分析那些导致Vref极端值的样本,看是哪个器件(通常是运放输入对管或产生ΔVBE的BJT对)的参数偏离最大。这直接指明了版图中需要重点加强匹配的部位。
- 增大器件面积:根据Pelgrom模型,器件的失配标准差与其面积的平方根成反比。适当增大关键匹配器件的面积,是降低随机失配最有效的方法,当然这会增加芯片面积。
- 优化版图匹配结构:回顾版图,检查是否严格采用了共质心、交叉耦合等匹配布局技术,Dummy器件是否添加完整。
6.4 后仿真性能严重恶化
现象:前仿真性能良好,后仿真各项指标大幅下降。排查:
- 检查敏感节点寄生:使用PEX提取的报告,查看运放输入端、BJT基极等关键节点对地的寄生电容大小。如果这个电容比设计时预估的大很多(比如从几fF变成了上百fF),可能会影响环路稳定性或频率响应。需要在版图中优化走线,用更上层、间距更宽的金属,并加强屏蔽。
- 检查电源/地网络电阻:提取出的电源/地线电阻可能导致芯片内部不同区域的电压与焊盘处有差异。确保电源/地线足够宽,并在版图中多打一些通孔(Via)以减小电阻。
- 耦合噪声:检查是否有高频或大摆幅的信号线(如时钟线)靠近了基准电路的敏感部分。在后仿真的瞬态分析中,可以注入一些噪声来测试抗干扰能力。在版图中,增加保护环(Guard Ring)和保持足够间距是有效的隔离手段。
整个带隙基准电路的设计,是一个不断在理论、仿真和物理实现之间迭代和权衡的过程。HSPICE给了我们一个强大的虚拟实验室,让我们能在流片前穷尽各种可能性;而Cadence Virtuoso则将我们的设计锚定在物理现实之中,迫使我们去考虑匹配、寄生和制造偏差。当后仿真的曲线与前仿真最终吻合,并且满足所有规格要求时,那种成就感是对所有繁琐工作的最好回报。最后再分享一个小技巧:建立一个详细的仿真检查清单(Checklist),把每一项需要仿真的项目(DC OP, Temp Sweep, Corner, MC, PSRR, Noise, Startup等)和达标标准都列出来,每完成一项就打一个勾,这样可以极大避免遗漏,让设计流程变得清晰且可靠。