可测性设计(Design for Testability, DFT) 是在芯片中插入的,不改变原电路功能的,可实现对芯片制造峡陷进行检测试并节省测试成本的电路或方法。
可测性设计(Design for Testability, DFT) 是在芯片中插入的,不改变原电路功能的,可实现对芯片制造峡陷进行检测试并节省测试成本的电路或方法。集成电路的测试早期以功能测试为主,但随着电路规模的扩大,功能测试越来越难以覆盖芯片的缺陷,为此面向故障模型的可测性设计和结构测试日益成为主流。可测性设计侧重提高电路的可控制性和可观测性,可控制性是指激发出目的故障或缺陷难度的度量,可观测性是指故障或者缺陷可被测试设备观测到的难度的度量。
故障模型(Fault Model)是可测性设计的前提,是指将电路缺陷等抽象为逻辑错误,从而指导可测性设计及测试向量生成的模型。常见的故障模型包括固定0 (Stuck-at-0)、 固定1 (Stuck-at-1)、 耦合( Coupling)、桥接(Bridging)等故障模型。衡量可测性设计的主要指标有故障覆盖率和硬件开销。故障覆盖率是指测试到某种故障的比例,一般而言覆盖率至少要达到95%以上。硬件开销是指插入的可测性逻辑面积占芯片总面积的比例。
按照电路类型的不同,可测性设计通常可以分为数字逻辑可测性设计、片上存储器可测性设计和数模混合电路可测性设计三类。
(1)数字逻辑电路可测性设计:主要包括逻辑内建自测试 (Logic Built-ln Self-Tes)、 边界扫描测试(Boundary Scan Test) 和扫描测试(Scan Chain Test)等。逻辑内建自测试使用随机向量来测试逻辑电路,具有测试时间短、测试成本低的优势,一般采用线性反馈移位寄存器生成测试向量。边界扫描测试是在芯片输入/输出端增加移位寄存器,并连接为边界扫描链,常用于芯片间的互连测试。边界扫描测试已经形成标准IEEE 1149. 1- 1990。
扫描测试是一种结构化的可测性设计方法,其将待测电路的寄存器替换为扫描寄存器,并连接为扫描链,测试数据通过扫描链移人/移出被测电路。如图5-25所示,首先SE信号置为高,扫描链处于移位状态,通过SI端口将测试矢量移位到各扫描寄存器;然后SE信号置为低,扫描链处于捕获状态,组合电路(Combinational Circuit)的响应被捕获到扫描寄存器;最后SE 信号置为高,扫描链处于移位状态,通过SO端口将测试影响输出到被测芯片。

(2)片上存储器可测性设计:存储器内建自测试( Memory Built-In Self-Test, MBIST) 是应用最广泛的存储器可测性设计方法,包括测试激励发生器和