CN85108326A - 有自测试能力的超大规模集成电路 - Google Patents
有自测试能力的超大规模集成电路 Download PDFInfo
- Publication number
- CN85108326A CN85108326A CN 85108326 CN85108326A CN85108326A CN 85108326 A CN85108326 A CN 85108326A CN 85108326 CN85108326 CN 85108326 CN 85108326 A CN85108326 A CN 85108326A CN 85108326 A CN85108326 A CN 85108326A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- signal
- circuit
- test
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种自测试超大规模集成电路包括完成超大规模集成电路器件基本功能的功能块。具有内部图形发生器以便在测试控制器的控制下产生预定的图形。测试控制器响应通过接口电路从外部控制总线接收的外部信号执行预定测试程序。功能块的输出被输入到识别电路将其输出与预定的测试标准相比较。测试控制器测出识别电路的输出且如果在被处理的测试图形数据及预定的测试标准之间未能进行有效比较,则在测试程序末尾产生故障信号。
Description
本发明一般地与在一***中集成电路的内装的故障测试有关,更具体地说与在芯片级及电路板级上的超大规模集成电路的自测试特点有关。
由于技术需要的增加,集成电路的密集度和功能的多样化日益增加。此外这些集成电路处理数据的速度也不断增加。这些器件一般称为超大规模集成电路(VLSI)。为了可靠地实现超大规模集成电路器件,已发展新技术来制造半导体芯片级的器件及封装芯片。因为超大规模集成电路还必须与***电路相连,因而必须有一些输出口,控制口等,故对此增长的密度及速度有着一些固有的缺点。由于一块超大规模集成电路芯片能完成大量功能,与器件所完成的功能数相比,接口连接数或集成电路引脚数相对较少。结果是查找内部功能的故障以及对内部功能进行失效分析因不易接触而感到困难,因为接口连接的使用必须最佳化,且他们一般取决于器件的功能方式而不是测试方式。
一旦利用超大规模集成电路制造一***,保持对超大规模集成电路的芯片及其装入的***的内装测试的一些形式是很重要的。此测试可在许多等级上完成,如芯片级、电路板级及***级,其中芯片级是最低级。内装测试的目的是在完成所要的功能之前确定该***是否能满足操作说明规定的要求,失效的形式可能是在连接器及不同元件之间的相互连接有故障,电路板上各超大规模集成电路芯片之间有故障,或者甚至在超大规模集成电路芯片的引脚与电路板本身之间有故障。在芯片级,失效可能有两种形式,即在芯片的功能部分有故障或在芯片的功能部分与集成电路引脚之间的接口电路有故障。集成电路芯片失效有很大百分比是由于输出接口电路有故障。在电路板级,失效或由于在印刷电路板上相互连接不良或者集成电路引脚与板上的互连图形的接触有毛病。***级故障的形式通常是控制总线与信号总线之间的连接有故障。
在***测试方面,已有技术的***利用中央的处理机或产生各种测试图形输入到***中每个器件的类似的***设备。每个器件的功能也加以控制以便每个器件都能独立测试,或者控制不同电路板上的不同电路以预定方式相互作用,并输出预定的信号。将此任一种测试型式的输出信号与期望的结果相比,并对测试结果是否在可接受的工作范围内作出决定。如果该结果不在可接受的范围之内,则该***定为失效,必需或者修理,或者更换。
为了在***级,电路板级或芯片级上对***进行内装测试,最好不同等级都能各自响应单个快速信号而进行自测试。此自测试需要与正常功能电路不同的内装测试电路。这些测试电路产生测试信号,处理输出信号,并控制一般测试本身。现有的提供单个元件的内装测试的***需要在集成电路上设专用引脚,以便允许接触到集成电路的功能部分。这可能需要大量的专用引脚,因此是一个缺点。将集成电路引脚专用于测试是人们所不希望的,只要可能就应将其减到最少。
由于有以上缺点,对于自测试超大规模集成电路存在着一种需要,即在测试方式中,不需要使用大量的专用集成电路引脚来与超大规模集成电路相连。
在此公开并请求专利保护的本发明包括用以测试功能电路块的自测试电路。自测试电路包括测试图形发生器电路,它根据贮存的测试程序产生测试图形输入到功能电路。然后将功能电路的输出输入到比较电路将经过处理的测试图形信号与预定测试标准相比较。如果在处理的输出数据及预定测试标准之间未作出有效比较,则在测试程序末尾产生一故障信号。至此,在通过接口出入口从外部源接收到触发信号后即开始产生测试图形。此接口出入口还提供一通路,通过此通路将故障信号发送到外部装置。
在本发明的另一个实施例中,测试程序贮存在集成电路上的贮存位置,且控制电路以预定顺序访问此测试图形。测试图形存贮电路的输出连到功能电路块的输入,并可由控制电路寻址。比较器接收由功能电路块输出的处理的测试图形数据,并将此与由控制电路产生的预定测试标准相比较。控制电路还根据贮存的测试程序确定功能电路块的功能。
为了更完整地理解本发明及其优点,现在结合附图作下列说明以作参考,附图中包括:
图1图示在自测试超大规模集成电路芯片上的功能电路及有关测试电路的示意方块图;
图2图示图1的超大规模集成电路芯片的展开的方块图;
图3图示图2的功能电路的示意方块图;
图4图示以环形接法连接的超大规模集成电路器件的网络;
图5图示测试出入口接口的方块图;
图6图示位协议的波形图;
图7图示测试出入口接口电路的示意图;
图8图示选择标记电路的示意方块图;
图9图示方向探测电路的示意方块图;及
图10图示超大规模集成电路芯片的接口电路及自测试特征的工作流程图。
现参见图1,其中图示主要由功能电路块〔10〕所组成的超大规模集成电路的示意方块图。功能电路块〔10〕可以完成诸如运算逻辑部件(ALU),乘法器,加法器等任一型式的功能。在最佳实施例中,功能电路块〔10〕为处理数字数据的数字电路。然而,应明白功能电路块〔10〕可以是模似电路。
功能电路块〔10〕在输入总线〔12〕上接收输入数据并在输出总线〔14〕上输出数据。输入总线〔12〕及输出总线〔14〕为一组线路的代表,该总线通过输入缓冲器〔13〕及输出缓冲器〔15〕与集成电路封装的引脚相连。缓冲器〔13〕及〔15〕是三态缓冲器,它是可控的,以便完全使功能电路块〔10〕与集成电路引脚断开并因而与***设备的连接断开。
如上所述,功能电路块〔10〕有功能方式,此外还有测试方式。在测试方式时,根据预定程序产生测试信号,并分析用功能电路〔10〕处理这些测试信号的结果。测试信号在图形发生器〔16〕中产生,该发生器通过总线〔18〕连到功能电路块〔10〕的输入。识别电路〔20〕通过总线〔21〕连到功能电路块〔10〕的输出以接收处理的测试信号,并将他们与预定测试标准进行比较。在测试方式下由图形发生器〔16〕产生的测试信号及功能电路块〔10〕的工作都由测试控制器〔22〕控制,该控制器通过总线〔24〕与测试图形发生器(test Pattern generator)〔16〕或只读存贮器相连,通过控制总线与功能线路块〔10〕相连,并通过总线〔28〕与识别电路相连,以便提供测试标准数据。
测试控制器〔22〕的工作是运行一预定测试程序(该程序贮存在超大规模集成电路器件内部),以决定功能电路块〔10〕的功能及输入到该处的测试信号。测试控制器还确定输入到比较器或识别电路〔20〕的预定测试标准。功能电路及其测试程序的一个例子是与门,其中测试程序由真值表组成。输入端上的逻辑状态由测试图形发生器〔16〕加以改变。及其输出与预期结果(或逻辑状态“0”或逻辑状态“1”)相比较。这些预期结果由测试控制器〔22〕产生。识别电路包括两个输入比较器。
有一接口电路〔30〕作测试控制器〔22〕及控制总线〔32〕之间的连接。此接口电路向控制总线〔32〕提供一专用出入口,通过它来控制功能块〔10〕在测试/维护方式下的工作,这将在下面说明。控制总线〔32〕把控制信号送到超大规模集成电路器件,并把测试结果从超大规模集成电路器件送到外部的点,并包括两根信号线S1及S2,错误信息线AT,及时钟线CK,其工作情况将在下面说明。
在工作时,功能块〔10〕通常在功能方式下工作,该方式允许器件在输入总线〔12〕上接收信号,在输出总线〔14〕上输出信号,并在***中工作。这些总线〔12〕及〔14〕分别通过缓冲器〔13〕及〔15〕与专用集成电路引脚相连,该引脚与集成电路包装形成整体。在测试/维护方式下,信号通过接口控制总线〔32〕加到接口电路〔30〕,以便开始测试程序。此测试顺序用测试控制器〔22〕实现。测试控制器首先控制缓冲器〔13〕及〔15〕,防止功能电路〔10〕与外部装置相连,然后通过总线〔24〕产生信号,使图形发生器〔16〕产生图形。此外功能电路块〔10〕(一种多任务的功能块)由测试控制器〔22〕通过控制总线〔26〕控制,以完成给定的功能。输出将随着所用的功能电路块〔10〕的型式而变化,同时所需的测试数也随着型式的改变而改变。
在进行测试时,由测试控制器〔22〕执行贮存的测试程序且使测试顺序按步骤作下去。对于该顺序中的每一测试产生测试输入,并将功能电路块〔10〕的功能处于所选择的功能。此输出与由测试控制器〔22〕所产生的预期结果相比较。对于在测试顺序中的每一步骤,可以将在该顺序中每次测试的有效比较或测试结果加以贮存。然而,因为本发明的自测试特征为行/不行测试,故只需要监视无效测试结果的存在,因为凭这一点就可以判定该器件是不合格器件。
通过利用与要测试的功能电路相连系的自备的测试图形发生器,控制器与识别电路,并将其集成为单芯片或集成电路内,就可不再需要应用种种外部控制信号。据此方式,只需要向测试控制器提供起始信号,使开始有关超大规模集成电路的预定测试程序就行了。故不管功能电路块〔10〕所完成的功能的密度及数量如何,使测试程序开始并从中得到输出只需要有最低数量的线就可以。这允许在芯片级进行故障测试。芯片级是在任何***的等级结构中的最低的等级。因为在半导体芯片上不能进行修理,故必须予以更换,因而本发明的自测试特征允许外***控制器请求***中的每个超大规模集成电路器件进行自测试,并将有关在该***中出现故障的信息送回到***控制器。只需要指出在该***的某处有故障,而不需要指出故障部位。如下面所述的那样这将在“维护”方式中确定。
现参见图2。此图是图1的自测试电路的展开方块图,各图中,同样的部件都标以相同的号码。如上所述,功能电路块〔10〕可以是任何型式的功能电路。为了说明起见,利用带有许多其他功能的运算逻辑部件〔称为向量运算逻辑部件(VALU)〕来说明本发明的一个实施例。向量运算逻辑部件在图中的标号是40,且其三个输入/输出口分别标为“A”、“B”及“C”。A出入口连有一组双向线驱动器〔42〕,B出入口连有一组双向线驱动器〔44〕,C出入口输入到一线驱动器〔46〕,以便将数据输入到向量运算逻辑部位〔40〕。驱动器〔42〕,〔44〕及〔46〕代表输入缓冲器〔13〕及输出缓冲器〔15〕,并由测试控制器〔22〕控制,以便允许数据转移到有关的出入口,或从其转移进来。图形发生器〔16〕的输出“注入”到缓冲器〔42〕的输入缓冲器及缓冲器〔44〕的输入缓冲器并注入到缓冲器〔46〕内。
向量运算逻辑部件〔40〕有两组输出线〔48〕及〔50〕。输出线〔48〕输入到多路转换器(Multiplexer)〔52〕,该转换器的输出连到输出寄存器〔54〕,以便贮存输出数据。输出线〔50〕输入到多路转换器〔54〕,其输出连到输出寄存器〔58〕,以便在其中贮存数据。输出寄存器〔54〕通过线驱动器〔42〕中一驱动器的输出将数据输出到A出入口,及输出寄存器〔58〕通过线驱动器〔44〕中的一驱动器的输出将输据输出到B出入口。
向量运算逻辑部件〔40〕的功能运算指令存贮在微编码只读存贮器〔60〕内,该存贮器由存贮在地址寄存器/计数器〔62〕内的外地址寻址。当电路以功能方式工作时,外地址允许选出向量运算逻辑部件〔40〕的特定功能。微编码只读存贮器〔60〕的输出输入到多路转换器〔64〕的一输入端,其输出连到流水线寄存器〔66〕。流水线寄存器〔66〕的输出提供微编码指令,该指令控制电路的不同功能。在运行时,微编码只读存贮器由特定地址寻址,并且,包含在该地址位置上的数据字确定在流水线寄存器〔66〕的输出端的微编码指令的内容。然后在向量运算逻辑部件电路〔40〕内设置不同的门及参考电压,以完成适当的功能。
如以上参照图1所描述的,为使测试方式很方便地进行,测试控制器〔22〕输出控制信号,来控制从微编码只读存贮器数据的输出。输出计数信号(CNT)到地址寄存器/计数器,就能使这点很方便地做到。此计数信号步进通过一系列指令,该指令确定由流水线寄存器〔66〕输出的微编码指令。微编码只读存贮器〔60〕的输出还输入到测试图形发生器〔16〕,该发生器为只读存贮器。由微编码只读存贮器〔60〕输出的数据是地址。输入到测试图形发生器〔16〕的地址由多路转换器〔68〕控制,其一个输入端连到微编码只读存贮器〔60〕的输出,而其另一输入端则连到计数器〔70〕的输出。计数器〔70〕由测试控制器〔22〕控制,以便在其中装入起始值,且经此值以预定的时钟速度步进。此值输入到测试图形发生器〔16〕,以便提供预定的测试图形,或测试图形的序列。此外,计算器〔70〕的输出还输入到多路转换器〔64〕的一输入端以提供一数值作为从流水线寄存器〔66〕的输出,该寄存器可以按顺序经过或被计数。通过用测试制制器〔22〕在计数器〔70〕内装入预定值,不需要在微编码只读存贮器〔60〕内为顺序的每个功能存贮一个单独的代码,就能按步完成一系列功能。故计数器〔70〕使芯片上的空间得到更有效的利用。
除以预定方式将指令代码排成顺序外,还可将分开的诊断程序存贮在微编码只读存贮器〔60〕内,将一个个程序步骤按顺序加以执行。每一程序步骤为一个微编码指令的地址。然而此种型式的测试方式对于复杂的功能电路需要有大量存贮空间。
在本发明的另一种实施例中,寄存器〔66〕由测试控制器〔22〕代替,以便独立产生微编码指令。在此实施例中,指令及程序的存贮与电路的功能部分分开。从实用观点来看,自测试方式是上述方法的组合。
在测试方式时,输出值从输出寄存器〔54〕中取出,输入到识别电路或比较器〔20〕。识别电路可以是任何形式的电路,该电路将输出值与按预定测试标准所确定的期望结果相比较。此电路的一种形式可以是一种简单的比较器电路。比较器电路的一输入端连到输出值,而另一输入端则连到测试控制器〔22〕。然后测试控制器〔22〕输出比较字到识别电路〔20〕并进行直接比较。如得到真比较结果,则该测试为成功测试。然而,对于有故障电路则比较器的输出将指出芯片有故障。此错误信号输入到测试控制器〔22〕,然后输入到接口电路〔30〕,将其输出。此错误信号的使用,将在下面说明。
在最佳实施例中,识别电路〔20〕使用常规的数据压缩技术将数据在时间上或空间上进行压缩。与压缩数据输出进行比较的预期结果为对所有测试都相同的预定结果或“硬连线”(“hard wired”)结果。通过适当选择输入数据,可将输出控制为与预置的期望结果一样。本发明所用的数据压缩技术为“符号差分析”,其中的一例为校验和电路。符号差分析技术在“平行符号差的分析及同化”一文中曾作了较完整地讨论。该文作者为T.西德德哈(T.Sirdhar),D.S.何(D.S.HO),P.T.鲍威尔(P.T.Powell),S.M.撒特(S.M.Thette),发表于1982年国际测试会议会议记录656-661页。
现在参见图3。图3是向量运算逻辑部件〔40〕的部份功能电路的展开示意方块图。向量运算逻辑部件〔40〕所完成的一些功能为运算逻辑部件(ALU),乘法器部分及加法器/减法器部分的功能。每个部分单个地与其输入及输出相连并有种种文件存贮器(file)和寄存器与其相联系。乘法器部分由乘法器存贮器(multiplier file)〔71〕,乘法器〔72〕及移位(shift)/选择器〔74〕组成。加/减部分由加法器/减法器电路〔76〕,A-输入寄存器〔78〕及B-输入寄存器〔80〕制成,其输出通过移位/选择器〔82〕进行处理。运算逻辑部件由运算逻辑部件存贮器〔84〕及运算逻辑部件电路〔86〕所组成。
出入口A、B及C由16位数据总线组成,A出入口及B出入口可以被选作输入口或输出口,而C口仅选作输入总线。A、B、C三个出入口分别由多路转换器〔88〕及〔90〕选作为到乘法器存贮器〔71〕的A及B输入端的输入。多路转换器〔88〕从A出入口、运算逻辑部件〔86〕的输出及加/减部分内移位/选择电路〔82〕的输出选择输入。多路转换器〔90〕在B及C出入口之间并在运算逻辑部件〔86〕的输出及乘法器部分内的移位/选择电路〔74〕的输出之间进行选择。从多路转换器〔88〕及〔90〕接收到的输入通过乘法器存贮器〔71〕进行处理。乘法器〔72〕随即工作以处理移位/选择电路〔74〕中的结果来完成全部乘法。在数字值上相乘可用许多不同的算法,其中之一为波斯算法(Booth′salgorithm)。
输出多路转换器〔52〕的输入通过线路〔48〕连到运算逻辑部件〔86〕的输出及移位/选择电路〔82〕的输出。多路转换器〔56〕的输入通过线路〔50〕连到运算逻辑部件〔86〕的输出以及移位/选择电路〔82〕的输出。在工作时,将数据装入到乘法器存贮器,然后用乘法器〔72〕及移位/选择电路〔74〕进行乘法运算。移位/选择电路的一个输出输入到多路转换器〔91〕作选择用,并输入到加/减部分的A寄存器〔78〕。移位/选择电路〔74〕的另一输出向后连到多路转换器〔90〕的输入端。此外,乘法器存贮器〔71〕的输出经由乘法器〔72〕及移位/选择电路〔74〕所定路线输入到多路转换器〔91〕及多路转换器〔93〕,多路转换器〔93〕的输出则连到B寄存器〔80〕。
在加/减部分内的多路转换器〔91〕有四个输入端,它们连到移位/选择电路〔74〕的一个输入端,乘法器存贮器〔71〕的一输出端,A输入口及运算逻辑部件〔86〕的输出端。多路变换器〔93〕有三个输入端,一输入端连到移位/选择电路〔74〕的输出端,一输入端连到乘法器存贮器〔71〕的一输出端,还有一个输入端连到加/减电路〔76〕的输出。在工作时,加/减电路〔76〕从A寄存器〔78〕及B寄存器〔80〕接收两个输入信号,其输入值分别由多路转换器〔91〕及〔93〕选择。加/减电路〔76〕的输出或向回输入到多路转换器〔93〕以便在B寄存器〔80〕内进行选择,并其后加以存贮,或者,通过移位/选择电路〔82〕进行处理。作为其输出。
移位/选择电路〔82〕的输出输入到多路转换器〔92〕及多路转换器〔94〕的一输入端。多路转换器〔92〕及〔94〕的输出连到运算逻辑部件文件存贮器〔84〕的输入端。多路转换器〔92〕的其余输入端则连到A输入口,C输入口及运算逻辑部件〔86〕的输出。多路转换器〔94〕的其余输入端则连到B输入口,乘法器部分的移位/选择电路〔74〕的输出及运算逻辑部件〔86〕的输出。在工作时,运算逻辑部件〔86〕由从寄存器〔66〕来的微编码指令控制,以便进行关于数据的选择逻辑运算,该数据由多路转换器〔92〕及〔94〕选择作为输出,并经运算逻辑部件文件存贮器〔84〕加以处理。运算逻辑部件文件存贮器〔84〕包括内寄存器,它响应微编码指令贮存选出数据,以便有选择地输出到运算逻辑部件〔86〕。然后此数据通过运算逻辑部件〔86〕进行处理,并从中输出。
在测试向量运算逻辑部件〔40〕时,除去种种内部功能电路的运算外,还可测试其他种种部位。例如,如果要检验乘法器存贮器或各种寄存器存贮器的工作,则访问测试图形发生器或只读存贮器〔16〕以输出贮存在所要的寄存器或数据文件存贮器内的预存值,然后控制内功能块通过该处将数据仅仅传送到运算逻辑部件〔86〕的输出端,以便输入到识别电路或比较器〔20〕,来确定是否已收到所期望的结果。可以控制测试图形发生器或只读存贮器输出任何型式的测试图形,且诸如加法器/减法器〔76〕及运算逻辑部件〔86〕之类的种种电路的逻辑功能,可用预定方式通过不同的文件存贮器及寄存器加以控制以便处理数据。在任何器件中的错误都可提供与期望结果不同的结果,因而指出在器件中有故障。
如上所述,在测试的另一形式中,在微编码只读存贮器〔60〕内贮存一诊断程序。此程序只作自测试之用。此诊断程序是一个测试顺序,它用向量运算逻辑部件〔40〕按步骤做完,以完成种种功能,并在识别电路或比较器〔20〕中比较输出的结果。因为这是预定的测试,故可以将测试设计成输出种种结果,或者可以设计成总是输出同样的结果,如输出一串逻辑状态为“0”的位。这是一种简化的方法,其中识别电路或比较器总是将结果与数据字相比,该数据字对于其所有的数据位都具有逻辑“0”。通过利用诊断程序,可以更严密地控制所要完成的具体测试。然而在进行整个测试所需的指令数方面,这可以证明是一缺点。因而通常最好利用可以更有效地利用芯片上存贮空间的其他技术。当然,这是有关设计选择的事。
现参见图4,图4是超大规模集成电路的网络的示意方块图,说明在环形布置时接口端口输出端的相互连接。超大规模集成电路器件用编号〔96〕、〔98〕、〔100〕及〔102〕表示,它们被称为“从属器件”。每个从属器件〔96-102〕可以完成不同的功能,且这些功能是可以相互关联的。然而每个电路也可以完成互不相关的完全独立的功能。在电路的其他部分及此***其余部份之间的功能性互连用信号总线〔103〕表示。在功能方式时,器件〔96-102〕之间的数据传输仅仅在信号总线〔103〕上进行,该总线可以是任何互连的布置。在测试方式时,从属器件的功能部分与信号总线〔103〕隔离,因而从属器件不会互相作用。
如上所述,每个从属器件〔96-102〕的接口电路〔30〕包括四个线路:两根信号线S1及S2,一时钟输入线CK及传送错误信息的注意输出AT。信号线S1及S2为双向串行传输线,该线可以接收或发送串行数据。接口电路允许从属器件〔96-102〕被连成环形结构,从信号线S1及S2的一根信号线接收数据或向其输出数据。此数据为串行格式,因而只需要一根线。此外,在每个从属器件〔96-102〕中的接口电路可以确定线路S1或S2上是否正在接收或发送数据,因而可以将数据输入到任一信号线出入口。如将在下面说明的那样,这有两个优点,即数据可以围绕环在任一方向上传送,且信号线S1及S2是否反向并不重要。
如上所述,图4的网络连成环形结构,以从属器件〔96〕在环的一端,而以从属器件〔102〕在环的另一端。从属器件〔96〕的S1出入口通过线〔106〕连到接口连接器〔104〕的S1引脚。从属器件〔98〕的S1出入口通过互连线〔108〕连到从属器件〔98〕的S2出入口。以类似方式,从属器件〔100〕的S1出入口通过互连线〔110〕连到从属器件〔98〕的S2出入口,及从属器件〔102〕的S1出入口通过互连线〔112〕连到从属器件〔100〕的S2出入口。从属器件〔102〕的S2出入口通过互连线〔114〕连到接口连接器〔104〕的S2引脚。每个从属器件〔96-102〕的AT出入口都连到公共结点〔116〕,并通过各自的互连线连到接口连接器〔104〕的AT引脚。每个器件〔96-102〕的CK出入口都通过各自的互连线连到公共结点〔118〕,并又连到接口连接器〔104〕的CK引脚。为使网络工作,将接口连接器〔104〕的四个引脚连到测试/维护控制器〔120〕。控制器〔120〕可以是用来分别测试器件的外处理器,或可以是根据本发明控制从属器件〔96-102〕自测试特征及维护特征的***的整体部分。
每个从属器件〔96-102〕的接口出入口(如在图4网络中所用的那样)允许在超大规模集成电路上完成许多不同的运算。如上所述,一种方式是自测试特征,其中所有从属器件都置于自测试方式以确定是否任一器件有故障还是正常。如网络中的任一器件有故障,则在AT结点〔116〕上输出一信号指示器件失效。因为所有的器件都为一网络所共有,一个器件失效将导致整个网络的失效。然而第二方式或诊断方式允许对网络内的每个从属器件〔96-102〕进行单个测试,因而可以对必须更换的具体部件作出决定。
在自测试方式时从属器件的测试确定在特定器件上的功能电路块是否是工作。然而这并没有测试在给出的整体单元如电路板上的不同器件之间的接口。为了便于进行此种型式的测试,在微编码只读存贮器中的诊断程序,设计得可以用在给定网络中的其他器件所输出的信号来完成预定的测试。例如,如果没有记录到器件失效则从特定器件上的测试图形发生器或只读存贮器来的信号将会产生,并通过有关功能电路对信号进行处理,并传送到该器件的输出引脚,以便由另一个器件接收及处理。当然,这需要在不同诊断程序之间相互作用,并组成第二级测试。比较高级的诊断程序是为网络内的某一组芯片定制的。从在芯片上自测试的第一级测试过渡到在网络内的不同器件之间交互测试的第二级测试可以自动过渡或它可以由测试/维护控制器〔120〕用信号激励。如探出失效,则此事可在AT结〔116〕上指示,因而表明故障发生在网络中的不同器件之间的接口而不是发生在芯片本身。通过完成此较高级测试,可以测出另外的失效方式。
除去自测试外,每个从属器件还具有由控制器〔120〕有选择地寻址的能力及从控制总线〔32〕接收数据的能力。此数据的形式可以是功能电路运算的指令,程序信息或输入到功能电路并进行处理的实际数据。被选定的从属器件也可沿控制总线〔32〕回送一响应信号到控制器〔120〕,这将在下面说明。
进一步参见图4。环形结构网络使得从网络的任一端到网络中的每个从属器件的数据传输很方便,网络中的每个从属器件可以接收数据,或吸收数据,或将数据转发到环中的下一个从属器件。此转发的数据可以修改(将在下面说明)或直接通过。由于使用根据本发明的环形结构,故以其在环上的相对位置的函数来选择从属器件。例如,如在接口连接器〔104〕的引脚S1上送数据,则器件〔100〕将是环上的第三器件。然而如在接口连接器〔104〕的S2引脚上送信号,则器件〔98〕将占第三位置,故需要既知道从属器件在环上的位置,又要知道信号在环上传输的方向,以便确定某一从属器件为“被选择”的从属器件。一旦选出,就在选出的器件内置内标志,此后放在总线上的任何数据将只由该器件吸收。当另一个器件被选出时将该标记复位。
开始,所有的器件都在“空闲”状态下等待指令。然后总线上来了个有选择信息编码的信号。每个接收此信息的器件必须首先确定信号出入口S1或S2中哪一个已接收数据。一旦接收到数据则检查该数据确定是否器件在环上的适当编码位置上。如果不是,则修改该信号,并转发到环上的下一个位置。此种修改,正如将在下面说明的那样,是一种计数形式,其中在第一位置上的器件修改信号使编码数减1直到计数等于零为止。例如,如果编码位置是在给定的信号传输方向上环上的第三器件的编码位置,则信号的编码值为2,由在第一位置上的器件修改信号到数值1,而由在第二位置上的器件修改信号到数值零。在第三位置上的器件将以零值作为选择代码,并对该器件设置内选择标记。此器件然后就可以接收与从控制器〔120〕收到的指令有关的运算的数据。
网络的环形结构允许控制器〔120〕从任一方向与环上的已知器件通信。这一点很重要,因为互连线中断开一根,不会妨碍与该器件的通信。仅需要知道该器件相对于环的任一端的位置即可。按此方式,当只有一根互连线断开,或者另一种情况任一器件的接口电路不工作,并因而阻止其中S1及S2出入口之间的数据的传输时,可以测试任一器件。
现参见图5。图中示有每个超大规模集成电路的从属器件上的接口电路〔30〕的示意方块图。如上所述,接口电路〔30〕通过控制总线〔32〕与环结结构通信。信号线S1及S2发送串行数据,CK信号传送时钟信号,该时钟信号与从属器件的内部时钟信号无关。此时钟信号通常工作频率比从属器件的内部时钟信号的频率低得多,以便在网络的不同器件之间适应较长的运行。因为器件的内部时钟信号可以在10到100兆赫之间的频率工作,要使在S1及S2上的信号线的数据传输在此频率上同步,会出现无穷的问题。因而使用分开的时钟信号,传输相对于内时钟信号是异步的。
S1及S2信号线被输入到数据线选择电路〔121〕,该电路确定数据线S1或S2中哪一根正在发送数据。数据仅从其中一个线接收,但可沿任一根线发回。在被称为“转送”方式的一种方式中,数据在一根信号线上接收,在两信号线中的另一根信号线上发出,而在“回答”方式时,数据沿接收的一根线返回。数据线选择电路[121]允许在信号线上与其中的连接及输送方向无关地传送信号。
一旦数据线选择电路[121]已选择有数据在其上发送的信号线S1或S2,即将数据通过传送数据线[124]传送到芯片选择控制器[122]。数据是通过数据传送线[126]从芯片选择控制电路[122]传送回数据线选择电路[121]的。数据线选择电路[121]由芯片选择控制电路[122]通过控制线[128]进行控制,以便确定线S1或S2中哪一根是其中的接收线,及哪一根线上有数据传送,这要看数据是被转发还是送回到控制器[120]而定。
芯片选择电路[122]检查收到的数据,解释其中的信息,然后处理该数据,收到的数据可以包括三种信息,即“选择”信息,“全局自测试”(“Global Self-Test”)信息及“最后选出器件”(“Last Selected Device”)信息。如信息是“选择”信息,则检查相邻位以确定是否编码选择信息与接收器件有关,如无关,则修改数据并通过环形结构转发到下一个邻近的从属器件。如编码选择信息选择接收器件,则设置选择标记,并吸收信息。当信息为“全局自测试”信息,则开始自测试方式,并转发该信息。如信息是“最后选出器件”信息,则检查接收器件的选择标志,如已置,则吸收该数据;否则将数据通过环形结构转发到下一个邻近的从属器件。
芯片选择控制电路[122]与同步电路[130]相连,该同步电路提供接口电路[30]及芯片的其余部分的不同输入与输出之间的连接。同步电路[130]提供许多输出,来控制在芯片选择控制电路[122]及芯片的其余部分之间的连结,且还提供指令及在环形结构及从属器件之间传送数据。
为了将数据传送到从属器件及从其中传送出来,需要提供称为“数据入出现”(“DATA IN PRESENT”)及“数据出出现”信号的标志。“数据入出现”信号指示芯片被选择,并已准备好接收数据,而“数据出出现”信号,则指示数据被包含在从属器件中的内寄存器之中,以便在S1或S2信号线上输出。“数据入”端用来接收从芯片选择控制电路[122]来的数据,“数据出”端用来从从属器件的内寄存器发送数据到芯片选择控制电路[122],以便传送到S1或S2线上。还提供有其他附加信号。其中“开始自测试”信号指示(在激励后)自测试特征将开始;错误信息由“错误”信号提供,该信号启动环形结构的AT线。还提供有“内时钟”信号,把同步参考信号提供给同步电路[130]。
现参见图6。图6是信号线S1及S2上的串行数据的位协议用的波形。波形[132]代表时钟信号CK,该信号发送到环形网络上的每个从属器件。CK信号的频率可为约1兆赫,而从属器件的内时钟频率可以在10到100兆赫之间,或者甚至更高一些,串行传输所用的格式称为“双位”数据传输。此种传输形式利用两个二进制逻辑位的组来定义四种状态。这四种状态为“空闲”(“Idle”),“选择”,“1”及“零”。“空闲”两位态由两个相邻近的逻辑“1”位定义,“选择”二位态由两个相邻的逻辑“0”位定义,“1”两位态由一个逻辑“0”及后面跟着的逻辑“1”来定义,“零”两位态由一逻辑“1”位及后面跟着的逻辑“0”位来定义。
波形[134]代表两位组的典型序列,为了得到参考信号,“空闲两位态通常为一个逻辑“1”位的序列,且当向逻辑“0”位的过渡发生时要确定参考***。这发生在当“选择”两位组或“1”两位组产生时,串行数据的边缘过渡发生在CK信号的后沿上,而串行数据流波形[134]的逻辑状态的取样则与CK波形[132]的前沿同步。这由在波形[136]中的取样脉冲代表。在波形[134]中,前三个取样对应于代表“空闲”两位态的三个逻辑“1”位。当波形[134]以“空闲”态向逻辑“低”电平作过渡时,提供有参考点以便构成两位组。如上所述,这发生在当“选择”两位组或“1”两位组产生时。在波形[134]中,在“空闲”两位态后面的前两逻辑位都在逻辑“0”电平上,以定义“选择”两位组。下一个两逻辑位在逻辑“0”及逻辑“1”电平上,以定义“1”两位组。下一顺序位为逻辑“1”电平,其后面跟着逻辑“0”电平以定义“零”两位组。
信息由测试/维护控制器[120]产生。在任何给定的时间上只有一个信息出现。如果一信息需要从选出的从属器件得到响应,则测试/维护控制器[120]必须在送另一个信息前等待响应。如上所述,测试/维护控制器[120]能送三种类型的信息。它们是“选择”、“全局自测试”及“最后选出器件”(LSD)信息。“选择”信息包括地址信息及器件特别指令。LSD信息只包括器件特别指令,最近的LSD器件为该指令的隐含地址。“全局自测试”通知所有的从属器件进入自测试方式。
“选择”信息以后面跟着地址段的“选择”两位组开始,然后是包含特别指令的器件特别信息段。该地址包括n-1个“零”两位组,其后跟着“1”两位组。此地址供环形结构中的第n个从属器件用。如以下所述的那样,环形结构中的每个从属器件通过去掉一个“零”两位组来修改地址段。被修改的选择信息然后转发到环形结构中下一个相邻的从属器件。在选择信息的末尾,一系列“空闲”两位组指出信息的结束。
LSD信息开始是“1”两位组接着是器件特别信息段,然后以“空闲”两位组结尾。如下所述,LSD信息仅为工作的或选出的器件所吸收,该器件以前已接收到选择信息。当选择信息收到后,被选器件置选择标记。除非置选择标志,否则从属器件就将LSD信息转发到环内下一个邻近的从属器件,直到遇到已置选择标志的器件为止。该选出器件吸收数据,而不转发数据。
全局自测试信息由连续的“选择”两位组组成,而以一系列“空闲”两位组结束。在接收到连续两位组后作为响应而产生一信号,并使自测试开始。然后将“全局自测试”信息转发到环形结构中下一个相邻的从属器件,因而环形结构中的所有器件都接收到“全局自测试”信息。
为了选择器件,发送的“选择”两位组后面跟着n-1个“零”两位组及一个“1”两位组,其中n为环上的选出器件的位置。每个从属器件通过检查紧跟着“选择”两位组的状态而对“选择”两位组作出响应。如果第一两位组为“零”两位组,则将信号转发。然而,如果直接跟着“选择”两位组的两位组为“1”两位组,则从属器件识别出其为选择控制,并为该从属器件置选择标志。当直接跟着“选择”两位组的两位组为“零”时,则接口电路〔30〕在将其发送到下一个相邻芯片前首先修改此信号,此种修改的方式是在一串“零”两位组中去掉一个“零”两位组。例如,如果选择状态后面跟着两个“零”两位组及一个“1”两位组,则从属器件识别其为非选择代码,并将该码传出去。然而,此信号将被修改使“选择”两位组后面跟一个“零”两位组,然后是一个“1”两位组,下一个从属器件识别此选择序列为非选择序列,且在去掉剩下的“零”两位组对代码修改后,将该序列传到下一个邻近的器件,这样,“选择”两位组后面就直接跟着一个“1”两位组。下一个邻近的芯片,即环中的第三芯片,识别出其为选择信号。因而,“选择”两位组后面跟两个“零”两位组及一个“1”两位组代表在环中选择第三从属器件。在“选择”两位组及“1”两位组之间零两位组的数量可以调节,这取决于到达所欲的从属器件前必须越过的从属器件的数量。
在给定的从属器件已识别出“选择”两位组后,下面就跟一个以“1”两位组开头的信息。一旦一个器件被选出,则它停留在选出状态,直至它探测出给另一器件的选择序列为止。选出的器件可以接受许多由“空闲”两位组分开的信息。通常,开头的“1”两位组后面跟着说明所需要的行动的指令,然后其后面可以跟数据。每个从属器件根据预定图形制定指令及数据段结构。当“空闲”状态存在时,总是将要在环上读的响应数据送回,且此响应数据总是以与发送选择序列信号的方向相反的方向返回。
现参见图7。图7中是图5的接口电路的示意方块图。控制总线〔32〕的S1及S2信号线中每一根线分别连到分开的缓冲器〔138〕及〔140〕的输入。缓冲器〔138〕的输出连到触发器〔142〕的D-输入端,并连到方向探测电路〔144〕的A输入端。缓冲器〔140〕的输出连到触发器〔146〕的D输入端,还连到方向探测电路的B-输入端,触发器〔142〕及〔146〕的时钟输入端及方向探测电路的时钟输入都通过不反相缓冲器〔148〕连到从线路组〔32〕来的CK信号,该缓冲器的输出标为“外时钟”(EXT CK)。
触发器〔142〕的Q-输出输入到多路转换器〔150〕的标为“1”的一输入端。触发器〔146〕的Q-输出则输入到多路转换器〔150〕的标为“0”的另一输入端。多路转换器〔150〕的控制输入连到方向探测电路〔144〕的Q-输出。方向探测电路〔144〕确定信号线S1或S2中哪一根线有进入信号,并在作出决定后,控制多路转换器〔150〕选择触发器〔142〕及〔146〕中有关的一个触发器的Q-输出。
多路转换器〔150〕的输出输入到触发器〔152〕的D-输入端,触发器〔152〕的Q-输出则连到五输入多路转换器〔154〕的标为“2”的一输入端。触发器〔152〕的时钟输入连到EXT CK。多路转换器〔154〕的四个其余输入端标为“0”、“1”、“3”及“4”。“0”输入端连到逻辑“0”参考电平。“1”输入端连到逻辑“1”参考电平。“3”输入端连到反相电路〔156〕的输出,“4”输入端连到结点〔158〕,结点〔158〕连到反相器〔156〕的输入端。
多路转换器〔154〕的控制输入端连到接口控制电路〔160〕的MUX输出端。接口控制电路〔160〕确定多路转换器输入中哪一个是要从其中输出的。如下所述,由触发器〔152〕输出的数据可以直接通过多路转换器〔154〕或可以用一个“1”两位组或一个“零”两位组取代。此外,可利用多路转换器〔154〕选择在其“3”及“4”输入端上的输出数据。
多路转换器〔154〕的输出连到触发器〔162〕的D-输入端,触发器〔162〕的Q输出端则连到反相电路〔164〕及〔166〕的输入。反相电路〔164〕的输出连到S1信号线,反相电路〔166〕的输出连到S2信号线,反相器〔164〕及〔166〕皆为三态门,该门的控制输入分别连到两输入多路转换器[168]及两输入多路转换器[170]的输出,反相器[164]及[166]或对信号线S1及S2呈现高阻抗或以逻辑低或逻辑高信号驱动该线。
两输入多路转换器[168]及[170]每个都有一个标为“1”的输入及一个标为“0”的输入。多路转换器[170]的“1”输入及多路转换器[168]的“0”输入都连到触发器[172]的Q输出及多路转换器[170]的“0”输入。多路转换器[168]的“1”输入连到触发器[174]的Q-输出。其控制输入连到方向探测电路[144]的Q-输出。
触发器[172]的D-输入连到接口控制电路[160]的输出,该输出标为RLY,并对应于转送功能。触发器[174]的D-输入连到标为RPY,并对应回答功能的输出。触发器[172]及[174]的工作是控制信号线S1或S2中哪一根线接收从多路转换器[154]来的选出数据。例如,可以在S1输入上接收数据,直接通过多路转换器[154],并在信号线S2上输出。反之,可以在信号线S2上接收数据,并在信号线S1上输出。触发器[162],[172]及[174]中的每一个触发器的时钟输入连到EXT CK的反相信号,它是通过反相器[176]处理的。
接口控制电路[160]检查在触发器[152]的输入及输出上的数据位的逻辑状态。触发器[152]的输入连到对应输入数据位的DIN输入,触发器[152]的输出连到标为“B2”并对应于数据的第二位的输入。籍助于将数据延时EXT CK时钟信号的一个周期,接口控制电路可以同时看数据流的两个逻辑状态。以此方式,它可以确定“选择”双位组是否出现。如果“选择”两位组由出现两个连续逻辑“0”确定,则禁止通过多路转换器[154]传输数据。然后接口控制电路〔160〕检查下一个连续逻辑位以便确定其逻辑状态。如果逻辑状态指出有“1”双位组出现,则对应于选择设置(Select Set)信号的SELS输出被提高到逻辑高电平。此输出被输入到选择标志电路〔178〕的“置位”(“Set”)输入。该电路的输出输入到接口控制电路〔160〕的SEL输入,其后,接口控制电路〔160〕总是指示关于是否它是环上被选出的器件而不管数据是在S1信号线上还是S2信号线上输入到器件。
如果紧跟选择状态的数据是“零”两位态,接口控制电路〔160〕识别出选择序列是供另一个芯片用的,且它完成两个功能。首先,它产生SELR信号输出到选择标志电路〔178〕以指示复位功能,改变SEL信号的状态以便提供此从属器件没有被选出的未来的指示。第二,修改数据流,此种修改的形式是删去“零”两位组而代之以“选择”两位组。此种代换通过用多路转换器〔154〕产生两个连续的逻辑“0”数据位来实现。然后此新产生的“选择”两位组通过触发器〔162〕发送,且后面跟着选择序列中的余下的两位组。结果是从选择序列中删掉一个“零”两位组。
当修改选择序列时,它在相对的信号线上输出到收到数据的信号线上。这是转发动能,它将数据转发到环内的下一个从属器件。转发功能用从接口控制电路〔160〕来的RLY输出实现,该输出由多路转换器〔168〕及〔170〕中的一个适当的多路转换器进行选择,以便启动对应相对信号线S1或S2的驱动器〔164〕或〔166〕,并将该信号线作为其输出信号线。
除去在信号线S1或S2上由测试/维护控制器〔120〕所送的“选择”顺序或“选择”信息外,该控制器〔120〕还可送“全局自测试信息”及“最后选出器件”(“LSD”)信息。“全局自测试信息”是一特殊的信息,它指挥在环上的全部器件完成内装自测试,如以上所述。LSD信息只包括器件特别指令而最近的“LSD”为隐含地址。虽然测试/维护控制器[120]能送信息并能启动自测试,但从属器件只能送响应信息。这些响应信息的形式是启动AT线以指示错误信息,并沿环形结构送回响应信息,这将在下面说明。
LSD信息以一个“1”两位组开始,然后跟着包含数据的器件特别信息段。信息的末尾是“空闲”态以指示信息数据的结束。当信息被放在总线上时,在选出的器件前面并在环内散置的所有器件都置选择标志电路[178],以便未被选出的器件将启动转发输出RLY,通过未被选出的器件转发数据到下一个相邻的从属器件。这将继续到被选出的器件接收数据为止,被选出的器件是由电路[178]置选择标志的器件。
“全局自测试信息”由连续的“选择”两位组所组成,并以预先充电的信号结尾,该信号为一“空闲”两位组或一系列逻辑“1”电平,从从属器件来的响应信息是一种在逻辑上跟随以前的“选择”或LSD信息的信息。除去目的地是测试/维护控制器[120]外,响应信息与LSD信息在格式上是相同的。以此方式工作时,启动接口控制电路[160]的回答输出RPY,以便输出一信号到多路转换器[170〕的“0”输入端及多路转换器[168]的“1”输入端。使从属器件的响应沿着接收数据的同一路径返回是很重要的,因为有可能在环上有较高位置的从属器件会发生故障。被选出的从属器件接收数据这一事实意味着通信路径是完好的,中间从属器件上的方向探测电路有故障的可能性是很小的,因而允许通过中间从属器件双向传输回到控制器[120]。
AT线可以以两个错误识别的方式工作。第一种方式是AT线保持在逻辑低电平,如果上面的器件中有一个失效时,才被拉到逻辑高电平。第二种方式且是较佳的方式是当自测试起始时,将AT线拉到逻辑高电平,每个从属器件都能将AT线维持在逻辑高电平。在给定的从属器件的自测试完成后,AT线“释放”,只有一个或多个从属器件不释放AT线时,AT线才能保持在逻辑高电平。以此方式,测试控制器[120]只需要监视AT线以确定何时完成自测试,及是否完成自测试。如AT线保持在高电平,则指出有错误。尽管显示此错误的具体器件并不知道,但***是不能工作的,必须予以修理。在维护方式时,每个从属器件可以被独立寻址,并控制其完成自测试,这样就可以确定有故障的器件。
为了与芯片的其余部位相联系,需要附加电路来使自测试起始,传达数据到该处,从该处传出数据及接收错误信息。为了使这些操作同步,必须产生一选通信号STRB。选通信号由时钟信号EXTCK产生,该时钟信号输入到三个触发器[180],[182]及[184],所有的触发器都由芯片的内时钟(标为INT CK)同步。触发器[180]的Q-输出连到触发器[182]的D-输入,及触发器[182]的Q-输出连到触发器[184]的D-输入。触发器[182]的Q-输出及触发器[184]的Q-输出都连到与门[186]的输入,使该与门的输出上产生选通(STRB)信号。因为INT CK信号频率比EXT CK信号的频率要高很多,触发器[182]的Q-输出将保持在逻辑高电平足够长时间,以便以时钟同步此电平一直到触发器[184]的反相Q-输出。此时,选通(STRB)信号进到逻辑高电平,保持在该电平的时间为INT CK信号的一个时钟周期,然后变为逻辑低电平。这实际上提供一与INT CK信号的时钟信号边缘同步的脉冲。
一旦从较慢的EXT CK信号得出同步的选通信号,可以完成诸如输出及输入数据之类的其他功能。输入数据时将该数据在“数据入”线DIN上输入,输出数据时,在DOUT输出线上输出。DIN输入连到多路转换器[150]的输出,以便从其接收输入数据。DOUT输出连到触发器[188]的D-输入,其Q-输出连到结点[158],并由EXT CK信号作时钟信号同步。
接口控制电路[160]控制选择输出数据以及作为回答而被送回到控制器[120]的输出数据。此操作用数据输入出现信号(“DIP”及数据输出出现信号(“DOP”)同步。DOP信号是从芯片的其余部位来的输出信号,它被输送到串联的触发器[190]及[192]。DIP信号由接口控制电路[160]产生,并由与门[194]使其与芯片的其余部分同步,该与门的一输入连到接口控制电路[160]的DIP输出,该与门的另一输入则连到选通信号。如上所述,只有当器件已被选出及数据选通信号作用时,DIP及DOP信号才都是“真的”(“true”)。
为了同步自测试特征的操作,由接口控制电路对应于自测试特征的启动信号产生一ST信号。该信号输入到与门[196]的一输入端,其另一输入端则连到选通信号。当收到“全局自测试”信息时,此信号提高到逻辑高电平。对于错误信息,AT信号由芯片输出,并输入到两串联的触发器[198]及[200]的预置输入端,两者都由EXT CK信号同步。触发器[198]及[200]的输出触发器的Q-输出连到反相器门[202]的门控制端。反相器门[202]的输入连到逻辑“1”电平,其输出连到线路[32]的AT信号线。触发器[198]及[200]的输入触发器的D-输入连到逻辑“0”电平。在工作时,AT线用来以许多方式报告自测测失效。首先在测试时,AT信号是工作的,如测试是成功的,则该信号被释放;即所有从从属器件来的AT输出信号在测试时都置为工作态,及当测试结束时芯片产生-AT信号,该信号通过触发器〔198〕及〔200〕转送,以便释放输出线〔32〕中的AT信号线上的工作态。或者另一情况是只有在测试不及格时AT信号才能被启动。如果在所用的方式中,器件失效导致已失效的器件维持AT线于工作状态,则测试/维护控制器〔120〕可轮询在环形结构上的器件,直到迫使器件中的一个器件使AT信号释放。这允许测试/维护控制器〔120〕确定环形结构中哪一个从属器件已失效。
现参见图8,其中图示有选择标志电路〔178〕的示意方块图。选择标志电路〔178〕的选择输入连到或门〔204〕的一个输入端,其另一输入则连到与门〔206〕的输出。与门〔206〕的一个输入连到选择标志电路〔178〕的Q-输出,其另一输入通过反相器〔208〕连到复位输入。或门〔204〕的输出连到触发器〔210〕的D-输入,其Q-输出连到选择标志电路〔178〕的Q-输出。触发器〔210〕由EXTCK信号同步。在工作时,选择标志电路〔178〕的“置位”输入端上的SELS信号通过触发器〔210〕定时,而在其复位输入上的SELS信号仅仅当先前状态在其Q-输出上有逻缉高水平时,才改变其状态。
现参见图9,其中图示方向探测电路〔144〕的示意方块图。电路〔144〕的A-输入通过反相器〔214〕输入到与门〔212〕的一个输入端。电路〔144〕的B-输入通过反相器〔218〕输入到与非门〔216〕的一个输入端。与门〔212〕及与非门〔216〕的另一输入连到电路〔144〕的C-输入。与门〔212〕的输出连到或门〔220〕的一输入端,其另一输入连到与门〔222〕的输出。或门[220]的输出连到触发器[224]的D-输入。与门[222]的一输入连到与非门[216]的输出,其另一输入则连到触发器[224]的Q输出。触发器[224]的Q-输出对应于方向探测电路[144]的Q-输出。触发器[224]由EXT CK信号同步。在工作时除“允许操作”(“Enable”)信号外,在方向探测电路[144]的A-输入上的信号使数据通过触发器[224]。或者另一情况是当产生“允许操作”信号时,在B-输入上的数据输入所产生的输出由与非门[216]反相,此反相数据输出信号驱动与门[222]的一个输入端。只有在触发器[224]的Q-输出上的输出出现时,与门[222]才产生输出。
现参见图10,其中图示接口电路[30]及在接口电路[30]中的接口控制电路[160]的工作流图。顺序从开始方块[226]起始,进而到决定方块[228],以确定数据是否出现。如上所述,信号线S1及S2保持在高逻辑电平,直至数据被发送为止。探测到逻辑低电平表明数据传输起始。如果探出逻辑低电平,则程序沿“Y”路线流动。如果未探出逻辑低电平,则程序沿“N”路线流到决定方块[230]。决定方块[230]确定如“数据出出现信号”(DOP)是否是高电平,如果是高电平,表明在芯片中存贮有数据,芯片已由以前的信息请求,将此数据送回。
如果DOP信号不是高电平,则程序沿“N”路线回到决定方块[228]的输入端,如DOP信号是高电平,则程序沿“Y”路线流到功能块[231]其中“1”双位组被发送回到测试控制器,指出响应信息起始。在此方式中,将输出驱动器[164]及[166]置位,以选择信号线S1及S2的接收信号线。然后程序流到功能方块[232],沿接收数据的同一路线将数据送回到测试/维护控制器〔120〕。然后程序进到决定方块〔234〕,确定是否DOP信号仍是高电平。只要数据仍在器件之内,则DOP信号将维持在高逻辑电平。当数据传输完成时,DOP信号变成低电平,故程序沿“N”路线流回到“送数据”功能方块〔232〕,直到所有数据都被发送为止,在那时它回到决定方块〔228〕的输入。
如数据在决定方块〔228〕出现,则程序沿“Y”路线流到功能方块〔236〕的输入,以接收触发器〔152〕的输出上的两位组的第二位。然后程序流到决定方块〔238〕以确定是否收到的两位组为“1”双位组。如果两位组是“1”两位组,则这表明有信息出现。在此方式中,流程沿“Y”路线流到决定方块〔240〕,以确定是否已置选择标志。如果已置选择标志,这表明器件被选出,及程序沿其“Y”路线流到功能方块〔242〕,以吸收数据。然后程序流回去,以确定是否有更多的数据出现。如选择标志没有被置位,则程序沿“N”路线,从决定方块〔240〕流到功能方块〔244〕,以便将数据转送到环形结构中的下一个从属器件。然后程序回到决定方块〔228〕的输入端,以确定是否有更多数据出现。
如果在决定方块〔238〕中确定第二位是逻辑“0”,即“选择”两位组,程序沿“N”路线进到功能方块〔246〕,以检查其后的两位组。如果其后两位组是“选择”两位组,则表明自测试起始,程序沿“Y”路线流到功能方块〔250〕,开始自测试。在自测试起始后,程序流到功能方块〔252〕,转发其后的“选择”两位组到环内的下一个从属器件。表明自测试起始的信息为“全局自测试”信息,它包括一串“选择”两位组。因为如上所述,在其识别后,删去第一“选择”两位组,故其后的“选择”两位组指示自测试起始以及转发功能,该功能为将余下的“选择”两位组转发到相邻的从属器件。在序列中只需要“选择”两位组的数量足够超过经全部从属器件处理时所删去的数量即可。然后程序流回到决定方块〔228〕的输入,等待进一步的数据。
如果其后的两位组不是“选择”两位组,则程序沿“N”路线从决定方块〔248〕流到决定方块〔254〕的输入,以便确定该两位组是否是“1”两位组。如果它是“1”两位组,则这表明器件已被选出,因此程序沿“Y”路线流到功能方块〔256〕,使选择标志置位,然后流到功能方块〔258〕,吸收其后的数据。在吸收数据后,程序流回到决定方块〔228〕的输入,等待新数据。
如果其后的位不是“1”两位组,程序从决定方块〔254〕沿其“N”路线流到决定方块〔260〕的输入,以确定其后的两位组是否为“零”两位组。如其后的两位组不是“零”两位组,则这指示“空闲”状态,程序流回到决定方块〔228〕的输入。然而如果该两位组是“零”两位组,则程序流到功能方块〔262〕,使标志复位,因为“零”两位组跟随“选择”两位组指出一选择序列,其中现在的芯片不是选出的芯片。因而,必须使选择标志复位,然后程序流到功能方块〔264〕。在功能方块〔264〕内,籍助于检查紧跟“选择”两位组的位,确定该位是指“零”两位组的逻辑“1”,还是指“1”两位组的逻辑“0”,然后如上所述修改数据。因为“零”两位组紧跟“选择”两位组,它被改为“选择”两位组,于是将被修改的数据流转发到环内下一个相邻的从属器件,如由功能方块〔266〕所指出的那样。在转发此修改后的数据之后,程序回到决定方块〔228〕的输入,等待进一步数据或选择序列。
总之,本处提供了全自测试的超大规模集成电路器件,该器件将图形发生器及识别电路与功能电路块结合在一整体器件内。还提供了控制电路,该控制电路控制图形发生器的工作,将预定图形输入到功能电路块,以取得预定响应,输入到识别电路。识别电路将输出数据与预定结果相比较。如果由功能电路响应输入测试图形而输出的数据未能提供与期望的结果进行真的比较,则确定器件有故障,并在专用端输出一信号作指示。一分开的端点专用于控制信号,开始自测试功能,因而最少需要两个引脚使整体器件的自测试起始,并将该测试结果转发回到外部器件。
除去自测试特征外,与功能电路块结合成一体的测试控制器还与外维护器件相连,来控制功能电路块的工作,以测试其单个元件。数据可以从外器件接收,并用功能电路块来完成特定功能,且输出数据到外器件。
每个有自测试特征的整体器件可以连接成环形结构,其中每个器件都有输入口及输出口。数据输入到其中一个出入口,而以其他出入口用作连到相邻器件的输入口的输出口,因而形成了环形结构。数据路线是串联传输的格式。当数据输入到特定器件时,将数据延时,以便能检查两个相邻位,且根据包括在其中的信息将该数据或转发到下一个相邻器件,或修改后再转发。此修改允许通过环形结构上的位置来选择特定器件。如果该器件未被选出,则将前代码选择数逐步递减,直至计数等于零为止,来指示选出的器件。
尽管已经详细说明了最佳实施例,但应该明白,根据本发明的精神实质,可以作出种种变化,代换及修改,这些变化,代换及修改均落在由下面权利要求所定义的发明范围之内。
Claims (21)
1、一种自测试电路,包括:
一从外***接收输入信号并根据与该功能电路块连成整体的预定功能对收到的输入信号进行处理的功能电路块,上述被处理的输入信号从上述功能电路块输出到上述外部***;
产生测试图形信号输入到上述功能电路块的图形装置;
识别装置,该装置接收上述功能电路块的输出处理信号,将输出信号与预定测试标准进行比较,及当在上述功能电路块的输出信号及上述预定测试标准之间作有效比较时,输出有效比较信号;
控制上述图形装置响应接收外自测试起始信号并根据预定测试程序产生上述测试图形信号的控制装置;
上述功能电路,图形装置,识别装置及控制装置为自备的(Self-contained)整体单元;
上述控制装置探测出上述识别装置的输出,并且如果对于由上述测试图形装置根据上述预定测试图形所产生的所有上述测试图形信号没有探测出有效比较信号时则输出一故障信号;
将上述整体单元与外***相连从该处接收上述自测试起始信号并发送上述故障信号到该处的接口装置,上述接口装置专用于上述功能电路的自测试。
2、如权利要求1的自测试电路,其中上述接口装置相对于上述整体单元异步工作。
3、如权利要求2的自测试电路,其中上述接口装置接收从上述外***来的串行数据及上述控制装置控制上述功能电路块从上述接口装置接收上述外***数据进行处理,上述控制装置通过上述接口装置控制数据的输出以串行格式回到上述外***。
4、如权利要求1的自测试电路,其中上述功能电路块的上述预定功能包括多个功能性操作。
5、如权利要求4的自测试电路,其中上述控制器用以控制上述功能电路块根据上述预定测试程序完成其多个功能中的所欲的一个功能。
6、如权利要求1的自测试电路,其中上述自测试起始信号的产生使上述控制器装置在上述预定测试程序的持续期间启动一相应的注意信号,上述故障信号的产生维持上述注意信号在工作状态以便用在工作状态的注意信号的出现来确定故障。
7、如权利要求1的自测试电路,其中上述控制装置产生上述测试标准对应上述产生的测试图形信号。
8、如权利要求1的自测试电路,其中上述功能电路块是数字的及上述测试信号包括数字数据,上述图形装置包括用来贮存多个数字数据字并可用上述控制装置寻址的存贮装置,上述存贮装置的寻址输送出选择数字数据并输入到上述功能块进行处理。
9、如权利要求1的自测试电路,其中上述控制装置包括:
贮存以诊断程序形式出现的上述预定的测试程序的存贮器;
以预定次序执行上述诊断程序的执行装置;及
探测上述识别电路的输出并确定是否在上述诊断程序末尾接收到有效比较信号的探测装置;
如果上述诊断程序的末尾没有收到有效比较信号就产生上述故障信号。
10、如权利要求1的自测试电路,其中上述识别装置利用数据压缩技术来将数据压缩及用上述预定的测试标准比较上述被压缩的数据。
11、如权利要求1的自测试电路,还包括将上述功能电路块与接收输入信号隔离以便使功能接口与外***隔离的装置。
12、一自测试集成电路,包括:
一半导体封装,用以将集成电路放在里面并有多个信号引脚用来与外***相连;
一功能电路块,具有输入及输出用来接收从上述外***来的数据,按照上述功能电路块所固有的预定功能处理上述接收数据作为处理的数据输出,上述功能电路块的输入及输出通过功能***工作专用的上述信号引脚与上述外***连接;
一测试图形发生器,用以产生多个测试图形数据输入到上述功能电路块;
控制装置,用以控制上述功能控制块的功能操作及控制上述测试图形发生器产生选择测试图形数据并通过上述功能电路块处理上述选择测试图形数据作为其输出;
上述控制装置选择上述测试图形数据并根据预定测试程序控制上述功能控制块的功能操作,上述预定测试程序在从上述外***收到自测试起始信号后起始;
识别装置用以接收上述功能控制块的输出并将该输出与预定的期望结果相比较及如果由上述识别装置作出有效比较则输出有效比较信号;
隔离装置用以响应从上述控制装置来的信号使上述功能电路块与上述外***隔离,上述控制装置控制上述隔离装置在自测试时隔离上述功能电路块;
上述控制装置探测上述识别装置的输出并在上述预定测试程序已经运行后,如果由识别装置按照上述选择图形数据进行有效比较则输出一接受信号;及
接口装置用以通过上述信号引脚中的专用引脚在上述控制装置及外测试控制器之间进行连接,上述外测试控制器产生上述自起始信号及接收上述接受信号。
13、如权利要求12的自测试电路,其中与上述接口电路相联的上述专用引脚包括至少两个引脚,一个引脚接收上述自测试起始信号及一个引脚发送上述接受信号到上述外控制器。
14、如权利要求12的自测试电路,其中上述功能电路块的预定功能包括多个互相关的功能,上述控制装置控制所有的上述相互有关的功能有选择地完成一个上述相互有关的功能或上述相互有关功能的组合。
15、如权利要求12的自测试电路,其中上述测试图形发生器包括贮存多个测试数据字并可由上述控制装置有选择地寻址的存贮器因而可将上述测试数据字中的选择字输入到上述功能电路块进行其处理。
16、如权利要求10的自测试电路,其中上述控制装置包括:
贮存上述预定测试程序的存贮器;
执行上述预定测试程序输出操作代码的执行装置,该代码控制上述功能电路块的功能且控制上述测试图形发生器输出上述测试图形数据的选择数据作为到上述功能电路块的输入,及
根据上述预定测试程序探测上述识别电路的输出以确定在输出数据及上述预定测试标准之间是否存在有效比较。
17、如权利要求12的自测试电路,其中上述预定标准由上述控制装置根据上述预定测试程序产生。
18、如权利要求12的自测试电路,其中上述识别装置利用数据压缩技术来压缩由上述功能电路块在其测试时输出的数据,以与上述预定测试标准进行比较。
19、如权利要求12的自测试电路,其中上述控制装置启动一在自测试时通过上述接口装置传输的状态信号及上述接受信号的启动使上述状态信号不再启动因而提供有关测试正在进行的指示。
20、一种测试在***中工作的集成电路的功能部分的自测试方法,包括:
去掉集成电路的功能部分与该***的联接;
根据预定的测试程序发生测试图形,输入到集成电路的功能部分根据预定功能加以处理;
在由功能电路对测试图形进行处理后将功能电路的输出与预定测试标准相比较;
探测比较输出,在测试程序已进行后如果在处理的输出数据及预定测试标准之间没有能作出有效比较,则产生故障信号,该输出信号输出到与集成电路有关的外部器件;
测试图形的产生及输出数据与预定测试标准比较的执行与集成电路形成一个整体,而其起始则是响应从集成电路之外的源所接收的外信号而起始的。
21、如权利要求20的方法,进一步包括根据测试程序确定集成电路的功能部分的功能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67324784A | 1984-11-20 | 1984-11-20 | |
US673,247 | 1984-11-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN85108326A true CN85108326A (zh) | 1986-12-03 |
Family
ID=24701881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 85108326 Pending CN85108326A (zh) | 1984-11-20 | 1985-11-11 | 有自测试能力的超大规模集成电路 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS61128180A (zh) |
CN (1) | CN85108326A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253354A (zh) * | 2010-04-23 | 2011-11-23 | 瑞萨电子株式会社 | 自诊断***和测试电路判断方法 |
CN102435935A (zh) * | 2011-10-28 | 2012-05-02 | 上海宏力半导体制造有限公司 | 扫描测试方法 |
CN102478624A (zh) * | 2010-11-26 | 2012-05-30 | 迈普通信技术股份有限公司 | 电路板测试分析报告自动生成***及方法 |
CN101183327B (zh) * | 2006-11-15 | 2012-07-04 | 晶像股份有限公司 | 接口测试电路及方法 |
CN101501517B (zh) * | 2006-08-04 | 2013-02-06 | 爱德万测试(新加坡)私人有限公司 | 具有通用和专门资源的块的测试模块 |
CN103499787A (zh) * | 2013-09-24 | 2014-01-08 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
CN104101789A (zh) * | 2013-04-03 | 2014-10-15 | 致茂电子(苏州)有限公司 | 自动测试设备的量测装置及方法 |
CN107479411A (zh) * | 2017-08-04 | 2017-12-15 | 北京嘉楠捷思信息技术有限公司 | 芯片io现场可编程控制的装置及方法 |
CN111208407A (zh) * | 2018-11-21 | 2020-05-29 | 上海春尚电子科技有限公司 | 一种数字集成电路芯片辅助测试*** |
CN111417932A (zh) * | 2017-12-05 | 2020-07-14 | 高通股份有限公司 | 用于gpu的着色器核心的在空闲周期期间的自测试 |
CN111880082A (zh) * | 2020-08-08 | 2020-11-03 | 苏州喻芯半导体有限公司 | 一种电源舱芯片测试方法 |
CN112710061A (zh) * | 2020-12-08 | 2021-04-27 | 珠海格力电器股份有限公司 | 一种自动识别身份的空调控制装置和控制方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100419452C (zh) * | 2006-07-11 | 2008-09-17 | 中国船舶重工集团公司第七○九研究所 | 微电子标准物质制备技术 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6039186B2 (ja) * | 1977-10-05 | 1985-09-04 | 株式会社日立製作所 | 半導体素子 |
JPS5885545A (ja) * | 1981-11-17 | 1983-05-21 | Toshiba Corp | 集積回路装置 |
-
1985
- 1985-11-11 CN CN 85108326 patent/CN85108326A/zh active Pending
- 1985-11-19 JP JP60259655A patent/JPS61128180A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501517B (zh) * | 2006-08-04 | 2013-02-06 | 爱德万测试(新加坡)私人有限公司 | 具有通用和专门资源的块的测试模块 |
CN101183327B (zh) * | 2006-11-15 | 2012-07-04 | 晶像股份有限公司 | 接口测试电路及方法 |
CN102253354A (zh) * | 2010-04-23 | 2011-11-23 | 瑞萨电子株式会社 | 自诊断***和测试电路判断方法 |
CN102478624A (zh) * | 2010-11-26 | 2012-05-30 | 迈普通信技术股份有限公司 | 电路板测试分析报告自动生成***及方法 |
CN102435935B (zh) * | 2011-10-28 | 2016-06-01 | 上海华虹宏力半导体制造有限公司 | 扫描测试方法 |
CN102435935A (zh) * | 2011-10-28 | 2012-05-02 | 上海宏力半导体制造有限公司 | 扫描测试方法 |
CN104101789A (zh) * | 2013-04-03 | 2014-10-15 | 致茂电子(苏州)有限公司 | 自动测试设备的量测装置及方法 |
CN104101789B (zh) * | 2013-04-03 | 2017-04-05 | 致茂电子(苏州)有限公司 | 自动测试设备的量测装置及方法 |
CN103499787B (zh) * | 2013-09-24 | 2016-01-27 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
CN103499787A (zh) * | 2013-09-24 | 2014-01-08 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
CN107479411A (zh) * | 2017-08-04 | 2017-12-15 | 北京嘉楠捷思信息技术有限公司 | 芯片io现场可编程控制的装置及方法 |
CN111417932B (zh) * | 2017-12-05 | 2024-01-12 | 高通股份有限公司 | 用于gpu的着色器核心的在空闲周期期间的自测试 |
CN111417932A (zh) * | 2017-12-05 | 2020-07-14 | 高通股份有限公司 | 用于gpu的着色器核心的在空闲周期期间的自测试 |
CN111208407A (zh) * | 2018-11-21 | 2020-05-29 | 上海春尚电子科技有限公司 | 一种数字集成电路芯片辅助测试*** |
CN111208407B (zh) * | 2018-11-21 | 2022-05-31 | 上海春尚电子科技有限公司 | 一种数字集成电路芯片辅助测试*** |
CN111880082B (zh) * | 2020-08-08 | 2023-05-23 | 苏州喻芯半导体有限公司 | 一种电源舱芯片测试方法 |
CN111880082A (zh) * | 2020-08-08 | 2020-11-03 | 苏州喻芯半导体有限公司 | 一种电源舱芯片测试方法 |
CN112710061A (zh) * | 2020-12-08 | 2021-04-27 | 珠海格力电器股份有限公司 | 一种自动识别身份的空调控制装置和控制方法 |
CN112710061B (zh) * | 2020-12-08 | 2022-02-15 | 珠海格力电器股份有限公司 | 一种自动识别身份的空调控制装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JPS61128180A (ja) | 1986-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5940666Y2 (ja) | フォ−ルト検出及び識別システム | |
EP0031501B1 (en) | Diagnostic and debugging arrangement for a data processing system | |
US4488259A (en) | On chip monitor | |
EP0095928A2 (en) | Pipeline processing apparatus having a test function | |
CN85108326A (zh) | 有自测试能力的超大规模集成电路 | |
US5081629A (en) | Fault isolation for multiphase clock signals supplied to dual modules which are checked by comparison using residue code generators | |
US3465132A (en) | Circuits for handling intentionally mutated information with verification of the intentional mutation | |
US4471484A (en) | Self verifying logic system | |
JPS60239836A (ja) | 論理回路の故障診断方式 | |
JPS5833577B2 (ja) | 集積回路 | |
US4813042A (en) | Process for monitoring a data processing unit and a system for performing the process | |
Choi et al. | A diagnostic network for massively parallel processing systems | |
Chu et al. | An efficient critical race-free state assignment technique for asynchronous finite state machines | |
Spencer et al. | Layout influences testability | |
Parekhji et al. | Design of monitored self-checking sequential circuits for enhanced fault models | |
JP2669863B2 (ja) | シミュレーション装置 | |
Powell | A module diagnostic procedure for combinational logic | |
JPS60239835A (ja) | 論理回路の故障診断方式 | |
Sallay et al. | Wafer-scale diagnosis tolerating comparator faults | |
JP2658857B2 (ja) | 等価故障抽出方法及び装置 | |
Rifenberg | Safeguard Data‐Processing System: The Dictionary Approach to Digital Maintenance | |
Lala | Testing using a minimal number of instructions | |
Calhoun | SYMBOL hardware debugging facilities | |
Shen et al. | Location and identification for single and multiple faults in testable redundant PLAs for yield enhancement | |
Cutler et al. | Distributed self-diagnosis of VLSI mesh array processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |