一种扫描测试锁存器宏单元及扫描测试方法

文档序号:6247961阅读:245来源:国知局
一种扫描测试锁存器宏单元及扫描测试方法
【专利摘要】一种扫描测试锁存器宏单元及扫描测试方法,本发明的扫描测试设计方法通过定制的扫描测试宏单元,并结合特殊的设计流程,能够利用普通针对D触发器的扫描测试设计方法产生针对锁存器单元的基于结构的ATPG测试向量,解决现有基于锁存器设计的数字专用集成电路不易进行可测性设计开发,测试向量故障覆盖率低,时序分析复杂的问题,大幅度提高了芯片测试的故障覆盖率,保证了芯片测试的有效性和完备性,主要应用于基于锁存器设计的数字专用集成电路的测试向量开发。
【专利说明】一种扫描测试锁存器宏单元及扫描测试方法

【技术领域】
[0001] 本发明涉及一种扫描测试宏单元和扫描测试方法,特别是一种扫描测试锁存器宏 单元和扫描测试方法,属于半导体数字集成电路设计和测试领域,主要应用于半导体数字 集成电路的结构化测试过程。

【背景技术】
[0002] 随着半导体数字集成电路的不断发展和进步,如何在合理的时间和成本开销下, 对规模日益增长的百万门级、千万门级甚至更大规模的的数字集成电路进行充分和有效的 测试,逐渐成为最困难而且耗时的设计任务之一。当电路规模超过10万门时,手工编写的 (面向功能的)测试向量的开发时间就会超过实际器件本身的设计时间。因此可测性设计 技术(Design For Test,DFT)逐渐受到工程师的重视和应用。
[0003] 扫描测试方法是DFT技术中非常重要的一项方法,该方法通过在设计过程中,将 所有时序元件(例如触发器)替换为扫描时序元件,并将所有的扫描时序元件在测试时连 接成为一条"扫描链",使原本难以测试的时序电路在测试时表现出容易测试的组合逻辑的 特性,并且更方便使用电子设计自动化(Electronic Design Automation, EDA)工具完成 结构化的自动测试向量生成(Automatic Test Pattern Generation, ATPG)。通过在普通 的数字时序电路中插入扫描链并且使用ATPG工具产生测试向量,不仅大幅度缩减了测试 开发的时间和人力,而且生成的结构化的测试向量能够针对特定的故障类型(例如固定故 障,Stuck-At Fault)达到极高的故障覆盖率,可达95%甚至98%以上。这,时传统的测试 向量开发远远无法达到的。
[0004] 但是目前业界的可测性设计工具在实现扫描测试方法时,主要面向的是沿触发类 的时序元件(D触发器),通过Mux-Scan的方法,在D触发器的数据输入端D端增加Mux多 路选择器,用外部端口来控制在功能态和测试态时,D触发器的D端是正常的前级逻辑输 出还是逐级串联为扫描链中的前级D触发器的输出。目前业界针对D触发器的扫描测试开 发已经形成了非常成熟的流程,不仅有EDA供应商提供成熟的扫描链集成工具、ATPG向量 生成工具和时序分析工具,各大工艺厂商也早已在其标准单元工艺库中提供了定制好的扫 描D触发器单元。
[0005] 而对于采用锁存器单元为主要的时序元件的电路来说则是另外一种情况。首先, 在目前主流的Mux-Scan设计方法学中,锁存器单元的处理方式是通过控制端口的测试使 能信号使得锁存器单元"透明化",减轻通过锁存器单元造成的错误传输影响,但这种方式 无法检测到锁存器单元本身是否存在故障。此外,这种处理方式的前提考虑就是电路中的 时序元件是以D触发器为主,个别锁存器单元的"透明化"不会对整体的故障覆盖率造成太 大影响。而当一个数字电路的绝大部分,甚至是所有的时序元件都是由锁存器单元构成时, 这种处理方式显然是无法胜任对电路进行有效测试的任务的。
[0006] 其次,EDA供应商目前提出的针对锁存器单元的扫描测试方法学,即基于电平敏 感扫描设计(Level Sensitive Scan Design, LSSD)方法的扫描测试方法学存在着较大的 不足,该方法通过为锁存器增加一个从锁存器(slave latch),并且增加两个独立时钟的方 法,实现对原始锁存器的替换,并形成扫描链。但该方法学存在两方面的问题:第一,插入 扫描链后,功能态和时序态的分析变得极为复杂,对于后续设计中的时序分析、布局布线和 ATPG向量生成均有较大影响;第二,目前的EDA工具对于LSSD扫描方法实际上并没有太好 的支持,工艺厂商也极少提供定制的LSSD锁存器单元,实现起来难度较大。
[0007] 基于上述考虑,针对基于锁存器单元的数字集成电路设计(时序单元绝大部分或 者全部采用锁存器单元的设计),需要一种既能够利用现有Mux-Scan的EDA工具和工艺库 单元完成扫描链插入,又能够保证电路的故障覆盖率的可测性设计方法。


