1 / 43

魏淑华 微电子中心 88803508 Weishuhua.ncut@gmail.com

集成电路测试及 可测性设计. IC TESTING and DFT. 魏淑华 微电子中心 88803508 Weishuhua.ncut@gmail.com.     回顾. 前期课程主要内容:. 1. 测试基本理论 2. 测试过程和测试设备 3. 故障模型 单固定故障 故障的等价性与支配性 4. 可测试性度量 组合 SCOAP 度量方法  时序 SCOAP 度量方法. 5. 组合电路测试生成 ATPG 代数 算法类型 D 算法 PODEM 算法 FAN 算法 6. 时序电路测试生成

mio
Download Presentation

魏淑华 微电子中心 88803508 Weishuhua.ncut@gmail.com

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 集成电路测试及可测性设计 IC TESTING and DFT 魏淑华 微电子中心 88803508 Weishuhua.ncut@gmail.com

  2.     回顾 前期课程主要内容: 1.测试基本理论 2. 测试过程和测试设备 3. 故障模型 单固定故障 故障的等价性与支配性 4.可测试性度量 组合SCOAP度量方法  时序SCOAP度量方法 5. 组合电路测试生成 ATPG代数 算法类型 D算法 PODEM算法 FAN算法 6. 时序电路测试生成 时序电路的ATPG问题    时间帧展开方法    时序ATPG的复杂性

  3. 第7章 数字电路DFT和扫描设计 定义 特定的DFT方法 扫描设计 扫描电路测试 多重扫描寄存器 扫描设计的开销 小结

  4. 1定义 • 电子系统 • a数字逻辑 b存储器模块 c模拟或混合信号电路 • 可测试性设计 (DFT) • 从可测试性的观点出发对电路的结构提出一定的设计规则, 使得设计的电路容易测试。 • 数字电路DFT方法 • Ad-hoc 方法 • 结构化方法 • 全扫描 • 部分扫描 • 边界扫描 • 内建自测试 (BIST) • 存储器模块DFT方法 • 内建自测试(BIST) • 混合信号电路DFT方法 • 模拟测试总线

  5. 2Ad-Hoc DFT 方法 • 采用好的设计实践准则: • 避免异步(unclocked)反馈 – 容易引起振荡 • 使触发器可初始化 – clear/reset信号 • 避免冗余门, 避免大的扇入门 – 输入难以观察输出难以控制 • 给难控制信号提供测试控制 • 插入测试点 • 由专家或设计审核工具指导的设计 • Ad-HocDFT方法的缺点: • 电路太大,用人工无法检查; • 难于找到可测试性方面的专家; • 算法生成的可测试性度量不是总能指出可测试性问题的根源; • 特定技术不保证能够从自动测试矢量生成器中得出良好结果。

  6. 3扫描设计 测试固定故障f要求: 原始输入端X3输入0, 触发器FF2输入1, 触发器FF3输入0; 主要困难在于: 难于控制和观察内部触发器的状态。

  7. 3扫描设计 获得对触发器的控制和可观察性。 • 主要思想: • 方法: • 给需要检查的设计增加测试结构 (硬件): • 增加测试控制 (TC) 原始输入; • 由扫描触发器(SFF)代替触发器, 在测试模式下连接形成一个或多个移位寄存器; • 使每个扫描移位寄存器的输入/输出从PI/PO为可控制的/可观察的。 • 采用组合ATPG获得组合逻辑所有可测试故障的测试矢量 • 增加移位寄存器测试矢量, 将ATPG测试矢量转换为用于制造测试的扫描序列。 采用预规定的设计规则设计电路。

  8. 3扫描设计 • 实现: • 通过对电路增加一个测试模式,使得当电路处于此模式时所有触发器在功能上构成一个或多个移位寄存器来实现。 • 移位寄存器(扫描寄存器)的输入输出可变成原始输入输出。 • 通过将逻辑状态移位到移位寄存器,可将所有触发器设置成任意需要的状态。 • 通过将移位寄存器的内容移位出来,观察触发器的状态。

  9. 3扫描设计 非扫描单元 扫描单元

  10. 3扫描设计 • 三种工作模式 • 正常模式(Normal mode) • 所有测试信号关闭 • 扫描单元以原始的D触发器模式工作 • 偏移模式(Shift mode) • 捕捉模式(Capture mode) • 偏移模式和捕捉模式下,利用测试模式信号SE控制打开所有测试相关的设置

  11. 3扫描设计

  12. 3扫描设计 • 将选中的触发器转换 为扫描触发器 • 将所有的扫描触发器连接成扫描链 如何测试固定故障f: (1)转换为偏移模式,将测试向量1、0分别移到FF2和FF3; (2)将测试向量0送至原始输入X3; (3)转换为捕捉模式,利用一个时钟周期捕获FF1的故障效应; (4)再转换为偏移模式将响应从FF1,FF2和FF3中移出同理想结果比较。

  13. 3扫描设计 • 每个扫描单元有两个输入: • 数据输入端和扫描数据输入端 • 正常模式和捕捉模式,选择数据输入端的数据 • 偏移模式下,选择扫描数据输入端的数据 • 三种常用的扫描单元 • Muxed-D Scan Cell • Clocked-Scan Cell • LSSD Scan Cell

  14. 3.1 典型结构 Muxed-D Scan Cell 由D触发器和多路选择器构成 多路选择器利用扫描使能端口SE控制选择数据输入DI或者扫描数据输入SI 边沿触发Muxed-D Scan Cell

  15. 3.1 典型结构 Muxed-D Scan Cell 正常/捕捉模式下:SE设为0,此时当时钟CK的上升沿到来时DI的数据被送入D触发器, 偏移模式下: SE设为1,此时当时钟CK的上升沿到来时SI的数据被送入D触发器,同时D触发器原有值被移出。 时序图

  16. 3.1 典型结构 Clocked-Scan Cell Clocked-Scan Cell 时序图 输入由两个独立的信号DCK和SCK控制 正常/捕捉模式下:时钟DCK上升沿时,DI数据被送入扫描单元; 偏移模式下:时钟SCK上升沿时,SI数据被送入扫描单元。

  17. 3.1 典型结构 LSSD Scan Cell (电平敏感型扫描设计) • 包含两个锁存器: • 主锁存器L1 • 从锁存器L2; • 时钟A和C控制主锁存器L1, • 时钟B控制从锁存器L2。 Polarity-hold SRL (shift register latch)

  18. 3.1 典型结构 LSSD Scan Cell (电平敏感型扫描设计) • 时钟A、B、C被设计为无重叠模式,以保证无竞争操作。 • 主锁存器L1利用时钟C将数据D从输入端送至输出端+L1; • 时钟B在时钟A之后将扫描数据I从L1中送至锁存器L2的输出端+L2。 时序图

  19. 3.1 典型结构比较

  20. 3.2 扫描设计规则 • 规则1:只应使用D型主从触发器。这一规则禁止使用其他类型的触发器(如JK、翻转触发器等)或其他形式的异步逻辑。 • 规则2:至少应有一个用于测试的PI管脚。 如果可能的话, 可采用更多的引脚。 • 规则3:所有触发器的时钟必须可以从PI控制。这条规则对触发器按扫描寄存器操作时必要的。 • 规则4:时钟不能作为触发器的数据输入。违反这条规则会导致在正常模式中的潜在竞争情况,这样在触发器中捕获的值不能保证是组合逻辑产生的信号状态。

  21. 3.2 纠正规则违反 所有时钟必须由PI控制 组合 逻辑 D1 Q 组合 逻辑 FF D2 CK 组合 逻辑 Q D1 组合 逻辑 FF D2 CK

  22. 3.3 扫描结构 • 全扫描设计 Full-Scan Design • 所有的存储单元都转换为扫描单元,利用组合电路的ATPG方法进行测试生成 • 部分扫描设计 Partial-Scan Design • 部分存储单元被转换为扫描单元,利用时序电路的ATPG方法进行测试生成 • 随机扫描设计 Random-Access Scan Design • 利用随机寻址代替扫描链设计,直接对某个扫描单元进行读写操作

  23. 3.3 扫描结构 时序电路

  24. 3.3 全扫描设计结构 Muxed-D Scan Cell全扫描设计

  25. 3.3 部分扫描设计结构 Muxed-D Scan Cell部分扫描设计

  26. 4 扫描电路测试 • 两个阶段: • 第一个阶段通过移位测试来测试扫描寄存器。 通过设置TC=0(SE=1)使电路设置成扫描模式。 • 第二个阶段以组合逻辑中的固定故障为目标。在假定所有触发器的输出是完全可控制的,而且所有触发器的输入是可观察的条件下,使用一个组合ATPG程序生成测试矢量。

  27. 扫描寄存器测试 • 第一阶段: • 所有触发器在SCANIN和SCANOUT之间构成一个移位寄存器。 • 一个长度为nsff+4的翻转序列00 110 011...被施加在SCANIN上,其中nsff是触发器的总数。 • 这个序列在每个触发器中产生所有4种转变,即0-0,0-1,1-1,1-0,并将输出移位到可观察的输出信号SCANOUT上。 • 它覆盖了触发器中即使不是全部也是大部分的单个固定故障,并验证了扫描寄存器移位操作的正确性。

  28. 组合测试矢量 I2 I1 O2 O1 PI PO SCANIN TC 组合逻辑 SCANOUT N2 N1 S2 S1 当前状态 下一个状态

  29. 组合测试矢量 I2 I1 不关心 或随机位 PI SCAN-IN S1 S2 TC 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 O2 O1 PO SCAN-OUT N2 N1 时序长度 = (nsff + 1) ncomb + nsff时钟周期 ncomb = 组合矢量数 nsff = 扫描触发器数

  30. 扫描测试长度 • 总的扫描测试长度: nsff + 4 +(nsff + 1) ncomb + nsff =(ncomb + 2) nsff + ncomb + 4 时钟周期. • 例子: 2,000 扫描触发器, 500 组合矢量, 总的扫描测试长度1 004 504 时钟周期。 • 多重扫描寄存器可减小测试长度。

  31. 5 多重扫描寄存器 PI/SCANIN PO/ SCANOUT 组合逻辑 M U X SFF SFF SFF TC CK • 每个有独立的SCANIN和SCANOUT引腿. • 如果无法获得额外的管脚,可以对正常原始输入管脚增加扇出,由它给扫描链提供SCANIN信号。 SCANOUT信号可以和正常原始输出管脚在测试码控制(TC)信号的控制下实现多路复用。 • 通过最长的扫描移位寄存器可确定测试序列长度. • 仅一个测试控制 (TC) 管脚就足够了.

  32. 6 扫描设计的开销 • 使用扫描测试有两种类型的不利影响: • 扫描硬件增加了芯片尺寸(面积开销) • 降低了信号速度(性能开销) • 因此在设计早期,估计门开销是有益的。

  33. 扫描设计的开销 • 门开销:假设一个电路有ng个门和nff个触发器,每个触发器由10个门组成。触发器由DFF变为SFF增加4个门开销。 • 扫描的门开销 = [4 nsff/(ng+10nff)] x 100%, 其中ng=组合门; nff=触发器; nsff=扫描触发器 例如 ng=100k 门, nff=2k 触发器, 代价=6.7%. • 更精确的评估必须考虑扫描连线和版图面积

  34. 扫描设计的开销 • 面积开销:扫描设计中大量的布线会影响芯片的面积。可通过以下方式减少扫描布线对芯片面积增加的影响。 • 版图上针对布线优化进行触发器布局; • 选择扫描链中的触发器次序。 • 性能代价: • 组合路径中增加多路选择器延迟; 近似2个门延迟. • 由于一个附加的扇出, 增加信号的电容负载.通常扫描设计可以降低5%~10%的时钟速度。

  35. 分层扫描 Scanout Scan-in SFF4 SFF1 SFF1 SFF3 Scanin Scan-out SFF3 SFF2 SFF4 SFF2 分层网表 扁平版图 • 连接子网络之前, 扫描触发器链接在子网络内进行 • 优点: • 自动扫描插入到网表 • 电路分层保护 – 有助于调试和设计改变. • 缺点: 非优化芯片版图.

  36. 优化扫描版图 X’ X SFF 单元 IO 压点 SCANIN 触发器 单元 Y’ Y TC SCAN OUT 布局 通道 有源面积: XY 和 X’Y’ 互连线

  37. 优化扫描版图 • 单元首先在没有扫描线的情况下进行布局,保证扫描线不会对功能互连线产生不利的影响。 • 将触发器单元用对应的扫描触发器单元替换。这些单元由于增加了多路选择器,所以要宽一些。 • 随后,增加两种类型的互连线 • 一个测试控制信号提供给所有的扫描触发器单元(粗线)。 • 第二类互连线在SCANIN和SCANOUT管脚之间形成了一条链(带小箭头的连线)。

  38. 扫描面积代价 X的增加是由于更宽的扫描单元, Y的增加是由于有用于扫描布线的额外轨道。 有源面积的线性尺度: X = (C + S) / r X’ = (C + S + aS) / r Y’ = Y + ry = Y + Y(1--b) / T 面积代价: X’Y’--XY = -------------- x 100% XY 1--b = [(1+as)(1+ -------) – 1] x 100% T 1--b = (as + ------- ) x 100% T y = 轨迹尺度, 线宽+间距 C = 总的组合单元宽度 S = 总的非-扫描FF单元宽度 s = 部分FF 单元面积 = S/(C+S) a = SFF 单元宽度部分增大 r = 单元行数或布局通道数 b = 有源面积的布局部分 T = 轨迹尺度中单元高度

  39. 例子: 扫描版图 • 2,000-门 CMOS芯片 • 触发器单元面积, s = 0.478 • 扫描触发器 (SFF) 单元宽度增大, a = 0.25 • 布局面积分数, b = 0.471 • 布局轨迹单元高度, T = 10 • 计算的代价 = 17.24% • 实际测量的数据: 扫描实现 面积代价 归一化时钟速率 ______________________________________________________________________ 无 0.0 1.00 分层 16.93% 0.87 优化版图 11.90% 0.91

  40. ATPG 例子: S5378 原来 2,781 179 0 0.0% 4,603 35/49 70.0% 70.9% 5,533 s 414 414 全扫描 2,781 0 179 15.66% 4,603 214/228 99.1% 100.0% 5 s 585 105,662 组合门数 非扫描触发器数 (10门/触发器) 扫描触发器数 (14 门/扫描触发器) 门面积 故障数 ATPG的PI/PO 故障覆盖率 故障效率 CPU 时间(SUN Ultra II, 200MHz 处理器) ATPG 矢量数 扫描序列长度

  41. 5 自动扫描设计 规则违反 行为级, RTL, 和逻辑 设计和验证 扫描设计规则 检查 门级 网表 组合 ATPG 扫描硬件 插入 组合矢量 扫描网表 扫描序列 和 测试程序生成 芯片版图: 扫描链优化, 时序验证 扫描链序列 用于制造的设计 和测试数据 掩膜数据 测试程序

  42. 6 自动扫描设计 • 自动扫描实现由两个阶段组成: • 首先,所有的触发器用对应的扫描形式替换,通常可以从标准单元库中获得。如果不能从库中获得SFF模块,可对网表中的所有触发器增加多路选择器。 • 第二个阶段是将触发器连接成移位寄存器链。芯片布图程序对触发器的布局进行优化以最下化布线面积和延迟。 • 随后将组合矢量和从布图获得的触发器链接顺序信息用于产生扫描输入和扫描输出序列。

  43. 小结 • 扫描是最流行的DFT方法: • 基于规则设计 • 自动DFT 硬件插入 • 组合 ATPG • 优点: • 设计自动化 • 高故障覆盖率; 有助于诊断 • 分层的 – 扫描可测试模块容易组合成大的扫描可测试系统 • 适中的面积 (~10%) 和速度 (~5%) 代价 • 缺点: • 大测试数据量和长的测试时间 • 基本上慢速 (DC) 测试

More Related