
简介《运放版图分解.ppt》是西南科技大学网络教育系列课程《集成电路版图设计》的配套课件面向微电子、集成电路相关专业学生及版图设计入门工程师系统拆解运算放大器版图的设计流程与方法。资料为单个PPT演示文稿约1.32MB已有374人学习下载。内容围绕版图与原理图的一致性、器件命名规则等基础规范展开重点讲解差分对管的二维共中心匹配与Dummy管添加、电流镜的ABA/ABB排列及源漏互换、保护环设置等实用技巧并通过棍棒图示例完整演示从元件布局到信号连线的操作路径。此外还梳理了LVS检查中常见的九类问题包括原理图命名不当、输出引脚定义错误、版图与原理图不一致、网表可见的隐藏元件等便于学习者对照排查设计隐患提升运放版图的一次通过率与抗干扰能力。1. 运放版图匹配策略比手稳更重要运放版图画得好不好从来不是靠手稳而是靠匹配策略。同一个运放原理图不同人画版图流片测出来的失调电压可能差出三到五倍。这不是玄学而是差分对管的匹配方式、电流镜的排列方向、以及源漏共用的取舍在起作用。运放版图设计真正难啃的三块肌肉就是差分对管、电流镜和 LVS 验证。这份课件把这三块拆成了能照着做的步骤先收拾原理图的命名和标号再用棍棒图规划器件走向最后落金属连线。它适合正在做模拟课程设计、头一次打开版图工具、或者已被 LVS 卡了好几天的从业者。读完你能自己走完一遍从原理图到版图的流程也知道每条连线、每个 Dummy 该不该放、该放哪。2. LVS 不通过的九类问题先把原理图门面收拾干净2.1 LVS 在查什么三层一致性核对LVS 全称 Layout Versus Schematic做的是拿版图工具提取出来的网表和原理图网表做比对。比对分三层第一层是器件版图里提取出的 MOS 管数量、宽长比、类型要跟原理图一致第二层是连线同名节点要连在一起不能多连、漏连第三层是属性比如 pin 的方向、是否标记了电源地。在一线流片流程里LVS 放在 DRC 之后跑。DRC 管几何规则LVS 管逻辑一致性。课件把 LVS 常见问题放在最前面是有原因的大多数第一次画运放版图的人不是栽在画线而是栽在原理图本身不干净。你花一晚把版图画完一跑 LVS 报出二三十个错结果逐条追回去发现七八个是原理图命名、标号、符号方向的问题这类问题返工成本极高。我一般会建议先花半小时把原理图过一遍再动笔画版图。这半小时换来的是后面少跑十几轮 LVS。下面这九类问题是从课件里梳理出来的高频失败原因按「原理图本身的问题」和「工具使用习惯的问题」分成两组看思路会清晰很多。2.2 命名与标号AA 和输出标成 Y课件里第一条原话是「原理图名字不合理例如AA」。新手会觉得名字重复不就是同名节点连一起吗问题恰恰在这。版图里如果两条 net 都叫 A提取时它们会被认为是同一个电气节点相当于强行短路。如果你的本意是两根独立的线那 LVS 必然报错而且报错位置很怪往往指向一个你根本没想到的器件。第二条是 D 触发器的输出标号与反相器或传输门符号相同比如 D 触发器输出标为 Y。这属于符号层面的冲突。版图提取工具在识别器件类型时靠符号和 pin 名字做映射Y 同时作为触发器的输出和反相器的输出会造成网表提取时的歧义。解决办法也简单命名时避开功能符号名输出引脚用 OUT、OUT1、QN 这类明确的名字别用 Y。第三条是版图与原理图不一致。这条看着像废话实际是高频翻车点。常见场景是早上改了一版原理图把某个管子宽长比换了下午画版图时没同步还在按旧参数画。LVS 不比对宽长比默认值的话可能不报但一旦开了参数比对选项就会成片报 mismatch。我的习惯是改原理图之前在纸上画个记号画版图前对着最新网表重新确认一遍器件参数。2.3 隐藏元件与断线网表原理图里看不见的坑第四条原理图存在你无法看见的元件只能通过网表看到。这类元件通常是隐藏了 body 或 substrate 属性的管子、被藏起来的电源符号、以及 assign 语句生成的虚拟节点。原理图上干干净净网表里却多出七八个器件。排查方法是在验证菜单里打开所有 hidden pin 和 symbols让网表完全展开再和版图对照。第五条原理图连线无法连接到元件。画原理图时线头悬空看起来连上了实际没接触这是初学者最常见的原理图错误。查法是用 DRC 或者连线检查功能找悬空线头。用鼠标拖着线头在元件引脚上松手并不代表真的连上了要看到连接点出现才作数。第六条一个电路的输出不能直接接到另一个电路的输出。这在运放里特别容易踩——两个运放输出端想在版图里合并成一根线或是电流镜的 drain 端接了多个驱动。原理图层面两个输出短接LVS 提取出来就会提示多余的连接。如果确实需要做 wired-OR 结构得回到电路设计层面确认逻辑而不是在版图里硬连。2.4 XL 流程里的标号与引脚方向第七到第九条都跟工具使用习惯相关。第七条原理图的命名最好和版图文件命名相同。这个命名指的是 cell name 和 net name 的映射两者一致时 LVS 比对能少一层翻译报错信息也更直观。第八条在 XL 流程里输入输出标号不允许在版图中手动给出必须在生成时指定。XL 的特性是版图跟原理图联动pin 由 XL 生成时自动放手动放标号反而会被当成 text 层LVS 认不出来。第九条原理图里输出引脚定义成了输入生成的符号中引脚方向反了最终导致 LVS 提不出 pin。这三条本质都是「让工具自动生成、别手动干预」。我第一次用 XL 流程时贪快版图上手动打了几个输出标号结果 LVS 直接漏掉这几个 pin排查了三个小时。从那以后 XL 流程里我全程让工具生成 pin只在最后做 label 检查。处理这几类原理图问题我一般顺手写个小脚本把网表扫一遍专门找重复命名和悬空线头逻辑大概是这样的import re def scan_cdl(path): nets {} dangling [] pattern re.compile(r^(\w)\s\(([^)]*)\)) with open(path) as f: for line in f: m pattern.match(line.strip()) if not m: continue inst m.group(1) pins [p.strip() for p in m.group(2).split(,) if p.strip()] for p in pins: nets.setdefault(p, []).append(inst) for net, insts in nets.items(): if len(insts) 1: dangling.append((net, insts)) return dangling if __name__ __main__: problems scan_cdl(opamp_top.cdl) for net, insts in problems: print(f悬空或孤立节点: {net} 只连到 {insts})这个脚本做的事很简单读取 CDL 网表按行拆器件和 pin统计每个网络连到了哪些器件。逻辑说明nets字典把同名网络聚合起来出现次数为 1 的网络意味着只有一个器件连着它这是悬空线的典型特征。参数说明pattern按 CDL 的标准行格式匹配如果网表是 Spice 格式行首器件名后面接的是节点编号不是括号需要把正则改成按节点数量匹配的写法。脚本只做初筛真正能不能过 LVS 还是要以工具比对结果为准。3. 差分对管版图二维共中心匹配与 Dummy 的取舍3.1 为什么必须做共中心匹配差分放大器是运放输入级输入对管的失配直接表现为输入失调电压。CMOS 工艺里晶圆上的氧化层厚度、掺杂浓度、刻蚀速率都存在梯度同一方向上相距越远工艺参数差别越大。普通左右对称布局只能保证几何对称保证不了电气匹配。共中心匹配的思路是让两只好配对的管子围绕同一个几何中心排布使它们感受到的工艺梯度在二维方向上都被平均掉。课件里用的是 ABBA 排列。A 和 A 是差分对的两只管子B 是中间用于改善匹配的器件。把 A 分别放在最外侧两个 B 放中间整体中心落在 B 的连线上A 对中心对称。这样从左到右的线性梯度被两只 A 管平均分摊失配量大幅下降。二维共中心还有一层要求不只左右对称上下方向也要考虑。对运放差分对来说布局时先假设一个中心点让每一只匹配管都围绕中心对称放置连走线都尽量对称。课件里说的「采用二维共中心匹配」本质上是把一个一维排列问题升级成二维对称问题付出的代价是走线变绕收益是匹配精度上一个台阶。3.2 从原理图到棍棒图源漏共用怎么找课件在这一节开头直接问「看看哪些源漏能共用」。在版图里源漏共用的收益是双份的一是面积减小二是寄生电容减小。MOS 管的源区和漏区本质上是对称的画版图时把相邻两个管子的源漏合并成一个扩散区中间省掉一块隔离区域连线也少走一截。实操时我习惯先画棍棒图不画完整版图。棍棒图用矩形代表管子横线代表多晶栅节点处标出源漏。目的是快速试验不同排列看哪两个管子能把源漏合并。课件里差分对经过源漏共用后得到一张棍棒图然后再开始连线。这个顺序非常关键先确定了源漏共用关系再连线否则最后发现走线要绕大圈又得推翻重来。步骤可以这样拆 第一步画出运放的输入差分对用 A、B 标出两只管子列出各自的源、漏、栅三个端。 第二步把源漏互换排列所有可能性写出来找相邻管之间是否有一端能合并。 第三步确定最终排列画出棍棒图对每个端点标出它连去的网络名。 第四步根据棍棒图在版图里落器件再走金属连线。课件还留了一句「自己试着画画有没有更好的走线方式」这句不是客套。差分对管布线确实存在多种方案源漏共用关系确定后走线可以绕上方也可以绕下方选择标准是让输出对的两条支路寄生尽量相等。3.3 Dummy 管加了它多花面积不加它边缘效应找你课件在差分对管一节给出了两组对比无 Dummy 和有 Dummy。不加 Dummy 时排列最外侧的管子一侧没有其他器件刻蚀和注入时的环境与内侧管子不一样导致外侧管子的有效沟道长度发生偏移。对有源区边缘效应敏感的匹配对来说这会造成额外的失配。加 Dummy 的做法是在匹配组两端各放一只不参与工作的管子或扩散区让两端的环境和中间一致。Dummy 管需要接固定电位常见做法是栅接电源源漏接在一起或做隔离处理。注意Dummy 如果不按要求接电位会在 LVS 里被识别成多余器件这时候要给 Dummy 加排除标记或使用层次化 cell 的方式处理相关坑在第五章单独展开。Dummy 不是越多越好。课件里的示例加一只就够加多了白白增加面积和寄生。我自己的经验法是失配敏感的场合必加比如输入差分对关键尺寸小、对失配不敏感的偏置管靠共中心和源漏共用就能满足需求不必每个匹配组都上 Dummy。4. 电流镜版图四种排列的取舍与保护环接法4.1 电流镜一ABA 与 ABB 两种排列怎么选电流镜是运放的偏置核心电流镜像关系的失配会直接导致偏置电流偏差。课件给的第一种电流镜用了 ABA 排列还特别画了无 Dummy 和有 Dummy 两个版本。ABA 的意思是器件 A 裂成两个指放在两端B 放中间。这样 B 对两边的 A 都是对称的在需要多个电流镜输出复制比例时这种排列能保证输出管和基准管的一致性。ABB 排列则是另一种源漏共用关系B 的权重更集中。选 ABA 还是 ABB取决于你要镜像的是哪一组管子、谁对谁匹配更重要。判断标准就一条优先保证基准管的电流路径与输出管在工艺梯度上平均相等。课件里给的流程是先画两种方案的棍棒图对比哪种源漏共用更多、连线更顺再决定。这个先后顺序很重要——先定排列再连线而不是反过来。4.2 源漏互换棍棒图阶段的灵活性来源MOS 管在物理上源漏是对称的这给了版图画法很大自由度。同一个电流镜源漏互换之后原来没法共用的端点突然就能合并了。课件里「源漏互换寻找源漏共用」正是这个意思。操作时把每个管子的 source 和 drain 标签互换位置重画一遍看新的排列能不能让相邻管之间出现可合并的扩散区。这里有个容易弄混的点原理图上器件的 source 和 drain 是固定的版图上互换源漏之后LVS 认不认认。因为 LVS 比对的是连接关系不比对源漏标签只要电路逻辑一致即可。不过如果管子是特殊器件比如带 body 连接的非对称器件源漏互换前要确认器件结构允许不然提取出的网表会对不上。4.3 电流镜二BCCAACCB 与 CABCCBAC 的全共用判断课件里的电流镜二给了两种排列方式BCCAACCB 和 CABCCBAC。这种用字母串表示排列的方式是版图工程师之间常用的沟通语言。每个字母代表一个器件顺序就是从左到右的摆放顺序。粗看这两串很相似但具体到源漏共用结果完全不同。这两种排列的特点是都能实现全部管子的源漏共用不需要额外的隔离区。判断一个排列是否全共用的简单做法是给每个器件的左右端标上源或漏沿着排列顺序走一遍看相邻器件的相邻端能不能合并成同一个扩散区。如果存在相邻两端一个是源、一个是漏那它们就不能共用这一段就得隔离面积立刻变大。课件鼓励自己试着画棍棒图因为排列组合的验证只有亲手画一遍才记得住光看别人画的图没用。下面这张表把两种电流镜的排列特征整理在一起方便对照排列源漏共用情况匹配侧重适用场景ABAB 与两侧 A 均可共用输出管对基准管对称基准管居中、复制电流在两侧ABBA 与 B 之间部分共用偏置管靠近一侧面积优先、匹配要求不极端BCCAACCB全部器件源漏共用梯度平均分摊高匹配要求的镜像电流源CABCCBAC全部器件源漏共用梯度平均分摊与上一种近似、走线更顺表格里的前三列对应课件的方案一和方案二场景第四列是我按项目经验排的适用场景。实际选型时把源漏共用关系先画出来再比对比直接套表更稳因为每个运放的管子尺寸和数目都不一样。4.4 保护环打在哪、接到哪电流镜对衬底噪声敏感课件在电流镜流程里强调了「打保护环」。保护环本质是一圈重掺杂扩散和接触孔包围敏感区域把衬底电流或阱电流引走。P 衬底工艺里NMOS 周围打接地保护环吸收衬底噪声PMOS 周围打接电源保护环隔离阱内噪声。保护环两个常见错误一是只画了一圈但没打接触孔等于没画二是环的电位接错反而在环和衬底之间形成额外二极管。正确做法是环内沿四周布满接触孔留出合适的间距并确保和对应电位多打几个过孔连接。课件里电流镜的示例在源漏共用的基础上再打保护环位置在匹配组的外围不影响内部连线。5. 避坑与排查从棍棒图到成图的四组实战记录5.1 踩坑记录一LVS 报 extra device是 Dummy 惹的祸现象版图画完了差分对两侧按要求加了 Dummy一跑 LVS 就报 extra device规则里明明已经把 Dummy 排除在外还是报。 原因Dummy 管的源漏接了固定电位在提取网表时被当成正常管子参与了比对。 解决给 Dummy 用虚拟器件层做识别或者把 Dummy 的源漏与栅短接成二极管形式再接固定电位让提取器把它识别成二极管而不是 MOS。之后在 LVS 规则里排除这一层。从那以后我每次画带 Dummy 的匹配组都会先确认 Dummy 的接法和识别层设置再往下画。5.2 踩坑记录二共中心做对了走线把对称毁了现象差分对的器件排列完全按 ABBA 共中心LVS 也通过但后仿结果显示失调比预期大。 原因器件是共中心的但两条输出走线一条走顶层一条走底层金属寄生电容不相等引入新的失配。这种情况比器件失配更隐蔽。 解决匹配信号线成对走镜像位置走相同层次和相同宽度。差分输出到负载的走线尽量在同一个金属层并排走转角保持一致。验证办法是寄生提取后对比两条线的寄生电容差异超过 5% 就得改走线。5.3 踩坑记录三保护环的环悬空等于没打现象电流镜周围打了保护环噪声测试依然超标甚至出现闩锁苗头。 原因保护环画了但接触孔只打了几个角环本身没有低阻接到对应电位等于悬空了一大段。 解决重新检查保护环的接触孔密度每隔一段距离打一排孔环的四个角都要有过孔到电源或地最好在环的两侧对称位置各打一个主连接点。5.4 踩坑记录四原理图网表多出来的器件找不到现象LVS 开始时提示网表里有 8 个器件版图这边只找到 6 个。 原因原理图里有隐藏电源符号和隐藏 body 端子器件在图形界面里看不见网表里却真实存在。 解决打开 all hidden把隐藏符号显示出来逐一定位。也可以先用网表扫描脚本把 CDL 里全部器件列出来和原理图逐项核对。这个脚本可以顺手丢进版图项目的脚本目录里每次改网表都跑一遍。5.5 每次提交前固定走一遍的检查清单我给自己整理了一份检查清单不一定全但能挡住八成的低级返工检查项怎么查出问题时的表现原理图命名扫描网表找重复标号、输出标 YLVS 报短路或器件歧义原理图隐藏元素显示隐藏符号核对器件数LVS 器件数对不上pin 生成方式确认 pin 由工具生成而非手动LVS 缺 pin差分对共中心检查 ABBA 排列与走线对称失调偏大电流镜排列源漏共用是否最大化面积偏大或匹配不够Dummy 接法确认固定电位与识别层LVS extra device保护环接法检查环电位与接触孔密度噪声超标版图与原理图同步比较两端器件参数清单LVS mismatch6. 棍棒图进阶三个让成图少返工的实操习惯6.1 在棍棒图上标网络名连线阶段按名索骥多数人画棍棒图只标器件字母不标网络名到连线时对着原理图一顿找。我的做法是在棍棒图每个端点上直接标网络名比如 VINP、VINN、BIAS、OUT。这样连线时就是按名索骥哪里该连哪根线一目了然。更重要的是标了网络名的棍棒图能直接用来做源漏共用验证相邻两个端点标同名时这个扩散区必然可共用。6.2 写个排列校验脚本对称性不再靠肉眼排列组合靠肉眼容易看漏我写过一个几十行的 Python 脚本输入一串字母排列输出每个字母的中心位置和整体对称性。代码在这里def check_centroid(seq): # 统计每个器件出现的位置索引 pos {} for idx, ch in enumerate(seq): pos.setdefault(ch, []).append(idx) info {} for ch, idxs in pos.items(): center sum(idxs) / len(idxs) span max(idxs) - min(idxs) 1 info[ch] {center: center, span: span} # 检查每种器件是否关于整体中心对称 total_center (len(seq) - 1) / 2 sym_ok True for ch, d in info.items(): if abs(d[center] - total_center) 0.01: sym_ok False return info, sym_ok seq BCCAACCB info, ok check_centroid(seq) print(info, 共中心对称:, ok)这个脚本的逻辑说明pos把每个字母的所有位置收集起来BCCAACCB 里 A 出现在索引 2 和 3中心正好落在序列中心对称成立。参数说明seq是你要验证的排列字符串字母种类和位置的统计规则完全按字符串来改成 ABBBA 会得到新的中心分布。脚本输出每种器件的中心位置与整体中心相差 0.01 以内视为通过。这比拿尺子在图上比要快也比肉眼靠谱改排列时随手跑一遍就能决策。6.3 先 DRC 后 LVS便宜的检查放在前面LVS 报的位置和版图实际位置往往不全对应尤其在连线错误成片出现时LVS 报错信息里一半是连带错误。先跑 DRC把几何规则错误清掉再跑 LVS报错数量会少很多也更容易定位。DRC 报错的修复通常不影响逻辑连接但 LVS 报错往往需要动连线、动层次代价更高。把便宜的检查放在前面这个习惯能省掉大量无效返工。我自己的流程固定成原理图检查 → 棍棒图 → 版图 → DRC 清零 → LVS 清零 → 寄生提取对比。棍棒图阶段就把布局错误消化掉成图阶段基本只跟连线打交道。这个方法也是课件整堂课的思路先想办法再动笔画。后来我带过的每个做运放版图的新人我都强制他们先交一张标了网络名的棍棒图再动工具这一道工序至少砍掉一半的 LVS 返工。如果你正被运放版图卡住拿这份课件配合上面的检查清单过一遍多数坑都能绕开。希望帮到你。本文还有配套的精品资源点击获取