Logo兔二思
  • 价格
  • 博客
  • 关于
2025/10/28

告别失配!实用的版图匹配技巧(附仿真验证说明)

如何让你的版图真正做到匹配:以"电流镜"为例,通过仿真对比四种不同的版图画法,展示匹配精度差异。

小红书小红书公众号公众号微信微信

在上一篇《电路工程师需要掌握的 Layout L/XL 使用技巧》文章中,介绍了使用 Virtuoso 查看版图的基本操作和技巧。这篇接着来讲版图中,最常见也最容易被忽视的问题:匹配

关于匹配的理论文章已经非常多了,今天我想换个角度,从后仿真验证出发,实际检查一下那些看起来“对称”的版图,是否真的匹配。

本文将以电路中最常见的“电流镜”为例,通过几种不同的画法对比仿真结果,展示匹配布局中 STI 应力引起的 LOD 效应的影响。并介绍如何通过前后仿真验证,来发现和解决这类匹配问题。

⋇ 六种主要的“版图相关效应”简介

PS:

LOD 效应属于 “LDE (Layout Dependent Effects)” 版图相关效应的一种。LDE 还包括 WPE、OSE、PSE 效应等。这次先把 STI 应力相关的 LOD 效应讲清楚,如果大家对这个专题比较感兴趣,后续再更新其他效应。

不同版图画法对匹配精度的影响有多大?

为什么同一个电流镜的设计不同,画法结果差异这么大?为什么有时候电路工程师会要求把 finger 画法改成 multiplier 方式?

下面用一个最简单的 1:1 电流镜来说明,不同版图画法对匹配精度的实际影响。

电路图里:M1 和 M2 都是 NMOS,M2 复制 M1 的电流镜像输出,理想情况下,Iout = Iin;器件使用的是 180nm 制程 STI 工艺的 n18_ckt,器件参数如下:

( w=5um,l=1um,fingers=1,m=2 )

四种典型的电流镜版图

这个电流镜的版图可以有很多种画法,这里挑了四种比较典型的:

( 示意图:A = M1;B = M2 )

Layout ALayout B
结构ABBA pattern,合并源漏极DABBAD pattern,合并源漏极
说明4 个 finger 交叉排列实现质心匹配,合并源漏极以节省版图面积。A 是 M1 的两个 finger,B 是 M2 的两个 finger。在 Layout A 的基础上,两端各加了一个 dummy 器件以减少边缘效应影响,dummy 和两端的 A 也合并源漏极。

( 示意图:A = M1;B = M2 )

Layout CLayout D
结构A-B-B-A pattern,不合并源漏极AA-BB pattern,分组合并
说明保持 ABBA 排列,但 4 个器件都是独立的,源漏极不共享。AA 两个器件合并,BB 两个器件合并,但 AA 和 BB 之间不合并源漏极。

🤔现在,你可以先暂停仔细思考一下,以上四种布局哪种匹配效果最优?然后继续往下读,看你理解的匹配方式和实际的仿真结果是否能对上?

前后仿真结果对比

前仿真用的是 schematic,不包含版图寄生参数,理想情况下四种画法的 Iout 都是 20μA。

后仿真用的是 qrc 提取的 dspf 网表,包含了版图的真实寄生参数。

跑完仿真,结果是这样的:

四种电流镜版图的“前后仿真对比结果”及“电流特性曲线”

  1. Layout A:后仿真电流比前仿真多了 4.12%,这是最常见的 ABBA 合并画法,但失配最严重。

  2. Layout B:加了 dummy 之后,偏差降到 1.1%,有改善,但还是没完全解决。

  3. Layout C 和 Layout D:它们的偏差基本可以忽略,前后仿真一致。

再从版图结构看,Layout A/B 和 Layout C/D 的差别主要在 “源漏极是否共享”。所以问题来了:

  1. 为什么合并源漏极后,后仿真电流会有 4.12% 的偏差?

  2. Layout A 明明是 ABBA 质心匹配,为什么还会失配?

  3. 增加 dummy 为什么能改善,但又没法完全消除偏差?

这些问题的答案,在于 LOD 效应。

什么是 LOD 效应?它是如何影响器件匹配的?

不是所有工艺都会引发 LOD 效应问题,这取决于工艺所使用的“硅隔离方式”。

早期工艺(如 >0.25um)常采用 LOCOS(局部氧化硅)或全区氧化方式来隔离器件,这些工艺不涉及 LOD 效应。随着器件尺寸越来越小之后,很多 foundry 逐步改用 STI (Shallow Trench Isolation) 浅沟槽隔离技术。该技术引入的机械应力会影响器件特性,这种应力效应在 SPICE 模型中通过 LOD (扩散区长度) 参数来表征,因此被称为 LOD 效应。

⋇ 工艺图示:>.25um=LOCOS 主要考虑梯度匹配;< .25um=STI

本文案例用的 180nm 制程采用的就是 STI 技术。

如果你想确认自己使用的工艺采用什么隔离技术,可以通过查看 PDK Design Manual 的 Process Overview 等章节来了解。

下面是案例的 PDK 文档截图,可以看到明确提到了 STI 以及 LOD Effect:

⋇ PDK 文档截图:工艺技术和 Spice model 相关描述

LOD 效应的物理机制与参数定义

要理解 LOD 效应为什么会影响匹配,首先需要先了解 STI 应力的影响机制。

下面简单介绍一下(记不住这些细节也没关系🫣):

STI 工艺制造过程中,先在硅片上刻蚀出浅沟槽,然后填充氧化物来隔离器件。晶圆冷却时,氧化物收缩产生的应力会挤压邻近的有源区,改变了载流子在沟道中的迁移率 μ,最终影响器件的电学特性。

STI 产生的应力程度与“有源区到 STI 边缘的距离”有关:有源区离 STI 边缘越近,受到的应力越大,影响越显著。

注意

这个应力对 NMOS 和 PMOS 的影响方向并不相同:

  • 对 NMOS 来说,应力通常会降低电子迁移率 μ → 变 “慢”
  • 对 PMOS 来说,应力通常会提高空穴迁移率 μ → 变 “快”

⋇ 有源区到 STI 边缘距离和迁移率的关系图(图片来源于网络)

在 SPICE 模型中,有源区到 STI 边缘的距离关系是通过 LOD 参数来表征的,它由三部分组成:

LOD = SA + L + SB

其中:

  • LOD 表示整个有源区的长度;
  • L 是指栅极长度;
  • SA (Stress A) 是指从 “栅极-Poly Gate” 的一侧边缘,到该侧 “有源区-Active” 边缘的距离;
  • SB (Stress B) 是指从 “栅极-Poly Gate” 的另一侧边缘,到该侧 “有源区-Active” 边缘的距离;

SA 和 SB 只是命名,哪边是 SA 哪边是 SB 是可以互换的,不会影响器件特性。重要的是这两个距离的数值。

⋇ LOD 各参数的版图示意图

SA(SB) 差异为什么会导致失配?

那么,这些参数的差异为什么会导致电流失配呢?

这里以 Layout A 作为示例,简单解释一下从参数差异到电流失配的整个影响过程:

SA(SB) 不同 → STI 应力不同 → 载流子迁移率不同 → 电流失配

匹配器件之间 SA(SB) 不相等 → 应力不同

SA 和 SB 分别是栅极两侧到有源区边缘的距离,距离越近,应力越大。示例中 M1 的 SA(SB) 相比 M2 更小,受到 STI 应力的影响更大。

应力不同 → 迁移率 μ 不同

STI 应力会改变载流子在沟道中的迁移率,对于 NMOS 来说,通常应力越大电子迁移率越低,示例中 M1 受到的应力越大,因此 M1 的迁移率比 M2 更低。

迁移率 μ 不同 → 电流失配

电流镜的电流镜像比例和“器件尺寸比例”,“过驱动电压”以及“迁移率 μ”有关。示例中 M1 的迁移率相比 M2 更低,因此 M2 的电流相比 M1 偏大。

⋇ MOS 管饱和区的电流公式

看到这里,你可能觉得这些物理细节太复杂了。其实你不需要记住每一步的技术细节,只要记住这个核心原则就够了:

想避免 LOD 引起的器件失配,就是要让匹配器件之间 SA(SB) 参数尽可能相等。

现在我们可以回头来解释,为什么四种画法有不同的匹配结果。

版图关键结构匹配结果
Layout A(ABBA 合并)看起来对称,但 M1 和 M2 的 SA(SB) 值差异较大失配严重,后仿真偏差为 4.12%
Layout B(DABBAD)通过增加 Dummy 的方式,减小了 SA(SB) 差异失配改善,但未完全消除,后仿真偏差为 1.1%
Layout C/D(独立分组)STI 应力影响一致,SA(SB) 完全相等匹配较好,前后仿真基本一致

如何仿真验证 LOD 效应对匹配的影响?

根据项目阶段不同,介绍两种验证方法。

一种是基于寄生网表提取的后仿真验证,提供最终的精确数据;另一种是基于 SA/SB 参数的前仿真验证,适用于前期评估,能够在版图设计早期就发现 LOD 匹配问题,避免后期返工。

下面分别介绍这两种方法的具体操作流程,以 Layout A 为例进行演示。

方法一:基于寄生网表提取的后仿真验证

在后仿真阶段,我们会使用 QRC 或 PEX 工具提取版图的寄生参数。提取时,工具会根据版图实际的几何结构,按照 rule 文件中定义的解析公式进行运算。这些公式会考虑层间关系、扩散区域形状等因素,计算出包括 RC 寄生、SA/SB 在内的各种版图相关参数。

所以,通过这种方式得到的 SA/SB 值,才是真正反映器件最准确的结果。

验证过程主要包括这几个步骤:

提取版图寄生参数生成后仿网表

本文案例使用的是 R+C 提取模式,包含了所有寄生参数。如果你只想单独验证是否由 LDE 效应引起的失配,提取模式也可以选择 No R/C 模式,这种模式只提取器件的版图效应参数,不提取连线 RC 寄生。

提参完成后,会生成一个网表文件。以 Layout A 为例,打开提取后的网表,可以看到每个 MOS 器件的实际参数:

搭建 Testbench 环境并运行仿真

后仿真需要搭建一个合适的 testbench,用于验证电流镜的匹配性能。下面提供一个设置参考:

  1. 给定 20μA 参考电流源

  2. 使用 VCVS 钳位输出电压,保证 M1 和 M2 的 Vds 相等,消除短沟道效应的影响

  3. 保存 M2 输出电流 Iout 到 ADE Outputs 面板

对比输出结果

运行仿真,查看 M2 的镜像电流 Iout。

以下是操作步骤演示:

方法二:基于 SA/SB 参数的前仿真验证

这个方法的思路是:先在版图里测量出 SA/SB → 改 Schematic 里的 Pcell 参数 → 看仿真差异。

当你想快速验证失配是不是由 LOD 效应导致的,可以先用这个方法做初步判断。但是,这种方法只能验证 LDE 效应,无法验证 RC 寄生参数的影响。如果你的电路对寄生电阻电容敏感,最终还是需要做完整的后仿真。

测量出匹配器件的 SA/SB 值

在版图中,用测量工具直接量出 Poly Gate 边缘到 OD 边缘的距离。

以 Layout A 和 Layout D 为例,测量结果如下:

⋇ Layout A 和 Layout D 的 SA、SB 测量位置和测量数值

从表格可以看出,Layout A 中 M1 和 M2 的 SA(SB) 值差异明显, 意味着 M1 和 M2 受到的 STI 应力程度不同。而 Layout D 中,M1 和 M2 的 SA(SB) 都分别相等,SA 都是 0.48 um,SB 都是 2.02 um。

修改 Schematic 中的 Pcell 参数

知道版图里实际的 SA/SB 值后,在电路图中手动修改器件参数。

在 Virtuoso 中选中 Pcell 器件,按 Q 键打开器件的属性面板,在参数列表中可以找到 SA 和 SB 值,填入 Step 1 测量的数值。改完参数后,SPICE 模型会根据新的 SA/SB 值重新算器件特性,模拟 LOD 效应的影响。

⋇ 编辑 Pcell 参数列表中的 SA 和 SB 数值

另外,不同 Foundry 的 Pcell 参数命名可能不一样。有些可能用 SA/SB,有些可能会用其他的,还有些需要通过 Option 开关来启用 LDE 参数。如果你不确定参数名称或怎么设置,可以查看 PDK 的 Design Manual,一般会有专门的 CDF Parameters 章节,详细介绍 Pcell 参数的定义和使用方法。

运行仿真,对比修改参数前后的结果

改完 SA/SB 参数后,再次仿真对比改之前和改之后的结果。

如果修改参数后,原本正常工作的电路出现了偏差,说明这个失配问题确实是由 LOD 效应引起的。这时候你就可以有针对性的优化版图,比如调整器件排列方式、或者修改源漏极合并方案等。

总结

以上,从一个电流镜失配的问题出发,介绍了 LOD 效应对版图匹配的影响,以及验证方法。

简单总结一下,避免 LOD 失配的几个要点:

➊ 让匹配器件 M1 和 M2 之间的 SA(SB) 尽可能相等;

➋ 合理使用 dummy,增大 SA(SB) 值,使器件远离 STI 边缘;

➌ 不要盲目套用 “匹配就是 ABBA” 的经验,ABBA 能抵消全局梯度,却无法消除局部 STI 应力差异。

另外,在具体项目中应用这些匹配原则时,还需综合考虑电路类型、匹配精度、工艺节点和面积等因素。并非所有情况都要追求完美匹配,如果误差在可接受范围内,选择面积更小、连线更简单的方案,也是合理的选择。

全部文章
不同版图画法对匹配精度的影响有多大?四种典型的电流镜版图前后仿真结果对比什么是 LOD 效应?它是如何影响器件匹配的?LOD 效应的物理机制与参数定义SA(SB) 差异为什么会导致失配?如何仿真验证 LOD 效应对匹配的影响?方法一:基于寄生网表提取的后仿真验证方法二:基于 SA/SB 参数的前仿真验证总结

更多文章

调一调更好用:布线助手 Wire Assistant 的几项设置
环境配置

调一调更好用:布线助手 Wire Assistant 的几项设置

Wire Assistant 用得多但每次都要重新调?教你用环境变量一劳永逸搞定默认设置。

avatar for Tina
Tina
2025/06/03
Layout EAD 实时提取版图寄生参数(二):参数设置
工具实战

Layout EAD 实时提取版图寄生参数(二):参数设置

介绍 Layout EAD 启动后的基础配置流程,包括 Process 工艺角、EM 数据源、Layer Mapping、提取模式和多线程等参数设置,并说明如何保存 ini 配置后执行寄生提取。

avatar for Tina
Tina
2024/05/10
如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题
扩展开发

如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题

遇到 LVS 提示 Source netlist 缺少 SUBCKT 定义时,通常是 CDL 网表没有包含 PDK 的器件定义文件。本文介绍问题原因、include 文件添加方式,以及如何保存为可复用配置。

avatar for Tina
Tina
2021/02/18

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新

小红书公众号微信
© 2026 兔二思. All Rights Reserved.