有自测试能力的集成电路装置和对集成电路自测试的方法与流程

文档序号:14518000阅读:208来源:国知局
有自测试能力的集成电路装置和对集成电路自测试的方法与流程

本发明涉及有自测试能力的集成电路装置,该装置是例如包括可测试逻辑(包括处理资源)的类型。本发明还涉及对集成电路自测试的方法,该方法是例如包括对可测试逻辑(包括处理资源)自测试的方法。



背景技术:

为保证可靠的操作,集成电路需要测试。取决于测试所需的内容,不同的测试技术是可用的。然而,测试集成电路变得越来越复杂且需要新的技术以满足新的安全规定。例如,对于集成电路的所谓的“现场”测试方案的部署的需求增加。实际上,在汽车工业中,在服从功能安全的最近标准(例如iso26262)的情况下,采用逻辑内建自测试(lbist)机制以提供现场测试,从而在集成电路的寿命期间保持集成电路的逻辑的周期性测试。lbist是内建在集成电路中的硬件和/或软件,以便集成电路可以测试其操作。

“logicbist:state-of-the-artandopenproblems.”(nanli,gunnarcarlsson,elenadubrova,kimpetersen;corrabs/1503.04628(2015))提供lbist技术的概览。

us专利公开no.2016/033571公开一种使用lbist系统对集成电路上的失效进行根本原因识别的方法。系统包括具有与其相关的一个或多个宏指令的一个或多个通道扫描路径,在测试周期期间执行一个或多个通道扫描路径的每个。通道扫描路径在伪随机图案生成器和多个输入信号寄存器(misr)之间延伸。提供处理器以经由lbist控制器初始化测试周期的一个或多个。然而,公开的架构需要集成电路包括片上测试处理能力以管理待被测试的集成电路的逻辑的部分的测试。这样,片上测试处理能力不受到测试,因此,由于片上测试处理能力作为lbist的部分未被测试,作为整体的集成电路的测试更加不强健。

美国专利公开no.2009/327824也公开在伪随机图案生成器和misr之间延伸的多个测试通道。提供存储器模块以存储lbist测试参数和签名(结果)。除了待被扫描的逻辑外,还提供决策逻辑,然而与us2016/033571的片上测试处理能力相同,决策逻辑本身不受到测试。

甚至对于其中被扫描的逻辑和控制扫描的逻辑轮流地扫描彼此的实施方式,使用专门的逻辑进行待被扫描的逻辑的测试表示裸片空间的浪费。



技术实现要素:

根据本发明,提供有自测试能力的集成电路装置,包括:图案生成器;结果存储;包括多个扫描通道的可测试逻辑,多个扫描通道的每个分别可操作地耦接在图案生成器和结果存储之间;被布置为使用时监督关于可测试逻辑的自测试以生成自测试结果数据的自测试控制器,自测试结果数据被存储在结果存储中;以及可操作地耦接至自测试控制器并可操作地耦接在图案生成器和结果存储之间的处理资源,处理资源能够评价存储在结果存储中的自测试结果数据;其中可测试逻辑包括处理资源,且处理资源被布置为与自测试控制器协作以便自测试也关于处理资源且处理资源能够在自测试之后评价自测试结果数据。

处理器可以被布置为开机进入支持自测试结果数据的评价的自测试模式。

装置还可以包括:测试完成指示符存储;其中自测试控制器还被布置为基于自测试的完成,修改测试完成指示符存储的内容,从而存储自测试已经完成的指示。

自测试控制器可以被布置为生成测试完成信号。

装置还可以包括:被布置为将测试完成信号转换成复位信号的复位电路。复位信号可以是脉冲形状的信号。

复位电路还可以包括:具有被布置为接收测试完成信号的第一输入和被布置为接收测试完成信号的时间延迟版本的第二输入的逻辑xnor门;可以由逻辑xnor门生成输出信号,构成复位信号。

装置还可以包括:被布置为接收测试完成信号并将测试完成信号延迟预设的时间段从而生成测试完成信号的时间延迟版本的延迟元件。

处理资源可以具有正常操作模式和开机后处理资源暂时进入其中的自测试模式。

自测试模式可以包括处理资源访问测试完成指示符存储,以确定是否已经执行自测试。

处理资源可以被布置为响应于测试完成指示符存储包括已经执行自测试的指示,执行自测试结果数据的评价。