【发明内容】

[0008] 本发明的技术解决的问题是:克服现有的基于锁存器的可测性设计方法在故障覆 盖率和设计复杂度上的不足,提出了一种扫描测试锁存器宏单元和扫描测试方法,该发明 针对锁存器单元的Mux-Scan扫描测试,既可以利用现有的针对D触发器单元的扫描测试方 法学和EDA工具,简化设计流程,又可以保证极高的故障覆盖率。
[0009] 本发明的技术解决方案是:一种扫描测试锁存器宏单兀,包括:两个锁存器、一个 反相器和两个多路选择器;
[0010] 所述两个锁存器分别为测试锁存器和功能锁存器;两个多路选择器分别为第一多 路选择器和第二多路选择器;
[0011] 第一多路选择器的〇数据输入端口与数据端口 D连接,1数据输入端口与宏单元的 扫描输入端口 SI连接,选择输入端口 Sl与宏单元的扫描使能端口 SE连接,数据输出端口 Yl与测试锁存器的输入端口 Dl连接;
[0012] 反相器的输入端口与宏单元的时钟输入端口 CK连接,输出端口与测试锁存器的 锁存控制信号输入端口 Gl连接;
[0013] 测试锁存器的输出端口 Ql与第二多路选择器的1输入端口连接,反相输出端口 QNl浮空;
[0014] 第二多路选择器的0输入端口与数据端口 D连接,选择输入端口 S2与宏单元的测 试模式控制信号端口 TM连接,数据输出端口 Y2与功能锁存器的输入端口 D2连接;
[0015] 功能锁存器的锁存控制信号输入端口 G2与宏单元的时钟输入端口 CK连接,输出 端口 Q2与宏单元的输出端口 Q连接,反相输出端口 QN2与宏单元的反相输出端口 QN连接; [0016] 若TM = 0,第二多路选择器输出0输入端口的数据,而不输出1输入端口的数据, 第一多路选择器、反相器和测试锁存器对扫描测试锁存器宏单元的输出无作用,功能锁存 器工作,扫描输入端口 SI和扫描使能端口 SE对扫描测试锁存器宏单兀的输出无作用,扫描 测试锁存器宏单元等效于单个锁存器;
[0017] 若TM= 1,第二多路选择器输出1输入端口的数据,而不输出0输入端口的数据, 测试锁存器的输出端口 Ql与功能锁存器的输入端D2连接,扫描测试锁存器宏单兀的输入 时钟信号为低电平时,测试锁存器有效输出;扫描测试锁存器宏单元的输入时钟信号为高 电平时,功能锁存器有效输出,扫描测试锁存器宏单元等效于一个带数据输入选择端的扫 描D触发器。
[0018] 所述TM = 0时,包含扫描测试锁存器宏单元的电路处于功能态;TM = 1时,包含 扫描测试锁存器宏单元的电路处于测试态。
[0019] 一种基于扫描测试锁存器宏单元的扫描测试方法,其特征在于步骤如下:
[0020] (1)将扫描测试锁存器宏单元映射到扫描测试电路目标工艺的工艺库,即db库和 自动测试向量生成库,即dft库中;
[0021] (2)采用包含锁存器单元的db库进行逻辑综合,得到逻辑综合后的扫描测试电路 网表;所述逻辑综合是将扫描测试电路原始代码映射为与db库相对应的扫描测试电路网 表;
[0022] (3)将步骤⑵中得到的扫描测试电路网表进行文本替换,具体为:将扫描测试电 路网表中所有的锁存器单元替换为D触发器单元;
[0023] (4)利用步骤(3)中文本替换后的扫描测试电路网表进行扫描链插入,得到扫描 链插入后的扫描测试电路网表;
[0024] (5)将步骤(4)中扫描链插入后的扫描测试电路网表进行文本替换,得到包含扫 描测试锁存器宏单兀的扫描测试电路网表;具体为:将扫描链插入过程中产生的扫描D触 发器单元替换为扫描测试锁存器宏单元,并将扫描测试锁存器宏单元的扫描使能端口 SE 与扫描测试电路的扫描使能输入端口连接,将扫描测试锁存器宏单元的测试模式控制信号 TM与扫描测试电路的测试模式控制信号连接;
[0025] (6)利用步骤(5)中包含扫描测试锁存器宏单元的扫描测试电路网表,采用步骤 (1)中包含扫描测试锁存器宏单元的db库进行扫描测试电路的布局布线、时序分析、功能 仿真和时序仿真,并利用步骤(1)中包含扫描测试锁存器宏单元的dft库产生自动测试向 量,即ATPG测试向量;
[0026] (7)利用步骤(6)中得到的扫描测试电路和ATPG测试向量进行扫描测试电路的扫 描测试。
[0027] 本发明与现有技术相比有益效果为:
[0028] (1)本发明中的方法在现有基本单元的基础上,通过将两个锁存器、一个反相器和 两个多路选择器结合到一起,构成一种特殊的结构,即扫描测试锁存器宏单元。该宏单元的 输入端口包括:数据端口 D,扫描使能端口 SE,扫描输入端口 SI,测试模式控制信号端口 TM, 时钟输入端口 CK ;输出端口包括:输出端口 Q,反相输出端口 QN。
[0029] (2)本发明中的方法所构成的扫描测试锁存器宏单元具有两种工作状态,在TM = 0时,包含扫描测试锁存器宏单兀的电路处于功能态;TM = 1时,包含扫描测试锁存器宏单 元的电路处于测试态。在功能态时,宏单元等价于锁存器,电路结构与插入扫描链前的电路 结构完全一致;在测试态时,宏单元等价于扫描D触发器,使得电路在扫描链插入和ATPG生 成过程中是针对D触发器开展的。
[0030] (3)本发明中的方法使得在扫描链插入和ATPG生成过程中是针对D触发器开展 的,相比于目前针对锁存器的LSSD方法,其设计工具、设计流程非常成熟,自动化程度高, 工艺厂商的支持更好,并且布局布线后的测试态时序分析更加精确,运行速度更快,而LSSD 可测性设计方法在测试态增加了一倍的锁存器单元,不同工具之间的兼容性差,自动化程 度低,时序分析和布局布线难度均较大;
[0031] (4)本发明中的方法在测试效率上相比于传统的基于锁存器设计通过功能仿真 向量开发测试向量的方法,或直接基于Mux-Scan的可测性设计方法,其故障覆盖率大大提 高,可达95 %甚至98 %以上,显著提高了测试质量,减小了测试逃逸率。

