ARTICLE DETAIL

资讯详情

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

SAR ADC设计:CDAC电容匹配从理论到版图全解析

SAR ADC设计:CDAC电容匹配从理论到版图全解析 1. 为什么CDAC电容匹配是SAR ADC设计的命门做SAR ADC设计的人都有一个共识比较器决定速度上限CDAC决定精度上限。我接触过不少项目前仿阶段ENOB跑到11.5位结果流片回来一测只有9位出头排查一圈发现罪魁祸首就是CDAC的电容失配。这个问题在学术界被讨论了几十年但在工程实践中依然有大量设计者在前仿阶段对匹配问题掉以轻心。CDACCapacitive DAC是SAR ADC的核心模块它承担了采样保持、电荷再分配、逐次逼近三大功能。一个N位的SAR ADCCDAC通常由N个二进制加权电容对组成从单位电容Cu到2^(N-1)×Cu。理想情况下这些电容的比值精确等于2的幂次但实际制造过程中每个电容的实际值都会偏离设计值偏离量就是所谓的失配mismatch。失配带来的直接后果是什么举个直观的例子一个10位SAR ADCMSB电容是512Cu如果这个电容实际偏差了0.5%那就是2.56Cu的误差。在转换过程中这个误差直接导致比较器做出错误判断输出码出现跳变DNL恶化甚至出现失码。更隐蔽的是INL会呈现明显的抛物线形状因为二进制加权结构中MSB的失配贡献最大LSB的失配贡献最小累积起来就形成了系统性偏差。那为什么不用更大的单位电容来减小失配因为面积和功耗不允许。SAR ADC的CDAC总面积与单位电容值成正比单位电容翻倍总面积翻倍动态功耗也翻倍同时采样网络的RC时间常数增大速度下降。所以这里存在一个经典的设计折中单位电容取多大才能既满足匹配精度要求又不至于面积和功耗失控。这个折中的核心依据就是Pelgrom定律。Pelgrom模型告诉我们两个相同设计电容之间的失配标准差与电容面积的平方根成反比σ(ΔC/C) A_C / √(W×L)其中A_C是与工艺相关的匹配常数W×L是电容面积。这意味着要让失配降低一半面积需要增大到四倍。这个关系直接决定了单位电容的下限。在实际项目中我通常按以下步骤来确定单位电容根据目标分辨率N和良率要求确定可容忍的MSB电容相对失配σ(ΔC/C)查工艺PDK中给出的A_C值通常MIM电容在0.5%~2%·μm之间反推单位电容的最小面积再结合电容密度换算成电容值在此基础上留20%~30%的余量作为最终的单位电容值以TSMC 40nm工艺的MIM电容为例A_C约为1.2%·μm如果目标是一个10位SAR ADCMSB电容为512Cu要求MSB的相对失配小于0.1%即3σ0.3%那么σ(ΔC_MSB/C_MSB) A_C / √(Area_MSB) 0.1%/3 0.033%解出Area_MSB ≈ 1322 μm²对应512Cu的总面积所以Cu的面积约为2.58 μm²。如果MIM电容密度是2 fF/μm²那么Cu ≈ 5.2 fF。取整后选Cu 6 fF留了一定余量。这个计算过程看起来简单但实际项目中很多工程师直接拍脑袋选个Cu值或者照搬别人的设计结果就是流片后匹配不达标。单位电容的选择必须从匹配要求出发而不是从面积或功耗出发这个顺序不能反。除了单位电容大小CDAC的版图布局对匹配的影响同样巨大。即使单位电容值选对了如果版图做得不好比如电容阵列排列不对称、走线寄生不等、温度梯度方向与梯度方向对齐实际匹配效果可能比预期差一倍以上。这就是为什么我说CDAC设计是“仿真到版图”的全链条工程任何一个环节掉链子最终结果都会打折扣。2. 从理论到仿真CDAC匹配的验证方法论2.1 前仿阶段如何正确评估匹配性能很多设计者在pre-simulation阶段只跑理想电容模型看ENOB、SNR、SFDR这些指标觉得没问题就过了。但理想模型下电容比值是精确的根本反映不出匹配问题。正确的做法是在pre-sim阶段就引入蒙特卡洛失配模型。具体操作上我通常用两种方式第一种是行为级蒙特卡洛。用Verilog-A或MATLAB建立CDAC的行为模型在每个电容值上叠加一个高斯随机变量标准差由Pelgrom公式计算。跑500~1000次蒙特卡洛统计ENOB、DNL、INL的分布。这种方式速度快适合在架构探索阶段快速评估不同单位电容值对良率的影响。第二种是晶体管级蒙特卡洛。在Cadence Virtuoso中用PDK提供的统计模型对CDAC阵列跑Monte Carlo仿真。这种方式更准确但速度慢通常用于最终验证。我一般会跑200次左右重点关注INL的3σ值是否满足目标。这里有一个容易忽略的点蒙特卡洛仿真的随机种子和样本数。样本数太少统计结果不可信样本数太多仿真时间不可接受。我的经验是对于10位SAR ADC200次蒙特卡洛足以给出INL 3σ的合理估计。如果INL分布出现明显的非高斯特征比如双峰说明可能存在系统性失配需要检查版图对称性。2.2 电容失配的建模与仿真设置要点在Cadence中做蒙特卡洛仿真有几个关键设置需要注意模型选择PDK通常提供三种模型——typical、slow、fast以及蒙特卡洛模型。做匹配仿真必须选蒙特卡洛模型如mc或mismatch而不是工艺角模型。工艺角反映的是全局偏差蒙特卡洛反映的是局部失配两者物理意义完全不同。失配参数对于MIM电容PDK模型中通常有mm_factor或类似的失配参数。你需要确认这个参数是否已经包含了面积依赖性。有些PDK的失配模型是固定值不随面积变化这种情况下需要手动根据Pelgrom公式调整。仿真精度蒙特卡洛仿真对精度要求很高reltol和abstol需要设置得比平时更严格。我通常把reltol设为1e-6abstol设为1e-15确保每次仿真的数值噪声不会掩盖失配效应。输出统计仿真完成后用Cadence的Calculator或Ocean脚本提取INL、DNL的均值和标准差。重点关注INL的3σ值因为INL直接决定了ADC的线性度。下面是一个典型的蒙特卡洛仿真设置示例Ocean脚本片段; 蒙特卡洛仿真设置 mcRun monteCarlo(?numIters 200 ?variation mismatch ?saveData t ?analysis dc ) ; 提取INL统计 inlStats monteCarloSummary(?result mcRun ?output INL ?statistics (mean stddev) )实测下来一个10位SAR ADC如果单位电容选6 fF蒙特卡洛跑出来的INL 3σ大约在0.5 LSB左右满足10位精度要求通常要求INL1 LSB。如果单位电容降到3 fFINL 3σ会恶化到1.2 LSB以上良率大幅下降。2.3 仿真中常见的“假通过”陷阱这里要特别提醒一个坑前仿通过不等于流片通过。我见过太多案例前仿ENOB11.2位流片回来只有9.5位。原因通常有三个第一仿真中没有包含寄生电容。CDAC的走线寄生、开关寄生、比较器输入寄生都会影响电荷再分配精度。前仿时如果只跑原理图这些寄生完全看不到。解决办法是在pre-sim阶段就提取关键节点的寄生电容手动加到电路中或者在post-sim阶段用提取的寄生网表重新仿真。第二仿真中没有考虑电容的电压系数。MIM电容的容值会随两端电压变化虽然系数不大通常100 ppm/V但在高精度SAR ADC中这个效应会引入非线性。前仿时如果用的是理想电容模型这个效应完全被忽略。第三蒙特卡洛模型不准确。有些PDK的蒙特卡洛模型是基于有限样本拟合的在3σ以外的尾部可能不准。如果设计良率要求很高比如99.9%需要跑更多样本或者用更精确的统计模型。3. 版图设计CDAC匹配的最后一公里3.1 电容阵列的布局策略与对称性设计CDAC版图设计的核心原则只有两个字对称。但“对称”这两个字展开来包含了大量细节。首先是共 centroid 布局。二进制加权电容阵列不能简单地按顺序排列否则工艺梯度比如氧化层厚度梯度、应力梯度会导致系统性失配。正确的做法是把电容阵列拆分成多个单位电容然后按照共 centroid 的方式排列使得任何方向的梯度效应都能被平均掉。具体来说对于一个10位CDACMSB电容是512Cu可以拆成512个单位电容然后把这些单位电容分成四组分别放在阵列的四个象限形成中心对称。次MSB电容是256Cu同样拆分后放在另外的对称位置。以此类推直到LSB电容。这种布局方式的好处是任何线性梯度比如温度梯度、工艺梯度在对称位置上的影响会相互抵消。实测数据显示共centroid布局可以将系统性失配降低60%~80%。其次是走线对称。电容阵列的走线包括顶部极板走线和底部极板走线。顶部极板通常连接到比较器输入底部极板连接到开关网络。这两组走线的寄生电容必须尽可能相等否则会引入与码值相关的寄生失配。我的做法是顶部极板走线采用树形对称结构从比较器输入出发对称地分叉到每个电容的顶部极板。底部极板走线同样采用对称结构确保每个电容到开关的路径长度相等。如果走线长度无法完全相等需要在寄生提取后手动补偿。3.2 单位电容的匹配技巧与dummy填充单位电容的匹配不仅取决于面积还取决于周边环境。一个电容如果旁边是另一个电容和旁边是空白区域实际容值会有差异。这就是所谓的周边环境效应。解决办法是加dummy电容。在电容阵列的四周放置一圈与单位电容相同的dummy电容但不连接到任何电路。这些dummy电容的作用是让阵列边缘的电容“看到”与内部电容相同的周边环境从而减小边缘效应。dummy电容的宽度通常取1~2个单位电容具体取决于工艺的周边环境效应强度。在先进工艺中这个效应可能达到0.1%~0.3%对于10位以上的SAR ADC必须加dummy。另一个技巧是电容的朝向一致。MIM电容的匹配对朝向敏感如果有些电容是0度放置有些是90度放置匹配会变差。所以整个阵列中所有单位电容的朝向必须一致。还有金属层选择。MIM电容通常位于顶层金属之间但顶层金属的厚度和均匀性可能不如次顶层。如果工艺允许优先选择均匀性更好的金属层组合。这个需要查PDK的匹配数据不同工艺结论不同。3.3 寄生电容与走线电阻的提取与后仿版图画完后必须做寄生提取PEX然后用提取的网表做后仿。这一步是CDAC设计中最耗时但也最关键的环节。寄生提取的精度取决于提取工具的设置。我通常用Calibre xRC或Star-RC提取模式选RC提取而不是C提取因为走线电阻会影响电荷再分配的建立时间进而影响精度。提取完成后后仿的重点是看INL和DNL的变化。如果后仿INL比前仿恶化了超过0.3 LSB说明寄生效应比较严重需要优化版图。常见的优化方向包括加宽顶部极板走线减小走线电阻缩短底部极板走线减小寄生电容在比较器输入附近加屏蔽减小耦合后仿的另一个重点是动态性能。CDAC的建立时间必须满足SAR ADC的转换速率要求。如果走线电阻太大RC时间常数增大MSB电容的建立可能不充分导致转换错误。我通常要求MSB电容的建立误差小于0.5 LSB对应的时间常数需要满足t_settle 7 × R_wire × C_MSB其中R_wire是走线电阻C_MSB是MSB电容值。如果这个条件不满足需要加宽走线或增加驱动能力。4. 常见问题与排查技巧实录4.1 CDAC匹配问题速查表问题现象可能原因排查方法解决措施INL呈抛物线MSB电容失配蒙特卡洛仿真看INL分布增大单位电容或优化版图对称性DNL在特定码值跳变二进制电容比值错误检查电容阵列连接修正电容比值或调整布局ENOB远低于仿真值寄生电容未提取对比前仿和后仿结果做PEX后仿优化走线良率低单位电容太小跑更多蒙特卡洛样本增大单位电容牺牲面积换良率高低温性能差异大温度梯度导致失配在不同温度下仿真优化共centroid布局动态性能差走线电阻太大检查建立时间加宽走线或增加驱动4.2 那些仿真不会告诉你的事第一电容的电压系数在版图中更明显。前仿时用理想电容电压系数为零。但实际MIM电容的电压系数虽然小在10位以上精度中不可忽略。我的做法是在后仿中手动加入电压系数模型或者用PDK提供的非线性电容模型。第二封装应力会影响匹配。芯片封装时塑封料的热膨胀系数与硅片不同会在芯片表面产生应力。这个应力会导致电容值漂移而且漂移量与位置相关。对于高精度SAR ADC需要做应力补偿布局比如把关键电容放在芯片中心区域或者用对称布局抵消应力梯度。第三测试时的PCB寄生也会影响结果。流片回来测试时PCB上的走线寄生、焊盘寄生都会叠加到CDAC上。如果测试结果比预期差先别急着怀疑芯片检查一下PCB寄生。我通常会在测试板上加去耦电容和屏蔽减小外部寄生影响。第四蒙特卡洛仿真的随机种子要固定。有些工程师每次仿真用不同的随机种子结果每次跑出来的INL都不一样无法对比不同设计方案的优劣。正确做法是固定随机种子确保不同方案在相同的失配样本下对比。4.3 从失败案例中总结的避坑经验我曾经做过一个12位SAR ADC项目前仿ENOB11.8位蒙特卡洛INL 3σ0.8 LSB看起来没问题。但流片回来一测ENOB只有10.2位INL最差到2.5 LSB。排查了三个月最后发现两个问题第一个问题是电容阵列的走线不对称。版图工程师为了省面积把MSB电容的走线绕了一个弯导致MSB电容的寄生比其它电容多了约0.3%。这个寄生在前仿中完全看不到后仿时因为提取精度不够也没发现。后来用更高精度的提取工具重新提取才定位到这个问题。第二个问题是dummy电容没加。阵列边缘的电容与内部电容的周边环境不同导致边缘电容的实际值偏了约0.2%。这个问题在蒙特卡洛仿真中也看不到因为蒙特卡洛模型假设所有电容的周边环境相同。这两个问题叠加起来导致MSB电容的实际失配比预期大了近一倍INL严重恶化。后来重新改版加了dummy电容优化了走线对称性第二次流片ENOB恢复到11.5位。这个案例给我的教训是CDAC设计必须从仿真到版图全链条考虑任何一个环节的疏忽都可能导致流片失败。前仿通过只是起点后仿通过也只是中点真正的考验在流片之后。5. 写在最后的一些实操体会做SAR ADC的CDAC设计说到底是一个在匹配、面积、功耗、速度之间找平衡的过程。没有一种方案是万能的每个项目都需要根据具体指标要求重新权衡。我的经验是在项目初期就把匹配预算做足。宁可单位电容选大一点面积多留一点余量也不要为了省面积而牺牲良率。因为流片一次的成本远高于多出来的那点面积。另外版图工程师和电路设计工程师的沟通至关重要。很多匹配问题源于版图实现与电路设计意图的偏差。我现在的做法是在版图开始之前就和版图工程师一起确定电容阵列的布局方案、走线策略、dummy方案确保双方理解一致。最后分享一个小技巧在CDAC阵列的版图中可以加入测试结构比如在阵列旁边放几个独立的单位电容引出测试pad。流片后可以直接测量这些电容的实际值验证匹配模型是否准确。这个测试结构占不了多少面积但对后续项目的匹配评估非常有价值。CDAC的电容匹配没有捷径就是要把每一个细节都做到位。从单位电容的选择到蒙特卡洛仿真到版图对称性到寄生提取每一步都认真对待流片结果才不会让你失望。
返回列表