装置还可以包括:被布置为存储期望的自测试结果数据的期望结果数据存储;其中自测试结果数据的评价可以包括处理资源访问期望结果数据存储和结果存储,并比较自测试结果数据与期望的自测试结果数据。

自测试可以基本同步地测试多个扫描通道与处理资源。

可测试逻辑可以具有与其相关联的上电顺序;处理资源可以被布置为基于上电顺序的完成对自测试控制器编程。

处理资源可以包括被布置为监督上电顺序的数字逻辑。

自测试控制器可以被布置为在编程的完成后,执行由处理资源提供的编程。

处理资源可以是处理器。

根据本发明,还提供对集成电路自测试的方法,方法包括:处理资源为自测试控制器编程以执行关于包括多个扫描通道的可测试逻辑和处理资源的自测试;通过分别对多个扫描通道和处理资源的输入应用数字数据图案,执行关于多个扫描通道和处理资源的自测试;存储由多个扫描通道和处理资源响应于数字数据图案生成的数据;复位可测试逻辑;处理资源在复位之后评价生成的数据作为执行自测试的结果。

因此可以提供在不需要待被测试的逻辑之外的补充逻辑的情况下能够对可测试逻辑自测试以例如初始化或验证结果数据的装置和方法。因此,装置和方法还允许单个步骤中的自测试以便集成电路的一部分需要测试集成电路的另一部分,反之亦然。还可以以可重写入的方式提供期望的结果数据的存储,从而支持自测试的变形。此外,装置能够在上电时自动地测试自身,或测试可以在上电之后的任意时间被实施用于用户特定应用或以运行集成电路的数字逻辑的周期性检测。使用待被扫描的逻辑作为决策做出逻辑用于自测试的目的是尤其有益的,其中被扫描的逻辑包括处理器或其它计算单元,其监督集成电路的上电。在此方面,处理器具有对集成电路的所有组件的访问,包括存储器元件,例如只读存储器或一次可编程存储器,从其,解码开机顺序和/或可以执行用户指定lbist测试,从而使处理器特别地适用于参与自测试同时还是通过自测试可被测试的。

附图说明

参考所附附图,将仅通过示例描述发明的至少一个实施例,其中:

图1是支持自测试的集成电路的示意图;

图2是更加详细的并被配置为有自测试能力的集成电路装置并构成发明的实施例的图1的集成电路的示意图;

图3是图2的集成电路采用的复位电路的示意图;

图4是构成发明的另一实施例的对集成电路自测试的方法的流程图;以及

图5是采用图4的方法在有自测试能力的集成电路装置中生成的信号的时序图。

具体实施方式

以下描述中,相同的附图标记将自始至终被用于识别相同的部件。

参考图1,集成电路100包括经由高级高性能总线(ahb)/高级外围总线(apb)桥107可操作地耦接至高级微控制器总线架构(amba)apb104的ambaahb102。当然,这是集成电路架构的示例,且技术人员应当意识到其他互连性架构的使用是可想到的。

处理资源108,例如处理器,可操作地耦接至ambaahb102。非易失性存储器,例如只读存储器(rom)108,也可操作地耦接至ambaahb102。为支持其他功能性实体接入ambaahb102,技术人员还将意识到,可以提供其他接口110以支持其他架构块至ambaahb102的可操作的耦接。

转向ambaapb104,片上电源控制器112、数字存储器(例如一次可编程(otp)存储器114)、测试完成指示符存储(例如逻辑内建自测试(lbist)状态寄存器116)和自测试控制器(例如lbist控制器118)分别可操作地耦接至ambaapb104。就这点而言,与经由专用接口例如jtag接口的连接不同,测试相关的功能性元件,例如lbist状态寄存器116、lbist控制器118和用于控制电源和时钟信号的其他测试逻辑,与总线102的连接因此还连接至与总线102连接的外围设备。这样,便于自测试扫描。

如在ambaahb102的情况中,为支持其他外围实体接入ambaapb104,技术人员还将意识到,可以提供其他接口120以支持其他架构块至ambaapb104的可操作的耦接。在此示例中,lbist引擎模块122可操作地耦接至lbist状态寄存器116和lbist控制器118。

