ARTICLE DETAIL

资讯详情

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

CMOS反相器版图设计全流程:DRC/LVS/PEX验证与工程实践指南

CMOS反相器版图设计全流程:DRC/LVS/PEX验证与工程实践指南 就我这些年带新人的经验来看版图设计这关卡住的人不在少数。原理图大家都看得懂一到画版图就不知道怎么落笔画完之后更不知道DRC、LVS、PEX这三个验证到底在验什么。很多初学版图设计的工程师包括一些做了三四年数字后端的人对这几个验证环节还是一知半解只知道报错就跑回去改改了再跑完全靠猜。这篇文章我打算用一个最基础也最完整的例子——CMOS反相器把从原理图到流片前端的版图设计全流程走一遍。你不用把它当成学术论文来读就当是我在旁边带着你画一遍版图边走边告诉你哪里会踩坑哪里可以偷懒哪里必须较真。反相器虽然只是一个两管器件但麻雀虽小五脏俱全整个版图设计流程需要的核心步骤和设备验证都在里面了做完这个标准单元库里的其它门电路基本就是举一反三。1. 整体设计拆解一颗反相器版图到底在画什么1.1 先看原理图再谈画版图CMOS反相器的电原理你肯定不陌生一个PMOS管放在上面当上拉网络一个NMOS管放在下面当下拉网络两个栅极短接在一起作为输入两个漏极短接在一起作为输出。输入高电平时NMOS导通、PMOS截止输出被拉到地输入低电平时反过来输出被拉到电源。整个电路就是一个最简单的逻辑非门静态功耗几乎为零是数字电路里最基础的积木。但在画版图之前有几个人会真的先把管子尺寸算清楚我在带新人的时候经常问0.18微米工艺下一个标准反相器的PMOS和NMOS宽长比应该取多少为什么大概率的回答都是PMOS宽一点但再问为什么就答不上来了。根本原因在于电子和空穴的迁移率差异。NMOS里的导电载流子是电子迁移率高同样的宽长比能提供更大的电流PMOS里的空穴迁移率大约只有电子的二分之一到三分之一要获得同等的驱动能力PMOS必须做得更宽。所以标准单元库里反相器的PMOS宽长比一般是NMOS的2到3倍目的就是让输出上升沿和下降沿的延时尽量接近保证时序均衡。画版图的时候这个尺寸直接对应到三个几何参数沟道宽度就是有源区Active与多晶硅栅Poly交叠区域的横向宽度沟道长度则是Poly的实际线宽。你画的时候写了W/L物理上就得有对应的几何尺寸不是随随便便画个矩形就行了。1.2 版图规划器件怎么摆心里要有数反相器版图最简单也最常用的布局方式就是上下结构。PMOS放在上面NMOS放在下面中间共用一条输入Poly和输出连线VDD从上方电源轨进来VSS从下方电源轨出去。这种布局方式的优点是电源和地的连接路径短IR drop小而且方便和其它标准单元拼接在一起形成一行行规则排列的单元。在实际动手前我习惯先画一个粗略的floorplan草图把各层要占的区域大致框出来。比如在0.18微米工艺中我的目标尺寸可能是NMOS W0.5um、L0.18umPMOS W1.2um、L0.18um。那么有源区的高度就由W决定Poly横跨有源区的部分要有足够的延伸有源区两端也要留出contact和连线的间距再加上阱接触区和隔离区这些堆起来整个反相器大概也就是几微米见方的一个小方块。千万别小看这个看不见的布局规划直接动手画的人十个有八个会在后面返工。要么是PMOS和NMOS的间距不够导致DRC报阱间距错误要么是输入输出金属线的走向和旁边单元冲突最后只能打散重来。花五分钟画个示意图能省下午后两小时的折腾这笔账太划算了。2. 版图核心层次与绘制细节2.1 每一层Mask其实都是一道物理工序很多新手画版图最怕的就是那么多层次记不住哪层跟哪层怎么搭配。我的理解方式是把每层Mask对应到工艺加工中的一道工序理解了物理过程层次的用法就不会错。以典型的N阱CMOS工艺为例最底层是P型硅衬底这是整个芯片的地基。第一步先做N阱就是往P型衬底里注入N型杂质形成一块N型区域以后PMOS就做在这块N阱里。然后是整个表面长一层氧化层在需要的地方刻蚀出有源区也叫OD层、Active层或者Rx层这就是要做晶体管的地方。接着淀积一层多晶硅刻出栅极图形多晶硅横跨有源区的地方就是真正的沟道。之后做N和P注入分别形成NMOS的源漏区和PMOS的源漏区。再往上是一层层的金属互连和层间的通孔把它们一层层打出来最后是钝化层和焊盘。你在版图工具里看到的每一个图层不是凭空存在的它对应着光刻中的某一块掩膜版。画错了某个层次可能就意味着流片时该掺杂的地方没掺杂不该刻蚀的地方被刻穿了那个损失就不是改一行代码能弥补的了。2.2 从NMOS画起有源区、多晶硅、接触孔与金属具体的画法我按从下往上的顺序来讲这样好理解。新建一个版图cell之后第一层先画有源区。对于NMOS有源区就是一个矩形它的宽度方向决定沟道宽度。这有源区也不是随便画的除了源漏区域本身还必须有从Poly栅延伸出去的overhang距离这是DRC会严格检查的规则。画完有源区之后画Poly。Poly是一条横跨在有源区上的窄条它在有源区内的宽度就是沟道长度它超出有源区的部分必须有足够的长度来打接触或者连接其它层。这里有个评估准则我一直记着Poly和有源区交叉的地方就是你晶体管真正起作用的地方这个地方的形状、尺寸、对准余量尤为重要。然后画N注入层N注入层要完整覆盖有源区但不能覆盖到不该注入的位置。说句实话我在教新人的时候N注入层和P注入层是最容易画错的画反了之后LVS会报一堆器件识别错误因为工具把NMOS认成了PMOS。如果你刚入门每画完一步就先跑一次LVS别等全都画完了再一起验证这样排查错误容易太多。接触孔Contact就是源漏区连接到金属层的通道。源极一侧的N通过接触孔连到VSS地线漏极一侧的N通过接触孔连到输出。金属层用Metal1把该连的端点连起来。到这里一个NMOS的版图雏形就有了但它还缺最关键的一步衬底连接。NMOS是坐在P型衬底上的衬底电位必须被固定住否则浮空的衬底会导致阈值电压漂移、闩锁效应甚至芯片失效。所以需要在N管旁边专门做一个P的有源区上面打接触孔连到VSS上这段结构就是衬底接触学名叫Bulk pick-up。2.3 PMOS与N阱最容易埋雷的地方PMOS的版图和NMOS在图形上非常相似最大的区别就是它坐在N阱里注入层用的是P源漏极性相反衬底接触用的是N并连到VDD。看起来就是NMOS的镜像但实际操作中这里有几个雷。第一个雷是N阱的边界。N阱必须完全覆盖PMOS的有源区并且从有源区边界到阱边界必须有足够的间距这个间距由工艺设计规则严格规定目的是保证阱的侧向扩散不会侵入到有源区内改变掺杂浓度。如果NMOS和PMOS离得很近还要考虑N阱到NMOS有源区的间距规则太近了会导致漏电甚至闩锁。第二个雷是阱接触和衬底接触的密度。前面提到NMOS周围要有P衬底接触PMOS周围要有N阱接触。这个接触不仅要打而且要打得足够密。经验规则是阱区和衬底的电位固定点需要每隔一定距离就打一个接触实际上相当于每隔一段距离就给阱或衬底钉一个电压锚点。反相器这种小单元通常四角各放一个接触就差不多但如果以后设计更大的单元比如驱动能力很大的Buffer可能需要更多的阱接触来降低阱电阻防止局部电位浮动。第三个雷是闩锁效应。CMOS工艺里天然存在PNPN四层结构N阱里的PMOS、P衬底里的NMOS、阱电阻、衬底电阻它们组合起来形成一正反馈的寄生晶闸管。如果阱或衬底上某个瞬间的电压扰动把这个晶闸管触发导通电源到地就会形成一条低阻通路电流会一直灌下去芯片很快就烧了。标准做法就是加Guard Ring也就是在PMOS外圈加一圈N的环并接VDD在NMOS外圈加一圈P的环并接VSS形成低阻通道把寄生的基极和集电极电压牢牢钳住。反相器版图里如果面积允许把保护环做成完整闭合的回字形效果最好。2.4 连线、电源地规划与dummy填充的学问反相器内部的连线比较简单输入从Poly层延伸出去输出从两个漏端的金属连线汇合电源和地分别用Metal1的水平轨。但要记住一点金属层有最小线宽和最小间距规则不是你想画多细就画多细。VDD和VSS的电源轨如果太细流过峰值电流时的IR drop会影响到门速度还会带来电迁移可靠性问题。标准单元库里电源轨宽度是按电流密度估算的一个小反相器用最小线宽裕量足够但做大驱动单元时必须加宽。还要提一下dummy填充也就是常说的金属密度规则。制造厂在化学机械抛光CMP过程中需要芯片上各位置的金属密度相对均匀否则抛光速率不一致会导致局部厚度差异、电阻漂移甚至开路。所以版图里大片空旷的金属区域要填充一小块一小块的伪金属dummy metal。反相器面积小一般不单独做dummy填充但如果有条件在做完整体布局后全芯片统一填充即可。画图的时候需要留意这一点给周围留下一部分用于dummy填充的空间不要让有源区靠得太近。3. 三大验证逐层拆解DRC/LVS/PEX的实操价值3.1 DRC设计规则就是良率的生命线DRCDesign Rule Check是版图设计完以后第一个要跑的验证。它验证的是图形边距、宽度、面积是否符合制造厂的规则。简单讲就是检查你画的图形能不能被制造出来以及制造出来以后能不能保证良率。DRC规则文件通常由Foundry提供里面有几千甚至上万条规则。初学者看到那些密密麻麻的描述往往会头大其实核心就那几类宽度规则某层的几何图形最窄不能小于多少比如Metal1最小宽度0.23umPoly最小宽度0.18um间距规则同类或异类图形之间最少隔多远比如Poly到Poly间距0.28umN阱到NMOS有源区间距若干交叠规则一些层必须覆盖另一些层的边缘比如N注入层必须覆盖有源区的边缘密度规则某区域内某层的面积占比必须在一定范围内边缘/延伸规则比如Poly伸出有源区的长度Contact到Poly的距离等等跑DRC的工具最常用的是Calibre和Assura开源界还有Klayout也可以做。无论用哪个工具本质都是加载工艺规则文件和你的版图GDSII数据然后逐条比对。实际操作中我第一次画反相器版图时DRC报了大概二十几个错大部分是间距问题。最有价值的一个错误让我印想深刻Contact和Poly的间距不够工艺上会导致Poly刻蚀时碰到Contact把孔堵住或者短路。这种错误在DRC里属于硬伤不改必出问题。DRC修改的工作量占整个版图设计周期的三分之一以上。关键技巧是不要一条一条改完再整个重跑应该在DRC报告里按坐标和图层分类把同类型问题批量修掉。比如说某一种间距问题报了三处先研究它为什么发生八成是因为两层图形之间画太紧那就把整片区域的间距统一拉开而不是只修报错的那几处否则会出现改完一个又冒出三个的情况。这里顺便说一个我在搜索时看到的高频问题有小伙伴拿drc rtstat-6 partial route conflicts: 1184 net(s) have a partial conflict来问是不是DRC没过。这其实是数字后端布线工具里对布线拥塞的报错属于逻辑物理实现的一部分跟你用Calibre跑版图DRC完全不是一回事。如果你在做数字IC后端时看到这个报错含义是某些网络绕线没完全走通还有1184条网存在部分冲突通常需要调整布局、增大布线资源或者轻微推动宏单元的位置来缓解拥塞。别把它当成版图DRC的问题去查画图规则方向就偏了。3.2 LVS版图凭什么和原理图一致画完版图DRC也通过了这时候版图看起来没有问题但它到底是不是你要的那个反相器还要验证连接关系和器件参数是不是完全一致这个验证就是LVS连接关系验证。LVS的原理可以简单概括为三件事第一从版图中提取器件和连线生成一个版图的网表第二从原理图中生成一个原理图网表第三把两张网表做比对看器件是否等价、连接是否一致、端口是否匹配。有一个最常见的LVS报错是MOS管源漏接反。晶体管在物理结构上源漏是对称的除了少数特殊结构如源漏不对称的器件版图提取工具通常靠连接关系来反推哪个端子是源哪个是漏。如果你把NMOS的源和漏在版图里对调了而原理图里定义的源漏不是这个接法LVS就会报器件端子不匹配。解决办法除了修改版图还有一种更稳妥的做法给版图上Power和Ground网络打上正确的Label文本标注工具就会自动根据标签识别电源和地从而正确区分源漏。LVS还有一个新手很难理解的概念叫soft connect。这是CMOS工艺里非常独特的现象NMOS的源、漏、衬底之间天然存在一个PN结二极管PMOS的源、漏、阱之间也有一个PN结二极管。当衬底接VSS、源极也接VSS时通过这个二极管衬底节点和源极节点之间在物理上就有了一个低阻通路版图提取工具会认为这两个节点是软连接的有时候这会在LVS报告里显示出一个额外的电阻或二极管器件就会和原理图对不上。如果你在LVS报告里看到soft connect或BW相关的提示别慌默认情况下Calibre会把阱和衬底当作一个独立的子电路连接到对应的电源和地电位。如果没有额外问题通常可以把它当作正常偏置情况处理好。关键是要检查一下软连接是否导致了意外的短路。一个典型错误是某根信号线经过阱区和衬底边缘由于N阱和P衬底交界的反偏PN结在高阻态下这种寄生二极管可能把不该相连的两块区域连上LVS就会报出一个非常隐蔽的short错误。排查这种问题的方法是打开LVS的错误定位标记查看异常节点附近是否有阱或衬底接触缺失。3.3 PEX寄生才是真实电路LVS通过以后你以为就万事大吉了吗还差最后一步寄生参数提取也就是PEX。这一步是把版图里真实存在的寄生电阻、电容甚至电感提取出来生成一个带寄生的网表然后你用这个网表去做后仿真看电路在真实物理环境下还能不能正常工作。反相器这种小单元寄生主要有这么几类栅极和源漏区之间的交叠电容这个属于本征电容MOS模型里有还有金属线对衬底、金属线之间、通孔和接触孔的电阻以及Poly的寄生电阻。寄生电容会降低电路速度寄生电阻会增大传输延迟特别是驱动大负载时信号经过金属线的RC延迟甚至可能超过晶体管本身的延迟。PEX的操作流程一般是加载Calibre PEX的rule file选提取模式C、RC或RCC然后运行。提取完成后会生成一个带寄生元件的网表格式可能是SPF、DSPF或者Spectre格式。后仿真就是把原版原理图的网表替换成这个带寄生的网表在Spectre或HSPICE里重新跑transient分析。一个小反相器的前仿真和后仿真结果最明显的变化是什么就是输入输出波形的边沿变缓了传播延迟变大了。我实测过一个驱动能力较小的反相器FO4扇出为4负载下前仿延迟可能在十几皮秒PEX后仿真延迟能到二十几甚至三十皮秒。增加的这部分全部来自版图的寄生电容和电阻。这里有一个技巧反相器后仿真变慢太多不要急着改版图画法先用PEX报告看寄生主要分布在哪个节点。如果输出节点对地寄生电容很大可能是输出金属线铺得太宽太长或者和旁边其它单元的线并行太近如果是输入节点寄生电容大可能是Poly栅太长或者输入Poly旁边有大块金属地和它耦合。把寄生分布搞清楚再动手改版图命中率会高很多不然就是在瞎试。另外PEX提取之前LVS最好保证是干净的Calibre PEX内部实际上是先跑一遍LVS再做寄生提取如果LVS错误太多提取出来的寄生网表也是不可信的该修的先修完。4. 常见问题与排查技巧实录4.1 DRC报错修不完先学会分类再看报告反相器版图虽然小但我在带人过程中还真见过有人把DRC错修了两天都过不了。怎么破局第一DRC报告里的错误名字不要只看字面意思要查一下这个规则的官方解释搞明白规则在保护什么。比如EX.S.1可能是有源区到阱边缘的间距不够它保护的是阱侧向扩散不侵占有源区。搞明白这一点你就知道该怎么修——不是简单拉大间距而是要确保阱到有源区的距离满足侧向扩散后的最终结位置。第二DRC的错误是分优先级的。有的规则属于硬规则不满足就流片失败比如最小宽度、最小间距有的属于建议规则比如金属密度软规则不满足一般不会直接报废芯片但可能导致良率下降。在修DRC时先把硬规则全部修干净再处理软规则这样效率最高。第三善用坐标定位和高亮标注功能。Calibre的结果查看器可以直接定位到每个错误你最好让错误逐条定位在版图上把出错的层打开看清楚是哪几块图形打架然后批量处理。说实话版图DRC错误往往是系统性误差一个地方错周围大概率也有同样的错修正一个模板其余照着套就行效率能翻三倍。4.2 后仿真比前仿真慢正常也不正常反相器后仿真比前仿真慢是正常的寄生参数必然带来延时增加。但如果增加比例太大慢到没法接受就要回头查了。我遇到过的典型问题之一是接触孔/通孔的阵列数量不够导致源漏区到金属连线的寄生电阻偏大还有一次是输出线上的Poly/Metal1有很长一段和其他单元的线并行线间寄生电容把那根线抬高了一倍。排查方法也很系统先用PEX报告看各个节点的寄生电容和电阻数值大的节点重点关照。再看这些大寄生的物理来源是长走线、宽走线还是相邻绕线过近。最后针对性地优化版图缩短关键走线、拉开间距、增加通孔数量。改完重新做DRC/LVS/PEX迭代几轮基本就能收敛。4.3 LVS报端口找不到多半是Label没打对LVS一个非常容易让人崩溃的问题是Port Missing或者Net具有额外节点。反相器只有四个端口输入、输出、VDD、VSS。如果你在版图里漏打了LabelLVS就可能把那个网络的名字当成普通内部节点导致端口不匹配。Label不仅仅是为了跑LVS它也是PEX识别端口的依据。所以从画版图一开始就养成给所有外部连线打Label的习惯。而且在打Label时要注意层次VDD、VSS电源地用Metal1或更高层次打输入输出用对应信号层打别把Label打到错误的层上否则工具会当成一个孤立文本看不见。还有一点Label文本的拼写必须和原理图中的端口名完全一致大小写也要一致多一个空格都会报错。这种低级错误造成的浪费我见得实在太多了。4.4 天线效应版图里的隐藏杀手画反相器版图时可能不太会遇到天线效应但如果你把反相器放在标准单元阵列里做整体布局它就是个大问题。等离子刻蚀工艺中大面积的金属或多晶硅就像一根天线会收集电荷这些电荷如果最终只能通过薄栅氧化层泄放就会把栅氧击穿导致晶体管永久损坏。解决天线效应的常规方法一是跳层也就是把长了天线的金属线打断通过通孔跳到另一层金属再跳回来断开金属的电荷收集路径二是在靠近栅极的地方接一个反向偏置的二极管为电荷提供泄放通路。反相器作为标准单元应用时某些工艺库会在版图里预留一个antenna diode的位置手工画图时如果上游金属线很长就得注意在栅极入口附近加二极管或用跳层方式处理。这个细节面试版图设计工程师的时候经常会被问到因为它是区别会画图和懂画图的分水岭。5. 面试与工作中反相器版图被问到的那些点实在说反相器是最常被用来面试版图设计岗位的题目。无论是画一个二输入与非门版图还是解释一下你的布局思路本质上都在考察你对CMOS工艺、寄生效应、防闩锁设计这几个基本功的理解深度。面试官常问的几个问题是PMOS和NMOS为什么宽度比是21到31回答要点是载流子迁移率差异以及如何影响上升下降时间平衡你的阱接触放在哪里为什么需要它回答要点是阱电位固定与防闩锁同时还要补充接触间距不能太远如果后仿真和期望时序差很大你会怎么优化版图回答要点是先用PEX定位大寄生节点再看走线/injection层面积考虑拆管、增加通孔、换金属层DRC和LVS分别保护什么这个如果你能结合一段真实的报错案例讲面试官基本就会觉得你有实战经验不是背书反相器版图本身不难但它背后承载的工艺知识、验证流程、可靠性设计意识是每一个版图工程师日常都在用的内功。把这一套流程走通再去看复杂的模拟版图、存储器单元版图你会发现它们都是在这个基础上加上了更复杂的对称性要求、匹配要求和特殊的工艺处理。最后分享一个我常用的实操方法画完反相器之后我习惯性地用Klayout打开GDSII肉眼扫一遍各层图形确认Poly和Active的交叉位置、Contact的对准性、电源地的走向。肉眼检查能发现一些DRC规则覆盖不到但实际不合理的地方比如某段线拐弯太急、通孔排列太挤。虽然这一步看起来原始但几次实战下来它帮我拦住过不止一次会被送去流片的低级错误。也希望读到这里的你在画完人生第一个反相器版图后能体验到流片回来测试全通过的那种满足感——那感觉真的不错。
返回列表