【专利附图】

【附图说明】
[0032] 图1是本发明实现基于锁存器的扫描测试设计方法的设计流程;
[0033] 图2是本发明完成宏单元等效替换的原理图;
[0034] 图3是本发明定制宏单元在不同模式下的等效电路;
[0035] 图4是本发明的全流程等效性说明。

【具体实施方式】 [0036]
[0037] 如图1所示,本发明的实现过程是首先定义一个普通锁存器单元的等效扫描测试 宏单元模型,其特征在于包括:两个锁存器、一个反相器和两个多路选择器;
[0038] 所述两个锁存器分别为测试锁存器和功能锁存器;两个多路选择器分别为第一多 路选择器和第二多路选择器;
[0039] 第一多路选择器的0数据输入端口(即第一数据输入端口)与数据端口 D连接, 1数据输入端口(即第二数据输入端口)与宏单元的扫描输入端口 SI连接,选择输入端口 Sl与宏单元的扫描使能端口 SE连接,数据输出端口 Yl与测试锁存器的输入端口 Dl连接;
[0040] 反相器的输入端口与宏单元的时钟输入端口 CK连接,输出端口与测试锁存器的 锁存控制信号输入端口 Gl连接;
[0041] 测试锁存器的输出端口 Ql与第二多路选择器的1输入端口连接,反相输出端口 QNl浮空;
[0042] 第二多路选择器的0输入端口与数据端口 D连接,选择输入端口 S2与宏单元的测 试模式控制信号TM连接,数据输出端口 Y2与功能锁存器的输入端口 D2连接;
[0043] 功能锁存器的锁存控制信号输入端口 G2与宏单元的时钟输入端口 CK连接,输出 端口 Q2与宏单元的输出端口 Q连接,反相输出端口 QN2与宏单元的反相输出端口 QN连接;
[0044] 若TM = 0,第二多路选择器输出0输入端口的数据,而不输出1输入端口的数据, 第一多路选择器、反相器和测试锁存器对扫描测试锁存器宏单元的输出无作用,功能锁存 器工作,扫描输入端口 SI和扫描使能端口 SE对扫描测试锁存器宏单兀的输出无作用,扫描 测试锁存器宏单元等效于单个锁存器;包含扫描测试锁存器宏单元的电路处于功能态;
[0045] 若TM= 1,第二多路选择器输出1输入端口的数据,而不输出0输入端口的数据, 测试锁存器的输出端口 Ql与功能锁存器的输入端D2连接,扫描测试锁存器宏单兀的输入 时钟信号为低电平时,测试锁存器有效输出;扫描测试锁存器宏单元的输入时钟信号为高 电平时,功能锁存器有效输出,扫描测试锁存器宏单元等效于一个带数据输入选择端的扫 描D触发器;包含扫描测试锁存器宏单兀的电路处于测试态。
[0046] 如图2所示,本发明的实现过程是首先扫描测试锁存器宏单元映射到扫描测试电 路目标工艺的工艺库,即db库和自动测试向量生成库,即dft库中;其次采用包含锁存器单 元的db库进行逻辑综合,得到逻辑综合后的扫描测试电路网表;第三,通过Vim软件将逻辑 综合后的扫描测试电路网表中进行文本替换,具体为:将逻辑综合后的扫描测试电路网表 中的锁存器单元替换为D触发器单元;第四,采用DFT工具将替换为D触发器后的扫描测试 电路网表进行扫描测试设计,插入扫描链结构,此时所有的D触发器单元均已替换为扫描D 触发器单元,得到扫描链插入后的扫描测试电路网表;第五,再次通过Vim软件将插入扫描 链后的扫描测试电路网表进行文本替换,得到包含扫描测试锁存器宏单元的扫描测试电路 网表,具体为:将插入扫描链后的扫描测试电路网表中的扫描D触发器单兀替换为扫描测 试锁存器宏单元,并将扫描测试锁存器宏单元的扫描使能端口 SE与扫描测试电路的扫描 使能输入端口连接,将扫描测试锁存器宏单元的测试模式控制信号TM与扫描测试电路的 测试模式控制信号连接;第六,利用包含扫描测试锁存器宏单元的db库完成布局布线、形 式验证、时序分析、功能仿真和时序仿真,并形成包含扫描测试锁存器宏单元的扫描测试电 路;第七,利用ATPG工具和dft库针对包含扫描测试锁存器宏单元的扫描测试电路,产生 最终的结构化ATPG测试向量,用于高故障覆盖率的扫描测试。
[0047] 如图3所示,在整个设计过程中,共计进行了 2次文本替换和1次插入扫描链结构 的操作。在完成第二次文本替换操作,即扫描测试锁存器宏单元替换完成后,可以通过外部 全局扫描控制信号控制被测电路处于功能态还是测试态。当外部全局扫描控制信号端口接 低电平时,宏单元实现锁存器的功能,即功能态与原始网表设计完全等价;当外部全局扫描 控制信号端口接高电平时,宏单元作为扫描D触发器完成扫描链测试功能,且外部全局扫 描控制信号端口与可测性设计时的测试模式信号复用同一管脚,完全不影响生成ATPG向 量。
[0048] 如图4所示,本发明的扫描测试锁存器宏单元在扫描测试电路中等效替代不能进 行扫描测试的电路中的锁存器,但是除了时钟输入端口 G、数据输入端口 D、数据输出端口 Q 和反相数据输出端口 QN之外,又增加了三个端口,包括扫描输入端口 SI、扫描使能端口 SE 和测试模式控制信号端口 TM。该宏单元包括正常的功能锁存器,测试锁存器,选择数据通路 的两级多路选择器,以及一个使两级锁存器时钟反相的反相器。第一多路选择器和第二多 路选择器的选择端分别连接扫描使能端口 SE和测试模式控制信号端口 TM。
[0049] 如表1所示,扫描测试锁存器宏单元的真值表分为两部分,当TM = 0时,实现普通 锁存器的功能,在CK为高时锁存器处于"透明"状态,在CK为低时锁存器保持之前的状态; 当TM = 1时,实现扫描D触发器的功能,此时已由电平敏感时序元件变为沿敏感时序元件, 当SE端为0时,在CK上升沿时采样数据输入端D的值并输出到输出端Q和QN,当SE端为 1时,在CK上升沿采样扫描输入端SI的值并输出到输出端Q和QN,在无CK上升沿时保存 之前的状态。
[0050] 表1扫描测试锁存器宏单兀真值表
[0051] TM = O 功能态
[0052]

