芯片测试基石:Open/Short测试原理与ATE实现详解 1. 从“第一道防线”说起为什么Open/Short测试是IC测试的基石如果你刚接触芯片测试或者正在搭建自己的测试平台无论是为了验证自己设计的FPGA、MCU还是为了批量筛选采购的IC你遇到的第一个、也必须是第一个执行的测试项几乎百分之百是Open/Short测试。业内老手们常把它叫做“O/S测试”或者更形象地称为“连通性测试”。这可不是一个可有可无的步骤而是整个测试流程的“守门员”和“安全阀”。想象一下你拿到一颗崭新的芯片满怀期待地把它焊接到精心设计的板子上结果上电后毫无反应或者冒出一缕青烟。排查半天最后发现是芯片本身某个引脚在封装时就已经内部断裂Open或者两个本不该相连的引脚在封装内部因为杂质或工艺缺陷短路Short了。这种挫败感经历过的人都懂。O/S测试的目的就是在芯片焊接到你的宝贵电路板之前把这些最基础、最致命的物理缺陷给揪出来。它的核心意义非常直接确保芯片的每一个输入/输出I/O引脚在电气连接上是独立且完整的。一个引脚既不能“悬空”开路也不能“粘住”别的引脚短路。从测试经济学的角度看O/S测试也至关重要。芯片的后续测试比如功能测试、交流AC参数测试、直流DC参数测试往往需要更复杂的测试向量、更精密的测量仪器和更长的测试时间。如果一颗芯片连最基本的引脚连通性都有问题那么对它进行后续所有复杂的测试都是在浪费昂贵的测试机时和人力。因此在所有测试流程中O/S测试总是被安排在最先执行一旦失败测试程序会立刻终止并标记该芯片为失效品从而节省大量时间和成本。可以说理解了O/S测试你就拿到了进入芯片测试世界的第一把钥匙。2. 核心原理拆解利用保护二极管的“顺藤摸瓜”O/S测试听起来很高深但其底层原理却巧妙地利用了芯片设计中的一个常见结构ESD保护二极管。几乎所有的现代数字芯片、乃至许多模拟芯片的I/O引脚内部都会集成对电源VDD和对地GND的静电放电保护二极管。这两个二极管通常背靠背连接形成一个钳位结构防止引脚上的电压因静电等过压事件超过VDD或低于GND从而保护内部脆弱的晶体管。O/S测试正是利用了这两个二极管的单向导电特性。我们不是去直接测量电阻那需要四线制开尔文连接以消除接触电阻影响在量产测试中效率不高而是通过施加一个已知的小电流然后测量由此产生的电压降。因为硅二极管在导通时有一个相对稳定的正向压降通常在0.6V到0.7V之间这个电压就成了我们判断连接状态的“指纹”。2.1 测试对VDD二极管的压降测试方法对被测引脚DUT Pin施加一个微小的正向恒流源例如100uA。同时将芯片的所有其他引脚强制拉到地电位0V。将芯片的VDD供电引脚也连接到测试系统提供的VDD电源上。工作原理电流从测试仪器的驱动通道流出进入被测引脚。由于其他引脚均为0VGND电位电流会寻找通往更低电位的路径。此时被测引脚内部对VDD的保护二极管阴极接VDD阳极接引脚处于反向偏置不导通。而对GND的保护二极管阳极接GND阴极接引脚也因阴极引脚电压可能高于阳极GND而处于反向或零偏。那么电流流向哪里它会流向其他被测引脚中任何与之存在短路连接Short的引脚。因为那些引脚被强制拉到了0V相当于提供了一个低阻抗的对地路径。如果存在Short电流会主要从这条短路路径流走导致在被测引脚上测量到的电压非常低可能只有几十毫伏主要是短路路径和接触电阻的压降远低于一个正常二极管的导通压降。如果该引脚与其他任何引脚都没有短路并且它自身到芯片内部是连接良好的非Open那么这100uA的电流最终只能流向一个地方通过芯片的电源网络流到VDD引脚。具体路径是电流进入引脚 - 流经芯片内部的电源分布网络 - 到达VDD引脚 - 流出到测试系统的VDD电源。注意这不是通过对VDD的二极管那是反向的而是通过金属连线和晶体管源/漏区的寄生电阻。这条路径的电阻虽然小但并非零因此会产生一个小的正电压通常在毫伏级别。然而我们测量到的却是一个大约**0.65V的电压。这个电压从何而来它正是来自其他某个或某几个正常引脚上对VDD的保护二极管**。理解这个有点绕的关键点当我们给Pin A加100uA电流并将所有其他引脚Pin B, C, D...强制为0V时电流从Pin A流入试图流向0V的Pin B/C/D...。但对于一个正常的Pin B来说它的对GND二极管阳极接GND阴极接引脚此时是正向偏置的因为阴极被我们强制拉到了0V不对这里需要仔细分析。实际上测试系统将Pin B强制为0V是使用了一个低阻抗的“箝位”驱动器它将Pin B的电压牢牢固定在0V。当Pin A的电流试图通过芯片内部电源网络流向Pin B时它必须克服Pin B上对GND二极管的正向导通压降。因为Pin B被强制在0V而电流要流入Pin B意味着Pin B内部节点电压需要高于0V才能使二极管导通但测试仪器的驱动器会强力将其维持在0V这形成了冲突。实际上更准确的物理图景是电流从Pin A流入通过芯片内部互连到达芯片的公共衬底或电源地网络。要流出到被强制为0V的Pin B就需要流过Pin B的对GND二极管从阴极到阳极。为了让这个二极管导通Pin B内部节点二极管阴极的电压必须比阳极GND高约0.65V。但测试仪器把Pin B外部电压强制在0V这就迫使Pin B内部节点电压被抬升至约0.65V以维持二极管导通和电流流通。而这个0.65V的电压会通过芯片内部的互连电阻反映到Pin A上使得我们在Pin A测量到的电压大约就是一个二极管的正向压降。简化记忆给一个引脚加正电流在其他引脚被拉低的情况下电流会迫使某个或某几个正常引脚的对GND二极管正向导通从而在被测引脚上产生一个约0.65V的电压。这个电压是我们期望看到的“通过”信号。2.2 测试对GND二极管的压降测试方法与上述相反。对被测引脚施加一个微小的负向恒流源例如-100uA即从引脚抽取电流。同时将所有其他引脚以及VDD引脚都连接到测试系统提供的VDD电源电位上。工作原理电流从被测引脚被抽出。同样如果该引脚与其他引脚短路电流会很容易地从被强制为高电位VDD的其他短路引脚流入从而补充被抽走的电流。这会导致在被测引脚上测量到的电压接近VDD或者至少是一个很高的正电压而不是预期的负压降。如果引脚无短路且连接良好这-100uA的电流需要找到一个来源。它最终会通过芯片的VDD网络从测试系统的VDD电源流入。具体路径是电流从VDD引脚流入 - 通过芯片内部电源网络 - 到达被测引脚内部节点 - 流出到测试仪器。同样电流需要经过某个正常引脚的对VDD保护二极管阳极接引脚阴极接VDD。为了从这个二极管抽取电流即让电流从阳极流向阴极这对二极管来说是正向电流需要使二极管的阳极电压比阴极VDD低约0.65V。因此被测引脚上测量到的电压大约是VDD - 0.65V。如果我们以VDD为参考零电位在测试中经常这样处理测到的就是一个大约-0.65V的电压。简化记忆给一个引脚加负电流在其他引脚被拉高的情况下电流会迫使某个正常引脚的对VDD二极管正向导通从而在被测引脚上产生一个约-0.65V相对于VDD的电压。2.3 阈值判断与结果解读基于上述原理我们可以设定电压阈值来判断引脚状态正常 (Pass): 测量电压在预期的二极管压降范围内。例如对VDD测试电压在0.2V至1.5V之间对GND测试电压在-0.2V至-1.5V之间或VDD-1.5V至VDD-0.2V。这个范围放得比较宽是为了容纳不同工艺角Process Corner下二极管压降的变异、测试系统精度以及微小的接触电阻影响。短路 (Short): 测量电压的绝对值太小。例如对VDD测试电压小于0.2V对GND测试电压大于-0.2V即绝对值小于0.2V。这表明电流找到了一个非常低阻抗的路径直接到其他引脚二极管根本没有导通强烈暗示存在短路缺陷。开路 (Open): 测量电压的绝对值太大。例如对VDD测试电压大于1.5V对GND测试电压小于-1.5V。这表明电流路径上的阻抗非常高。可能的原因包括引脚与芯片内部完全断开、测试探针/插座没有接触到该引脚接触不良、或者施加的电流源因高阻抗而无法输出额定电流导致引脚电压被拉至测试仪的强制电压Force Voltage限值。注意这里的“对VDD测试”和“对GND测试”是业内习惯说法更准确的描述是“施加正电流测试”和“施加负电流测试”。因为实际导通的分别是其他引脚的对GND二极管和对VDD二极管。3. 测试实现与实操要点从理论到测试机台的代码理解了原理我们来看看如何在自动测试设备ATE上实现它。这里不会涉及特定品牌ATE的编程语言而是阐述通用的流程和关键参数设置。3.1 测试条件设置电流值 (Force Current, I_f): 通常选择±100uA。为什么是这个量级足够大要能稳定地使保护二极管导通产生可清晰测量的压降~0.65V克服微小的接触电阻和噪声。足够小不能太大以免损坏脆弱的保护结构或干扰芯片状态。100uA对于大多数ESD二极管来说是安全且有效的。对于一些特别敏感或微功耗芯片可能会使用更小的电流如10uA。对称性正负电流值通常设为大小相等以简化分析和阈值设定。电压测量范围 (Measure Range): 根据预期电压设置。对于±0.65V的预期值测量范围设置为±2V或±5V通常足够既能保证精度又能捕捉到Open时可能出现的较大电压如达到测试仪器的强制电压合规限值。引脚电子 (Pin Electronics) 状态被测引脚 (DUT Pin): 设置为“强制电流测量电压”(FIMV)模式。其他所有引脚 (Other Pins): 在测试对VDD二极管时设置为“强制电压0V”即连接到GND在测试对GND二极管时设置为“强制电压VDD”。这里“强制电压”意味着测试仪用低阻抗驱动器将这些引脚钳位在指定电位为测试电流提供明确的回流路径。电源引脚 (VDD, VSS/GND): 需要施加正常的供电电压。VDD引脚连接到可编程电源提供芯片标称电压如3.3V、1.8V。GND引脚连接到测试系统地。测试顺序: 通常先进行所有引脚的对VDD测试加正电流再进行所有引脚的对GND测试加负电流。也可以合并为一次测试但需要动态切换其他引脚的钳位电压。3.2 伪代码流程示例// 定义参数 I_force 100e-6; // 100uA V_dd 3.3; // 芯片供电电压 Pass_Min_Pos 0.2; // 正向测试通过下限 Pass_Max_Pos 1.5; // 正向测试通过上限 Pass_Min_Neg -1.5; // 负向测试通过上限 (值更负) Pass_Max_Neg -0.2; // 负向测试通过下限 (值更负) // 步骤1: 对VDD二极管测试正电流测试 // 配置电源 PowerSupply.VDD.apply(V_dd); PowerSupply.GND.connect(0); // 配置所有引脚状态先全部初始化为高阻态HR foreach(pin in AllPins) { pin.mode HR; } // 配置其他引脚强制为0V foreach(pin in AllPins except DUT_Pin) { pin.mode FORCE_VOLTAGE; pin.force_voltage 0; } // 对每一个引脚进行测试 foreach(target_pin in AllDigitalAndAnalogIOPins) { // 设置目标引脚为FIMV模式强制正电流 target_pin.mode FORCE_CURRENT_MEASURE_VOLTAGE; target_pin.force_current I_force; target_pin.current_range SMALL; // 选择合适量程 target_pin.compliance_voltage_high V_dd 1.0; // 设置电压合规上限防止Open时电压飙太高 // 等待稳定 delay(settling_time); // 通常几百微秒到几毫秒 // 测量电压 V_measured target_pin.measure_voltage(); // 判断 if (V_measured Pass_Min_Pos) { log_failure(target_pin, SHORT Suspected (Pos Test), V_measured); abort_test_if_desired(); // 可配置是否立即终止 } else if (V_measured Pass_Max_Pos) { log_failure(target_pin, OPEN Suspected (Pos Test), V_measured); abort_test_if_desired(); } else { log_pass(target_pin, V_measured); } // 测试完成后将目标引脚恢复为高阻或强制0V状态为测试下一个引脚做准备 target_pin.mode FORCE_VOLTAGE; target_pin.force_voltage 0; } // 步骤2: 对GND二极管测试负电流测试 // 重新配置其他引脚强制为VDD foreach(pin in AllPins except DUT_Pin) { pin.mode FORCE_VOLTAGE; pin.force_voltage V_dd; } foreach(target_pin in AllDigitalAndAnalogIOPins) { target_pin.mode FORCE_CURRENT_MEASURE_VOLTAGE; target_pin.force_current -I_force; // 负电流 target_pin.compliance_voltage_low -1.0; // 设置电压合规下限 delay(settling_time); V_measured target_pin.measure_voltage(); // 注意判断逻辑对于负电压值越小越负表示压降越大 if (V_measured Pass_Max_Neg) { // 例如 -0.1V -0.2V判断为SHORT log_failure(target_pin, SHORT Suspected (Neg Test), V_measured); abort_test_if_desired(); } else if (V_measured Pass_Min_Neg) { // 例如 -2.0V -1.5V判断为OPEN log_failure(target_pin, OPEN Suspected (Neg Test), V_measured); abort_test_if_desired(); } else { log_pass(target_pin, V_measured); } target_pin.mode FORCE_VOLTAGE; target_pin.force_voltage V_dd; // 或恢复为高阻 }3.3 关键实操心得与陷阱供电引脚 (Power Pins) 的处理VDD和GND引脚本身通常不进行O/S测试或者采用不同的测试方法如简单的接触检查。因为它们内部没有典型的对VDD/GND的保护二极管结构或者结构不同强行测试可能导致误判或损坏。模拟引脚 (Analog Pins) 的特殊性一些纯模拟输入/输出引脚可能没有标准的数字保护二极管或者二极管特性不同。需要查阅芯片数据手册Datasheet或设计文档确认其ESD结构。有时需要调整测试电流或阈值甚至采用其他方法如高阻测量进行连通性检查。双向引脚与三态引脚测试时必须确保芯片处于一种所有I/O引脚都不会内部主动驱动状态。通常是通过硬件复位或将芯片保持在复位状态来实现。防止芯片内部驱动器与测试仪的强制电压冲突造成大电流甚至损坏。“其他引脚”的范围在测试某个引脚时“其他所有引脚”具体指哪些理论上应包括所有需要测试连通性的I/O引脚。电源、地、以及一些特殊的无保护电路的引脚如晶振输入可能需要排除。这需要在测试计划中明确定义。阈值 (Threshold) 的设定0.2V和1.5V或-0.2V和-1.5V是典型值但绝非金科玉律。必须根据具体芯片的工艺、二极管特性以及测试系统的噪声水平来最终确定。通常会在芯片特性验证阶段测量一批已知良品Golden Sample的O/S电压统计其分布均值μ标准差σ然后将通过阈值设定在μ±Nσ的范围之外例如μ±5σ或μ±6σ并留有一定余量。同时阈值必须考虑温度变化带来的影响。4. 故障诊断与生产测试中的“坑”在实际的工程和生产测试环境中O/S测试失败并不总是意味着芯片本身有缺陷。很大一部分“失效”是由测试接口问题引起的。能够快速区分是芯片真失效还是测试系统问题是测试工程师的核心技能之一。4.1 常见问题分类与排查现象可能原因排查思路与解决方案单个引脚连续失效 (Open)1.测试探针/插座接触不良探针脏污、磨损、弹力不足。2.引脚氧化或污染芯片引脚表面氧化层过厚或有异物。3.测试板Load Board走线开路PCB断路、过孔失效。4.仪器通道故障测试机特定通道的驱动器或测量单元损坏。1.视觉检查用显微镜检查探针痕迹和引脚状况。2.复测与交换对同一芯片复测多次观察是否稳定失效。将芯片旋转180度或更换到另一个测试座如果支持看失效引脚是否跟随芯片走真失效还是跟随测试座位置走接触问题。3.通道验证使用已知良品测试或利用测试机的自检Self-Check功能验证该通道的电流源和电压表功能。4.清洁与维护清洁测试插座和探针卡。单个引脚连续失效 (Short)1.引脚间异物桥接锡珠、导电碎屑导致引脚外部短路。2.测试板走线短路PCB上线路间因污染或损伤短路。3.探针间短路探针卡上探针因变形或脏污相互触碰。1.视觉检查仔细检查失效引脚及其相邻引脚之间是否有可见的桥接物。2.隔离测试将芯片从测试座取下直接用万用表在测试板对应接口上测量两个疑似短路网络的电阻判断短路点在板级还是芯片级。3.利用测试图如果多个引脚对都报Short可以画出短路关系图往往能指向一个共同的短路点例如所有与VDD短路的引脚可能都是因为VDD平面与某个信号线短路。多个引脚随机/间歇性失效1.测试程序时序或配置错误例如没有正确初始化芯片状态I/O处于输出模式或电流源/电压钳位设置错误。2.电源噪声或地弹测试系统供电不稳或测试板接地不良导致测量电压波动。3.环境干扰强电磁干扰影响精密测量。4.芯片功耗状态影响某些芯片在不同模式下内部连接可能不同需确保测试时芯片处于正确的静态模式。1.程序复查仔细检查测试代码确认所有引脚状态、电流值、电压范围、延迟时间设置正确。2.测量系统稳定性在无芯片空测或带已知良品的情况下多次运行测试观察测量值的重复性和稳定性。检查电源纹波。3.简化测试尝试只对一个引脚进行O/S测试排除其他部分程序的影响。4.核查芯片手册确认测试时要求的芯片配置如复位引脚状态、模式选择引脚电平是否正确。测量值临界 (Marginal)1.接触电阻偏高但未完全开路探针压力不足、引脚镀层不佳。2.保护二极管特性处于工艺角边界芯片本身二极管压降偏大或偏小但仍属于工艺正常波动。3.测试电流偏小在存在一定接触电阻时电流减小导致二极管未完全导通压降测量值偏低。1.增加测试电流尝试将测试电流从100uA增大到200uA或500uA确保在安全范围内。如果增大电流后压降值进入正常范围则很可能是接触电阻问题。2.分析统计分布收集大批量芯片的该引脚测试数据看其是否处于整体分布的边缘。结合芯片其他测试项如功能测试的通过率进行综合判断。3.优化接触检查并优化探针压力和清洁度。4.2 生产测试中的实战经验“Guardband”策略在量产测试中为了确保最终产品的可靠性通常会采用比特性验证阶段更严格的测试条件即“Guardband”。例如特性验证确定阈值是0.15V~1.6V量产时可能收紧到0.25V~1.4V。这是为了覆盖测试系统随时间可能产生的漂移、不同测试机台之间的差异以及更严酷的应用环境。但收紧过多会降低良率Yield需要权衡。并行测试与资源冲突在高并行度的测试中一次测多颗芯片需要仔细规划测试资源的分配。O/S测试通常需要每个引脚独立的电流源和测量单元PMU但高端测试机资源有限。工程师需要设计测试算法例如分时复用PMU或者利用测试仪器的多站点Multi-Site并行能力在满足测试时间要求的前提下最大化资源利用率和测试吞吐量Throughput。与后续测试的衔接O/S测试通过后测试程序才会解锁并执行后续的功能和参数测试。这个逻辑判断必须可靠。有时为了调试方便会设置一个“跳过O/S测试”的软开关但这绝对不能被用于正式生产。数据记录与分析不仅要记录Pass/Fail最好能记录每个引脚的实际测量电压值。这些数据对于后续的良率分析、工艺监控和问题追溯至关重要。如果发现某一批芯片的某个引脚电压呈现系统性偏移可能预示着晶圆厂某一层光刻或金属工艺出现了偏差。O/S测试作为芯片测试的起点其原理清晰但实现和调试中充满了工程细节。它就像一名严谨的门卫用最简单直接的方法守护着后续所有复杂测试的入口。吃透它不仅能帮你快速定位硬件连接问题更能让你建立起对芯片测试系统性思维的基础。下次当你设计的板子上的芯片不工作时除了检查自己的电路和焊接不妨也想想这颗芯片在来到你手上之前是否已经通过了它自己那扇至关重要的“门卫”的检查。