ARTICLE DETAIL

资讯详情

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

从反相器到ADC:Guard ring版图设计与DRC避坑指南

从反相器到ADC:Guard ring版图设计与DRC避坑指南 1. 从反相器到ADC为什么Guard ring值得单独写一篇画版图这件事入门的时候觉得反相器最简单等到做ADC的时候才发现前面偷的懒全都要还回来。我刚开始接触模拟版图那会儿觉得反相器就那么几个管子随便摆摆、连一连DRC过了就完事了。结果第一次做ADC的采样保持电路噪声怎么都压不下去输出频谱上全是杂散查了一整天才发现是Guard ring没做好衬底噪声从数字模块一路窜到模拟输入端。从那以后我养成了一个习惯不管多简单的模块Guard ring先规划好再动手。这篇内容主要聊三件事第一反相器这种基础单元里Guard ring到底起什么作用为什么很多人会忽略它第二从反相器扩展到ADC这种混合信号电路时Guard ring的布局策略要怎么调整第三DRC检查中跟Guard ring相关的常见报错和排查方法。适合正在学版图的新手也适合做过一些数字后端、想转模拟版图的朋友。我会尽量把每个决策背后的原因讲清楚不只是告诉你“要这么做”而是告诉你“为什么这么做”以及“不这么做会怎样”。先说说Guard ring的本质。它就是在敏感电路或噪声源周围打一圈衬底接触或阱接触把载流子“圈”在一个可控的范围内同时提供一个低阻抗的衬底回流路径。听起来简单但实际画的时候宽度选多少、用N环还是P环、要不要双环、开口留在哪里每一个选择都会影响最终的性能。反相器里可能感觉不明显但到了ADC这种对噪声极其敏感的电路差之毫厘谬以千里。我见过不少新手画反相器版图时Guard ring直接照着教程抄一个最小宽度DRC过了就交差。这种做法在单一反相器里确实没问题因为反相器本身翻转时注入衬底的噪声有限而且没有其他敏感电路在旁边。但如果你把同样的习惯带到ADC的版图里问题就会一个接一个冒出来。所以这篇内容我会从最基础的反相器讲起一步步推到ADC的Guard ring布局把中间那些“教程不会告诉你”的细节都摊开来说。2. 反相器版图里的Guard ring最容易被低估的基础功2.1 反相器为什么需要Guard ring很多人觉得反相器不需要Guard ring理由是“就两个管子能有多大噪声”。这个想法对了一半。单个反相器在静态时确实没什么噪声但它在翻转的瞬间输出节点会通过栅漏电容耦合到输入同时电源和地之间会有短暂的直通电流。更关键的是NMOS的源漏和衬底之间形成的寄生二极管在翻转时会注入衬底电流这些载流子会在衬底里扩散跑到附近其他器件的衬底里去。在纯数字电路里这种衬底噪声通常不会造成功能错误因为数字电路有噪声容限。但在模拟电路里衬底噪声可以直接调制MOS管的阈值电压导致电流镜失配、比较器误判、采样精度下降。反相器作为最基础的单元如果连它的Guard ring都没做好后面堆起来的电路就更不用谈了。我自己的做法是只要这个反相器是用于模拟信号路径的比如时钟缓冲、偏置产生、采样开关驱动一律加Guard ring。如果是纯数字逻辑里的反相器可以不加但前提是它离模拟模块足够远或者中间有明确的隔离措施。2.2 Guard ring的宽度和类型选择Guard ring的宽度不是随便定的。太窄了接触电阻大载流子收集效率低太宽了浪费面积增加寄生电容。根据我的经验在0.18微米及以下工艺里模拟模块的Guard ring宽度一般在1到2微米之间。如果是噪声特别大的模块比如大尺寸输出驱动可以加到3微米。类型上PMOS周围的Guard ring通常用P环接最低电位NMOS周围用N环接最高电位。这样做的目的是让衬底/阱的电位稳定同时形成反向偏置的PN结阻止载流子注入。但这里有个细节如果NMOS做在P型衬底上N环接VDD那么N环和P衬底之间形成反偏二极管可以吸收电子。但如果NMOS做在深N阱里情况就不一样了Guard ring要接深N阱的电位。我踩过的一个坑是在一个反相器链里为了省面积把PMOS和NMOS的Guard ring合并成一条。结果DRC报了一个“well proximity”的警告虽然后来确认不影响功能但仿真发现衬底噪声比分开做的时候高了将近一倍。从那以后我再也不合并模拟模块的Guard ring了。2.3 反相器Guard ring的开口处理Guard ring不能完全封闭因为要留出信号线和电源线的走线通道。开口的位置和数量会影响Guard ring的连续性。理想情况下Guard ring应该是一个完整的环但实际版图中总会有开口。我的原则是开口尽量少尽量小尽量远离敏感节点。比如一个反相器的输入线从左边进来输出线从右边出去那么Guard ring的开口就应该留在左右两侧而且开口宽度只比线宽大一点点不要留太宽。上下两侧保持完整。如果电源线要从上面走那就在上面开一个小口但电源线进入Guard ring后要尽快接到内部的电源轨上不要在Guard ring附近绕来绕去。还有一个细节Guard ring的拐角处要尽量做成直角或者45度角不要用圆弧。圆弧在DRC检查时容易报“angle”相关的错误而且实际工艺中圆弧的精度也不好控制。2.4 反相器后仿真中的Guard ring验证画完版图之后一定要做后仿真。我通常会在反相器的输入端加一个快速上升沿的脉冲然后在输出端看波形。如果Guard ring没做好输出波形上会看到明显的振铃或者台阶。更精确的方法是做衬底噪声仿真在衬底节点上放一个电压探针看翻转瞬间的衬底电位波动。实测下来加了合适Guard ring的反相器衬底电位波动可以控制在几毫伏以内。不加Guard ring的话波动可能达到几十毫伏甚至上百毫伏。这个差别在单级反相器里可能看不出来但如果你把一百级反相器级联起来衬底噪声会累积最后可能导致整个链路失效。3. 从反相器到ADCGuard ring布局的复杂度跃升3.1 ADC对衬底噪声的敏感度分析ADC的精度直接受衬底噪声影响。以一个12位ADC为例满量程如果是1V那么1LSB就是大约244微伏。如果衬底噪声达到1毫伏就相当于4个LSB的误差有效位数直接掉到10位以下。所以ADC的Guard ring布局不能照搬反相器的做法必须更加严格。ADC内部不同模块对噪声的敏感度也不一样。采样保持电路最敏感因为它在采样瞬间对输入信号和衬底电位都极其敏感。比较器次之因为比较器的判决阈值很容易被衬底噪声调制。数字控制逻辑相对不敏感但它是主要的噪声源所以要把数字部分和模拟部分严格隔开。我的做法是在ADC的版图规划阶段先画一张“噪声地图”标出哪些模块是噪声源哪些是敏感模块然后根据这张图来规划Guard ring的层次和位置。这张图不需要很精确但一定要有否则后面改起来会很痛苦。3.2 双Guard ring与深N阱隔离策略对于ADC这种混合信号电路单层Guard ring往往不够。我通常会用双Guard ring内层是紧贴敏感器件的Guard ring接干净的模拟地或模拟电源外层是隔离环接数字地或衬底地。两层之间留出一定的间距通常2到5微米具体取决于工艺和噪声水平。深N阱隔离是另一种常用手段。在深N阱工艺里可以把NMOS做在深N阱里然后用N环把深N阱围起来接一个干净的电位。这样NMOS的衬底就和全局P衬底隔开了衬底噪声很难窜进来。但深N阱本身也有寄生电容而且会增加版图面积所以不是所有模块都值得用。我一般只在采样保持电路和比较器的输入对管上用深N阱隔离数字逻辑和偏置电路用普通Guard ring就够了。这样可以在性能和面积之间取得平衡。3.3 模拟与数字区域的Guard ring边界处理模拟区域和数字区域的边界是Guard ring布局的重中之重。我的经验是在模拟区域和数字区域之间至少要有一道完整的隔离环最好是双环。隔离环的宽度可以比普通Guard ring宽一些比如3到5微米。隔离环上不要开任何口如果必须有信号线穿过那就用屏蔽层把信号线包起来或者用差分信号传输。电源和地的走线也要分开。模拟电源和数字电源从不同的引脚进来在版图上不要共用任何一段金属。我见过一个案例为了省面积模拟地和数字地在某个点用一条细金属连起来了结果数字地的噪声直接窜到模拟地里ADC的SNR掉了6个dB。后来把那条连线切断改成星型接地问题就解决了。3.4 ADC内部Guard ring的层次化设计ADC的Guard ring不是一圈就完事了而是分层次的。最内层是单元级的Guard ring比如每个反相器、每个电流镜、每个比较器都有自己的Guard ring。中间层是模块级的Guard ring比如采样保持模块、比较器模块、数字控制模块各自被一圈Guard ring围起来。最外层是芯片级的Guard ring把整个ADC围起来和外面的电路隔开。这种层次化设计的好处是噪声在每一层都会被削弱一次到了最内层的敏感器件时噪声已经很小了。缺点是面积开销大而且层次之间的开口要对齐否则信号线走不通。我的做法是先规划最外层的Guard ring和主要信号线的走向然后往里一层一层细化。每加一层Guard ring都要重新检查DRC和LVS确保没有引入新的问题。4. DRC避坑指南Guard ring相关的常见报错与排查4.1 Guard ring相关的DRC规则解读不同工艺的DRC规则对Guard ring的要求不一样但常见的规则包括最小宽度、最小间距、最小开口、拐角处理、与阱的间距、与金属的间距等。这些规则看起来简单但实际画的时候很容易踩坑。比如“最小开口”这条规则有些工艺要求Guard ring的开口不能小于某个值否则会报错。但如果你为了满足这条规则把开口开大了又可能违反“最大开口”的规则。这时候就要仔细看规则文件里的说明通常会有推荐值。还有“与阱的间距”这条规则Guard ring和阱之间要有足够的间距否则会形成寄生沟道。这个间距通常和工艺有关0.18微米工艺里一般是0.5到1微米更先进的工艺里可能更小。4.2 常见DRC报错及解决方法下面这张表是我在实际项目中遇到过的Guard ring相关DRC报错以及对应的解决方法。报错类型报错信息示例原因分析解决方法宽度不足GR.W.1: Guard ring width 0.5umGuard ring某段宽度小于规则要求加宽该段或调整整体宽度间距不足GR.S.2: Guard ring to well spacing 0.3umGuard ring与阱距离太近移动Guard ring或缩小阱开口过大GR.O.3: Guard ring opening 2um开口超过最大允许值缩小开口或增加开口数量拐角错误GR.C.4: Guard ring corner angle 90deg拐角角度太小改成直角或45度角接触不足GR.CT.5: Guard ring contact density 30%接触孔密度不够增加接触孔数量重叠错误GR.OV.6: Guard ring overlaps metalGuard ring与金属重叠调整金属走线或Guard ring位置这些报错里最常见的是宽度不足和间距不足。宽度不足通常是因为画的时候没注意或者为了省面积故意画窄了。间距不足往往是因为Guard ring和阱靠得太近尤其是在深N阱工艺里阱的边界和Guard ring的边界很容易冲突。4.3 DRC排查的实用技巧排查DRC报错时我习惯先用KLayout或者工艺厂提供的DRC工具跑一遍全芯片检查然后把报错按类型分类。Guard ring相关的报错通常集中在几个区域找到这些区域后放大看具体是什么问题。有一个技巧很实用在KLayout里把Guard ring的层单独显示出来然后和阱层、金属层叠加看。这样很容易发现间距不足或者重叠的问题。另外KLayout的DRC功能可以自定义规则你可以写一条只检查Guard ring宽度的规则快速定位所有宽度不足的地方。还有一个坑是有些DRC报错是“假报错”比如工具把某个不是Guard ring的图形误判为Guard ring。这时候要仔细看报错位置的图形确认它到底是不是Guard ring。如果不是可以在DRC规则里加一个过滤条件把这个图形排除掉。4.4 DRC通过后的LVS与后仿真验证DRC过了不代表版图就没问题了。LVS检查会验证版图的连接关系和原理图是否一致Guard ring的连接错误往往在LVS阶段才会暴露。比如Guard ring应该接模拟地结果接成了数字地LVS可能会报“net mismatch”或者“unconnected net”。后仿真则是最后的防线。我通常会在后仿真里专门看衬底节点的电压波动以及ADC输出频谱的杂散情况。如果Guard ring有问题频谱上会出现特定的杂散分量比如在采样频率的整数倍附近出现尖峰。通过对比不同Guard ring方案的后仿真结果可以反过来优化Guard ring的布局。5. 实操过程从反相器到ADC的Guard ring布局全流程5.1 反相器Guard ring的实操步骤先从一个反相器的Guard ring开始。假设我们用0.18微米工艺NMOS做在P衬底上PMOS做在N阱里。第一步确定Guard ring的类型和电位。NMOS周围用N环接VDDPMOS周围用P环接VSS。如果PMOS做在深N阱里P环接深N阱的电位。第二步确定Guard ring的宽度。我一般取1.5微米这是面积和性能的折中。如果这个反相器是驱动大负载的比如输出级可以加到2微米。第三步画Guard ring。先画一个矩形环然后根据信号线的走向开口。开口宽度比线宽大0.2微米左右不要留太大。第四步加接触孔。接触孔的密度要满足DRC要求通常不低于30%。我一般会在Guard ring上均匀排布接触孔间距0.5微米左右。第五步跑DRC和LVS。确认没有报错后做后仿真看衬底噪声。5.2 ADC采样保持电路的Guard ring布局采样保持电路是ADC里最敏感的部分。我的做法是先用深N阱把采样开关和保持电容隔离起来然后在深N阱外面加双Guard ring。内层Guard ring接干净的模拟地外层接数字地。采样开关的尺寸要仔细选。太大了寄生电容大影响采样速度太小了导通电阻大影响采样精度。我一般会根据采样频率和输入信号带宽来算具体公式这里不展开但核心是让开关的RC时间常数远小于采样周期。保持电容的版图要特别注意。电容的上下极板要分别用Guard ring围起来防止衬底噪声耦合。电容的连线要短而粗减少寄生电阻。5.3 ADC比较器与数字逻辑的隔离比较器的输入对管对衬底噪声极其敏感所以要用深N阱加双Guard ring。比较器的输出是数字信号翻转时会注入衬底噪声所以比较器本身也要用Guard ring围起来防止它干扰其他模块。数字逻辑部分虽然不敏感但它是主要的噪声源。我的做法是数字逻辑用单独的Guard ring围起来接数字地。数字逻辑的电源和地要和模拟部分完全分开从不同的引脚进来。如果必须共用引脚那就在片外用一个磁珠或者电感隔开。5.4 整体版图的Guard ring规划与验证整体版图规划时我会先画一个草图标出所有模块的位置和Guard ring的层次。然后从最外层开始画一层一层往里推进。每画完一层就跑一次DRC确保没有累积错误。全部画完后做一次全芯片的DRC和LVS。然后做后仿真重点看ADC的SNR、SFDR和ENOB。如果这些指标不达标就回头检查Guard ring的布局看是不是有开口太大、间距不足或者电位接错的地方。6. 常见问题与排查技巧实录6.1 Guard ring导致DRC报错怎么办最常见的情况是Guard ring宽度不足或者间距不足。我的建议是先看DRC规则文件里对Guard ring的具体要求然后对照报错位置逐个修改。如果报错太多可以写一个脚本自动检查Guard ring的宽度和间距批量修改。还有一个技巧在画Guard ring之前先画一个“模板”把宽度、间距、接触孔密度都设置好然后复制这个模板到各个模块。这样可以避免很多低级错误。6.2 Guard ring接了错误的电位会怎样如果Guard ring接了错误的电位轻则噪声抑制效果变差重则形成正向偏置的PN结导致大电流流过甚至烧毁芯片。我见过一个案例NMOS的Guard ring应该接VDD结果接成了VSS导致N环和P衬底之间的二极管正向导通芯片一上电就发烫。所以LVS检查一定要仔细看Guard ring的net连接。6.3 后仿真发现噪声仍然很大怎么排查如果后仿真发现噪声仍然很大先检查Guard ring的开口是不是太大了或者接触孔密度不够。然后检查电源和地的走线看是不是有共用金属段。最后检查深N阱的电位是不是干净如果深N阱接的是数字电源那噪声肯定会窜进来。还有一个容易被忽略的点Guard ring本身的电阻。如果Guard ring太窄或者接触孔太少Guard ring的电阻会很大载流子收集效率会下降。我一般会用工艺厂提供的电阻提取工具提取Guard ring的寄生电阻确保它在几十欧姆以内。6.4 不同工艺下Guard ring策略的调整不同工艺的Guard ring策略差别很大。0.18微米工艺里Guard ring通常比较简单单环就能满足大部分需求。到了65纳米以下阱的深度变浅衬底噪声更容易耦合通常需要双环甚至三环。到了FinFET工艺Guard ring的概念有些变化因为FinFET的衬底隔离更好但阱的电阻更大需要更宽的Guard ring和更多的接触孔。我的经验是换工艺的时候不要照搬上一个工艺的Guard ring方案一定要重新看DRC规则和工艺说明必要时做测试芯片验证。6.5 Guard ring布局的独家避坑清单最后分享几个我踩过的坑希望大家能避开不要为了省面积把Guard ring画得太窄后仿真会教你做人。不要在Guard ring上开太大的口信号线能走就行。不要把模拟Guard ring和数字Guard ring接在一起哪怕只是一个点。不要在Guard ring附近走高速信号线耦合会很难看。不要忘了Guard ring的接触孔密度不够等于没画。不要跳过LVSGuard ring接错电位是致命的。不要忽略后仿真DRC过了不代表性能达标。这些坑我基本都踩过一遍每一个都花了至少半天到一天的时间排查。希望你看完这篇内容后能少走一些弯路。Guard ring这件事说难不难说简单也不简单关键是要理解它背后的原理然后根据具体电路的需求来调整。反相器是起点ADC是进阶但核心思路是一样的把噪声圈住把敏感器件保护好。
返回列表