图1的集成电路包括可以被自测试的可测试逻辑。在此示例中,可测试逻辑包括处理资源106的数字逻辑以及要求测试的集成电路的其他数字逻辑。为以测试模式测试数字逻辑,图1的集成电路的功能性块是可重配置的,以便可以对数字逻辑的触发器应用测试图案。在此方面,通过经由总线(例如ambaahb102和ambaapb104)连接的处理资源106的数字逻辑和/或集成电路的其他数字逻辑,集成电路的不同部分的数字逻辑的互连是可重配置的。在集成电路的正常操作期间,此功能性连接许可集成电路的不同功能性块通过总线通信。然而,特别有益地,连接的可重配置属性许可用于根据需求待被重配置的扫描测试的数字逻辑之间的连接性。如刚刚所提到的,在这样的测试模式中,数字逻辑被重配置,例如如图2所示。在此方面,lbist引擎模块122包括图案生成器,例如伪随机图案生成器(prpg)200。待被测试的集成电路的数字逻辑被重配置为具有各自的输入和输出的多个扫描通道。例如,第一扫描通道202具有可操作地耦接至prpg200的其输入和可操作地耦接至结果数据存储205(在此示例中是lbist状态寄存器116的部分)的其输出。第二扫描通道(未示出)相似地具有可操作地耦接至prpg200的其输入和可操作地耦接至结果数据存储205的其输出。相似地,第n扫描通道204具有可操作地耦接至prpg200的其输入和可操作地耦接至结果数据存储205的其输出。

以与上述数字逻辑的部分的重配置相似的方法,处理资源106的逻辑206在适合的时间被重配置,例如在将电源和时钟控制器编程为稳定状态以及lbist控制器118的编程之后被重配置,以提供可操作地耦接至prpg200的其输入和可操作地耦接至结果数据存储205的其输出。处理资源106还可操作地耦接至片上存储器资源,例如rom108和otp114,以支持在此描述的示例中的自测试。处理资源106的逻辑206还可选地可操作地耦接至复用器208的第一输入,复用器208的第二输入可选地可操作地耦接至jtag寄存器以支持来自集成电路外部的源的测试。复用器208的输出可操作地耦接至lbist控制器118,lbist控制器118还耦接至lbist引擎模块122的prpg200和lbist状态寄存器116。当不采用j寄存器210和复用器208时,处理资源106的逻辑206可操作地耦接至lbist控制器118。lbist控制器118还具有可操作地耦接至复位信号生成器212的输出,复位信号生成器212被布置为将测试完成信号转换为复位信号,复位信号例如应该是短持续时间的低电平脉冲以防止在完成lbist执行后集成电路100被困在未知状态。

复位信号生成器212(图3)用于为集成电路100提供“机制”以自动地从实施的扫描链的状态恢复至正常操作模式(与测试模式相对)的功能性连接的一个。在此示例中,复位信号生成器212包括可操作地耦接至如上提到的lbist控制器118的输出的输入。信号分裂器300可操作地耦接至复位信号生成器212的输入并提供第一输出和第二输出,第一输出可操作地耦接至延迟元件302的输入,延迟输入的输出可操作地耦接至xnor门304的第一输入。信号分裂器300的第二输出可操作地耦接至xnor门304的第二输入。xnor门304具有用于提供复位信号的输出306,假设至延迟元件302的输入信号将其状态从逻辑低改变至逻辑高,输出306的持续时间由延迟元件302提供的延迟限定。当然,技术人员应当意识到,此仅是一个这样的实施方式,且其他实施方式(例如其中由于lbist控制器118被配置为直接驱动xnor门304(或任意其他适合的逻辑)的两个输入,不存在信号分离器300)是预期的。在此方面,上述电路布置仅是多个实施方式的一个示例。实际上,电路的一个或多个部分可以由替代选择取代,例如,信号分裂器300是在概念级(conceptuallevel)分离信号的示例,且在微电子电路级,可以使用开关装置(例如晶体管)以多个不同的方式单独地或与其他电路元件组合地实现实施方式。

操作中(图4和5),例如,处理资源106被上电,且处理资源106读(步骤400)rom108以获得处理资源106使用其以设置(步骤402)集成电路100的电源控制器112和时钟控制器(未示出)的电源和时钟设置。参考图5,当处理资源106被唤醒且参考时钟信号refclk(图5)开始循环时,生成硬件复位信号hw_rstn(图5)。在一些实施方式中,可以采用多于一个时钟。

