1、1,第6章 扫描设计,本章主要内容: 扫描路径设计 扫描路径的测试方法 扫描路径设计及测试举例 扫描单元的设计 基于EDA工具的扫描综合 测试综合后的自动测试生成,2,南京航空航天大学 信息科学与技术学院 电子工程系,扫描路径法是一种应用较广的结构化可测性设计方法,南京航空航天大学 信息科学与技术学院 电子工程系,由Williams和Angell于1973年提出的,主要是解决时序电路的测试问题。,对右图所示的同步时序电路模型: n个原始输入的组合逻辑和r个触发器的存储单元,原始输入PI= 原始输出PO= 组合逻辑的二次输入y= 组合逻辑的二次输出Y=,组合逻辑部分: 需要2n+r个测试矢量才能
2、完成对它的穷举测试。,3,南京航空航天大学 信息科学与技术学院 电子工程系,(1)需要初始化 (2)组合逻辑的二次输入y(触发器的输出)不能由PI直接观察 (3)组合逻辑的二次输出Y(触发器的输入)不能由PO 直接观察到。 (4)测试时间是反馈环节个数和长度的函数,反馈越长,初始化和敏化测试图形所需时钟周期越长。,时序电路( r个触发器)测试的复杂性,1973年, Williams和Angell提出了扫描路径技术的最初方案 增加敏化测试图形 优点:电路容易初始化; 改善了电路的可测性; 减少了测试生成过程。,4,电路可工作在两种方式: 正常方式:,测试方式:所有触发器都从电路断开,形成移位寄存
3、器结构。,(1)正常方式时,输入PI(测试图形)的响应锁存; (2)置电路工作在测试方式下,将所有响应移位输出。,正常方式,Scan-Enable控制将电路按原始设计连接; 测试方式, Scan-Enable控制将触发器与组合逻辑断开,触发器状态由Scan-In设置,可由Scan-Out观察。,5,(d),(e),南京航空航天大学 信息科学与技术学院 电子工程系,本章研究同步时序电路的扫描路径,同时把时序电路中的存储单元都假定为触发器。,还有其他的扫描触发器结构,一种方法就是把触发器置于多个扫描链上,如图6.1(d)所示。 另一种是只扫描部分的触发器,即所谓的部分扫描设计,如图6.1(e)所示
4、。,6,南京航空航天大学 信息科学与技术学院 电子工程系,6.1.1 基本的扫描路径设计 同步时序电路可建成如图所示的模型,该模型对任何同步时序电路都适用(假定使用的触发器是D触发器)。,6.1 扫描路径设计,扫描路径设计时,每一触发器都接入一个两输入的多路选择器。,7,南京航空航天大学 信息科学与技术学院 电子工程系,两输入多路选择器的一个输入接到前一个触发器的输出,另一个输入接原始设计中所接的信号。,所有触发器的控制线都接到一起,用SE标记。,第一个触发器的输入接多路选择器的输入,用SI标记。,最后一个触发器的输出标记为SO,8,南京航空航天大学 信息科学与技术学院 电子工程系,这种结构是
5、全串行扫描结构,扫描路径设计需要3个额外的 I/O引脚: 扫描使能(Scan Enable,SE)、 扫描输入(Scan In,SI) 扫描输出(Scan Out,SO)。 可以将结构中的SI与一个输入复用,SO与一个输出复用。,控制线SE确定触发器的工作状态:,触发器工作在正常状态 在CLK的上升沿,组合电路的二次输出 (Y1 Yr)选通到触发器的输入,对每个触发器有Di=Yi,Q=yi。,触发器工作在测试方式(所有组合二次输出Yi二选一) 每个触发器的输入选通到前边触发器的输出,Di=yi-1, Q=yi-1,构成串行移位寄存器。 这时扫描路径:第一个触发器的输入y1接到扫描输入引脚SI,
6、第r个触发器的输入yr接到扫描输出引脚SO。,9,南京航空航天大学 信息科学与技术学院 电子工程系,6.1.2 部分扫描设计,部分扫描法相对于全串行扫描而言,尽量减少可测性设计的成本. 它只选择部分触发器置于扫描路径上,其它触发器还需要时序电路的测试生成和施加方法。,(c)多扫描链,(d)部分扫描,设计的核心内容是扫描路径上触发器的选择,优化的选择方案是使DFT结构的成本最小。,扫描触发器,10,设计原则: 触发器电路的确定性测试生成容易;(最重要) 电路面积尽可能增加得少; 因触发器的放置所产生的互连尽可能少; 延迟减少。,扫描触发器Rs既控制又观察时序电路S的存储单元R。如右图。,6.1.
7、3 隔离的串行扫描设计,与专用可测性设计中控制点与观察点的插入类似。 因为扫描触发器RS设计成可控可观察触发器的单元,则只需对组合电路部分测试。 测试图形由RS移入,再装载到R,然后施加到CL;CL的测试响应先装载到R,再传递给Rs,然后扫描输出。,11,6.1.4 非串行的扫描设计,非串行的扫描设计与全串行扫描设计异同点: 同:都是对所有触发器进行完全可控和可观; 异:非串行扫描设计的操作对象是可寻址的存储单元, 不使用移位寄存器。 存储器单元被组织成可随机访问的、位寻址的存储器。,非串行扫描设计如图所示:,正常方式时,对存储器单元并行加载数据。,12,南京航空航天大学 信息科学与技术学院
8、电子工程系,随机存储扫描的优点:当扫描输入一个新的测试数据时,只有地址选中的存储单元的位信号发生变化,而且选中单元的内容可观察到; 缺点:电路面积增加的过多。,扫描输入数据时: 地址选通存储单元,在Sin加载数据,然后加扫描时钟CLK,所有的存储单元都“线或”在一起,选中的单元有Si 。 扫描输出数据时: 地址选通存储单元,控制信号发给所有存储单元,选中的单元内容出现在Sout上。,13,南京航空航天大学 信息科学与技术学院 电子工程系,6.2 扫描路径的测试方法,扫描路径法的显著优点:测试中把时序电路转化为组合电路,而且处于扫描路径上的触发器的状态是“透明”的:可以串行地移入所需要设置的状态
9、,也可把电路状态串行移出。,只对组合电路进行测试生成的前提是: (1)电路中没有异步信号,包括触发器的置位/复位信号; (2)锁存有非重叠的时钟控制;,基于扫描路径设计的电路,只需对组合电路部分和不在扫描路径上的触发器进行测试,而处于扫描路径上的触发器的测试方法和测试图形是固定形式的,不需要测试生成。,本节只讨论组合电路部分的测试生成和施加方法以及触发器的测试施加方法。,6.2.1 组合电路部分的测试生成,14,(3)测试生成时,扫描触发器的输入端按组合电路的原始输出考虑( Y1、Y2 );扫描触发器的输出端按组合电路的原始输入考虑(y1、y2)。,构成的扫描路径: 路径上有(N+M)个原始输
10、入:电路原始输入N+扫描路径上触发器个数M,15,6.2.2 扫描触发器的测试图形,组合电路有3个原始输入:F、y1、y2;3个原始输出:Z、Y1、Y2。 测试生成图形按奇偶树为:Fy1y2=000,011,100,111,触发器的输入在组合电路内部,改善了节点的可控性;输出个数的增加,改善了电路的可观性,同时将电路进行了分块。,设扫描路径上触发器个数为M,扫描触发器的测试生成图形通常应为M个0,再M个1。 考虑到要测试触发器的转换功能,应施加M个0,再M个1,再M个0.,16,南京航空航天大学 信息科学与技术学院 电子工程系,1. 触发器的测试施加 (1)设置SE=1,电路处于测试方式: 扫
11、描路径上的触发器构成移位寄存器方式,每个触发器可通过串行方式设置状态,其状态信息也可串行移出。 (2)检查移位寄存器中每个触发器状态与功能: 移入移出测试图形(通过SI串行施加,通过SO串行观察)。 测试图形的一般格式: 先M个0,再M个1。 M是扫描路径触发器个数。 为防止测试图形冒险,有时还要用其他测试图形。,6.2.3 测试施加,测试施加分两个阶段:先测试触发器、后测试组合电路。,对组合电路的测试控制和观察要用到触发器。,17,2. 组合电路的测试施加,必须知道组合电路的生成测试生成图形。对于与序列顺序有关的故障模型,测试图形应排成一定的顺序施加;与序列顺序无关的故障模型则不需要考虑测试
12、图形的顺序。,测试施加应遵循以下协议: (1)触发器初始化置SE=1,移位寄存器串行移入第一个测试图形的初始化值(触发器的输出是组合电路的二次输入); (2)置SE=0(工作方式),在原始输入端施加一个测试图形; (3)运行一个时钟,组合电路测试响应锁存到触发器; (4)置SE=1, 通过SI串行移入下一个测试图形所用的初值; 电路运行M个(触发器的数目)时钟; 在原始输出及SO观察结果; 重复步骤(2),直至所有的测试图形都施加完毕, 最后用M个时钟把最后一个测试响应串行移出。,当连续M个CLK后,连续移入的初值已在组合电路的二次输入端,同时在输出端可观到PO。,18,6.2.4 扫描路径测
13、试举例,基于扫描路径设计的电路的测试包括: 触发器的测试(000,111)与组合电路的测试(已知测试图形),例6.1 对图6.6 所示的扫描电路进行测试生成和测试施加。,原始电路有CLK、一个输入F、一个输出Z。 经过扫描结构设计后,触发器的插入PI和PO的个数增加,组合逻辑分为两块。,19,南京航空航天大学 信息科学与技术学院 电子工程系,(1) 首先对组合电路部分生成测试图形: 第一个分块Fy2=00,01,10,11 第二个分块是级联的异或门,测试图形是Fy1y2=000,100,001,111。 组合电路测试时一起施加两个分块的测试图形,因为Fy1y2包含了Fy2,施加时只需施加Fy1
14、y2。,20,(1) 组合电路的测试图形 Fy1y2=000,100,001,111。,(2)触发器的测试 置SE=1,电路处于测试方式。触发器测试图形一般的一般格式: 先M个0,再M个1。或反之。 M是扫描路径触发器个数。 通过SI串行施加,通过SO串行观察。 最好,触发器的测试输入就是组合电路测试图形的一部分。 即,移位寄存器串行移入第一个测试图形的初始化值(触发器的输出是组合电路的二次输入) 如:对此电路的第一个测试图形是Fy1y2=000,其中y1y2=00。 所以触发器测试施加的测试向量可以:先2个1,再2个0(M=2) .,21,南京航空航天大学 信息科学与技术学院 电子工程系,(
15、3)组合电路的测试 置SE=0(工作方式),在原始输入端施加一个测试图形F=0;5 运行一个时钟,组合电路测试响应锁存到触发器; 再置SE=1,通过SI串行移入下一个测试图形所用的初值;6 7 Fy1y2=100,y1y2=00 电路运行2个(触发器的数目)时钟,在原始输出观察结果; 这时,下一个组合电路测试图形的初值已经到位。,22,重复(3)组合电路的测试过程 置SE=0(工作方式),在原始输入端施加一个测试图形F=1; 运行一个时钟,组合电路测试响应锁存到触发器; 再置SE=1,通过SI串行移入下一个测试图形所用的初值; Fy1y2=011,y1y2=11 电路运行2个(触发器的数目)时
16、钟,在原始输出观察结果;,23,重复(3),直至所有的测试图形都施加完毕,最后用M个时钟把最后一个测试响应串行移出。,每次先移入测试图形的移位寄存器初始化值; 接下来施加测试图形。 重复这样的过程,当最后一个测试图形施加时,就不需要初始化,因此最后的时钟周期是15和16,后续的测试图形不需专门的信号,表中的a和b就是这种情况。,24,南京航空航天大学 信息科学与技术学院 电子工程系,表6.1 施加测试图形的步骤,25,南京航空航天大学 信息科学与技术学院 电子工程系,表6.2 状态表,解: 电路设计 4个状态需用两个触发器,设其输出分别为y1、y2,则有,由二进制状态表可得激励及输出关系如下:
17、,扫描路径设计及测试举例,例6.2 对表6.2所示的状态表,设计同步时序电路及测试时序。,x=0 x=1,26,南京航空航天大学 信息科学与技术学院 电子工程系,组合电路部分测试生成 对组合电路部分的测试生成,可以按照前例的分块方法和测试生成方法进行。 电路有3个原始输入xy1y2 、3个原始输出D1D2Z。 选择原始输入的穷举测试集xy1y2=000,001,111。,选用D触发器设计电路。 其中x表示原始输入,Z表示原始输出。y1y2是D触发器的输出。,27,表6.4 状态转换测试序列,测试施加时的施加顺序值得考虑。为了减少测试施加时间,把对后一个测试图形的初始化与前一个测试响应的移出同时
18、进行,得到的测试集排列如表6.4第2、 3列所示,再添入相应的原始输出,如表第4、5列所示。,28,表6.4 状态转换测试序列,测试施加 先测试触发器,然后测试组合电路部分。 a.设置SE=1(测试方式),移入序列,检验扫描路径中两个触发器是否按1和0变化。 b.检验表6.4的状态表,测试步骤按表6.4所列的进行。,29,表6.4 状态转换测试序列,测试施加 对于输出门的s-a-1故障,故障传播条件为Q1=0(激活故障),Q2=0 (Q2=1)和x=1。故障检测时先通过扫描输入移入 00 状态 ,然后按组合电路方法测试。,30,南京航空航天大学 信息科学与技术学院 电子工程系,6.3 扫描单元
19、的设计,扫描路径设计中有两个重要内容: (1)选择扫描路径上的存储单元 (2)设计扫描单元 对扫描单元设计最基本的要求是: 触发器能够在正常方式下独立工作,能够在测试方式下构成移位寄存器。,D锁存器与D触发器的不同: D锁存器在CK为高电平时锁存; D触发器是边沿触发。,6.3.1 D锁存器,以上的扫描单元是多路选择器与D触发器。 在EDA工具中,常用的还有D锁存器、双口触发器、电平敏感锁存器和随机编址的扫描单元等。,31,南京航空航天大学 信息科学与技术学院 电子工程系,将扫描时钟CK2与正常时钟CK1、扫描数据D2与触发器输入数据D1区分开来,采用双数据端口双时钟触发器作为扫描单元。,6.
20、3.2 双端口扫描单元,为了减少竞争,双数据端口触发器采用下图形式。,两个数据线D和SI; 两个时钟系统:CP和组合时钟SCK1、SCK2。,32,南京航空航天大学 信息科学与技术学院 电子工程系,D脚的输入在时钟CP的上升沿锁存于输出,SI脚的输入变化在SCK1和SCK2时钟信号到来之后被捕获。 SCK1和SCK2是非重叠的两相时钟,用于移位方式,波形如图6.9(c)所示。 这种单元不是触发器,每个锁存器都有自身的时钟,称之为多路选择数据移位寄存器锁存(MD-SRL)。,两个数据线D和SI; 两个时钟系统:CP和组合时钟SCK1、SCK2。,33,南京航空航天大学 信息科学与技术学院 电子工
21、程系,图6.10 电平敏感锁存器构成移位寄存器,图中用的是D锁存器,第二次锁存用时钟CLK2。,单时钟D锁存器具有透明特性:只要时钟电平信号有效,数据D就立即传输到锁存器输出Q,不可接为移位寄存器方式。 因此电平敏感锁存器设计中所用的触发器单元是具有非重叠的双时钟、主从结构的双D锁存器。典型结构如图6.10所示。,6.3.3 电平敏感锁存器,电平敏感锁存器采用的是电平锁存方式,信号施加需特定的顺序。,34,6.3.4 电平敏感扫描设计,电平敏感扫描设计(Level-Sensitive Scan Design,LSSD)是最成功的一种扫描路径设计,采用专门的触发器及设计法则。 基本思想是: (1
22、)触发器是有效电平触发而不是边沿触发(电平敏感); (2) 测试方式中所有触发器相互连接形成移位寄存器,可对其“读”或“写”,以供测试和分析组合电路部分(扫描设计)。,触发器采用双锁存设计,称之为移位式寄存器锁存SRL 。对瞬态特性如上升沿、下降沿、最小电流延迟都不敏感,典型结构如右图。,35,南京航空航天大学 信息科学与技术学院 电子工程系,图6.11 移位式寄存器锁存(SRL),构成:两个相互连接的电平敏化锁存器; 数据输入D、系统时钟C、串行扫描输入SI; 两个互不重叠的时钟A和B、串行扫描输出SO。 测试中L1和L2为主(L1)从(L2)结构,正常状态时只有L2起触发器作用。,36,南
23、京航空航天大学 信息科学与技术学院 电子工程系,图6.12 多个SRL级连形成移位寄存器,测试方式下,多个SRL级连就形成移位寄存器,如图6.12所示。 在两个互不重叠的时钟作用下,每一个SRL的扫描输出SO串行到下一个SRL的扫描输入SI,这样就形成扫描路径,允许串行移入或串行移出电路状态。,37,南京航空航天大学 信息科学与技术学院 电子工程系,上图给出了LSSD的应用,正常方式时A/B为主/从方式。测试组合电路部分时,组合电路的测试图形在时钟A和时钟B作用下逐步移入SRL,测试响应出现在L1锁存的输入上,然后就可以与理想响应比较。测试SRL时,移入或移出含有0与1的序列。,图6.13 L
24、SSD设计,38,南京航空航天大学 信息科学与技术学院 电子工程系,采用LSSD方法设计电路应遵循以下规则: 扫描路径上所有触发器必须是双锁存设计(L1,L2); 触发器必须由两个或两个以上的不重叠时钟控制; 触发器不能由其输出信号的衍生时钟控制; 每个时钟输入必须独立控制; 系统时钟C只能接到触发器的时钟输入; 测试时,所有触发器应级连形成移位寄存器,其输入/ 输出应由时钟A和B可控,触发器也可级连成多个移位寄存器; 除了A、B时钟,其他时钟在测试时应不工作。 如果电路按以上规则设计,就具有以下特性: (1)用LSSD方法设计的电路只需对组合电路部分进行可测性设计; (2)用LSSD方法设计
25、的电路在冒险、竞争等条件下也能正常工作。,39,南京航空航天大学 信息科学与技术学院 电子工程系,测试基于LSSD设计的电路的步骤是:(测试SRL) 设置A=B=1; 在SI交替地输入0和1; 先加时钟A,再加时钟B,共N次; 移出响应 在SI对下一个测试图形初始化; 先加时钟A,再加时钟B,各M次; 在原始输出和串行输出观察结果; 重复步骤 ,直至所有的测试图形都得以施加。,用LSSD方法设计的数字电路,不管是芯片级、板级,还是系统级,都可以系统化测试和诊断。 设计阶段就采用LSSD方法,设计的电路具有可控性,不足之处是硬件面积增加20%以上(每个电路都要4个额外的原始输入及原始输出),此外
26、,速度还有些降低。,40,南京航空航天大学 信息科学与技术学院 电子工程系,图6.14 一可编址存储单元功能图,6.3.5 随机编址的存储单元,随机存取扫描技术是另一种存储单元的设计方法。 采用随机编址的存储单元构成时序电路,允许独立地对每个存储单元的状态进行设置、重置和检查。 图6.14表示了一个可编址的存储单元的典型结构。,两个附加的数据输入D1和D2; 地址线X; 存储单元输出Q1和Q2; 复位R,时钟C。 D1、X、D2以及所有存储单元的第二个输入/输出都“线或”起来,因此电路总的只有一个附加输入和输出,此电路还包含译码器及地址寄存器。,41,6.4 基于EDA工具的扫描综合,上机实验
27、,42,南京航空航天大学 信息科学与技术学院 电子工程系,扫描路径法显著优点:测试中把时序电路转化为组合电路,极大地降低了时序电路测试的复杂程度,得以广泛应用。 扫描路径法不足之处:需要增加额外的电路面积和I/O引脚,而且串行扫描移入和移出方式导致测试时间非常长。 扫描路径上移位触发器的长度是表示扫描路径设计的主要特征值,也称为扫描深度,可以通过把原移位寄存器分为一些短寄存器组的方法来降低扫描深度,从而减少测试时间,但原始输入和原始输出增加过多,对VLSI设计不利。 扫描路径设计是以牺牲电路的其他方面为代价的,因而就有成本问题: 影响扫描路径设计成本的主要因素有额外的面积和引脚、性能、测试施加时间、功耗,而且扫描路径上存储元件的选择是一个复杂的测试优化和测试综合问题。,