ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

折叠式共源共栅运放设计实战:Cadence Virtuoso完整流程

折叠式共源共栅运放设计实战:Cadence Virtuoso完整流程 做模拟IC设计的朋友应该都有过这种经历拿到一个运放的指标翻来覆去在套筒式共源共栅和折叠式共源共栅之间纠结最后往往被输出摆幅、共模输入范围逼着选了折叠结构。这次我直接用Cadence Virtuoso在0.18μm工艺下走一遍折叠式共源共栅放大器的完整设计流程从电路结构分析、管子尺寸推导到原理图绘制、仿真调试全程带参数和操作步骤。文章面向正在做课程项目或刚入门模拟IC设计的同学也适合想系统梳理运放设计流程的工程师跟着操作一遍基本就能掌握Virtuoso环境下模拟电路设计的主流工作方式。1. 为什么选折叠式共源共栅而不是套筒式1.1 套筒式和折叠式的核心差异很多教材会把这两种结构放在一起对比。套筒式共源共栅Telescopic Cascode的输入管、共源共栅管在同一条电流路径上堆叠结构简单、功耗低、噪声小增益也容易做高。但它的致命问题是输出摆幅小而且输入共模范围和输出摆幅打架在低电源电压下几乎没法用。0.18μm工艺的标准电源电压是1.8V套筒式结构在这个电压下能分给每层管子的余量非常紧张稍微遇到工艺角偏差就容易把管子压出饱和区。折叠式共源共栅Folded Cascode本质上是用一路额外的电流把输入级的电流“折叠”到共源共栅负载上输入对管和输出支路分开。代价是静态电流翻倍功耗更大但换来了输入共模范围更灵活、输出摆幅更大。在1.8V电源电压下折叠结构可以让每个管子分到大概0.3V到0.4V的过驱动电压余量设计起来从容很多。1.2 0.18μm工艺下的实际取舍0.18μm工艺的MOS管本征增益gmrds大概在20到40之间不算高。要做60dB以上的增益必须靠共源共栅结构把输出阻抗抬起来。折叠式共源共栅的输出阻抗近似为共源共栅管的跨导乘以两管输出阻抗的乘积也就是gmrds^2的量级在0.18μm工艺下能到几百kΩ甚至MΩ级别。只要负载电容不大低频增益做到60dB以上是没问题的。实际选型的时候我会算一笔账如果指标里要求输出摆幅大于1Vpp、增益大于60dB、功耗预算在1mW左右在1.8V工艺下折叠式几乎就是标准答案。反过来如果做的是高速度、低功耗的场合输出摆幅要求不高套筒式可能更合适。说到底不是哪个结构更好而是哪个结构更适合你的约束条件。2. 设计规格与管子尺寸推导2.1 先把指标定下来增益、带宽、功耗设计放大器前定规格是必须的哪怕是自己练手也要定一个明确的目标。这里我设计一个用于SAR ADC前端缓冲的折叠式共源共栅运放指标大概这样电源电压1.8V负载电容2pF直流增益≥60dB单位增益带宽≥50MHz相位裕度≥60°静态功耗≤1mW输出摆幅≥1Vpp功耗1mW意味着总电流约0.55mA。我习惯把尾电流源的电流定为总电流的一半左右剩下的一半分给两条输出支路。折叠结构里输入对管的尾电流I_tail和每条输出支路的电流I_branch加起来等于总电流。比如取I_tail300μA每条支路I_branch125μA总电流就是550μA在1.8V下功耗约0.99mW刚好卡在预算内。2.2 从尾电流到输入对管几个关键公式输入对管的跨导gm直接决定了单位增益带宽GBWGBW gm / (2π * C_L)。目标GBW是50MHzC_L2pF算出来gm≈0.63mA/V。这个值并不大说明设计起来比较轻松。但在实际仿真中如果看到GBW掉了多半是输入对管电流没给够或者负载电容比预期大。跨导公式gm 2 * I_d / V_ovI_d是流过单边输入管的电流V_ov是过驱动电压。输入对管分担尾电流300μA单边就是150μA。取V_ov150mV算得gm2150μA/150mV2mA/VGBW2mA/V/(2π2pF)≈159MHz余量很足。这里我把V_ov定在150mV是考虑0.18μm工艺的电源电压和输出摆幅的折中V_ov太大摆幅不够太小管子容易进亚阈值区工艺角下鲁棒性差。有了跨导和电流可以反推宽长比。0.18μm工艺NMOS的工艺参数μnCox大约在300μA/V²附近用公式gmsqrt(2μnCox(W/L)I_d)反推W/L≈(2mA/V)²/(2300μA/V²*150μA)≈44。我一般取L0.36μm约2倍最小沟道长度兼顾增益和速度W就取16μmW/L≈44。这个尺寸在后续仿真中微调是很正常的。2.3 共源共栅负载和偏置怎么配输出级的负载管用PMOS共源共栅结构提供高输出阻抗。每只管子的过驱动电压也要控制在200mV以内。输出摆幅的计算方式是VDD减去输出支路所有管子的V_ov之和。折叠支路里总共叠了3个管子输入对管、NMOS共源共栅管、PMOS共源共栅管如果每个管子V_ov大约200mV输出摆幅就是1.8-0.61.2V基本满足1Vpp的要求。这里要注意输入对管用的是NMOS还是PMOS折叠点位置会不一样。我习惯用NMOS输入共源共栅负载用PMOS这样输入共模范围更靠近地适合很多传感器信号处理场景。偏置电路用一个简单的电流镜产生偏置电压。PMOS共源共栅管的偏置电压Vbias_p和NMOS共源共栅管的偏置电压Vbias_n分别由电流镜结构产生。为了让共源共栅管工作在饱和区Vbias_n不能太高Vbias_p不能太低具体值要靠DC仿真去调整。很多初学者在这里会忽略一个问题电流镜的管子长度要匹配至少要取到1μm以上否则沟道长度调制效应会让镜像电流偏差很大输出共模点飘掉。3. Virtuoso原理图设计全流程3.1 建立库、Cell和工艺库配置打开Cadence Virtuoso第一步是在CIWCommand Interpreter Window里创建自己的库。选择File → New → Library填入库名比如my_analog_lib。创建库时会提示是否attach到工艺库这里一定要选attach to an existing technology library然后选你加载好的0.18μm PDK库。这一步如果选错后面所有器件都没有工艺参数仿真直接报错。接下来在Library Manager里右键自己的库选择New Cell ViewCell Name填folded_cascode_otaType选schematic打开Schematic Editor。在这里我建议先设置一下显示选项Options → Display把栅格间距调成0.05或0.1方便对齐。连线的时候按I键放置器件按P键放置引脚按C键复制按M键移动这些快捷键必须熟练不然画起来很慢。3.2 逐个摆管子电路连线与符号设计在Schematic Editor中按I键添加器件。0.18μm PDK库中NMOS管和PMOS管通常在analogLib或PDK自带的Primitives目录下名称一般是nch和pch。这里用的是普通阈值管不是厚栅管因为1.8V电压下普通管就够了。摆放顺序我建议从核心环路开始先放输入对管M1、M2再放尾电流管M0然后放折叠支路的PMOS管M3、M4作为折叠点电流源接着放NMOS共源共栅管M5、M6最后放PMOS共源共栅管M7、M8。管子的连接关系M0漏极接M1、M2的源极提供尾电流M1、M2栅极分别接INP、INN漏极接折叠点A、BM3、M4作为折叠电流源源极接VDD漏极接折叠点A、B栅极接Vbias_pM5、M6的源极接折叠点A、B漏极接输出节点OUTP、OUTN栅极接Vbias_nM7、M8的源极接VDD漏极接输出节点OUTP、OUTN栅极接Vbias_p画完原理图后要做一次Check and Save快捷键X确认没有连线错误和悬空引脚。这里有个细节管子的衬底连接不能漏。PMOS的衬底接VDDNMOS的衬底接GNDPDK里默认是sub连接如果不接仿真时会报floating substrate错误。符号Symbol可以从原理图自动生成选择Create → Cellview → From Cellview工具会弹出Symbol Generation Options默认引脚排列可能比较乱建议手动调整一下引脚位置。运放符号一般左边是输入INP、INN右边是输出OUT上面是VDD和Vbias下面是VSS。符号生成后后续搭测试bench直接调用就行。3.3 搭测试bench激励和负载怎么加测试bench不能和原理图放在同一个cell里我习惯单独建一个cell叫tb_folded_cascode。在这里调用刚生成的运放符号加上理想电流源、电压源和负载电容。具体连接方式VDD接1.8V直流电压源VSS接地Vbias_n和Vbias_p先用理想电压源提供初始值后面再换成偏置电路INP接输入信号INN接共模电压或反馈网络这里做开环AC仿真时INN直接接共模电平INP接ac小信号源输出OUT接2pF电容到地电压源的设置在Virtuoso里用vdc和port组件。AC仿真时输入信号用port器件把AC magnitude设为1这样AC扫描的输出幅度就直接等于增益。共模电压取0.9V正好是1.8V电源的一半。4. 仿真调试从DC到AC再到稳定性4.1 DC工作点先让所有管子饱和仿真之前要在ADE L或者新版Virtuoso的ADE Explorer里设置好工艺库和模型。用models文件指定0.18μm PDK的spectre模型通常是xx18.scs或类似的文件名设置时选typicalcorner温度27°C。第一次跑DC仿真先看工作点。仿真完成后在原理图上选择DC Operating Points显示逐个检查每个管子的region参数。在spectre中region2表示饱和区region3表示线性区region0或1表示截止区。设计目标很明确所有管子都要在饱和区。我第一版画完仿真发现M5、M6NMOS共源共栅管的region3说明它们进入了线性区。原因是Vbias_n给的电压太高导致NMOS管的源漏电压太小。解决方法是降低Vbias_n让M5、M6的Vds增大。仿真时我把Vbias_n从1.2V改到1.0VM5、M6的Vds从0.12V升到0.25V管子回到饱和区。这种“调偏置电压”的操作在整个调试过程中会反复出现最好有一个清晰的检查方法打开DC结果按器件查看Vds和Vov确认Vds≥Vov。4.2 AC仿真增益、带宽和相位裕度怎么看DC工作点确认后进行AC仿真在ADE中选择ac分析扫描频率从1Hz到1GHz扫描方式选对数。跑完看输出OUT的幅频曲线和相频曲线。这里我习惯同时显示增益曲线和相位曲线方便直接看单位增益带宽和相位裕度。第一版仿真结果增益约58dB比目标低了一点。单位增益带宽约120MHz超出预期。相位裕度目测65°左右基本达标。但增益还差2dB这个差异可以通过增大输出阻抗来补。我选择加大共源共栅管的L把M5/M6/M7/M8的L从0.36μm加长到0.5μm增益提升到62dB但GBW小幅掉到105MHz仍然高于50MHz目标。这里还发现一个问题AC曲线上出现了轻微的峰包说明Q值偏高与负载电容形成的极点比较靠近。解决方法是稍微增加负载电容到2pF这本来就在指标范围内或者在输出端加一个小电阻来降低Q值。对于缓冲放大器相位裕度才是关键宁可稍微牺牲一点GBW也要保证稳定性。4.3 稳定性与瞬态大信号验证AC仿真里的相位裕度有时会有误导性特别是反馈环路里存在多极点的情况。更可靠的办法是用stb分析。在测试bench中把反馈环路打开INP接输入源INN通过一个大电感和反馈电阻接地然后在环路中用iprobe器件断开环路。选择stb分析扫描1Hz到1GHz直接读出环路增益和相位曲线。这个方法能给出准确的环路相位裕度避免开环AC仿真中因负载效应产生误判。瞬态仿真我设置了两种输入一是小信号阶跃幅度10mV看建时间二是大信号阶跃幅度0.6V看摆率。测量得出上升沿约1.2ns摆率约120V/μs这个值远高于一般SAR ADC缓冲的建立需求。瞬态仿真的另一个重要作用是检查启动过程上电时输出会不会出现反常的过冲震荡偏置电压建立是否平滑。我在第一版就遇到过Vbias_n在启动瞬间冲到1.8V导致输出锁定在地的情况给偏置节点加一个2pF的旁路电容后解决。4.4 Corner和PVT验证别等流片才后悔单点仿真过不代表设计过关。0.18μm工艺在tt corner下的结果和ss、ff corner下差异不小。我用ADE XL建立三个corner的仿真tt/27°C、ss/0°C、ff/100°C同时扫电源电压1.62V、1.8V、1.98V±10%。结果发现增益波动大约±4dBGBW只在ss/0°C时降到82MHz相位裕度最差也在55°以上。这些都是可以接受的结果但如果相位裕度低于45°就得考虑增加尾电流或减小负载管的gm。个人经验工艺角仿真必须在设计早期就建立不要等到版图后再补。因为PVT下漏电流、阈值电压的变化对偏置电路影响非常大早期发现可以及时调整器件尺寸后期改版图代价很高。5. 常见问题与排查技巧实录5.1 常见错误速查表这里把我在设计过程中真实遇到过的问题整理成一个表方便大家排查现象可能原因解决方法输出共模点漂移严重电流镜失配或Vbias_p/bias_n不当检查偏置电流镜各级管子的Vds确保电流匹配GBW明显低于理论值输入对管V_ov偏大或负载电容预估太小检查输入对管DC工作点增大W/L提升gm相位裕度不足输出极点频率与次主极点太近或存在右半平面零点加大负载电容适当减小共源共栅管gm某管子进线性区偏置电压设置错误Vds不够微调对应的Vbias直到所有管子VdsVov瞬态启动时输出锁定偏置电压上电顺序问题或偏置节点无电容在关键偏置节点加去耦电容噪声过大输入对管gm不够或尾电流源噪声贡献大增大输入对管gm用长沟道管子做尾电流源5.2 我踩过的几个坑第一个坑是输入对管的V_ov取太小。初始我为了追求高gm把V_ov压到80mV仿真看起来指标很好但在ss工艺角下管子几乎进入亚阈值区增益剧烈下降。后来我把V_ov调回150mV虽然GBW下降但整个工艺角下表现稳定多了。设计模拟电路一定记住不要卡着某个工艺角的极限去设计裕量一定要留足。第二个坑是偏置电压用理想电压源模拟时一切正常换上实际偏置电路后增益掉了很多。原因是我设计的偏置电流镜输出阻抗不够没有给共源共栅管提供足够稳定的栅压。后来把偏置电路里的管子都改成共源共栅连接输出阻抗上去后问题解决。这个点提醒大家偏置电路不是附属品它直接影响主放大器的性能。第三个坑在版图阶段。0.18μm工艺下的匹配性要求输入对管必须采用叉指结构并添加dummy管共源共栅管的摆放要对称。我第一次画版图时输入对管M1、M2直接各画了一个大管子结果后仿真失调电压达到20mV完全没法用。改成叉指结构并做了common-centroid布局后失调降到2mV以下。版图对称性在高速高精度场景下怎么强调都不为过。5.3 版图阶段的几个注意点版图不是本文的重点但既然标题带“实战”两个字简单提几个关键点输入对管一定要做交叉耦合布局加dummy管保证边缘一致电流镜管和输入对管分开打地避免电源噪声耦合输出节点走线要短寄生电容小否则功耗白花了衬底接触要均匀特别是PMOS和NMOS交接区域防止闩锁效应后仿真一定要做寄生参数对GBW和相位裕度的影响经常让人意外0.18μm工艺的版图规则相对宽松但匹配性和寄生意识必须从现在就养成这是模拟版图的基本功。写在最后我在实际设计中最深的体会是折叠式共源共栅放大器的设计流程虽然套路化但每个环节都有足够多的细节决定成败。从指标分解、尺寸计算、原理图绘制到仿真调试每一步都要坚持“用数据说话”的思维方式。遇到问题先检查工作点再扫参数而不是盲目猜原因。用Cadence Virtuoso做模拟设计最大的好处是可以在流片前把大部分问题暴露出来但这套流程跑得熟不熟决定了你和“把运气当实力”的设计师之间的差距。按这篇文章的步骤操作一遍配合PDK自带的模型库我相信你能很快调出一个各项指标都不错的运放也为后续更复杂电路设计打下扎实基础。
返回列表