一旦已经设置电源和时钟控制器,处理资源106访问(步骤404)旁路状态寄存器(其例如可以被存储在otp存储器114中)以检查其中存储的旁路位以确定(步骤405)是否将要跳过自测试。在设置旁路位以指示自测试应该被旁路(绕过)的情况下,处理资源106继续从测试模式进入正常操作模式,其中处理资源106执行其首要预期的功能性行为。否则,处理资源106继续在其自测试模式并访问lbist状态寄存器116以确定(步骤406)自测试是否已经被执行。在一些情况中,例如在集成电路100由于不正确的自测试执行而被困在无限循环中的情况下,可以采用此旁路特征以避免风险和/或用于排除故障和诊断的目的。风险的示例包括集成电路100被困在无限循环中,然而另一风险是自测试完成而处理资源106没有恢复功能性连接和软件复位信号的后续发布。还应当意识到,编程旁路状态寄存器的方式可以取决于是否默认执行自测试。在此方面,在一个实施方式中,集成电路100可以被配置为设置旁路状态寄存器以反映自测试的默认状态被无效,要求以预设的方式编程旁路状态寄存器以指示与此默认状态的偏离,即指示自测试将要被执行。在此讨论的本实施方式中,集成电路100被配置为默认地执行自测试,要求编程旁路状态寄存器以将自测试的执行的状态设置为“失效”。

在lbist状态寄存器116确实指示自测试还未被执行(其基于对可测试逻辑的上电顺序的完成被确定,例如在此描述的过程中,在响应于指示需要被执行的自测试的旁路位的分析,已经读取并分析(步骤405和406)旁路位之后被确定)的情况下,处理资源106进入自测试模式并从otp存储器114读取(步骤408)lbist配置数据。然后,处理资源106使用从otp存储器114获得的参数编程(步骤410)lbist控制器118,以便lbist控制器118能够根据lbist配置数据监督自测试。此后,lbist控制器118改变被通信至prpg200和结果数据存储205的lbist_start(图5)信号的状态,然后在此示例中,lbist控制器118通过执行由处理资源106提供的编程执行(步骤412)lbist扫描。通过对处理资源106的逻辑206和多个扫描通道202、204的各自的输入应用由prpg200生成的数字数据图案,对集成电路的数字逻辑(包括处理资源106的数字逻辑)执行lbist扫描(即自测试)。数字逻辑以这样的方式响应:生成lbist控制器118使用其以计算输出签名数据(被存储在结果数据存储205中用于后续评价)的输出数据。由于数字逻辑的触发器的测试的细节不是在此描述的实施例的理解的核心,将不更加详细地描述数字数据图案的生成和应用。然而,应当意识到,处理资源106和其他数字逻辑(例如多个扫描通道202、204)基本同时地被自测试测试。

一旦已经完成扫描,lbist控制器118写(步骤414)lbist状态寄存器116,以指示已经执行并已经完成自测试。lbist控制器118还改变在其耦接至复位信号生成器212的输出处的测试完成或lbist_done信号的状态。在此方面,当正在执行自测试时,lbist_done的状态是逻辑低。在复位信号生成器212处,在被应用至xnor门304之前逻辑低信号被分裂并沿一个信号路径受到延迟,而未延迟的逻辑低信号跟随另一信号路径并被直接地应用至xnor门304。xnor门304以生成逻辑高输出信号(图5中的sw_rstn)的方式响应。然而,当完成自测试时,lbist_done信号改变状态至逻辑高信号。在复位信号生成器212处,未延迟的逻辑高信号被直接应用至xnor门304,而延迟的版本导致在延迟的lbist_done信号的状态的改变到达xnor门304之前,低逻辑信号被应用至xnor门304持续预设的时间段。在此情况中,逻辑高和逻辑低信号都被应用至xnor门304持续由延迟元件302引入的延迟所指定的预设的时间段。响应于这两个信号电平,xnor门304将sw_rstn信号从当lbist_done信号为逻辑低时先前输出的逻辑高信号转换为逻辑低(步骤416),在返回至逻辑高电平之前,该逻辑低持续与上述的延迟对应的预设的时间段,逻辑状态的时间变化是脉冲形状的。

