自测试控制器及关联的方法与流程

阅读: 评论:0



1.本公开总体上涉及电子系统和方法,并且在特定实施例中涉及自测试控制器和关联的方法。


背景技术:



2.近年来,集成电路(ic)的复杂性稳步增加。一些ic包括多个电路。例如,片上系统(soc)可以在芯片上集成计算机或其他电子系统的所有组件,以例如执行多种功能,诸如接收和发送数据、接收和,播放虚拟游戏等等。例如,除了中央处理单元(cpu)和关联的寄存器之外,微控制器ic还可以包括多个存储器,用于例如软件存储、模数转换器(adc)、数模转换器(dac)、通信接口模块诸如串行外围接口(spi)和内部集成电路(i2c)、内部振荡器以及其他数字和模拟电路。复杂ic的其他示例包括现场可编程门阵列(fpga)、电源管理ic(pmic)、处理器(诸如arm或x86处理器)、数字信号处理器(dsp)等。
3.一些应用被认为是安全关键的并且需要在任务模式期间(在正常操作期间)或在现场应用的启动/停止期间对其电路进行自测试和/或实时监控。一个示例是汽车级应用控制安全机制,诸如制动、停车、变道等。
4.复杂ic可以包括一个或多个内置自测试(bist)电路。bist电路(也被称为内置测试电路或bit电路)是被包括在复杂ic中的测试电路,其允许这种复杂ic进行自我测试。例如,逻辑bist(lbist)被用于通过应用使用复杂ic的扫描电路的(例如由伪随机发生器所生成的)测试模式来测试复杂ic的逻辑电路。
5.bist电路可以被用于例如通过测试逻辑或存储器功能来辅助自动测试装备(ate),或在ic的制造(生产)期间提高覆盖率或其他测试性能。
6.bist电路也可以被用于现场(例如,在启动/停止期间)。例如,符合iso 26262(诸如符合汽车安全完整性等级(asil)d)的汽车级微控制器可以在每次汽车启动时使用一个或多个bist电路来测试微控制器的不同组件,并向汽车的中央处理单元报告检测到的任何故障。例如,符合iso 26262(诸如符合汽车安全完整性等级(asil)d)的汽车应用的微控制器可以使用存储器bist(mbist)来在每次汽车启动时以及在汽车工作时(例如,在驾驶时)测试集成存储器的故障。


技术实现要素:



7.根据一个实施例,一种用于管理集成电路(ic)中的自测试的方法包括:接收内置自测试(bist)配置数据;基于bist配置数据,将第一时钟配置为第一频率;以第一频率执行第一bist测试;将第二时钟配置为不同于第一频率的第二频率;并以第二频率执行第二bist测试。
8.根据一个实施例,一种集成电路包括:多个逻辑电路;多个存储器;以及可编程自测试控制器,该可编程自测试控制器被配置为:接收内置自测试(bist)配置数据;基于bist配置数据,将第一时钟配置为第一频率;引起以第一频率对第一逻辑bist(lbist)测试的执
行以测试多个逻辑电路中的第一逻辑电路;将第二时钟配置为不同于第一频率的第二频率;以及引起以第二频率对第一存储器bist(mbist)测试的执行以测试多个存储器中的第一存储器。
9.根据一个实施例,一种自测试控制器包括:主有限状态机(fsm);以及耦合到主fsm的内置自测试(bist)fsm,其中主fsm被配置为:接收内置自测试(bist)配置数据,并且基于bist配置数据来分别将第一时钟和第二时钟配置为第一频率和第二频率,第二频率不同于第一频率,其中bist fsm被配置为:触发第一bist控制器来以第一频率执行第一bist测试,并且触发第二bist控制器来以第二频率执行第二bist测试。
10.根据一个实施例,一种设备包括:电子控制单元(ecu);以及片上系统,该片上系统包括:多个逻辑电路、多个存储器和可编程自测试控制器,该可编程自测试控制器被配置为:接收内置自测试(bist)配置数据;基于bist配置数据,将第一时钟配置为第一频率;引起以第一频率对第一逻辑bist(lbist)测试的执行以测试多个逻辑电路中的第一逻辑电路;将第二时钟配置为不同于第一频率的第二频率;引起以第二频率对第一存储器bist(mbist)测试的执行以测试多个存储器中的第一存储器;以及引起检测到的与第一lbist和第一mbist相关联的故障到ecu的错误管理逻辑的传输。
附图说明
11.为了更完整地理解本发明及其优点,现在结合附图对以下描述进行参考,其中:
12.图1示出了根据本发明的实施例的包括多个bist控制器的soc;
13.图2示出了根据本发明的实施例的用于在汽车中执行多个bist测试的设置和调度的实施例方法200的流程图;
14.图3示出了根据本发明的实施例的图1的自测试控制器的一部分的可能实现以及存储在图1的nvm中的数据的可能布置;
15.图4示出了根据本发明的实施例的图3的指针文件的可能实现;
16.图5a和图5b分别图示了根据本发明的实施例的已填充mbist指针文件的示例和对应的bist测试执行时间线;
17.图6示出了根据本发明的实施例的mbist指针文件;
18.图7示出了根据本发明的实施例的soc的时钟分布架构;
19.图8示出了根据本发明的实施例的soc 800的一部分;
20.图9示出了根据本发明的实施例的实现soc的汽车;和
21.图10和图11示出了根据本发明的实施例的用于动态地编程bist测试的实施例方法的流程图。
22.除非另有说明,否则不同附图中的对应数字和符号通常指代对应部分。绘制这些附图是为了清楚地说明优选实施例的相关方面并且不一定按比例绘制。
具体实施方式
23.下面详细讨论所公开的实施例的制造和使用。然而,应当了解,本发明提供了许多可应用的发明概念,这些概念可以被体现在各种各样的特定上下文中。所讨论的具体实施例仅用于说明制造和使用本发明的具体方式,并不限制本发明的范围。
24.下面的说明书说明了各种具体细节以提供对根据描述的若干示例实施例的深入理解。这些实施例可以在没有一个或多个具体细节的情况下获得,或者可以用其他方法、组件、材料等获得。在其他情况下,未详细示出或描述已知的结构、材料或操作,以免混淆实施例的不同方面。在本说明书中对“实施例”的引用指示与该实施例相关地描述的特定配置、结构或特征被包括在至少一个实施例中。因此,可能出现在本说明书的不同点的诸如“在一个实施例中”之类的短语不一定完全指代相同的实施例。此外,可以在一个或多个实施例中以任何适当的方式组合特定的结构、结构或特征。
25.将在特定上下文中描述本发明的实施例,例如在汽车应用中的soc的自测试控制器(也称为自测试控制器单元,或stcu)以及关联的方法。例如,本发明的实施例可以被用于其他应用,诸如其他安全关键应用,诸如空间应用。一些实施例可以被用于非安全关键应用。例如使用被配置为运行来自耦合的存储器的编程指令的通用计算核心,一些实施例可以以软件或固件来实现。
26.在本发明的一个实施例中,综合可编程自测试控制器被利用来控制多个bist控制器在启动时间和运行时间期间的自测试执行。在一些实施例中,可编程自测试控制器例如经由循环冗余校验(crc)来执行bist调度、bist设置、故障管理、锁相环(pll)管理和/或自完整性校验监控,和/或包括调试/诊断接口以帮助调度bist操作。在一些实施例中,多个bist控制器包括一个或多个mbist控制器、一个或多个lbist控制器和/或一个或多个自定义bist(cbist)控制器。
27.ic的安全关键电路可以采用bist作为自我测试的机制,例如以增强安全性和提高可靠性。mbist和lbist是常见的bist电路的示例。也可以使用其他bist电路。例如,还可以使用cbist电路,例如诸如可以采用自定义技术以用于测试一个或多个数字和/或模拟电路的bist电路。
28.当使用多个bist电路测试ic时,可能希望以短测试时间实现目标测试覆盖率,并且不超过最大峰值瞬态功耗且不超过最大平均功耗。例如,在汽车安全关键产品中,bist电路可以在启动时间期间启动时(例如,每次汽车开启时)执行ic测试。因此,可能希望以较短的测试时间实现目标测试覆盖率,以使得汽车的完全启动不会被延迟太久。减少测试时间的一种方法是并行运行多个bist电路。但是,并行运行多个bist电路可能会增加ic的峰值和/或平均功耗,其应被保持低于ic的额定功耗规格。因此,在某些ic中,需要在测试覆盖率、测试时间和功耗之间进行权衡。例如,更高的测试覆盖率可能会导致更长的测试时间。在保持相同测试覆盖率的同时减少测试时间可能会导致更高的功耗。降低功耗可以通过降低覆盖率和/或延迟一个或多个bist测试的执行来实现。
29.在本发明的一个实施例中,单个自测试控制器被用来设置和调度多个bist测试的触发,以便在实现目标测试覆盖率的同时将测试时间最小化,同时峰值功耗低于最大峰值功率电平且平均功耗低于最大平均功率电平。
30.图1示出了根据本发明的实施例的包括多个bist控制器的soc100。soc 100包括自测试控制器102、时钟/复位电路104、计算核心106、配置加载器108、故障聚合器110、l个mbist控制器112、m个lbist控制器122和n个cbist控制器132。
31.在自测试期间,自测试控制器102调度l个mbist控制器112、m个lbist控制器122和n个cbist控制器132的触发以执行相应的mbist、lbist和cbist测试。由任何bist控制器
(112、122、132)检测到的故障被传输(例如,同步地或异步地)到自测试控制器102。自测试控制器102将接收到的故障传输到故障聚合器110。故障聚合器110聚合检测到的故障并将其传输到外部电路(例如,诸如汽车的中央处理单元)。
32.在一些实施例中,自测试控制器102以交错的方式调度l个mbist控制器112、m个lbist控制器122和n个cbist控制器132中的一些的触发以便保持峰值功耗低于最大峰值功耗,同时并行调度l个mbist控制器112、m个lbist控制器122和n个cbist控制器132中的一些其他控制器的触发以便将测试时间最小化。
33.在一些实施例中,自测试控制器102基于soc 100的状态或与soc100相关联的事件来确定触发事件的顺序、以及其他任务(例如,bist设置、pll设置)的顺序和配置。例如,在启动时间期间(例如,在汽车被允许完全开启之前),计算核心106可能处于关闭状态、睡眠状态或不同于活动状态的另一状态。因此,在启动时间期间,自测试控制器102可以基于来自配置加载器108的输入来确定bist触发调度和任何其他任务并且触发bist测试的执行。在一些实施例中,配置加载器108根据请求(例如,经由自测试控制器102和配置加载器108之间的常规或自定义通信通道)通过从非易失性存储器(nvm)107加载配置文件来向自测试控制器102提供这样的输入。因此,在一些实施例中,自测试控制器102有利地能够以自主方式(例如,离线-无来自soc 100的计算核心的输入)执行bist电路(例如,112、122、132)的设置、调度和触发。
34.在运行时间期间(例如,当汽车完全开启时,诸如在驾驶时),计算核心106可以处于活动状态,并且可以向自测试控制器102提供bist设置和/或bist调度输入。因此,在一些实施例中,自测试控制器102可以基于来自soc 100的一个或多个计算核心的输入来执行bist电路(例如,112、122、132)的设置、调度和触发。在一些实施例中,在运行时间期间,除了来自soc 100的一个或多个计算核心的输入之外,自测试控制器102还可以基于来自配置加载器108(例如,其可以耦合到存储器)和/或耦合到自测试控制器102的存储器的输入来执行bist电路(例如,112、122、132)的设置、调度和触发。
35.在一些实施例中,自测试控制器102可以基于来自寄存器(未示出)、计算核心106和/或时钟和复位电路104的输入来确定soc 100的状态。例如,在一些实施例中,时钟和复位电路104可以使信号有效(例如,经由寄存器位或经由irq节点)以指示soc 100正在经历复位过程,从而提示soc 100的启动,这可以提示在启动时间期间执行bist测试。作为另一个非限制性示例,自测试控制器102可以基于来自计算核心106的响应或没有响应来确定计算核心106的状态,并且可以基于所确定的计算核心106的状态来确定是运行启动时间bist测试还是运行时间bist测试。
36.在一些实施例中,单个自测试控制器102被用来设置和调度l个mbist控制器112、m个lbist控制器122和n个cbist控制器132的触发。当与使用用于管理l个mbist控制器112、m个lbist控制器122和n个cbist控制器132的多个控制器的实现相比时,一些实施例通过使用单个自测试控制器有利地在bist测试期间以较小的硅面积实现了目标测试覆盖率、测试时间和功耗。
37.nvm 107被配置为存储与bist配置数据的调度和/或其他类型相对应的数据。如稍后将更详细描述的,存储在nvm 107中的数据可以被布置在文件(诸如指针文件)中。每个指针文件可以包括关于何时执行特定bist测试的信息以及bist设置信息。
38.在一些实施例中,nvm 107可以由soc制造商预先配置。在一些实施例中,soc用户(例如,人、外部控制器等)可以配置nvm 107(例如,经由自测试控制器102)。在一些实施例中,nvm 107可以在soc 100内部。在一些实施例中,nvm 107可以在soc 100外部。nvm 107可以以本领域已知的任何方式来实现。
39.在一些实施例中,l可以是大于或等于0的整数,诸如1、2、3、4、10或更多。在一些实施例中,m可以是大于或等于0的整数,诸如1、2、3、4、10或更多。在一些实施例中,n可以是大于或等于0的整数,诸如1、2、3、4、10或更多。在一些实施例中,l、m和n可以全部相等。在一些实施例中,l、m和n可以全部不同。其他实现也是可能的。例如,在一些实施例中,l大于或等于2,m大于或等于2,n为0。
40.时钟和复位电路104被配置为向计算核心106和/或向自测试控制器102提供一个或多个时钟。时钟和复位电路104还被配置为复位soc 104(例如,在内部或外部事件后)。在一些实施例中,时钟和复位电路104包括例如可由自测试控制器102配置的pll(未示出)。时钟和复位电路104可以以本领域已知的任何方式来实现。
41.计算核心106被配置为执行soc 100的计算任务。在一些实施例中,计算核心106可以被实现为arm核心,诸如arm 核心。一些实施例可以以其他方式实现计算核心106,诸如使用x86或risc架构。其他实现也是可能的。
42.在一些实施例中,soc 100可以包括单个计算核心106。在其他实施例中,soc 100可以包括多个相同的计算核心106。在一些实施例中,soc 100可以包括多个不同的计算核心。
43.配置加载器108被配置为加载被存储在nvm 107中的数据(例如,来自文件)并将经加载的数据(例如,包括bist设置和/或bist调度信息)传输到自测试控制器102。在一些实施例中,配置加载器108可以利用有限状态机(fsm)来实现。其他实现也是可能的。
44.故障聚合器110被配置为聚合由bist电路(112、122、132)检测到的故障,并且例如将经聚合的故障传输到外部控制器。在一些实施例中,故障聚合器110从自测试控制器102异步接收故障。其他实现也是可能的。例如,在一些实施例中,故障聚合器110可以直接从bist控制器(112、122、132)异步接收检测到的故障。在一些实施例中,故障聚合器110可以(例如,从自测试控制器102或直接从bist控制器)同步接收检测到的故障。
45.在一些实施例中,故障聚合器110可以利用fsm来实现。其他实现也是可能的。
46.在一些实施例中,自测试控制器102有利地独立于处理器架构。例如,在一些实施例中,自测试控制器102可以利用自定义的或通用的控制器或处理器来实现,该控制器或处理器被配置为执行被存储在耦合到该控制器或处理器的存储器中的编程指令。例如,在一些实施例中,自测试控制器102可以基于arm、x86或risc架构来实现。在一些实施例中,自测试控制器102可以利用fsm来实现。其他实现也是可能的。
47.mbist控制器112被配置为设置和触发mbist测试的执行,以使用环(collar)114(围绕存储器116的包装器)来测试存储器116。mbist控制器112还收集在存储器116中检测到的故障并将检测到的故障传输到故障聚合器110(例如,经由自测试控制器102)。mbist测试可以以本领域已知的任何方式来实现。
48.mbist控制器112可以例如利用fsm来实现。其他实现也是可能的。
49.存储器116可以以本领域已知的任何方式来实现。环114可以以本领域已知的任何
方式来实现。
50.一些实施例可以实现l个mbist控制器112,其中l个mbist控制器中的每一个具有相同的架构。在一些实施例中,l个mbist控制器中的一个或多个可以具有与l个mbist控制器中的另一个不同的架构。
51.lbist控制器122被配置为设置和触发对lbist测试的执行以测试soc 100的逻辑电路。lbist控制器122还收集在逻辑分区中检测到的故障并将检测到的故障传输到故障聚合器110(例如,经由自测试控制器102)。lbist测试可以以本领域已知的任何方式来实现。例如,在一些实施例中,伪随机模式生成器(prpg)124被用来生成测试模式。测试模式被馈送到扫描链126以测试soc 100的逻辑电路。多输入签名寄存器(misr)128被用来检测在测试下的逻辑电路的响应以确定故障。
52.lbist控制器122可以例如利用fsm来实现。其他实现也是可能的。
53.伪随机模式生成器126、(多个)扫描链126和misr电路128可以以本领域已知的任何方式来实现。
54.一些实施例可以实现m个lbist控制器122,其中m个lbist控制器中的每一个具有相同的架构。在一些实施例中,m个lbist控制器中的一个或多个可以具有与m个lbist控制器中的另一个不同的架构。例如,在一些实施例中,给定的lbist控制器可以具有串行编程接口,而另一个lbist控制器可以具有并行编程接口。
55.cbist控制器132被配置为设置和触发对cbist测试的执行以使用自定义技术测试soc 100的模拟和/或数字电路。用于bist测试模拟和/或数字电路的自定义技术的示例包括用于bist测试比较器、模数转换器(adc)、数模转换器(dac)等以获得参数性能数据的技术。
56.cbist控制器132可以例如利用fsm来实现。其他实现也是可能的。
57.一些实施例可以实现n个cbist控制器132,其中n个cbist控制器中的每一个具有相同的架构。在一些实施例中,n个cbist控制器中的一个或多个可以具有与n个cbist控制器中的另一个不同的架构。
58.图2示出了根据本发明的实施例的用于在汽车中执行多个bist测试的设置和调度的实施例方法200的流程图。方法200可以例如在soc 100中被执行。
59.在步骤202期间,汽车可以开始启动过程。例如,在一些实施例中,将钥匙插入汽车可以触发汽车启动过程的开始。
60.在步骤204期间,来自非易失性存储器(例如nvm 107)的数据被加载。在一些实施例中,加载数据包括加载指向数据位置的指针,并且访问数据包括基于经加载的指针从nvm 107读取数据。在一些实施例中,加载数据包括读取数据并将经加载的数据存储在临时存储器位置,诸如高速缓存、寄存器或其他例如易失性存储器。
61.在步骤206期间,诸如与bist控制器112、122和/或132相关联的bist测试之类的bist测试基于在步骤204期间加载的数据而被设置并调度以用于执行。
62.在步骤208期间,基于在步骤206期间确定的调度来执行bist测试。
63.在一些实施例中,步骤206和208可以并行执行。例如,可以在步骤206期间设置和触发第一bist测试,并且在步骤208期间正在执行第一bist测试时,可以在步骤208期间设置第二bist测试等。
64.如果在步骤210期间检测到关键故障,则可以执行关键故障动作。如果在步骤210期间未检测到关键故障,则汽车在步骤212期间正常运行。
65.在步骤214期间,基于来自存储器(诸如nvm 107)和/或来自计算核心(例如,106)的数据来设置和调度bist测试,诸如与bist控制器112、122和/或132相关联的bist测试。
66.在步骤216期间,执行在步骤214期间设置和调度的bist测试。在一些实施例中,可以并行执行步骤214和216。
67.如果在步骤218期间检测到关键故障,则可以执行关键故障动作。如果在步骤218期间没有检测到关键故障,则汽车在步骤220期间等待,然后继续执行步骤214。
68.在一些实施例中,关键故障是能够产生安全隐患的故障。在一些实施例中,可能的关键故障动作(例如,来自步骤210和/或218)是:阻止汽车完全开启、打开仪表板中的灯以指示关键故障的存在、关闭汽车的一个或多个特征以及改变汽车的一个或多个特征的操作模式(例如,到安全模式)。
69.在一些实施例中,设置bist测试(例如,在步骤206和214期间)包括配置与bist控制器相关联的时钟信号的频率,配置是否要绕过bist测试的特定部分,和/或设置bist的初始参数。
70.图3示出了根据本发明的实施例的自测试控制器102的一部分的可能实现以及被存储在nvm 107中的数据的可能布置。如图3中所示,自测试控制器102包括主fsm 308、mbist fsm 310、lbist fsm312和cbist fsm 314。
71.在bist测试期间(例如,在步骤204期间),主fsm 308可以从nvm 107接收分别与mbist、lbist和cbist相关联的指针文件302、304和306。在一些实施例中,指针文件302、304和306包括针对其相应bist电路的bist调度信息以及bist设置信息。
72.主fsm 308分别基于指针文件302、304和306触发(例如,在步骤206期间)mbist fsm 310、lbist fsm 312和cbist fsm 314的操作。响应于相应的触发,mbist fsm 310、lbist fsm 312和cbist fsm 314分别触发(多个)mbist控制器112、(多个)lbist控制器122和(多个)cbist控制器132以根据相应的指针文件302、304和306执行相应的mbist、lbist和cbist测试。
73.在一些实施例中,主fsm 308读取指针文件(例如,302、304和306)并基于相应的指针文件来配置bist fsm(例如,310、312和314)。
74.在一些实施例中,bist fsm(例如,310、312和314)在触发bist控制器执行bist测试之前例如利用静态信息配置其相应的bist控制器(例如,112、122、132)。
75.在一些实施例中,fsm 308、310、312和314可以被实现在具有组合逻辑的硬件中。在一些实施例中,fsm 308、310、312和314可以例如在耦合到存储器的通用的或自定义的控制器或处理器中以软件或固件来实现。
76.图4示出了根据本发明的实施例的指针文件302、304和306的可能实现。如图4中所示,在一些实施例中,nvm 107可以包括分别用于lbist、mbist和cbist的三个指针文件(例如,302、304和306)。每个指针文件(例如,302、304和306)包括多个字段(例如,delay_en、next_bist_type、bist_ctlr_idx、bist_ptr_val和bist_exe_type)和多个行。每行在被执行时引起对关联的bist控制器的触发,使得对应的bist测试被执行。
77.delay_en字段被用来指定触发bist控制器(例如,112、122、132)和关联的bist的
执行之间的延迟。例如,没有延迟或延迟为零使对bist测试的执行例如与对相应bist控制器的触发的接收同时进行。大于零的延迟使bist控制器在执行关联的bist测试之前等待指定的延迟量。在一些实施例中,延迟由相应的bist fsm(例如,310、312、314)管理。在一些实施例中,延迟由主fsm 308管理。通过使用自测试控制器102而不是bist控制器(例如,112、122、132)来管理延迟,一些实施例能够在不修改或不增加bist控制器的复杂性的情况下交错执行bist测试。
78.在一些实施例中,在执行相应的行之前应用在delay_en字段中指定的延迟(例如,如图5a中所图示)。在一些实施例中,在执行相应的行之后应用在delay_en字段中指定的延迟(例如,如图6中所图示)。
79.next_bist_type字段指示哪个指针文件应该选择要被触发的下一个bist控制器。例如,如果lbist指针文件的行1在next_bist_type中包括mbist,则接下来执行要被执行的mbist指针文件的下一行(例如,行1)。
80.bist_ctrl_idx字段指示哪个bist控制器要被触发。例如,如果lbist指针文件的行1在bist_ctrl_idx字段中包括7,则在lbist指针文件的行1被执行时触发与标识号7相关联的lbist控制器122。
81.bist_ptr_val字段被用于级联操作(以指示存储器索引,例如在给定的控制器与多个存储器相关联的实现中)。例如,如果mbist指针文件的行1在bist_ptr_val中包括1,则与标识号1相关联的环114的存储器被选择以用于执行mbist测试。在一些实施例中,指示并行操作(用于并行测试多个存储器)的0或空值不适用。
82.bist_exe_type字段被用来指定对bist的执行要与下一个bist是被循序地(串行)执行还是被同时(并行)执行。例如,如果:
83.lbist指针文件的行1包括:分别针对字段delay_en,next_bist_type,bist_ctrl_idx,bist_ptr_val,bist_exe_type——0,lbist,7,空,同时;
84.lbist指针文件的行2包括:分别针对字段delay_en,next_bist_type,bist_ctrl_idx,bist_ptr_val,bist_exe_type——0,lbist,8,空,循序;和
85.lbist指针文件的行3包括:分别针对字段delay_en,next_bist_type,bist_ctrl_idx,bist_ptr_val,bist_exe_type——0,lbist,10,空,循序,
86.那么,当执行lbist指针文件的行1时,与标识7和8相关联的lbist控制器122被并发地(例如同时地)触发。一旦与与标识号8相关联的lbist控制器122相关联的bist测试完成,那么与标识号10相关联的lbist控制器122被触发。
87.在一些实施例中,并行执行bist测试有利地允许减少测试时间。
88.在一些实施例中,连续地执行bist测试有利地允许降低峰值功耗。在一些实施例中,连续地执行bist测试有利地允许在测试取决于给定电路的另一电路之前完成对给定电路的测试。例如,在一些实施例中,对与给定存储器和/或关联的mbist控制器相关联的逻辑执行lbist测试,并且在执行mbist测试以测试给定存储器之前完成这样的lbist测试。
89.指针文件指针(例如,lbist_ptr、mbist_ptr和cbist_ptr)被用来跟踪要被执行的指针文件的下一行。例如,如果mbist_ptr指向mbist指针文件304的行3,并且如果lbist指针文件302的行1当前正在被执行并且在next_bist_type字段中具有mbist,则接下来执行mbist指针文件304的行3。
90.在一些实施例中,初始指针init_ptr指向要被执行的第一指针文件(或指向第一bist指针文件的bist指针文件指针)。例如,如果init_ptr指向mbist指针文件304,则要被执行的第一bist是与mbist_ptr正在指向的位置相对应的bist。在一些实施例中,初始指针init_ptr被存储于在步骤204期间从nvm 107加载的寄存器的位中。在一些实施例中,init_ptr所指向的位置是nvm 107中对应于第一指针文件(例如,可以被编程为例如指针文件302、304或306)的位置。
91.在一些实施例中,nvm 107可以包括多个mbist指针文件、lbist指针文件和/或cbist指针文件,它们可以基于例如soc 100的状态而在不同的时间点处被使用。例如,指定特定序列的mbist指针文件可以在启动时间期间被使用,并且第二mbist指针文件可以在soc 100处于活动状态时被使用。
92.应当理解,一些实施例可以包括单个指针文件、两个指针文件或多于三个指针文件。例如,在soc 100实现mbist但不实现lbist或cbist的实施例中,nvm 107可以包括mbist指针文件而不包括lbist指针文件或cbist指针文件。作为另一个非限制性示例,在soc 100实现lbist和mbist但不实现cbist的实施例中,nvm 107可以包括lbist指针文件和mbist指针文件而不包括cbist指针文件。作为另一个非限制性示例,在soc 100实现lbist、mbist和两种类型的cbist的实施例中,nvm 107可以包括lbist指针文件、mbist指针文件和两个cbist指针文件。
93.如图4中所示,lbist指针文件302可以包括l行,mbist指针文件304可以包括m行,并且cbist指针文件306可以包括n行。然而,不同数目的行可以被使用,并且可以例如由用户以编程方式改变。例如,在一些实施例中,bist指针文件可以包括比关联的控制器的数目更少的行。例如,在一些实施例中,一些bist控制器可以不被触发。
94.在一些实施例中,指针文件可以包括比关联的bist控制器的数目更多的行。例如,可以在不同的行中触发特定的bist控制器,使得在不同的时间下执行关联的bist测试。
95.图5a和图5b分别图示了根据本发明的实施例的被填充的mbist指针文件的示例和对应的bist测试执行时间线。
96.如图5a中所示,初始指针init_ptr指向mbist指针文件指针mbist_ptr,该指针又指向mbist指针文件504的行1。在一些实施例中,初始指针init_ptr的加载使得其指向mbist指针文件指针mbist_ptr可以在步骤204期间执行。在一些实施例中,mbist指针文件504由mbist fsm 310处理并且mbist fsm 310触发关联的mbist控制器112的执行。
97.当mbist指针文件504的行1被执行时,与标识号12相关联的mbist控制器被触发(基于bist_ctrl_idx字段)。由于行1的bist_exe_type字段被设置为“并行”(parallel)并且next_bist_type被设置为mbist,因此指针mbist_ptr递增,使得其指向mbist指针文件504的下一行),并且该行(在此示例中为行2)立即被执行。由于行2具有值为16的bist_ctrl_idx字段,因此与标识号16相关联的mbist控制器被触发。如图5b中所示,与标识号12和16相关联的mbist控制器被触发并在时间t0处开始执行其相应的mbist测试。
98.由于行2将bist_exe_type字段被设置为“串行”(serial),因此行2的执行在执行下一个bist之前完成。由于next_bist_type被设置为mbist,因此指针mbist_ptr递增,使得其指向mbist指针文件504的下一行,并且一旦行2完成执行,则执行该行(在此示例中为行3)。
99.当mbist指针文件504的行3被执行时,与标识号12相关联的mbist控制器被触发(基于bist_ctrl_idx字段)。由于行3的bist_exe_type字段被设置为“并行”并且next_bist_type被设置为mbist,因此指针mbist_ptr递增,使得其指向mbist指针文件504的下一行),并且该行(在此示例中为行4)立即被执行。由于行4具有值为1的bist_ctrl_idx字段,因此与标识号1相关联的mbist控制器被触发。如图5b中所示,与标识号12和1相关联的mbist控制器被触发并且在时间t1处开始执行其相应的mbist测试。
100.由于行4的bist_exe_type字段被设置为“并行”并且next_bist_type被设置为mbist,因此指针mbist_ptr递增,使得其指向mbist指针文件504的下一行),并且该行(在此示例中为行5)立即被执行。然而,由于行5的delay_en字段被设置为1,因此在与标识号2相关联的mbist控制器被触发之前应用对应的延迟(如图5b中时间t1和t2之间的延迟所示)。在一些实施例中,延迟的持续时间是可配置的,并且可以使例如与标识号2相关联的mbist控制器在与标识号1相关联的mbist控制器完成之前、同时或之后开始。
101.在延迟时间之后,与标识号2相关联的mbist控制器被触发(基于来自行5的数据)。由于行5的bist_exe_type字段被设置为“并行”并且next_bist_type被设置为mbist,因此指针mbist_ptr递增,使得其指向mbist指针文件504的下一行),并且此行(在此示例中为行6))与行5一起执行。如图5b中所示,mbist控制器2和4被触发并在时间t2处开始执行其相应的bist测试。
102.由于行6具有为空值的next_bist_type字段,因此认为bist测试已完成。
103.在一些实施例中,bist指针文件(例如,302、304、306)可以用不同数目和/或类型的字段来实现。例如,图6示出了根据本发明的实施例的mbist指针文件604。mbist指针文件604以与mbist指针文件504类似的方式操作,并且产生类似的结果(例如,如图5b中所示)。然而,mbist指针文件604不是在执行相应行之前而是在执行相应行之后应用delay_en字段。因此,具有值为1的mbist指针文件604的行4实现了与具有值为1的mbist指针文件504的行5相同的结果。
104.一些实施例的优点包括配置bist调度以优化一个或多个参数(例如,减少测试时间、减少峰值或平均功耗、增加或改变测试覆盖率等)而不修改电路设计的能力。在一些实施例中,这样的优化可以有利地由消费者在更大的系统(例如,汽车)中使用ic来执行,使得覆盖率是专门针对由这种消费者使用的特征集的)。在一些实施例中,这样的优化可以有利地在现场执行,例如经由产品(例如,汽车)的固件更新,例如以在产品已经交付(例如,已销售)给消费者之后修复错误或改进/优化性能。
105.在本发明的实施例中,自测试控制器包括多个bist接口,多个bist接口基于具有独立于功能时钟的频率的时钟来操作。在一些实施例中,基于具有独立于功能时钟的频率的时钟来操作的bist接口有利地允许通过在不影响被提供给soc的功能电路的时钟信号的情况下允许调整一个或多个bist控制器的操作频率以调整(增加/减少)bist测试速度来优化bist测试时间和功耗。
106.图7示出了根据本发明的实施例的时钟分配架构soc 700。soc 100可以被实现为soc 700。
107.在编程步骤(例如,202,或在步骤206或214期间的bist接口的配置)期间,编程接口716可以访问存储器(例如,107)以加载配置指令和/或可以从功能电路702或另一个内部
或外部电路接收配置指令。编程接口716然后基于接收到的配置指令来配置一个或多个bist接口(例如,718、720)。
108.bist接口(例如,718、720)配置它们关联的bist控制器(例如,在步骤206、214期间)。bist控制器(例如,722、724、752、754)一旦被触发,就执行其相应的bist测试(例如,在步骤208、216期间)。如图7中所示,bist接口可以是lbist接口或mbist接口。在一些实施例中,也可以使用其他类型的bist接口,例如cbist接口。
109.如图7中所示,soc 700可以包括多个时钟域(例如,701、731)。例如,在图7的实施例中,功能电路702和732在不同的时钟域(分别为701和731)中并且基于相应的多个时钟进行操作。编程接口基于也被功能电路702使用的时钟(例如,710)来操作。
110.时钟分频器712向lbist接口718提供一个或多个时钟信号。时钟分频器712还向多个lbist控制器122(诸如lbist控制器722和752)提供时钟信号。时钟分频器714向mbist接口720提供一个或多个时钟信号。时钟分频器714还向多个mbist控制器112(诸如mbist控制器724和754)提供时钟信号。
111.时钟分频器712和714能够例如以不同的频率生成一个或多个分频时钟。因此,一些实施例有利地能够调整一个或多个bist控制器的操作频率以调整(增加/减少)相应的bist测试的速度来优化测试时间和功耗。例如,在一些实施例中,可以增加bist控制器(例如,724)的频率,并且可以降低另一个bist控制器(例如,754)的频率,例如使得并行执行两个bist测试(例如,因此减少测试时间),同时保持峰值功耗低于最大峰值功率电平。
112.如图所示,编程接口716和一个或多个bist接口(例如,718、720)可以基于不同的时钟进行操作。在一些实施例中,时钟同步器可以被用来允许电路716、718和720之间的通信。时钟同步器可以以本领域已知的任何方式来实现。
113.一些实施例可以包括多个bist接口718和720。例如,在一些实施例中,第一lbist接口718可以控制第一组一个或多个lbist控制器122,第二lbist接口720可以控制第二组一个或多个lbist控制器122。在一些实施例中,第一组控制器122可以包括并行编程接口并且第二组控制器122可以包括串行编程接口。
114.一些实施例可以包括用于每个bist控制器(例如,722、752、724、754)的bist接口(例如,718、720)。在一些实施例中,bist接口(例如,718/720)可以控制多于一个的bist控制器(例如,122/112)。
115.在一些实施例中,多个bist接口(例如,718和/或720)可以共享相同的时钟信号。在一些实施例中,每个bist接口可以基于专用时钟进行操作。例如,在一些实施例中,时钟分频器712可以产生100个时钟信号,这些时钟信号被供应给100个lbist接口718和100个相应的lbist控制器122。
116.在一些实施例中,由时钟分频器(例如,712、714)产生的每个时钟信号可以利用独立值来编程。例如,在一些实施例中,每个时钟分频器(例如,712、714)的6位被用来选择相应时钟信号的分频因子(例如,对于64个可能的时钟频率)。例如,在一些实施例中,时钟分频器可以执行在1和1/64之间的源时钟(例如,在400mhz)的分频。不同数目的位可以被用于选择由时钟分频器产生的时钟频率。
117.在一些实施例中,bist控制器722和724被配置为对时钟域701的电路执行bist测试。在一些实施例中,bist控制器752和754被配置为对时钟域731的电路(例如,时钟监控
器)执行bist测试。
118.在一些实施例中,编程接口716可以被实现为主fsm 308。
119.在一些实施例中,由编程接口716接收的配置指令可以包括与一个或多个bist指针文件(例如,302、304、306)相关联的信息。
120.在一些实施例中,lbist接口可以由相应的lbist fsm(例如,312)实现。在一些实施例中,mbist接口可以由相应的mbist fsm(例如,310)来实现。
121.在一些实施例中,功能核心可以是两个独立的计算核心(例如,106)。在一些实施例中,功能电路702和732可以具有相同的架构(例如,功能电路732可以是功能电路732的复制)。
122.时钟域701包括一个或多个时钟(例如,704、706、708、710),它们是同步的并且可以例如同时地从相同的pll(例如,703)导出。在一些实施例中,时钟704、706、708和710分别具有400mhz、200mhz、100mhz和50mhz的频率。也可以使用其他频率。
123.时钟域731包括一个或多个时钟(例如,734、736、738、740),它们是同步的并且可以例如同时地从相同的pll(例如,733)导出。在一些实施例中,时钟704、706、708和710分别具有400mhz、200mhz、100mhz和50mhz的频率。也可以使用其他频率。
124.在一些实施例中,时钟/复位电路104包括时钟704、706、708、710、734、736、738、740、pll 703和733、时钟分频器712和714。在一些实施例中,自测试控制器102包括时钟分频器712和714。
125.在一些实施例中,pll 703和733是不同的pll。因此,尽管时钟域701和731上的时钟可以以相似的频率来操作(例如,时钟704和734都可以以400mhz来操作),但是这样的时钟可以是不同步的。在一些实施例中,多个时钟域中的时钟可以从相同的pll导出。例如,在一些实施例中,时钟734、736、738、740可以从pll 703导出。其他实现也是可能的。
126.如图7中所示,soc 700可以包括多个时钟域(例如,701、731)。尽管图7仅示出了2个时钟域(701、731),但是一些实施例包括多于2个的时钟域,例如4、10、32、100或更多。在一些实施例中,soc 700包括单个时钟域。
127.与针对每个时钟域使用专用自测试控制器相比,通过使用单个自测试控制器以用于控制不同时钟域中的bist测试,一些实施例有利地实现了专用于bist测试的较小硅面积。
128.在一些实施例中,单个自测试控制器有利地能够同步和异步地控制bist控制器。
129.通过使用具有独立于功能时钟(被提供给功能电路(诸如702和732)的时钟信号)的频率的自测试控制器,一些实施例有利地能够调整bist频率而不影响功能性能,并且没有增加与时钟考虑相关联的soc设计的复杂性。
130.在一些实施例中,自测试控制器有利地能够控制soc的一个或多个pll的频率。例如,在一些实施例中,例如在运行时间期间,自测试控制器102能够使用配置位(每个pll)启用/禁用pll以及启用/禁用pll锁定监测。通过控制pll的启用/禁用和/或其相应的频率,一些实施例有利地能够调整功耗和测试时间以实现最佳性能。
131.图8示出了根据本发明的实施例的soc 800的一部分。soc 100可以被实现为soc 800。
132.如图8中所示,soc 800包括p个计算核心、多个易失性存储器和非易失性存储器以
及附加电路,诸如通信接口(i/f)、直接存储器访问(dma)电路、外围通道等等。在一些实施例中,p可以是大于或等于1的正整数。
133.如图所示,q个虚拟机可以使用soc 800的硬件来实现。在一些实施例中,q可以是大于或等于1的正整数。
134.在一些实施例中,自测试控制器102被配置为在启动时间和运行时间期间测试soc 800的存储器和逻辑电路。在一些实施例中,由自测试控制器102在soc 800上执行的bist测试符合iso 26262asil-d要求,诸如iso 26262标准的iso 26262:2018版本中列出的asil-d要求。
135.soc 800可以在诸如汽车之类的安全关键应用中被实现。例如,图9示出了根据本发明的实施例的实现soc 800的汽车902。汽车902可以包括具有错误管理逻辑的电子控制单元(ecu)。在一些实施例中,ecu的错误管理逻辑接收由soc 800的一个或多个bist(例如,lbist、mbist、cbist)检测到的故障。
136.如本文所述,在一些实施例中,soc(例如,soc 100、700、800)的自测试控制器可以被动态地编程以调整执行哪个bist测试、何时执行bist测试、与另一个bist测试并行还是循序地执行bist测试以及以什么速度执行bist测试。例如,图10示出了根据本发明的实施例的用于动态地编程bist测试的实施例方法1000的流程图。方法1000可以例如通过例如soc 100、700或800的自测试控制器102来实现。
137.在步骤1002期间,自测试控制器(例如,102)将第一时钟和第二时钟(例如,来自时钟分频器712和/或714的时钟)分别配置为第一频率和第二频率。例如,在一些实施例中,自测试控制器通过调整相应时钟分频器(例如,712、714)的第一分频因子和第二分频因子(例如通过使用一个或多个寄存器)来将第一时钟和第二时钟配置为第一频率和第二频率。在一些实施例中,自测试控制器通过调整pll(例如,703)的频率来将第一时钟和第二时钟配置为第一频率和第二频率。
138.在一些实施例中,第一频率和第二频率是不同的频率。例如,在一些实施例中,第一频率为400mhz,而第二频率为50mhz。
139.在一些实施例中,第一频率和第二频率高于50mhz。诸如6.25mhz(400mhz除以64)或更低的较低频率也可以被用于第一频率和/或第二频率。
140.在一些实施例中,第一频率和第二频率是相同的频率。例如,在一些实施例中,第一频率和第二频率为200mhz。在一些实施例中,即使第一时钟和第二时钟可能具有相同的频率,第一时钟和第二时钟也可能是不同步的。例如,在一些实施例中,第一时钟和第二时钟具有相位差。在一些实施例中,第一时钟和第二时钟是同步的。
141.在步骤1004期间,例如由自测试控制器接收bist配置数据。例如,在一些实施例中,bist配置数据包括一个或多个bist指针文件(例如,302、304、306、504、604)。
142.在一些实施例中,可以在步骤1004之后执行步骤1002。例如,在一些实施例中,配置数据包括与第一频率和第二频率相关联的数据,并且第一时钟和第二时钟是基于配置数据来配置的。
143.在步骤1006期间,基于接收到的bist配置数据来配置第一bist测试和第二bist测试。例如,在一些实施例中,bist fsm(例如,310、312、314)基于接收到的bist配置数据来配置一个或多个相关联的bist控制器(例如,112、122、132)。
144.在步骤1008期间,第一bist测试和第二bist测试被调度以用于执行。在步骤1010期间,第一bist测试器和第二bist控制器被触发以分别执行第一bist测试和第二bist测试。例如,在一些实施例中,主fsm(例如,308)调度(多个)bist fsm以用于执行,并且(多个)bist fsm基于调度而触发关联的bist控制器。
145.在步骤1012期间,第一bist测试和第二bist测试分别以第一频率和第二频率来并行执行。在一些实施例中,第一bist测试和第二bist测试可以是相同的bist类型,诸如mbist(例如,如图5b中所示)。在一些实施例中,第一bist测试和第二bist测试可以是不同类型的(例如,一个可以是mbist且另一个是lbist;一个可以是mbist且另一个是cbist;或者一个可以是lbist且另一个是cbist)。
146.在一些实施例中(如图10中所图示),并行执行第一bist和第二bist(例如,如图5b中的mbist#2和mbist#4)。在一些实施例中,循序地执行第一bist和第二bist。
147.在一些实施例中,方法1000被实现为步骤206、208、214和/或216的一部分。例如,在一些实施例中,步骤1004作为步骤204的一部分来执行、步骤1002、1006、1008以及1010作为步骤206的一部分来执行,并且步骤1012作为步骤208的一部分来执行。在一些实施例中,步骤1002、1004、1006、1008和1010作为步骤214的一部分来执行,并且步骤1012作为步骤216的一部分来执行。
148.图11示出了根据本发明的实施例的用于动态地编程bist测试的实施例方法1100的流程图。方法1100可以例如通过例如soc 100、700或800的自测试控制器102来实现。
149.在步骤1102期间,自测试控制器(例如,102)将第一时钟(例如,来自时钟分频器712和/或714的时钟)配置为第一频率。例如,在一些实施例中,自测试控制器通过调整时钟分频器(例如,712、714)的分频因子(例如通过使用寄存器)来将第一时钟配置为第一频率。在一些实施例中,自测试控制器通过调整pll(例如,703)的频率来将第一时钟配置为第一频率。
150.在步骤1104期间,例如由自测试控制器接收bist配置数据。例如,在一些实施例中,bist配置数据包括一个或多个bist指针文件(例如,302、304、306、504、604)。
151.在一些实施例中,可以在步骤1104之后执行步骤1102。例如,在一些实施例中,配置数据包括与第一频率相关联的数据,并且第一时钟是基于配置数据来配置的。
152.在步骤1106期间,基于接收到的bist配置数据来配置第一bist测试。例如,在一些实施例中,bist fsm(例如,310、312、314)基于接收到的bist配置数据来配置一个或多个关联的bist控制器(例如,112、122、132)。
153.在步骤1108期间,第一bist测试被调度以用于执行。在步骤1110期间,第一bist控制器被触发以执行第一bist测试。例如,在一些实施例中,主fsm(例如,308)调度bist fsm以用于执行,并且bist fsm基于调度而触发关联的bist控制器。
154.在步骤1112期间,以第一频率执行第一bist测试。
155.在步骤1114期间,第一时钟被配置为第二频率。在一些实施例中,可以以与步骤1102期间类似的方式配置第一时钟。
156.在步骤1116期间,第一bist测试被调度以用于执行。在一些实施例中,第一bist测试以与步骤1108期间类似的方式被调度以用于执行。
157.在步骤1118期间,第一bist控制器被触发以执行第一bist测试。在一些实施例中,
第一bist控制器以与步骤1110期间类似的方式被触发。
158.在步骤1120期间,以第二频率执行第一bist测试。
159.在一些实施例中,第一频率高于第二频率。例如,在一些实施例中,步骤1112在启动时间期间被执行并且步骤1120在运行时间期间被执行。因此,在一些实施例中,第一频率更快(例如,引起更快的启动时间)并且第二频率更慢(例如,消耗更少的峰值功率)。在一些实施例中,第一频率可以比第二频率慢(例如,基于执行时间要求)。
160.在一些实施例中,方法1100被实现为步骤206、208、214和/或216的一部分。例如,在一些实施例中,步骤1104作为步骤204的一部分来执行,步骤1102、1106、1108和步骤1110作为步骤206的一部分来执行,步骤1112作为步骤208的一部分来执行,步骤1114、1116和1118作为步骤214的一部分来执行,并且步骤1120作为步骤216的一部分来执行。在一些实施例中,步骤1102、1104、1106、1108和1110在第一bist测试周期期间作为步骤214的一部分来执行,并且步骤1112在第一bist测试周期期间作为步骤216的一部分来执行,步骤1114、1116和1118在第二bist测试周期期间作为步骤214的一部分来执行,并且步骤1120在第二bist测试周期期间作为步骤216的一部分来执行。
161.在这里总结了本发明的示例实施例。还可以从在本文中提交的说明书和权利要求的全部内容来理解其他实施例。
162.示例1.一种用于管理集成电路(ic)中的自测试的方法,该方法包括:接收内置自测试(bist)配置数据;基于bist配置数据,将第一时钟配置为第一频率;以第一频率执行第一bist测试;将第二时钟配置为不同于第一频率的第二频率;以及以第二频率执行第二bist测试。
163.示例2.根据示例1所述的方法,其中将第一时钟配置为第一频率包括:改变锁相环(pll)的频率。
164.示例3.根据示例1或2之一所述的方法,还包括:基于接收到的bist配置数据,配置第一bist接口;以及由第一bist接口基于接收到的bist配置数据来触发第一bist控制器,其中第一bist控制器执行第一bist测试。
165.示例4.根据示例1至3之一所述的方法,其中第一bist接口利用有限状态机(fsm)来实现。
166.示例5.根据示例1至4之一所述的方法,其中第一时钟包括第一时钟分频器,并且第二时钟包括不同于第一时钟分频器的第二时钟分频器。
167.示例6.根据示例1至5之一所述的方法,其中第一bist测试和第二bist测试被并行执行。
168.示例7.根据示例1至6之一所述的方法,其中第一时钟和第二时钟是相同的时钟。
169.示例8.根据示例1至7之一所述的方法,其中第一bist测试与第二bist测试相同。
170.示例9.根据示例1至8之一所述的方法,其中第二频率低于第一频率。
171.示例10.根据示例1至9之一所述的方法,其中接收bist配置数据包括:从非易失性存储器读取bist配置数据。
172.示例11.根据示例1至10之一所述的方法,其中bist配置数据包括bist指针文件,该bist指针文件包括多个字段,并且其中该多个字段包括指示要被触发的bist控制器的bist控制器索引。
173.示例12.根据示例1至11之一所述的方法,其中该多个字段包括延迟字段,该延迟字段指示与触发bist测试相关联的延迟。
174.示例13.根据示例1至12之一所述的方法,其中该多个字段包括执行类型字段,该执行类型字段指示bist测试与另一bist测试是被同时执行的还是被循序地执行的。
175.示例14.根据示例1至13之一所述的方法,其中该多个字段包括下一个bist类型字段,该下一个bist类型字段指示要与另一bist测试同时或循序地执行的bist测试的bist类型。
176.示例15.根据示例1至14之一所述的方法,其中接收bist配置数据包括:从计算核心接收bist配置数据。
177.示例16.根据示例1至15之一所述的方法,其中第一频率高于或等于50mhz。
178.示例17.根据示例1至16之一所述的方法,其中接收到的bist配置数据包括与第一频率相关联的数据。
179.示例18.根据示例1至17之一所述的方法,其中第一bist测试和第二bist测试是相同的bist类型。
180.示例19.根据示例1至18之一所述的方法,其中相同的bist类型是存储器bist(mbist)。
181.示例20.根据示例1至19之一所述的方法,其中第一bist测试和第二bist测试是不同的类型。
182.示例21.根据示例1至20之一所述的方法,其中第一bist测试是由第一lbist控制器执行的逻辑bist(lbist)测试,第二bist测试是由mbist控制器执行的存储器bist(mbist)测试,并且其中lbist测试对mbist控制器的电路进行测试。
183.示例22.一种集成电路,包括:多个逻辑电路;多个存储器;以及可编程自测试控制器,该可编程自测试控制器被配置为:接收内置自测试(bist)配置数据;基于bist配置数据,将第一时钟配置为第一频率;引起以第一频率对第一逻辑bist(lbist)测试的执行以测试多个逻辑电路中的第一逻辑电路;将第二时钟配置为不同于第一频率的第二频率;以及引起以第二频率对第一存储器bist(mbist)测试的执行以测试多个存储器中的第一存储器。
184.示例23.根据示例22所述的集成电路,还包括:第一计算核心和第二计算核心,该第一计算核心包括第一逻辑电路和第一存储器,该第二计算核心包括多个逻辑电路中的第二逻辑电路和多个存储器中的第二存储器,其中可编程自测试控制器还被配置为:引起对第二lbist和第二mbist的执行以分别测试第二逻辑电路和第二存储器电路。
185.示例24.一种自测试控制器,包括:主有限状态机(fsm);以及内置自测试(bist)fsm,耦合到主fsm,其中主fsm被配置为:接收内置自测试(bist)配置数据,并且基于bist配置数据来分别将第一时钟和第二时钟配置为第一频率和第二频率,第二频率不同于第一频率,其中bist fsm被配置为:触发第一bist控制器来以第一频率执行第一bist测试,并且触发第二bist控制器来以第二频率执行第二bist测试。
186.示例25.一种设备,包括:电子控制单元(ecu);以及片上系统,该片上系统包括:多个逻辑电路、多个存储器和可编程自测试控制器,该可编程自测试控制器被配置为:接收内置自测试(bist)配置数据,基于bist配置数据来将第一时钟配置为第一频率,引起以第一
频率对第一逻辑bist(lbist)测试的执行以测试多个逻辑电路中的第一逻辑电路,将第二时钟配置为不同于第一频率的第二频率,引起以第二频率对第一存储器bist(mbist)测试的执行以测试多个存储器中的第一存储器,以及引起检测到的与第一lbist和第一mbist相关联的故障到ecu的错误管理逻辑的传输。
187.示例26.根据示例25所述的设备,其中该设备是汽车。
188.虽然已经参考说明性实施例描述了本发明,但是该描述不旨在被解释为限制意义。通过参考描述,说明性实施例以及本发明的其他实施例的各种修改和组合对本领域技术人员而言是显而易见的。因此,所附权利要求旨在涵盖任何此类修改或实施例。

技术特征:


1.一种用于管理集成电路(ic)中的自测试的方法,所述方法包括:接收内置自测试(bist)配置数据;基于所述bist配置数据,将第一时钟配置为第一频率;以所述第一频率执行第一bist测试;将第二时钟配置为不同于所述第一频率的第二频率;以及以所述第二频率执行第二bist测试。2.根据权利要求1所述的方法,其中将所述第一时钟配置为所述第一频率包括:改变锁相环(pll)的频率。3.根据权利要求1所述的方法,还包括:基于接收到的所述bist配置数据,配置第一bist接口;以及由所述第一bist接口基于接收到的所述bist配置数据来触发第一bist控制器,其中所述第一bist控制器执行所述第一bist测试。4.根据权利要求3所述的方法,其中所述第一bist接口利用有限状态机(fsm)来实现。5.根据权利要求1所述的方法,其中所述第一时钟包括第一时钟分频器,并且所述第二时钟包括不同于所述第一时钟分频器的第二时钟分频器。6.根据权利要求5所述的方法,其中所述第一bist测试和所述第二bist测试被并行执行。7.根据权利要求1所述的方法,其中所述第一时钟和所述第二时钟是相同的时钟。8.根据权利要求7所述的方法,其中所述第一bist测试与所述第二bist测试相同。9.根据权利要求7所述的方法,其中所述第二频率低于所述第一频率。10.根据权利要求1所述的方法,其中接收bist配置数据包括:从非易失性存储器读取所述bist配置数据。11.根据权利要求10所述的方法,其中所述bist配置数据包括bist指针文件,所述bist指针文件包括多个字段,并且其中所述多个字段包括指示要被触发的bist控制器的bist控制器索引。12.根据权利要求11所述的方法,其中所述多个字段包括延迟字段,所述延迟字段指示与触发bist测试相关联的延迟。13.根据权利要求11所述的方法,其中所述多个字段包括执行类型字段,所述执行类型字段指示bist测试与另一bist测试是被同时执行的还是被循序地执行的。14.根据权利要求11所述的方法,其中所述多个字段包括下一个bist类型字段,所述下一个bist类型字段指示要与另一bist测试同时或循序地执行的bist测试的bist类型。15.根据权利要求1所述的方法,其中接收bist配置数据包括:从计算核心接收所述bist配置数据。16.根据权利要求1所述的方法,其中所述第一频率高于或等于50mhz。17.根据权利要求1所述的方法,其中接收到的所述bist配置数据包括与所述第一频率相关联的数据。18.根据权利要求1所述的方法,其中所述第一bist测试和所述第二bist测试是相同的bist类型。19.根据权利要求18所述的方法,其中所述相同的bist类型是存储器bist(mbist)。
20.根据权利要求1所述的方法,其中所述第一bist测试和所述第二bist测试是不同的类型。21.根据权利要求20所述的方法,其中所述第一bist测试是由第一lbist控制器执行的逻辑bist(lbist)测试,所述第二bist测试是由mbist控制器执行的存储器bist(mbist)测试,并且其中所述lbist测试对所述mbist控制器的电路进行测试。22.一种集成电路,包括:多个逻辑电路;多个存储器;以及可编程自测试控制器,所述可编程自测试控制器被配置为:接收内置自测试(bist)配置数据,基于所述bist配置数据,将第一时钟配置为第一频率,引起以所述第一频率对第一逻辑bist(lbist)测试的执行以测试所述多个逻辑电路中的第一逻辑电路,将第二时钟配置为不同于所述第一频率的第二频率,以及引起以所述第二频率对第一存储器bist(mbist)测试的执行以测试所述多个存储器中的第一存储器。23.根据权利要求22所述的集成电路,还包括第一计算核心和第二计算核心,所述第一计算核心包括所述第一逻辑电路和所述第一存储器,所述第二计算核心包括所述多个逻辑电路中的第二逻辑电路和所述多个存储器中的第二存储器,其中所述可编程自测试控制器还被配置为:引起对第二lbist和第二mbist的执行以分别测试所述第二逻辑电路和所述第二存储器电路。24.一种自测试控制器,包括:主有限状态机(fsm);以及内置自测试(bist)fsm,被耦合到所述主fsm,其中所述主fsm被配置为:接收内置自测试(bist)配置数据,并且基于所述bist配置数据来分别将第一时钟和第二时钟配置为第一频率和第二频率,所述第二频率不同于所述第一频率,其中bist fsm被配置为:触发第一bist控制器来以所述第一频率执行第一bist测试,并且触发第二bist控制器来以所述第二频率执行第二bist测试。25.一种设备,包括:电子控制单元(ecu);以及片上系统,所述片上系统包括:多个逻辑电路,多个存储器,和可编程自测试控制器,所述可编程自测试控制器被配置为:接收内置自测试(bist)配置数据,基于所述bist配置数据,将第一时钟配置为第一频率,引起以所述第一频率对第一逻辑bist(lbist)测试的执行以测试所述多个逻辑电路中的第一逻辑电路,将第二时钟配置为不同于所述第一频率的第二频率,引起以所述第二频率对第一存储器bist(mbist)测试的执行以测试所述多个存储器中
的第一存储器,以及引起检测到的与所述第一lbist和第一mbist相关联的故障到所述ecu的错误管理逻辑的传输。26.根据权利要求25所述的设备,其中所述设备是汽车。

技术总结


本公开涉及一种自测试控制器及关联的方法。在一个实施例中,一种用于管理集成电路(IC)中的自测试的方法包括:接收内置自测试(BIST)配置数据;基于BIST配置数据将第一时钟配置为第一频率;以第一频率执行第一BIST测试;将第二时钟配置为不同于第一频率的第二频率;并以第二频率执行第二BIST测试。并以第二频率执行第二BIST测试。并以第二频率执行第二BIST测试。


技术研发人员:

A

受保护的技术使用者:

意法半导体国际有限公司

技术研发日:

2022.03.21

技术公布日:

2022/9/26

本文发布于:2022-12-01 09:37:35,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/17995.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   控制器   多个   时钟
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图