多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

栅压自举电路设计:原理、实现与高速高精度开关电容应用

栅压自举电路设计:原理、实现与高速高精度开关电容应用 1. 项目概述为什么我们需要“栅压自举”在模拟集成电路设计尤其是高速、高精度开关电容电路和采样保持电路中我们经常会遇到一个棘手的问题MOS开关的导通电阻Ron会随着输入信号电压的变化而显著变化。这种非线性电阻会引入信号失真尤其是在处理大摆幅信号时严重影响电路的线性度和精度。想象一下你用一个水龙头控制水流但这个水龙头的开度不仅取决于你拧的圈数还取决于水管里的水压本身这显然无法实现精确的流量控制。“栅压自举电路”就是为了解决这个问题而生的。它的核心思想非常巧妙让驱动MOS开关的栅极电压Vgs跟随输入信号Vin同步“抬升”从而保持Vgs恒定。这样一来无论输入信号是高是低MOS开关的Vgs都保持不变其导通电阻Ron也就基本恒定实现了近乎理想的线性开关特性。这个“抬升”的动作就像给栅极电压“穿”上了一双会根据地面高度自动调节的“弹簧鞋”无论输入信号这个“地面”如何起伏栅源电压差始终保持在同一舒适的高度。这个电路结构虽然不复杂但其中的时序控制、电荷注入、时钟馈通等细节却处处是“坑”。今天我就结合自己流片调试中的实际经验把这个经典电路掰开揉碎了讲清楚。2. 电路整体设计与核心思路拆解2.1 核心目标恒定Vgs的数学与物理意义要理解栅压自举首先要明白MOS管作为开关时的行为。对于一个NMOS管当其作为传输门Pass Gate时源极S接输入信号Vin。为了使它充分导通我们需要在栅极G施加一个足够高的电压Vg确保Vgs Vth阈值电压。在传统驱动中Vg通常是一个固定的高电平比如VDD。这时Vgs VDD - Vin。问题来了当Vin较低时例如0VVgs很大Ron很小当Vin升高接近VDD时Vgs可能仅略高于VthRon急剧增大。这种变化的Ron就像一个非线性电阻会导致信号通过时产生谐波失真。栅压自举电路的解决方案是Vg Vin Vboot。其中Vboot是一个恒定的电压通常设计为略高于VDD以确保开关在工艺角变化下仍能可靠导通。这样Vgs (Vin Vboot) - Vin Vboot一个恒定值Ron因此也基本恒定。这个“Vboot”就是我们需要“自举”产生的那个恒定电压差。2.2 经典电路架构与工作阶段一个最基础、最经典的栅压自举电路由以下几个部分组成一个自举电容Cboot几个控制开关通常用MOS管实现以及为电容充电的电源。其工作通常分为两个非重叠的时钟相位充电相位预充电相位和自举相位工作相位。充电相位CLK0此时主开关管NMOS关断。自举电容Cboot的一端称为底板被连接到电源VDD或一个参考电压Vref另一端称为顶板被连接到一个固定的偏置电压Vbias通常为VDD或GND取决于具体设计。在这个阶段电容Cboot被充电其两端电压差被初始化为一个确定的值例如VDD。自举相位CLK1此时电路需要导通主开关管。控制逻辑切换电容的底板从VDD断开转而连接到变化的输入信号Vin电容的顶板从Vbias断开转而连接到主开关管的栅极。由于电容两端的电压差在瞬间不能突变当底板电位变为Vin时顶板电位就会变为Vin VDD假设充电相位两端电压差为VDD。这样我们就得到了Vg Vin VDD实现了Vgs VDD恒定的目标。注意这里描述的是一个概念模型。实际电路中为了防止高压击穿顶板初始连接的Vbias可能不是GND底板连接的也可能是VDD-Vth等以确保所有管子都工作在安全电压范围内。Vboot的具体值VDD, VDD-Vth, 或一个内部产生的恒定电压需要根据工艺和可靠性要求精心设计。2.3 方案选型考量为什么是这种结构你可能会问为什么不用一个理想的电压源跟随器直接产生VgVinVboot原因在于速度和功耗。在高速采样中输入信号Vin是快速变化的要求Vg也能无延迟地跟随。用运放构成的跟随器其带宽和压摆率可能成为瓶颈且功耗较大。而电容耦合的方式本质上是“无源”的只要开关速度足够快它能近乎瞬时地将底板电压的变化传递到顶板响应速度极快功耗也主要来自开关的切换和电容的充放电。另一种思路是使用电荷泵但电荷泵通常用于产生固定的高电压难以实现动态跟随。因此“电容储能开关切换”的栅压自举架构在速度、功耗和实现复杂度上取得了最佳平衡成为高速高精度电路中的标配。3. 核心细节解析与实操要点3.1 自举电容Cboot的设计并非越大越好自举电容是电路的核心储能元件其值的选择至关重要。电容值的下限它必须足够大以抵消在自举相位期间的各种电荷损失。这些损失包括主开关管栅极的寄生电容Cg在自举相位你需要将主开关管的栅极电压从低电平抬升到高电平VinVboot这需要电荷 Q1 Cg * (Vboot)。顶板开关的电荷注入与时钟馈通控制顶板连接路径的开关在关断时会向顶板注入电荷Charge Injection并通过寄生电容耦合时钟跳变Clock Feedthrough。底板开关的电荷共享当底板从VDD切换到Vin时节点上存在的寄生电容会与Cboot发生电荷共享导致电压损失。栅极漏电在自举相位主开关管栅极处于高电压存在亚阈值漏电或隧穿漏电会缓慢拉低电压。如果Cboot太小这些电荷“窃取”效应会导致实际的Vboot下降尤其在高温或长时间保持时。一个经验法则是Cboot至少应该是主开关管栅电容Cg的10倍以上通常取20-50倍以留足裕度。你可以通过仿真在工艺角、温度、输入信号频率变化下观察Vboot的压降是否在可接受范围内例如下降小于1% Vboot来确定最小值。电容值的上限Cboot越大电压稳定性越好但代价是面积片上电容如MIM电容、MOS电容非常消耗面积。驱动负担在充电相位你需要用开关管将Cboot从低电压充电到目标电压。Cboot越大充电电流越大要求充电开关管的尺寸也越大否则充电速度慢可能导致在高速时钟下充电不充分。更大的开关也带来更大的寄生电容和电荷注入。功耗每个周期都要对Cboot进行充放电其动态功耗为 P Cboot * Vboot^2 * fclk。Cboot过大会显著增加系统功耗。实操心得在我的一个12位精度、100MS/s的采样保持电路设计中主开关管栅电容约为5fF。我最初选择了Cboot200fF40倍。后仿真发现在SS工艺角、125°C下在自举相位末期Vboot有约3%的衰减影响了线性度。将Cboot增加到300fF后衰减控制在1%以内但面积增加了50%。最终通过优化开关时序和采用电荷补偿技术在Cboot250fF时达到了性能与面积的平衡。记住要在仿真中扫遍所有工艺角TT, FF, SS, FS, SF和温度-40°C, 27°C, 125°C观察最坏情况下的表现。3.2 开关时序设计非重叠时钟与死区时间栅压自举电路中的所有开关都必须由精确的非重叠时钟控制。绝对不能出现“直通”现象即充电路径和自举路径同时导通这会导致VDD直接短路到信号通路或者电荷被错误地转移。非重叠时钟生成你需要生成两相主时钟CLK和CLKB反相并用简单的逻辑门如与非门、反相器加延迟产生两相互不重叠的控制信号Φ1和Φ2。Φ1控制充电相位的开关Φ2控制自举相位的开关。死区时间Dead TimeΦ1和Φ2之间必须有一段两者都为低电平的时间即死区时间。这个时间要足够长以确保所有开关都能完全关断避免直通但又不能太长否则会减少有效的充电或自举时间。死区时间通常由反相器链的延迟来设定。开关管类型选择控制Cboot底板和顶板连接的开关其源/漏极电压摆幅很大。例如底板开关的一端接VDD另一端接Vin可能从0到VDD变化。这要求开关管必须能传输全摆幅信号而不引入大的阈值损失。因此常采用传输门TG即PMOS和NMOS并联来实现这些开关以确保在高低电平都能低阻导通。注意事项仿真时务必提取时钟产生电路的网表进行联合仿真Transient仿真。用理想的CLK和CLKB驱动与用实际反相器链产生的Φ1/Φ2驱动电路性能可能有差异。要检查在时钟边沿是否存在因开关速度不一致导致的瞬间直通电流尖峰。3.3 电荷注入与时钟馈通的抑制这是栅压自举电路乃至所有开关电容电路中最令人头疼的非理想效应之一。电荷注入当控制开关比如一个NMOS管关断时沟道中的电荷需要被扫出。这些电荷会同时流向源和漏两个节点。如果开关连接的是敏感的高阻节点如Cboot的顶板、主开关的栅极注入的电荷就会扰动该节点的电压造成误差。对于栅压自举电路顶板开关的电荷注入会直接改变Vboot的值。时钟馈通通过开关管的栅-源/漏覆盖电容Cgd/Cgs时钟信号的跳变会耦合到源/漏端。这也是一种电压扰动。常用的抑制技术差分结构这是最有效的方法。设计一个完全对称的差分自举电路电荷注入和时钟馈通作为共模噪声出现在后续的差分处理中可以被大幅抑制。虚拟开关Dummy Switch在敏感节点旁增加一个尺寸减半、时钟信号反相的开关管。主开关关断时注入电荷虚拟开关则同时开启试图注入相反的电荷来抵消。这种方法对工艺匹配度要求高且只能抵消一部分常用于精度要求不极高的场合。底板采样在采样保持电路中一种更优的架构是让自举开关的底板连接采样电容的顶板即信号节点而让顶板连接一个固定的电压。这样开关的电荷注入主要发生在固定的顶板侧对信号节点的影响较小。但这需要调整整个电路的时序和结构。减小开关尺寸在满足速度要求的前提下尽可能使用小尺寸的开关管以减少沟道电荷总量。但这会增加开关的导通电阻需要权衡。实操心得在一次设计迭代中我发现电路在低频下性能很好但输入信号频率超过10MHz后SFDR无杂散动态范围急剧恶化。通过瞬态仿真仔细查看波形发现是控制Cboot顶板的NMOS开关在关断时其电荷注入量随着输入信号Vin变化而轻微变化因为源端电压Vin在变引入了非线性。后来改用了一个小尺寸的传输门PMOS/NMOS并联替代单一的NMOS并将该开关的驱动时钟边沿特意放缓用一个RC电路或长链反相器虽然略微增加了切换时间但显著平滑了电荷注入过程高频SFDR提升了15dB以上。4. 一个完整的CMOS栅压自举电路实现与仿真4.1 电路原理图与器件参数让我们以一个用于采样保持电路输入级的简单NMOS栅压自举开关为例勾勒其具体实现。假设电源电压VDD1.8V输入信号Vin范围0-1.8V目标Vboot1.8V即VgVin1.8V。主开关管MpassNMOS W/L 根据Ron要求设计例如需要Ron100Ω则可设计为W/L10u/0.18u。自举电容CbootMIM电容 值200fF。充电开关M1, M2M1PMOS源极接VDD漏极接Cboot底板栅极接充电相位控制信号Φ_precharge低有效。尺寸中等保证充电速度。M2NMOS源极接Cboot顶板漏极接GND作为初始偏置Vbias0V栅极接Φ_precharge高有效。尺寸较小仅用于建立初始偏置。自举开关M3, M4M3传输门TG1连接Cboot底板和输入信号Vin。由Φ_bootstrap控制。需要传输全摆幅信号故用PMOS和NMOS并联。M4传输门TG2连接Cboot顶板和主开关Mpass的栅极。由Φ_bootstrap控制。这是最关键的一路也必须用传输门。栅极放电开关M5可选但推荐NMOS源极接GND漏极接Mpass栅极栅极接Φ_precharge。在充电相位将Mpass的栅极拉低至GND确保其可靠关断避免漏电。控制信号Φ_precharge和Φ_bootstrap由非重叠时钟发生器产生且Φ_precharge为高时Φ_bootstrap必须为低死区时间。4.2 关键仿真波形与解读在Cadence Virtuoso或类似工具中搭建电路进行瞬态仿真。建立时序首先验证非重叠时钟。观察Φ_precharge和Φ_bootstrap确保无重叠且死区时间合理例如100ps。充电相位观察当Φ_precharge有效时Cboot底板应被充电至VDD1.8V顶板应被放电至GND0V。测量Cboot两端电压差应为1.8V。同时Mpass栅极电压应为0V通过M5。自举相位观察当Φ_bootstrap有效时输入一个正弦波Vin如1MHz 0.9V±0.5V。关键点1Cboot底板电压。它应该从1.8V跳变到Vin并紧随Vin变化。关键点2Cboot顶板电压即Mpass栅压Vg。它应该从0V跳变到Vin1.8V并紧随Vin1.8V变化。用计算器功能绘制Vgs Vg - Vin这条线应该是一条平坦的直线高度为1.8V。任何波动或倾斜都意味着自举不理想。关键点3Mpass的漏极电流若接负载或输出电压。观察信号通过开关后的失真情况。性能仿真导通电阻Ron在自举相位对Mpass进行DC扫描设置Vds为一个很小的值如1mV扫描Vin从0到VDD观察其导通电流Ids。Ron Vds / Ids。理想的曲线应该非常平坦。频谱分析将电路嵌入一个简单的采样保持电路或开关电容积分器中输入一个满幅度的单频正弦波做瞬态仿真后做FFT。观察输出信号的THD总谐波失真或SFDR。这是衡量自举电路线性度改善效果的终极指标。4.3 版图设计注意事项栅压自举电路的版图对性能影响巨大。电容匹配与对称如果采用差分结构Cboot必须使用共质心Common-Centroid等匹配布局技术以抵消工艺梯度影响。寄生电容最小化Cboot的顶板节点是超敏感的高阻节点。连接到这个节点的所有导线到TG2到M2的漏极必须尽可能短并用高层金属布线以减少对衬底的寄生电容。任何额外的寄生电容都会与Cboot分压降低有效的Vboot。开关管的布局传输门中的PMOS和NMOS应靠近放置并用多指Multi-finger结构以减少栅电阻和寄生电容。驱动这些开关的时钟信号线要足够宽以减少RC延迟确保开关动作同步。隔离与保护自举产生的电压Vg可能高于VDD例如Vin高时Vg≈2*VDD。要确保承载这个高电压的管子如Mpass TG2的管子其漏/源到衬底的PN结不会正偏必要时使用厚栅氧器件或特殊的IO器件。高电压节点周围要做好隔离防止击穿或漏电到低电压区域。5. 常见问题、调试技巧与进阶优化5.1 问题排查速查表现象可能原因排查思路与解决方法Vgs不恒定随Vin下降1. Cboot值太小。2. 充电不充分充电开关尺寸小或充电时间短。3. 栅极漏电严重。1. 增大Cboot仿真看改善。2. 检查充电相位时长和充电开关的Ron确保在充电相位结束前Cboot电压已稳定到目标值。3. 检查高温下的漏电仿真考虑使用泄漏更小的工艺选项或调整偏置。Vgs出现台阶或毛刺1. 时钟非重叠时间不足开关直通。2. 电荷注入和时钟馈通影响大。3. 控制信号路径延迟不一致。1. 增加非重叠时钟的死区时间。2. 采用虚拟开关、差分结构或放缓关键开关的时钟边沿。3. 检查版图确保到各个开关的时钟线长度匹配。高频输入信号下性能恶化1. 自举开关TG1/TG2带宽不足无法跟踪高速Vin。2. 寄生电容导致Vboot随频率下降。1. 适当增大自举开关的尺寸但会增大电荷注入或优化其驱动强度。2. 重新评估Cboot与寄生电容的比例可能需要增大Cboot。检查顶板节点的总寄生。电路启动或工艺角变化时失效1. Vboot值在工艺角下可能不足如Vth变高。2. 时钟幅度在工艺角下不足。1. 设计Vboot时留足裕量例如使用一个内部产生的、高于VDD的稳定电压作为充电目标而不是直接用VDD。2. 确保时钟缓冲器在所有工艺角下都能输出满摆幅。功耗过大1. Cboot值过大。2. 开关尺寸过大时钟负载重。3. 时钟频率过高。1. 在满足性能前提下优化减小Cboot。2. 根据速度要求折衷选择开关尺寸。3. 评估系统是否必须使用如此高的时钟频率。5.2 进阶优化技巧低压自举在深亚微米工艺中为了器件可靠性栅氧厚度很薄无法承受VgVinVDD的高压可能超过额定电压。此时可以采用低压自举即让Vboot等于一个低于VDD的恒定电压Vcas如1.2V。只要Vcas足够使开关管导通且Ron变化在可接受范围内即可。这需要额外产生一个稳定的Vcas电压。全差分自举与共模反馈对于高精度ADC的采样保持电路全差分结构是必须的。两个支路的自举电路要完全对称。此外主开关管栅极在自举相位被抬升到高共模电压可能需要一个简单的共模反馈电路来稳定这个高共模点防止其漂移。Bootstrapped Switch with Hold Capacitor在一些需要长时间保持栅压的应用中如栅压自举的运算放大器输入对管会在自举电容和栅极之间加入一个较大的保持电容并由一个高阻开关如MOS管工作在亚阈值区连接以减小漏电影响延长保持时间。最后一点个人体会栅压自举电路是模拟电路设计中“细节决定成败”的典型代表。第一次设计时可能原理图仿真一切都好但一旦进入后仿甚至流片测试各种非理想效应就会涌现。我的建议是把前仿真的条件设得尽可能苛刻输入信号频率提到系统要求的2倍以上扫遍工艺角和温度加入提取的寄生参数进行后仿真。在版图上把敏感节点当作宝贝一样保护起来。这个电路没有太多高深的理论但极其考验设计者对器件非理想特性、时序和版图寄生效应的理解和把控能力。每一次调试和优化都是对模拟设计基本功的一次锤炼。
返回列表