第九部分验证和测试

《第九部分验证和测试》由会员分享,可在线阅读,更多相关《第九部分验证和测试(40页珍藏版)》请在文档大全上搜索。
1、数字系统设计验证和测试验证和测试6/1/2022验证和测试9.1. 引言引言9.2. 测试过程测试过程9.3.可测性设计可测性设计9.3.1可测试性设计中的问题可测试性设计中的问题9.3.2专门测试专门测试9.3.3扫描测试扫描测试9.3.4边界扫描设计边界扫描设计9.3.5内建自测试内建自测试9.4. 测试图形的生成测试图形的生成9.4.1故障模型故障模型9.4.2. 故障模拟器故障模拟器数字系统设计验证和测试9.1引言电路中进行某些小修改就容易证实设计有无缺陷。这一设计方法称为(design for testability,DFT) DFT是整个设计过程中一个非常重要的环节,在设计流程中尽
2、早考虑。数字系统设计验证和测试9.1引言一个DFT策略包括两部分两部分: 提供必要的电路以使测试过程加快并且全面。提供测试过程需要采用的。为了降低成本,希望测试序列尽可能短,但仍能覆盖大部分可能存在的缺陷。数字系统设计验证和测试9.2测试过程根据所希望的测试目的测试可分成三类: 诊断测试诊断测试用在芯片和板级调试期间,其目的是对于一个给定的失效部件识别和指出失效的部位。功能测试功能测试确定一个制造出的元件是否能工作。这一问题比诊断测试简单,因为只需要回答是或否。由于每一个制造出来的芯片都要经过这一测试,因此它对成本有直接的影响,所以这一测试应当尽可能简单快速。参数测试参数测试在各种工作条件(如
3、温度和电源电压)下检查许多非离散参数,如噪声容限、传播延时和最大时钟频率。这就需要有与只需处理0和1信号的功能测试不同的测试设备。又分为静态和动态测试。数字系统设计验证和测试9.2测试过程典型的生产测试过程如下:首先把预先确定的装入能够向被测器件(device under test, )提供激励并采集相应的测试设备。测试矢量由测试程序来定义,它描述了所应用的波形、电平、时钟频率以及所期望得到的响应。需要用一个探针卡或DUT板把测试仪的输入和输出连到芯片或封装相应的引线上。新部件被自动送入测试仪,测试仪执行测试程序,把一系列的输入矢量加到被测器件上,并把所得到的响应与所期望的响应进行比较。如果发
4、现有差别,就给该部件标记上有缺陷,如打上一个红点,然后探针自动移到圆片的下一个芯片。在把圆片分割成单个芯片的划片过程中,打点的部件将被自动抛弃。在测试封装好的部件时,把已测部件从测试板上取下并根据测试结果分别放入良好和有缺陷的箱中。每个部件的测试过程只需要几秒的时间。减少一个芯片花费在测试仪上的时间是降低测试成本最有效的方法。数字系统设计验证和测试9.3 可测性设计9.3.1 可测性设计中的问题在设计过程的早期考虑测试可能简化整个验证过程。考虑下图的组合电路。 数字系统设计验证和测试被测试的组合和时序电路框图被测试的组合和时序电路框图 为验证该电路的正确性,可以通过无遗漏的应用所有可能的输入矢
5、量并观察相应的响应予以实现。对于N个输入的电路,要求有2N个测试矢量。 对于N=16,就需要216测试矢量。如果一个测试矢量加入和观察需要1us,测试这模块的全部测试就需要约1s。当考虑时序电路时这种情况就变得更严重,因为该电路的输出不仅取决于所加的输入,还要取决于状态值。 为了无遗漏地测试这一有限状态机(Finite State Machine,FSM)需要应用2N+M个输入矢量(M是状态寄存器的数目)数字系统设计验证和测试9.3.1可测性设计中的问题9.3.1可测性设计中的问题 通过就有可能用有限的一组输入向量来测试大多数组合逻辑电路,然而这并未解决时序电路的测试问题。为了测试一个状态机中
6、一定的故障仅仅应用正确的输入激励是不够的。因为首先必须使这个被测部件处于所希望的状态。这需要应用一系列的输入。同时把电路响应传送到其中的输出上。 测试一个FSM中的单个缺陷需要一系列的测试向量。解决这一问题的一种方法是在测试过程中把反馈回路断开,从而把时序电路变成组合电路。这是(scan-test)方法的关键概念之一。 另一种方法是让电路。这一测试并不需要外部的向量并且可以以很高的速度进行。数字系统设计验证和测试9.3.1可测性设计中的问题 灵活的测试方法基于以下前提: 无一遗漏地列举所有可能的输入矢量会含有相当多的,即电路中的同一个缺陷为许多输入图形所覆盖,检测出这样一个缺陷只需要这些矢量中
7、的一个,而其他矢量是多余的。 放宽必须检测出所有缺陷这一要求可以大大减少矢量的数目。为此一般的测试过程只要求95-99%的。数字系统设计验证和测试组合电路属于易观察和可控制的电路。时序电路的可测试设计方法换分成3类:。数字系统设计验证和测试9.3.2专门测试(ad hoc test)方法集合了一些可用来提高一个设计的可观察性和可控性的技术,它的应用同应用类型相关。 数字系统设计验证和测试插入多路选择器来提高可测性插入多路选择器来提高可测性 9.3.3扫描测试1数字系统设计验证和测试避免时序测试问题的一种方法是把所有的寄存器都变成可从外部转入和可读出的元件,这样被测电路就成了一个组合电路。 为了
8、控制一个节点,需要建立一个合适的向量,把它装入寄存器并传播通过逻辑。激励的结果传播到寄存器并被锁存,然后寄存器中的内容被传送到外部接口。 9.3.3扫描测试2数字系统设计验证和测试可采用上图所示的串联扫描方法串联扫描方法来减小电路开销。在这一方法中,寄存器可以支持两种工作模式: 正常模式:它们作为N位宽的钟控寄存器。 测试模式:寄存器被链接在一起作为一个串联的移位寄存器。 9.3.3扫描测试3数字系统设计验证和测试扫描链的串联扫描链的串联本质减少了布线数量,而且通常的寄存器很容易修改为支持者一扫描技术。上图显示了一个修改后具有扫描链的4位寄存器。在输入端增加一个额外的多路开关在输入端增加一个额
9、外的多路开关。当测试为低电平时电路处于正常工作模式。当测试为高电平则选择扫描输入,并把寄存器链接到扫描链上。 寄存器的输出Out连接到扇出逻辑上,但同时还要增加逻辑,因为扫描输出引线连接到相邻寄存器的扫描输入。这一方法在增加的开销都很小,可以限制在5%以内。 9.3.3扫描测试4数字系统设计验证和测试 上图为采用串联扫描方式电路的时序图,这里假设采用两相位时钟方法。对于N位寄存器的一个扫描链,Test信号首先在高电平产生N个时钟脉冲以装载寄存器。Test信号低电平时产生单个时钟脉冲,把正常电路工作状况下从组合逻辑得到的结果锁存到寄存器中。最后,有另外N个的脉冲(当Test=1时)把所得到的结果
10、传送到输出端。 【 注意】扫描输出可以与下一个向量的输入同时进行。9.3.3扫描测试5数字系统设计验证和测试可以设计出许多不同的串联扫描方法,如IBM公司设计的电平敏感扫描设计(level-sensitive scan design, LSSD)。LSSD方法的基本功能块是移位寄存器(shift-register latch, SRL)如下图所示。 它由两个锁存器L1和L2组成,后者只是用于测试目的。在电路正常工作时,信号D、Q和C分别用做锁存器的输入、输出和时钟。在这一模式中测试时钟A和B为低电平。在扫描模式中,SI和SO分别作为扫描输入和扫描输出。这时候时钟C为低电平,而时钟A和B作为不重
11、叠的两相位测试时钟。 9.3.3扫描测试6数字系统设计验证和测试这一方法称为部分扫描,常用于当性能是主要关注对象的时候。 设计中不是所有的寄存器都是需要可扫描的。考虑下图中的流水线数据通路。 在测试生成期间,可以把加法器和比较器一起看做是单个组合电路。惟一的区别是在进行测试时需要两个时钟周期把激励向量的响应结果传送到输出寄存器中。9.3.4 边界扫描设计数字系统设计验证和测试测试电路板的测试,只要把板放在一组测试探针下(test bed)然后输入和观察感兴趣的信号就可以了。随着高级封装技术(如表面封装或芯片模块)的出现,情况发生了变化。可控性和可观察性由于探针点数目大大减少而不容易得到。这一问