【权利要求】
1. 一种扫描测试锁存器宏单元,其特征在于包括:两个锁存器、一个反相器和两个多 路选择器; 所述两个锁存器分别为测试锁存器和功能锁存器;两个多路选择器分别为第一多路选 择器和第二多路选择器; 第一多路选择器的0数据输入端口与数据端口 D连接,1数据输入端口与宏单元的扫 描输入端口 SI连接,选择输入端口 S1与宏单元的扫描使能端口 SE连接,数据输出端口 Y1 与测试锁存器的输入端口 D1连接; 反相器的输入端口与宏单元的时钟输入端口 CK连接,输出端口与测试锁存器的锁存 控制信号输入端口 G1连接; 测试锁存器的输出端口 Q1与第二多路选择器的1输入端口连接,反相输出端口 QN1浮 空; 第二多路选择器的〇输入端口与数据端口 D连接,选择输入端口 S2与宏单元的测试模 式控制信号端口 TM连接,数据输出端口 Y2与功能锁存器的输入端口 D2连接; 功能锁存器的锁存控制信号输入端口 G2与宏单元的时钟输入端口 CK连接,输出端口 Q2与宏单元的输出端口 Q连接,反相输出端口 QN2与宏单元的反相输出端口 QN连接; 若TM = 0,第二多路选择器输出0输入端口的数据,而不输出1输入端口的数据,第一 多路选择器、反相器和测试锁存器对扫描测试锁存器宏单元的输出无作用,功能锁存器工 作,扫描输入端口 SI和扫描使能端口 SE对扫描测试锁存器宏单兀的输出无作用,扫描测试 锁存器宏单元等效于单个锁存器; 若TM = 1,第二多路选择器输出1输入端口的数据,而不输出0输入端口的数据,测 试锁存器的输出端口 Q1与功能锁存器的输入端D2连接,扫描测试锁存器宏单兀的输入时 钟信号为低电平时,测试锁存器有效输出;扫描测试锁存器宏单元的输入时钟信号为高电 平时,功能锁存器有效输出,扫描测试锁存器宏单元等效于一个带数据输入选择端的扫描D 触发器。
2. 根据权利要求1所述的一种扫描测试锁存器宏单元,其特征在于:所述TM = 0时, 包含扫描测试锁存器宏单元的电路处于功能态;TM = 1时,包含扫描测试锁存器宏单元的 电路处于测试态。
3. -种基于权利要求1中扫描测试锁存器宏单元的扫描测试方法,其特征在于步骤如 下: (1) 将扫描测试锁存器宏单元映射到扫描测试电路目标工艺的工艺库,即db库和自动 测试向量生成库,即dft库中; (2) 采用包含锁存器单元的db库进行逻辑综合,得到逻辑综合后的扫描测试电路网 表;所述逻辑综合是将扫描测试电路原始代码映射为与db库相对应的扫描测试电路网表; (3) 将步骤(2)中得到的扫描测试电路网表进行文本替换,具体为:将扫描测试电路网 表中所有的锁存器单元替换为D触发器单元; (4) 利用步骤(3)中文本替换后的扫描测试电路网表进行扫描链插入,得到扫描链插 入后的扫描测试电路网表; (5) 将步骤(4)中扫描链插入后的扫描测试电路网表进行文本替换,得到包含扫描测 试锁存器宏单兀的扫描测试电路网表;具体为:将扫描链插入过程中产生的扫描D触发器 单元替换为扫描测试锁存器宏单元,并将扫描测试锁存器宏单元的扫描使能端口 SE与扫 描测试电路的扫描使能输入端口连接,将扫描测试锁存器宏单元的测试模式控制信号TM 与扫描测试电路的测试模式控制信号连接; (6) 利用步骤(5)中包含扫描测试锁存器宏单元的扫描测试电路网表,采用步骤(1) 中包含扫描测试锁存器宏单元的db库进行扫描测试电路的布局布线、时序分析、功能仿真 和时序仿真,并利用步骤(1)中包含扫描测试锁存器宏单元的dft库产生自动测试向量,即 ATPG测试向量; (7) 利用步骤(6)中得到的扫描测试电路和ATPG测试向量进行扫描测试电路的扫描测 试。
【文档编号】G01R31/317GK104375078SQ201410637934
【公开日】2015年2月25日 申请日期:2014年11月6日 优先权日:2014年11月6日
【发明者】喻贤坤, 赵元富, 文治平, 袁大威, 姜爽, 袁超, 王莉, 樊旭, 彭斌 申请人:北京时代民芯科技有限公司, 北京微电子技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1