您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 3440--1000组合电路可测试性技术的研究
1组合电路可测试性技术的研究谢明恩于盛林(南京航空航天大学自动化学院江苏南京210016)摘要:随着集成电路设计规模的不断增大,在芯片中特别是系统芯片SOC(systemonachip)中组合电路的可测试性设计方法变得越来越重要。本文采用内建自测试技术对组合电路进行可测试性设计。文中详细分析了组合电路内建自测试的实现原理,通过将测试生成及响应分析逻辑置入电路内部,提高了电路的可控制性和可观察性,从而可使该电路的测试和诊断快速而有效。最后对8位行波进位加法器的内建自测试设计过程进行了详细分析,并通过MAX+plusII进行了实现。关键词:组合电路;内建自测试;线性反馈移位寄存器中图分类号:TP311文献标识码:AResearchonthedesignfortestofCombinatorialCircuitXieMingenYushenglin(CollegeofAutomationEngineering,NanjingUniversityofAeronauticsandAstronautics,Nanjing210016,China)Abstract:Withthegrowthofthescaleofintegratedcircuits,thedesignfortestforcombinatorialcircuitinthechipandparticularlyintheSOCisbecomingmoreandmoreimportant.Thepaperpresentsthemethodbasedonbuilt-inself-test(BIST)forthedesignfortest.Theprincipleofcombinatorialcircuitbuilt-inself-testisanalyzedindetail,whichputtingtestpatterngenerationandresponseanalysislogicintothecircuittoenhancethecontrollabilityandobservabilityofcircuits,andmakethetestanddiagnosisofcombinatorialcircuitquickandeffective.Atlast,theBISTdesignof8-bitripplecarryadderisanalyzedindetailandisimplementedbyMAX+plusII.Keywords:CombinatorialCircuit;BIST;LFSR1引言可测试性(testability)定义为:产品能及时准确地确定其状态(可工作、不可工作、性能下降),隔离其内部故障的设计特性。以提高可测试性为目的进行的设计被称为可测试性设计。[1]可测试性是同可靠性、维修性相并列的一门新型学科和技术,其发展和应用对于提高产品的质量,降低产品的全寿命周期费用具有重要意义[2]。随着集成电路设计方法与工艺技术的不断进步,集成电路的可测性问题已经成为提高产品可靠性和成品率的一个不可忽视的因素。在最近的二十多年中,尤其是近十年来电路测试方法的研究己经日益受到重视,在集成电路产品开发的整个流程中,测试问题己经成为了必须考虑的关键问题之一。尤其是当在片上系统(SystemOnaChip,简称SOC)成为集成电路技术发展的大趋势时,由于系统复杂度和规模的提高,可测性设计在整体产品开发中也就占据了越来越重要的地位。在进行电路设计的早期引入可测性设计,可以提高测试的故障覆盖率,大幅缩短测试时间,降低测试难度,加快设计周期,缩短产品的上市速度。组合电路作为集成电路重要组成部分,它的可测性设计也越来越受到人们的关注。可测性设计中的内建自测试方法由电路自己生成测试向量,而不是要求外部施加测试向量,而且它依靠自身逻辑来判断所得到的测试结果是否是正确的,这样就大大降低了对测试设备的要求,而且2它所要求“借用”的芯片封装引脚的数目要少得多[3]。随着芯片集成度的提高,集成电路工程师已不太在乎BIST逻辑所占用的少量的芯片面积,因此BIST己被广泛应用于现代的集成电路中。传统的离线测试对于日趋复杂的系统和日益提高的集成度越来越来不适应。离线测试不但需要一定的专用测试设备,而且测试周期长,还必须把芯片或插件从系统中取出来,无法进行经常性的检查。本文采用BIST对组合电路进行可测试性设计,将测试建立在硬件上,通过软件控制即可进行自检而且自测试电路通常在设计电路时以充分考虑到测试的问题,于是测试的步骤比较简单,而且具有快速和有效的特点。2内建自测试原理内建自测试将测试作为电路自身的一部分,将测试码的产生及测试响应分析逻辑置入电路的内部,使具有BIST功能的电路无须外部支持即可以产生测试激励、分析测试响应[4]。内建自测试一般包括测试生成电路(激励)、特征分析电路、比较分析电路,理想结果存储电路(ROM)和测试控制电路,一般结构如图1所示。测试控制电路是用来产生测试向量施加时序的控制信号,测试方式时,线性反馈移位寄存器(LFSR)对被测电路施加测试图形,特征分析器(MISR)对响应压缩,压缩后得到的特征符号与存储在ROM中的参考符号相比较,相同则无故障。一个给定电路的内建自测试的效率与所选的LFSR、MISR的长度和LFSR的结构有关。测试图形越长,故障覆盖率越高,但测试效率也会降低。3组合电路内建自测试的电路实现组合电路BIST电路一般由以下四个单元构成,即BIST控制器、向量生成单元、特征分析器、比较单元。本文以8位行波进位加法器为例来说明内建自测试设计过程,采用模块化设计,用VHDL语言[5]描述所有模块,在MAX+plusII中仿真实现了本设计。3.1BIST控制器8位行波进位加法器是由8个一位全加器级联而成,其结构图参见图2。在设计过程中,如图3所示模块ADDER8就是8位行波进位加法器,输入a[7..0]、b[7..0]和cin,输出是和s[7..0]与最终进位cout。测试控制电路线性反馈移位寄存器特征分析器被测电路(CUT)ROMPI运行BIST图1内建自测试结构比较器PASS3图28位行波进位加法器结构BIST控制器是组合电路BIST中最重要的一个模块,它主要是由状态控制,分频器和测试顺序生成等模块组成。组合电路测试最关键是测试向量的施加时序,控制器就是用来产生这种时序控制信号。8位行波进位加法器经过BIST设计后的逻辑电路如图3所示,通过模块MUX1_1来控制系统的状态,当cs=1时,对加法器进行测试,cs=0时,断开测试回路。由于该加法器有9个输出,而特征分析是串行的,即每次只能测试一个输出,每个测试需要7个时钟,于是设计一个14分频的分频器模块FENPIN7(cnt是它的计数器),每个输出测试两次,可以防止虚警发生,同时给ROM和模块DIR提供时钟。模块DIR起设定测试顺序作用,使9个输出依次进行测试,即特征分析电路根据DIN的值进行特征分析和ROM根据DIN值输出不同值。3.2测试生成单元测试时,对8位行波进位加法器采用单固定故障模型。固定型模型假设逻辑门的输入或输出值永远固定不变,即与电路的原始输入值无关。当某信号线的逻辑值固定为0时,称该信号线发生了固定0故障(stuck-at-0),记作s-a-0。若信号线发生的是固定1故障,记为s-a-1。如果假设系统中最多只有一个信号线存在固定型故障,则称之为单固定型故障。这种模型便于处理,能反映绝大部分物理缺陷的影响。根据文献6,8位行波进位加法器的单故障可由表1中的8个测试码可完全覆盖。表1行波进位加法器单故障测试码集测试码12345678710...aaa00…00010…01001…10111…11111…11111…11100…00000…000图38位行波进位加法器BIST设计的逻辑电路图4710...bbb00..00010…01001…10111…11100…00000…00011…11111…111cin01011010按照表1中构造的测试码,本设计拟采用一个LFSR来生成这8个17位的测试码。通过对这些测试码进行分析可以看出,输入端710...aaa和710...bbb的测试码中的偶数位的数字均相同,奇数位的数字也都相同,这样在测试生成时,所有偶数位和所有奇数位可分别看成一位,再加上一位进位则只须生成3位测试码。因此,设计时采用一个本原多项式为31xx的三位具有最大周期的LFSR。将其赋初值100,只要输入时钟就可产生伪随机测试序列100010101110111011001100共7个测试序列,另外一个测试序列000通过复位产生,图3的prpg模块就是一个三位的LFSR,。用VHDL语言描述[7]的模块prpg如下:ENTITYprpgISGENERIC(x:INTEGER:=3);port(clk:INSTD_LOGIC;q1:OUTSTD_LOGIC_VECTOR(x-1DOWNTO0));ENDprpg;从LFSR的3位输出(Q1)到加法器的输入(a[7..0]、b[7..0]和cin)之间的逻辑转换可通过下面的转换公式来实现,图3中的change模块就是实现这个转换。024610121011aaaaqqqq135712aaaaq024610111112bbbbqqqq135710121112bbbbqqqq1012101112101112cinqqqqqqqq3.3测试输出响应分析为了减少测试响应数据所用的空间及易于分析,常常把响应数据压缩。压缩方法很多,这里采用多用途的LFSR作为压缩、特征分析电路[8]。LFSR作为压缩电路时,对其施加的是来自被测电路的测试响应,当响应序列到达时,LFSR串行实现多项式除法,测试施加完毕后,LFSR的内容即为特征符号。特征分析的数据压缩是通过移位寄存器的多项式除法来完成。本文选用单输入特征分析器(SSA),即9选1的多路选择器加串行输入特征寄存器组成,每次对加法器一个输出进行压缩。根据混淆率要求,选用特征分析器为4级,对应本原多项式为41xx的IE型LFSR。加法器无故障时:0246ssss、、和的特征符号是1010,1357ssss、、和的特征符号是0001,cout的特征符号是0111。由于要对9个输入进行分析,于是设计了一个计数器(K),使得特征分析能循环进行,完成一个分析后,复位一次。图3中的模块SISR1就是实现特征分析器的功能。3.4比较单元比较单元主要功能是把特征分析器压缩的结果与存在ROM中的期望值(1010,0001和0111)比较,如果两者一致,则指示电路通过测试,即信号pass为输出一个clkk周期的‘1’脉冲,否则显示电路故障,即输出pass为‘0’。比较器中的计数器(CT)用来显示整个测试过程结束,当ct等于17时,测试结束信号(finish)跳变为‘1’。图3中模块COMPARE起比较器作用,模块ROM4_2是一个容量4*2的ROM,该ROM中有2位地址线(ad:integerrange0to3),4位数据线(dio:outstd_logic_vector(3downto0)。3.5逻辑仿真的总体分析5对加法器测试生成机构的逻辑仿真验证了设计中的测试码生成部分是正确的,对特征分析器的逻辑仿真验证了设计中测试响应分析是正确的。图4为总体仿真波形。每隔7个clkk时钟周期对一个加法器输出进行测试,测试的结果可以根据输出(PASS)的波形来判断,没有故障则输出(pass)产生两个脉冲。当18个CLK1周期后,测试结束,信号(finish)跳变为1。从仿真最终波形可以看出测试有序、紧凑而准确,证明设计是合理的。3.6故障模拟设计中加法器的测试码在理论上可以达到100%的故障覆盖率,实际故障覆盖率通过对加法器的逻辑电路进行故障模拟,同时向电路中加入我们用到的测试码得到。EDA工具软件Cadence中即提供了Verifault这一可完成上述功能的自
本文标题:3440--1000组合电路可测试性技术的研究
链接地址:https://www.777doc.com/doc-2927989 .html