集成电路以重置自身的方式响应在复位信号生成器212的输出处生成的复位信号(sw_rstn),且处理资源106重加载代码以进入或开机进入自测试模式。在另一示例中,处理资源106可以重复初始化步骤(步骤400和402)。实际上,从rom108读取开机顺序能够支持提供不同的开机情景和不同的重启点,例如要求初始化步骤或忽略初始化步骤。

在本示例中,尽管在重置其自身之后,处理资源106访问lbist状态寄存器116以确定(步骤406)是否已经执行自测试。然而,这次,处理资源106发现lbist寄存器已经被设置为指示已经执行自测试。

这样,取代重配置其自身,处理资源106现在承担生成的结果数据的评价作为自测试的执行的结果,即响应于被设置为指示已经执行自测试的lbist寄存器116。在此方面,处理资源106从结果数据存储205读取(步骤418)结果数据并从otp存储器114读取(步骤420)期望的结果数据(有时被称为“黄金”签名)。然后,处理资源106比较(步骤422)结果数据和期望的结果数据。然后,处理资源106确定(步骤422)比较是否已经导致结果签名数据和期望的结果数据的匹配。在已经发现匹配的情况下,处理资源106记录(步骤426)匹配,否则处理资源106记录(步骤428)关于自测试的失败。当自测试被记录为通过时,处理资源106离开自测试模式并从事如上提到的首要预期的的功能性行为。然而,当自测试被记录为失败时,根据集成电路的设计者的失败自测试协议处理失败的测试。由于此协议不是在此描述的发明原理的理解的核心,将不描述协议的细节。

因此,可以看出,lbist控制器118与处理资源106协作以许可处理资源106评价自测试的结果,而还许可作为自测试的部分对处理资源106进行测试。例如当处理资源106的逻辑206在开机后(例如上电或复位之后)被重配置为一个或多个扫描链时,处理资源106进入自测试模式以执行如上提到的任务,即lbist控制器118的编程和自测试结果数据的评价。

技术人员应当意识到,如上描述的实施方式仅是在所附权利要求的范围内可想到的各种实施方式的示例。实际上,上述描述自始至终,已经参考处理资源(例如处理器)。然而,应当理解的是,处理资源可以是能够控制或监督集成电路的上电顺序并因此支持具有以上述方式排序的其操作模式的集成电路的任意数字逻辑。

附加地,如上描述的自测试的示例已经在lbist的上下文中。然而,技术人员应当意识到,如上描述的技术和布置是为关于其他自测试的方法学的实施准备的,其中期望执行关于数字逻辑的自测试,其中数字逻辑包括用于实施自测试的至少部分的逻辑。

在上述示例中,一旦集成电路100被上电,初始化自测试过程。在此方面,可以使用任何适合的机制初始化测试,例如测试的初始化可以在开机rom中被支持并可以是周期性的(例如每小时或每天)。可选地或附加地,可以按需地初始化测试,例如通过用户通过经由包括能够自测试的集成电路100的装置的外围设备(例如通过通用串行总线接口(未示出))提供的指令。

除了描述的结构化组件和用户交互之外,上述实施例的系统和方法可以在计算机系统(特别地,在计算机硬件或计算机元件中)、或在特别制造或适应的集成电路中实施。

在此参考的逻辑高和逻辑低应当被理解为指的是数字逻辑电平。在此方面,在此描述的示例被假设采用二进制逻辑,例如1和0以分别表示逻辑高和逻辑低。然而,技术人员应当理解的是,在此描述的原理可以被应用至服从应用偏好采用的任何适合的逻辑方案。

上述实施例的方法可以被提供为计算机程序或为携带被布置为当在计算机或其它处理器上运行时执行如上描述的方法的计算机程序的计算机程序产品或计算机可读介质。

术语“计算机可读介质”包括但不限于可以由计算机或计算机系统直接读取或访问的任何介质或媒介。介质可以包括但不限于,磁存储介质(例如软盘、硬盘存储介质和磁带);光存储介质(例如光盘或cd-rom);电存储介质(例如存储器,包括ram、rom和闪存)以及上述的混合和组合,例如磁/光存储介质。

虽然如上已经描述本发明的特定示例,技术人员将意识到,多种等同修改和变型是可能的。相应地,如上描述的发明的示例性实施例应当被认为是示例性且非限制性的。可以在不脱离本发明的精神和范围的情况下,对描述的实施例做出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1