用于识别处理器中的故障的方法和设备与流程

未命名 10-22 阅读:83 评论:0

用于识别处理器中的故障的方法和设备
1.相关申请的交叉参考
2.本专利申请要求2022年4月11日提交的美国临时专利申请序列号63/329,623的利益和优先权,该申请据此以其全部内容通过引用并入本文。
技术领域
3.本描述一般涉及处理器,并且更特别地涉及识别处理器中的故障的方法和设备。


背景技术:

4.处理器用于跨多种行业执行各种功能。在一些行业中,处理器可能被要求满足严格的质量要求。质量要求可用于确保处理器可用于具有特定安全标准的车辆。例如,在汽车工业,一些处理器可能被要求达到或接近百万分之0的缺陷零件(dppm)。


技术实现要素:

5.对于识别处理器中的故障的方法和设备,示例装置包括内置的测试观察控制器电路系统,其被配置为:获得测试;向处理器发送第一指令,以通过修改存储在多个存储器电路中的值开始执行测试;向处理器发送第二指令,以在第一模拟时间停止执行测试,其中在测试执行的第二模拟时间期间不可观察的一个或多个存储器值在第一模拟时间期间可观察;以及增强型芯片访问跟踪扫描电路系统,其被配置为在测试停止时从多个存储器电路选择值的子集;以及签名电路系统,其被配置为:基于该值的子集确定逻辑签名;并提供逻辑签名以用于与预期签名进行比较,其中逻辑签名与预期签名之间的差异对应于处理器中的故障。
附图说明
6.图1是被测装置(dut)的可控制、可观察和检测到的存储器值的说明性示例。
7.图2a是被配置为评估示例dut的第一计算机电路系统的示例框图。
8.图2b是被配置为评估示例dut的第二计算机电路系统的示例框图。
9.图3是图2a的dut的示例框图。
10.图4是图3的增强型芯片访问跟踪(ecat)扫描电路系统的示例框图。
11.图5是由图4的ecat扫描电路系统执行的操作的说明性示例。
12.图6是由图3的窗口确定器电路系统执行的操作的说明性示例。
13.图7是表示示例过程的流程图,可使用可执行的机器可读指令和/或被配置为实施图2a的计算机电路系统的硬件来执行该示例过程,以测试图2a的被测装置(dut)。
14.图8是表示示例过程的流程图,可使用可执行的机器可读指令和/或被配置为实施图3的窗口确定器电路系统,和/或更进一步实施图1的测试修改器电路系统的硬件来执行该示例过程,以识别图7中描述的可观察时间窗口。
15.图9是表示示例过程的状态机,该示例过程可使用可执行的机器可读指令和/或被
配置为实施图3的bito控制器电路系统的硬件来执行,以执行ecat扫描并计算如图7所述的测得的多路输入签名寄存器(misr)值。
16.附图中使用相同的参考号或其他参考代号以指定(功能上和/或结构上)相同或类似的特征。
具体实施方式
17.附图不一定按比例绘制。一般来说,(多个)附图和本描述中的相同参考号是指相同或相似的部分。尽管附图示出了具有干净的线条和边界的层和区域,但这些线条和/或边界中的一些或全部可能是理想化的。在现实中,边界和/或线条可能是不可观察的、混合的和/或不规则的。
18.制造商可以依靠功能设计验证(dv)测试来确定处理器是否符合产品中使用所需的安全要求。功能性dv测试是验证设计是否符合其规格并执行其意图动作的测试。在许多示例中,自动测试装备(ate)对dut执行dv测试。
19.ate可以量化dut性能的一种方式是测量测试期间发生的故障数量。在一些示例中,ate测量固定型故障。固定型故障是指尽管有来自测试程序的切换逻辑状态的指令,但信号保持在给定的逻辑状态(即逻辑“1”或逻辑“0”)。表现出此种行为的信号可以被称为“固定在”逻辑状态上。在一些示例中,ate可以识别的dut内固定型故障的百分比可以被称为固定型覆盖率。汽车工业和有严格安全要求的其他工业中的制造商可能要求ate计算出大于99%的固定型覆盖率,以便在产品中使用dut。如上面和这里所用的,存储器电路是指用于存储一个位(即表示逻辑“1”或逻辑“0”的电压)的单个触发器电路。
20.图1是被测装置(dut)的可控制、可观察和检测到的存储器值的说明性示例。图1包括示例ate电路系统100、dut存储器值102、示例可控存储器值104、示例可观察存储器值106和示例可检测存储器值108。
21.示例ate电路系统100测量示例dut的性能。为了测量性能,示例ate电路系统100向示例dut提供测试。该测试可以是,例如,指示dut执行一系列操作的dv程序。示例ate电路系统100可以基于每个dut的特性和预期行为向各种dut提供不同类型的测试刺激。
22.示例ate电路系统100还从示例dut获得测试刺激的结果。对于测试结果内的每个位,示例ate电路系统100可以确定该位是否与来自测试刺激的预期结果的位匹配。如果测试结果位与预期结果位匹配,则示例ate电路系统100确定用于存储该位的存储器电路通过测试。类似地,如果测试结果位与预期结果位不匹配,则示例ate电路系统100确定用于存储该位的存储器电路出现了固定型故障并且无法通过测试。将结合图2a进一步讨论示例ate电路系统100。
23.示例dut存储器值102表示示例dut内的所有存储器电路。示例dut存储器值102可以在数学上表示为整个集合,从中形成子集(即,示例可控存储器值104、示例可观察存储器值106和示例可检测存储器值108)。
24.示例可控存储器值104是指在示例dut存储器值102内受测试刺激影响的存储器电路的集合。例如,假设ate电路系统100提供测试刺激,测试刺激要求示例dut将两个整数变量相加,并将总和存储为第三整数变量。在此种示例中,可控存储器值104将包括存储用于表示三个变量中的一个的位的每个存储器电路。可控存储器值104的集合中的值的数量可
以基于dut的类型和测试刺激的类型而改变。
25.当dut执行响应于测试刺激的操作时,由于处理器电路系统304中的一个或多个故障,因此dut存储器值102中的一些值将不匹配预期值。类似地,在响应于测试刺激后,dut存储器值102中的其他值将与预期值匹配。然而,给定的测试刺激可使示例ate电路系统100能够确定是否仅在dut的存储器电路的一部分中发生了故障。例如,对于任何给定的测试模式,某些存储器电路可能不能被访问,并且其他存储器电路可以以一种方式被访问,在该方式中不可能确定测试结束时的值是由于正常操作还是由于固定型故障导致的。示例可观察存储器值106是指示例dut内的存储器电路的集合,其中ate电路系统100能够确定存储器电路是否已经出现了故障。在一些示例中,如果可以由示例ate电路系统100确定对应的故障状态,则存储器值可以被称为观察到的、测得的、记录的和/或选通的。类似地,ate电路系统100无法确定是否发生故障的存储器值(即,不包括可观察存储器值106的dut存储器值102的集合)可以被称为不可观察的存储器值。
26.在图1的说明性示例中,当表示那些集合的阴影区域重叠时,示出了将存储器值包括在多个集合中。例如,所有示例可观察存储器值106也是dut存储器值102。然而,一些示例可观察存储器值106不被认为是示例可控存储器值104。可观察但不可控的存储器值可以指不受测试刺激影响和/或不经历可由示例ate电路系统测量的故障的信号。
27.示例可检测存储器值108指在示例可控存储器值104(示例可控存储器值104也在示例可观察存储器值106内)内的存储器电路的集合。既可控又可观察的存储器值是指既受测试刺激影响又由示例ate电路系统100获得的位。
28.示例ate电路系统100可以仅对示例可检测存储器值108内的存储器电路进行通过/失败确定。ate电路系统100可以不对可观察但不可控的存储器值进行通过/失败确定,因为存储器电路不受测试刺激的影响,并因此不存储可被视为测试结果的位。此外,示例可观察存储器值106的集合可能比示例可控存储器值104的集合包含更少的存储器电路。在一些示例中,来自测试刺激的可观察存储器值106的低量可能导致dut具有小于99%的固定型覆盖率,和/或导致dut无法满足用于汽车工业的安全要求。
29.有利地,本文中描述的示例方法、系统和设备增加了示例dut中的可观察存储器值。示例测试控制器电路系统识别针对处理器的测试并在处理器上运行测试,使处理器修改存储在多个存储器电路中的值。在测试的第一次执行期间,示例窗口确定器电路系统识别可观察时间窗口。在测试的第二次执行期间,bito控制器电路系统在可观察时间窗口开始时停止测试,从多个存储器电路选择值的子集,并基于值的子集确定逻辑签名。示例ate电路系统将逻辑签名与预期签名进行比较以用于故障检测,并将逻辑签名与预期签名之间的差异识别为处理器中的故障。
30.图2a是被配置为评估dut电路系统的计算机电路系统的示例框图。图2a包括示例计算机电路系统200、示例自动测试模式发生器(atpg)数据库202、示例测试确定器电路系统204、示例dut 206和示例ate电路系统100。
31.示例计算机电路系统200测量示例dut 206的性能。在图2a的示例框图中,示例dut 206在示例计算机电路系统200内实施。在其他示例中,示例dut 206是外部装置。
32.示例atpg数据库202存储使用自动测试模式生成技术创建的dv测试。存储在示例atpg内的测试可以被设计用于任何类型的dut,并且可以验证任何类型的功能。在一些示例
中,计算机电路系统200包括执行atpg技术以填充atpg数据库的计算资源。在其他示例中,示例计算机电路系统200从外部源接收dv测试并将测试存储在atpg数据库中。
33.示例atpg数据库202由用于存储数据的任何存储器、存储装置和/或存储盘实施,例如,闪存、磁介质、光学介质、固态存储器、(多个)硬盘驱动器、(多个)拇指驱动器等。此外,存储在atpg数据库202中的数据可以是任何数据格式,诸如,例如二进制数据、逗号分隔的数据、制表符分隔的数据、结构化查询语言(sql)结构等。虽然在所展示的示例中,atpg数据库202被展示为单个装置,但atpg数据库202和/或本文中描述的任何其他数据装置可以由任何数量和/或类型的存储器实施。
34.示例测试确定器电路系统204确定要在示例dut 206上运行的dv测试。示例测试确定器电路系统204可以从存储在示例atpg数据库202中的测试中选择dv测试。dv测试可以包括机器可读指令,其使dut 206基于一个或多个意图目的执行操作。在一些示例中,示例测试确定器电路系统204可以基于示例dut 206的规格表选择dv测试。示例测试确定器电路系统204可以选择以任何编程语言编写、包括任何数量的指令等的dv测试。
35.示例dut 206是被配置为基于机器可读指令执行操作的电子装置。示例dut 206可以包括例如可编程微处理器、可实例化指令的现场可编程门阵列(fpga)、中央处理器单元(cpu)、图形处理器单元(gpu)、数字信号处理器(dsp)或微控制器和集成电路,诸如专用集成电路(asic)。在一些示例中,示例dut 206可以是这样的装置,诸如包括多个计算资源的片上系统(soc)。在一些示例中,dut 206可以额外地或可替代地被认为是知识产权(ip)核心。
36.根据本公开的教导,示例dut 206修改所选dv测试。修改后的测试检查所选dv测试所检查的相同功能。有利地,修改后的测试以比所选dv测试使用的技术导致更多的可观察存储器值的技术来检查功能。示例dut 206向ate电路系统100提供修改后的测试的结果。关于图3进一步讨论示例dut 206。
37.示例ate电路系统100将修改后的测试的结果与一组预期结果进行比较。如图1所述,示例ate电路系统100通过确定修改后的测试的结果是否与预期结果匹配来确定示例dut 206中的每个存储器电路是通过还是失败。示例ate电路系统100可以以任何方式分享通过/失败确定。例如,ate电路系统100可以将结果提供给图形引擎以用于在显示器上呈现,可以将结果提供给收发电路系统以用于通过网络进行通信,等等。
38.示例计算机电路系统200包括示例dut 206,以根据本公开的教导修改dv测试。修改后的测试提高了所选dv测试的可观察性。因此,示例ate电路系统100做出更多的通过/失败确定,从而提高固定型覆盖率。在一些示例中,由于修改的测试而产生的提高的固定型覆盖率可引起示例dut 206满足一组汽车安全要求。
39.图2b是被配置为评估示例dut的计算机电路系统的示例框图。图2b包括示例计算机电路系统208。示例计算机电路系统208包括示例atpg数据库202、示例测试确定器电路系统204和示例dut 210。示例dut 210包括示例诊断ate电路系统212。
40.示例计算机电路系统208测量示例dut 210的性能。在图2b的示例框图中,示例dut 210在示例计算机电路系统208内实施。在其他示例中,示例dut 210是外部装置。
41.与示例dut 206相似,示例dut 210是被配置为基于机器可读指令执行操作的电子装置。示例dut 206可以包括例如可编程微处理器、可实例化指令的现场可编程门阵列
(fpga)、中央处理器单元(cpu)、图形处理器单元(gpu)、数字信号处理器(dsp),或微控制器和集成电路,诸如专用集成电路(asic)。
42.与示例dut 206相似,示例dut 210也根据本公开的教导运行所选dv的修改版本。示例dut 210可以用与示例dut 206相同或类似的部件来实施。然而,示例dut 210的内部部件向内部诊断ate电路系统212提供签名以进行通过/失败的确定,而不是向外部ate电路系统100提供测得的签名和预期的签名。
43.与dut 206相反,示例dut 210包括诊断ate电路系统212。示例诊断ate电路系统212是在示例dut 210内部的示例ate电路系统100的示例实施方式。也就是说,示例诊断ate电路系统212基于示例dut 210的修改后的存储器电路获得测得的签名,将测得的签名与预期的签名进行比较,并为存储器电路生成通过/失败确定。示例dut 210可以将通过/失败的结果提供给图形引擎以用于在显示器上呈现,可以将结果提供给收发电路系统以用于通过网络进行通信,等等。
44.在一些示例中,诸如图2a,dut 206没有用能够对存储器电路进行通过/失败确定的电路系统实施,并且需要外部ate来进行确定。在其他示例中,诸如图2b,dut 210用诊断ate电路系统实施,并可进行内部通过/失败确定。虽然为了简单起见,本文中使用的示例可以指图2a中描述的dut 206,但本公开的教导支持具有或不具有内部诊断ate电路系统的dut。
45.图3是图2a的dut 206的示例框图。示例dut 206包括示例bito控制器电路系统302、示例处理器电路系统304、示例存储器306、示例窗口确定器电路系统308、示例ecat扫描电路系统310和示例misr电路系统312。
46.示例bito控制器电路系统302从测试确定器电路系统204获得所选dv测试。bito控制器电路系统302管理所选dv测试的修改,以产生更多数量的可观察存储器值。为了管理测试修改,示例bito控制器电路系统302可与dut 206的其他部件通信以提供指令和接收更新。由示例bito控制器电路系统302发送至dut 206的内部部件的指令中的一些可被描述为状态机。该状态机将结合图9进一步讨论。
47.示例处理器电路系统304执行机器可读指令。例如,处理器电路系统304获得所选dv测试并完整地运行该测试。为了运行测试,示例处理器电路系统304可以对示例存储器306内的值进行一次或多次修改。示例处理器电路系统304可以另外记录在执行所选dv测试期间一个或多个存储器电路的值如何随时间变化。示例处理器电路系统304可以是如前所述的任何类型的处理器电路系统。
48.示例存储器306是指示例dut 206内的所有存储器电路。存储器306中的存储器电路中的一个或多个可包括在修改期间经历来自处理器电路系统304的故障。示例ate电路系统100可以其进行通过/失败确定的示例存储器306内的故障百分比是示例dut 206的固定型覆盖率。示例存储器306可以包括任何类型的存储器电路。例如,示例存储器306可以包括易失性存储器和非易失性存储器。易失性存储器可以由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其他类型的ram装置实施。非易失性存储器可以由闪存和/或任何其他所期望类型的存储器装置实施。
49.示例窗口确定器电路系统308分析第一完整dv测试的结果以确定dv测试内的时间
窗口。为此,示例窗口确定器电路系统308从处理器电路系统304获得存储器值中的所记录的变化,并确定在测试完成后,示例存储器306中的哪些存储器电路仍然不可观察。然后,示例窗口确定器电路系统308确定在测试执行期间的时间段,在该时间段中在测试结束时不可观察的最大数量的存储器值可观察。如上面和这里所用,由示例窗口确定器电路系统308识别的时间段可被称为可观察时间窗口。
50.在一些示例中,诸如图3,示例dut 206实施窗口确定器电路系统308。在其他示例中,示例dut 206可以不实施窗口确定器电路系统308。在此类示例中,示例窗口确定器电路系统308可以在示例测试确定器电路系统204、示例ate电路系统100,或dut 206外部的任何其他电路系统的修改版本中实施。在此类示例中,bito控制器电路系统302可以从示例处理器电路系统304获得存储器值中的所记录的变化,将记录传输到示例窗口确定器电路系统308,从示例窗口确定器电路系统308接收可观察时间窗口,并将可观察时间窗口提供给处理器电路系统304。示例bito控制器电路系统302和示例可观察窗口确定器电路系统308可以使用任何合适的通信协议彼此发送和接收数据。
51.示例bito控制器电路系统302指示示例处理器电路系统304将存储器306复位到执行dv测试之前的状态。示例bito控制器电路系统302进一步指示处理器电路系统304根据dv测试第二次开始修改存储器306中的值,并且在可观察时间窗口期间停止测试执行(即,停止修改存储器值)。
52.示例ecat扫描电路系统310选择示例存储器306中的值的子集以用于签名计算。为了选择这些值,示例ecat扫描电路系统310用存储器值形成扫描链,压缩扫描链,并在扫描链内掩蔽不可观察的值。将结合图4进一步讨论示例ecat扫描电路系统310。
53.示例misr电路系统312使用ecat扫描电路系统310的输出计算misr值。如上面和这里所用,misr值是通过将多个输入数据流压缩成单个值而计算的签名。使用ecat扫描电路系统310的输出计算的misr值可被称为测得的misr值,因为它包含在处理器电路系统执行所选dv测试的修改中的一些或全部修改后从示例存储器306测得、观察、获得、选通等的信息。
54.示例misr电路系统312还可以计算预期misr值。预期misr值是签名,其表示在测试执行后如果没有任何存储器电路经历故障,则示例存储器306应包含的值。示例bito控制器电路系统302可以用所选dv测试从测试确定器电路系统204获得示例存储器306的正确或预期值。在此类示例中,bito控制器电路系统302可以将示例存储器306的正确或预期值提供给示例misr电路系统312以计算预期misr值。
55.示例misr电路系统312将测得的misr值和预期misr值提供给示例ate电路系统100以用于比较。在dut包括内部ate,诸如dut 210的示例中,示例misr电路系统312可以将签名值提供给诊断ate电路系统212以用于比较。
56.在一些示例中,示例bito控制器电路系统302不指示misr电路系统312计算测得的或预期的misr值。在此类示例中,ecat扫描电路系统310可以产生测得的扫描链和预期扫描链两者。测得的扫描链表示在示例处理器电路系统304执行所选dv测试的修改中的一些或全部后实际存储在存储器306中的存储器值。相反,预期扫描链表示在测试执行后如果没有存储器电路表现出故障,则存储器电路应存储的值。示例ecat扫描电路系统310可以既压缩又掩蔽测得的扫描链和预期扫描链,以减少描述这些链所需的数据量。此外,在不计算misr
值的示例中,示例ecat扫描电路系统310向示例ate电路系统100提供测得的扫描链和预期扫描链。
57.示例dut 206执行修改后的dv测试。在修改后的dv测试中,示例ecat扫描电路系统310从原始的所选dv测试的第一完整测试执行中产生第一测得的扫描链,并且从所选dv测试的第二部分测试执行中产生第二测得的扫描链。有利地,处理器电路系统304在使ecat扫描电路系统310能够将在第一测得的扫描链中不可观察的一些存储器电路记录为在第二测得的扫描链中可观察的时间停止所选dv测试的第二执行。然后,示例misr电路系统312基于第一测得的扫描链和第二测得的扫描链两者计算测得的misr值。继而,示例ate电路系统100可使用修改后的dv测试比原始的所选dv测试进行更多数量的通过/失败确定。因此,基于本公开的教导,示例dut 206可以改进固定型覆盖率。
58.图4是图3的访问增强型芯片访问跟踪(ecat)扫描电路系统的示例框图。示例ecat扫描电路系统310包括示例扫描链电路系统402、示例压缩器电路系统404和示例掩蔽逻辑电路系统406。
59.示例扫描链电路系统402从bito控制器电路系统302接收执行已结束的指示。基于该指示,示例扫描链电路系统402使用示例存储器306内的存储器电路的内容形成扫描链。为了形成扫描链,示例扫描链电路系统402可以将在dv测试的操作期间运用的给定域中存在的存储器电路的值链接在一起。例如,如果处理器电路系统304将两个整数变量加在一起并将和存储为第三整数变量作为dv测试的一部分,则示例扫描链电路系统402可在扫描链中将用于表示三个变量中的一个的任何存储器电路链接在一起。
60.示例压缩器电路系统404从示例扫描链电路系统402获得扫描链。在一些示例中,压缩器电路系统404可以通过访问存储定义扫描链的链接的存储器306的保留部分,诸如高速缓存,来获得扫描链电路系统402。示例压缩器电路系统404压缩扫描链中的存储器电路内容,从而减少表示信息所需的数据总量。示例压缩器电路系统404实施基于排他性or(异或)的压缩,以减少数据的总量。基于异或的压缩是无损技术,其用于通过执行连续的异或操作来压缩浮点值,使得只存储位之间的差异。在其他示例中,示例压缩器电路系统404可以执行不同的压缩技术。
61.示例掩蔽逻辑电路系统406掩蔽不可观察的压缩存储器电路内容。在这样做时,来自示例掩蔽逻辑电路系统406的指令确保示例misr电路系统312仅基于未掩蔽的已观察存储器值计算misr值。
62.示例ecat扫描电路系统310实施ecat扫描。在ecat扫描期间,示例ecat扫描电路系统310获得、压缩和掩蔽存储器值,使得最大数量的可观察存储器值可用于misr计算。示例ecat扫描结合图5进一步讨论。
63.图5是由图4的ecat扫描电路系统310执行的操作的说明性示例。具体而言,图5展示了ecat扫描电路系统310在执行ecat扫描时可能产生的中间输出。图5包括扫描输出502、压缩器输出504和掩蔽输出506。在图5的说明性示例中,示例ecat扫描电路系统310从示例存储器306扫描了总共100,000个存储器电路。为了简单起见,图5的说明性示例使用100,000个存储器值。在其他示例中,可以扫描不同数量的存储器值。
64.扫描输出502表示由示例扫描链电路系统402形成的扫描链。扫描链包含在测试执行期间或之后从示例存储器306记录的值。例如,为了产生如图3中描述的第一测得的扫描
链,扫描输出502包含在所选dv测试完成后来自存储器306的值,而为了产生第二测得的扫描链,扫描输出502包含在可观察时间窗口期间来自存储器306的值。示例扫描链电路系统402可将受dv测试的给定操作影响的存储器电路的值链接在一起以形成扫描链。
65.dv测试的重要性能因素是获得结果所需的时间量。因此,示例misr电路系统312确定使用每个扫描链的并行计算的misr值,而不是要求按顺序对100,000个存储器值进行签名计算。因此,计算签名所需的时间量由最长扫描链的长度而不是存储器值的总数所限制。为了减少计算misr值所需的时间量,示例扫描链电路系统402可以将存储器电路以最大化扫描链的数量和最小化每个扫描链的长度的方式进行耦合。例如,在图5中,扫描输出502将100,000个存储器值示出为1,000个扫描链,每个扫描链的长度为100个存储器值。在其他示例中,扫描链的数量和每个链的长度可以不同,并且可以取决于要存储的存储器值的总数。
66.示例压缩器输出504表示在示例压缩器电路系统404压缩扫描输出502之后的示例存储器306中的值。示例压缩器电路系统404可以使用异或压缩来减少表示可观察存储器值所需的数据量。例如,示例压缩器输出504示出,100,000个存储器值,其原来存储在1,000个扫描链中,每个扫描链的长度为100个值,这些存储器值被压缩器电路系统404压缩,使得相同的信息可以在10个扫描链中表示,每个扫描链的长度为100个值。在其他示例中,压缩的扫描链的数量可以是不同的,并且可以取决于压缩的类型和要存储的存储器值的总数。在一些示例中,用于计算签名的数据总量可被称为数据量。
67.示例掩蔽输出506表示在示例掩蔽逻辑电路系统406掩蔽压缩器输出504之后,示例存储器306中的值。misr值可表示为单个签名,该签名累积并包含来自用作输入的每个扫描链的每个存储器值的信息。因此,如果示例misr电路系统312使用未知的存储器值(即不可观察的存储器值)作为misr计算的输入,则整个结果签名可能被破坏。为了防止该情况,示例掩蔽逻辑电路系统406对压缩器输出504进行掩蔽,以去除不可观察的存储器值。因此,一个或多个压缩扫描链的长度可以减小。例如,掩蔽输出506示出,在图5的说明性示例中,第一扫描链的长度仍然是100个值,第二扫描链的长度减少到25个值,并且第十扫描链的长度减少到50个扫描链。在其他示例中,被掩蔽的存储器值的数量可以是不同的,并且可以取决于在示例dut 206上运行的dv测试的类型。
68.示例misr电路系统312使用掩蔽输出506和来自bito控制器电路系统302的指令来执行misr计算。ecat扫描电路系统310在签名计算之前处理存储器306中的值,以最小化计算签名所需的时间量,最小化计算签名所需的存储器量,并确保签名不被不可观察的存储器值破坏。
69.图6是由图3的示例窗口确定器电路系统308执行的操作的说明性示例。图6包括示例信号602、第一示例604、第二示例606、第三示例608和示例时间窗口610。
70.示例信号602表示存储在示例dut 206的存储器电路中的数字值如何随时间变化。在示例信号602中的每个中,高值表示数字“1”,并且低值表示数字“0”。响应于dut 206执行的作为dv测试中的一部分的操作,给定的信号可以转换,指示存储器电路的值已改变。示例信号602不表示存储器306中每个存储器电路的数字值。代替地,它们表示在第一完整dv测试的结果内不可观察的存储器值。
71.由示例信号602表示的存储器值根据存储器306使用的第一时钟变化。第一时钟可在与由示例处理器电路系统304用于修改存储器中的值的第二时钟不同的频率下操作。如
果第一时钟的频率大于第二时钟的频率,那么不能精确地确定读取存储器电路的值的确切周期。例如,如果示例存储器306基于2ghz时钟改变值,但示例处理器电路系统304停止执行并基于1ghz时钟读取存储器值,则处理器电路系统304可能在dut 206的两个相邻时钟脉冲中的一个停止执行。因此,在上述示例中,存在2纳秒周期,其中存储器306中的值是不确定的。中间的存储器持续时间可以持续任何量的时间。图6的说明性示例、示例时间窗口610展示了中间存储器持续时间持续大约100纳秒(ns)。
72.示例窗口确定器电路系统308基于示例存储器306和示例处理器电路系统304的时钟频率来计算不确定的存储器持续时间的长度。然后,示例窗口确定器电路系统308确定示例信号602上的不确定的存储器持续时间的位置,该位置表现出最大数量的观察。当示例窗口确定器电路系统308能够确定信号在该特别时间是否包含故障时,就会发生观察。示例窗口确定器电路系统308可以观察到改变存储器值的任何类型的故障。例如,可由示例窗口确定器电路系统308识别的故障包括但不限于固定在1型故障、固定在0型故障、动态故障、多端口故障,等等。此外,如果信号是稳定的(即,在窗口期间不改变值),则示例窗口确定器电路系统308可以仅将固定在1型故障或固定在0型故障算作观察。
73.在第一示例604中,因为所选信号不稳定包括在示例时间窗口610期间的转换,所以不会发生观察。结果,当示例扫描链电路系统402在可观察时间窗口期间扫描示例dut 206的存储器电路时,它可以将第一示例604中选择的信号的值存储为数字“0”或数字“1”。因此,即使bito控制器电路系统302知道存储器电路随时间变化的预期值,它也不能确定在计算预期misr值期间,它应该使用“0”还是“1”来表示前述存储器电路。
74.在第二示例606中,所选信号是稳定的,但是该信号对应于未被dv测试修改或影响的存储器电路。结果,示例窗口确定器电路系统308确定观察不会发生。观察不会发生,因为没有未受dv测试影响的存储器电路的预期值,并因此没有值与所选信号进行比较以确定故障。
75.在第三示例608中,所选信号是稳定的。此外,所选存储器电路在时间窗口610期间的预期值(即,数字“1”)与所选存储器电路在同一时间段期间的测得值(即,数字“0”)不匹配。此外,所选信号对应于受dv测试影响的存储器电路。因此,示例窗口确定器电路系统308确定将发生观察。在第三示例608中将发生观察,因为如果测得的misr值是基于来自时间窗口610的值计算的,则示例ate电路系统100可以将测得的misr值与预期的misr值进行比较,以确定所选存储器电路经历了固定在0型故障。
76.在图6的说明性示例中,示例窗口确定器电路系统308确定在时间窗口610期间对可观察信号612中的每个的观察将发生。导致最大数量的可观察信号612的不确定存储器持续时间的位置被称为可观察时间窗口。在图6的说明性示例中,示例窗口确定器电路系统308确定在示例时间线中定位在大约2,170,380ns和2,170,480ns之间的时间窗口610为可观察时间窗口。
77.为了改进可观察性,示例处理器电路系统304可以对dut 206运行所选dv测试超过多个迭代,并在不同时间停止执行测试。在一些示例中,在示例dut 206上运行测试可以被称为测试模拟或测试执行。在每个测试执行之后,示例ecat扫描电路系统310可以扫描、压缩和掩蔽存储器电路,使得只有在该特别执行中可观察到的存储器电路(即,在执行停止时其值可由ate电路系统100用于确定是否发生故障的存储器电路)被用作misr计算的输入。
此外,示例窗口确定器电路系统308迭代地调整可观察时间窗口,使得dv测试的第n次执行在这样的时间停止:该时间使来自尚未在第1至第(n-1)次测试中的任一次中表现出故障的信号集的可观察信号612的数量最大化。在这样做时,dv测试的每次执行都增加示例dut 206的可观察存储器值的总数。因此,示例dut 206可以表现出比不观察额外的存储器值的dut更高的固定型覆盖率。
78.图7是表示示例过程的流程图,该示例过程可使用可执行的机器可读指令和/或被配置为实施图2a或图2b的计算机电路系统的硬件来执行以测试图2a或图2b的dut。示例机器可读指令和/或操作700在示例测试确定器电路系统204识别测试时开始(块702)。例如,示例测试确定器电路系统204可以从atpg数据库202识别dv测试。
79.示例处理器电路系统304在示例dut 206上运行来自块702的测试(块704)。为了运行测试,示例性处理器电路系统304可以执行一系列操作,这些操作导致对示例性存储器306的修改。由于操作的执行,因此dut 206内的存储器电路的值可能随时间变化。
80.示例ecat扫描电路系统310对dut 206的存储器电路执行ecat扫描(块706)。示例ecat扫描电路系统310可以基于由bito控制器电路系统302提供的指令执行块706的机器可读指令和/或操作。由bito控制器电路系统302提供的指令可以被描述为状态机。结合图9进一步讨论块706。
81.示例窗口确定器电路系统308确定可观察时间窗口(块708)。示例窗口确定器电路系统308使用来自块704的测试执行的结果来确定可观察时间窗口。结合图8进一步讨论块708。
82.示例处理器电路系统304再次开始测试(块710)。为了开始测试,示例处理器电路系统304可以将存储器306复位为初始状态。然后,示例处理器电路系统304可以对示例存储器306执行与结合704描述的相同的修改。
83.示例处理器电路系统304在可观察时间窗口期间停止测试的执行(块712)。结果,存储器306中的存储器电路存储由进行到但不通过可观察时间窗口的操作引起的值。
84.示例ecat扫描电路系统310对dut 206的存储器电路执行ecat扫描(块714)。ecat扫描电路系统310可以基于由bito控制器电路系统302提供的指令执行块714的机器可读指令和/或操作。结合图9进一步讨论块716。
85.示例misr电路系统312计算测得的misr值(块716)。misr电路系统312可以基于由bito控制器电路系统302提供的指令执行块716的机器可读指令和/或操作。由bito控制器电路系统302提供的指令可被描述为状态机。结合图9进一步描述状态机和块716。
86.示例misr电路系统312确定预期misr值(块718)。预期misr值是签名,其表示来自块704的第一测试执行的可观察存储器电路的预期值,以及来自在块712停止的第二测试执行的可观察存储器电路系统的预期值。在一些示例中,示例misr电路系统312可以通过向misr电路系统312提供预期的存储器值以确定块718的签名来产生预期的misr。
87.示例ate电路系统100将块716的测得的misr值与块718的预期misr值进行比较(块720)。示例ate电路系统100可以比较签名以确定哪些存储器电路表现出故障。如果示例机器可读指令和/或操作由图2b的计算机电路系统208而不是图2a的示例计算机电路系统200执行,则示例诊断ate电路系统212而不是示例ate电路系统100执行块720的比较。示例机器可读指令和/或操作700在块720之后结束。
88.示例机器可读指令和/或操作700描述了计算机电路系统(例如,示例计算机电路系统200或计算机电路系统208),其在块704处对dut(例如,dut 206或dut 210)第一次完全运行测试,以及在块710和712处对dut第二次部分运行测试。然而,在一些示例中,示例bito控制器电路系统302可以提供指令以对dut 206运行测试两次以上。示例bito控制器电路系统302可以提供此类指令,以便实现更高的固定型覆盖率。
89.如果示例bito控制器电路系统302确定应该对示例dut 206运行第(n+1)次,则示例ecat扫描电路系统310仍然可以在块714处对第n次执行的结果执行ecat扫描。然而,在块716,misr电路系统312可能不会的第n次执行后计算测得的misr值。相反,在此类示例中,示例机器可读指令和/或操作700可以从块714循环回到块708,在此示例窗口确定器电路系统308确定将用于停止第(n+1)次执行的新的可观察时间窗口。然后,示例机器可读指令和/或操作700将如前所述通过块710、712和714进行。然后,如果bito控制器电路系统302确定不需要对dut 206第(n+2)次执行测试,则示例misr电路系统312可基于来自所有先前测试执行的可观察存储器值执行块716的misr计算。一旦在块716处计算了测得的misr值,则示例机器可读指令和/或操作如前所述进行到块718。
90.图8是表示示例过程的流程图,该示例过程可使用可执行的机器可读指令和/或配置为实施图3的窗口确定器电路系统,和/或更多地,图1的测试修改器电路系统的硬件来执行,以识别如图7所述的可观察时间窗口。具体而言,图8描述了机器可读指令和/或操作700如何实施图7的块708。当示例窗口确定器电路系统308识别在块704的测试执行中没有观察到的存储器电路时,开始实施块708(块802)。示例窗口确定器电路系统308识别在先前的测试模拟中仍未观察到的存储器电路。例如,在实施块802的第一实例中,示例窗口确定器电路系统308仅使用来自块706的ecat扫描(即,第一测试执行的结果)来确定哪些存储器值仍未观察到。在其中示例bito控制器电路系统302决定对dut 206运行测试两次以上的示例中,块706可以被实施一次以上。在此类示例中,在实施块802的第二实例中,示例窗口确定器电路系统308将使用来自块706和块714两者的ecat扫描(即,第一测试执行和第二测试执行两者的结果)以确定哪些存储器值仍未观察到。
91.示例窗口确定器电路系统308基于时钟频率的差异确定持续时间d(块804)。具体而言,块804的持续时间d是指先前结合图6描述的不确定的存储器持续时间。示例窗口确定器电路系统308将存储器306使用的时钟的频率与处理器电路系统304使用的时钟的频率的值进行比较,以停止测试执行。示例窗口确定器电路系统308使用时钟频率的差异来识别持续时间d。
92.示例窗口确定器电路系统308选择具有持续时间d的时间窗口(块806)。具体而言,示例窗口确定器电路系统308从块704的第一完整测试执行中的存储器值变化历史选择时间窗口。在块806的第一实施上,示例窗口确定器电路系统308选择存储器值变化历史的开始处的时间窗口。当使用时间戳描述时,第一个时间窗口可以写为[0,d]。在块806的后续实施上,示例窗口确定器电路系统308选择与前一个窗口相邻的时间窗口。例如,第二窗口时间可以被描述为[d,2d],第三时间窗口可以被描述为[2d,3d],等等。
[0093]
示例窗口确定器电路系统308对在块806的时间窗口期间在块802的存储器电路中观察到的故障数量进行计数(块808)。示例窗口确定器电路系统308可以使用任何数量的技术来识别和计数各种故障,如先前结合图6所述。
[0094]
示例窗口确定器电路系统308确定块806的时间窗口是否在块704的第一完整测试执行中的存储器值变化历史的结束处(块810)。如果示例窗口确定器电路系统308确定时间窗口不在存储器值变化历史的结束处(块810:否),则示例机器可读指令和/或操作700循环到块706,其中示例窗口确定器电路系统308选择具有持续时间d的新时间窗口。
[0095]
如果示例窗口确定器电路系统308确定时间窗口是在存储器值变化历史的结束处(块810:是),则示例窗口确定器电路系统308确定具有最大数量的观测的时间窗口作为可观察时间窗口(块812)。示例机器可读指令和/或操作700在块812之后返回到块708。
[0096]
图9是表示示例过程的状态机,该示例过程可使用可执行的机器可读指令和/或被配置为实施图4的bito控制器电路系统,和/或更一般地,图2a的测试修改器电路系统的硬件执行,以启动ecat扫描和测得的misr值,如图7所述。具体而言,图9展示了状态机,其描述了示例bito控制器电路系统302如何实施状态机以控制图7的测试修改。图9包括示例状态902、904、906、908、910、912、914、916、918、920、922,示例控制信号1024和示例执行流程表1026。
[0097]
在图9中描述为“init”的示例状态902是初始状态。在初始状态中,示例ecat扫描电路系统310或misr电路系统312都不执行操作。在一些示例中,当处于示例状态902时,计算机电路系统200和/或计算机电路系统208可被称为处于功能模式。当实施图7的块702和704时,示例计算机电路系统200和/或示例过程的状态机例计算机电路系统208可处于状态902。
[0098]
在图9中描述为“ecat_start”的示例状态904是指bito控制器电路系统302向处理器电路系统304发送指令以停止执行正在进行的dv测试的期间。在一些示例中,dut 206进一步包括时钟门电路系统。时钟门电路系统在启用时可允许处理器电路系统304根据dv测试执行操作,并可在禁用时停止或防止处理器电路系统304根据dv测试执行额外操作。在一些情况下,时钟门的启用可以指示为时钟门的打开,并且时钟门的禁用可以指示为时钟门的关闭。在此类示例中,bito控制器电路系统302在示例状态904期间向门电路系统提供指令。所提供的指令使门电路系统关闭,从而停止dv测试的执行。在一些示例中,当bito控制器电路系统302进入状态904时,计算机电路系统200和/或计算机电路系统208可以被称为已进入ecat扫描模式。
[0099]
在图9中描述为“b_se1_wait”的示例状态906是指bito控制器电路系统302在进入扫描移位模式之前等待一定数量的时钟周期的期间。示例状态906的时钟周期数可以由制造商预先确定。示例bito控制器电路系统302可能在状态906期间等待进入扫描移位模式,以便允许平滑的状态转换,可能需要这点以确保具有大传播延迟的某些信号的稳定时间。
[0100]
在图9中描述为“shift_en”的示例状态908是指bito控制器电路系统302向示例扫描链电路系统402发送指令以开始将存储器值从示例存储器306扫描到扫描链中的期间。在一些示例中,状态908可被描述为扫描移位模式的入口。
[0101]
在图9中描述为“a_se1_wait”的示例状态910是指示例bito控制器电路系统302在进入状态912之前等待一定数量的时钟周期的期间。在示例bito控制器电路系统302在状态910中等待的时间量期间,示例ecat扫描电路系统310可以完成从示例存储器306扫描示例存储器值、压缩扫描链以及掩蔽不可观察的存储器值,如先前结合图5、图6讨论的。状态910中的时钟周期的数量可以基于扫描链的长度。
[0102]
在图9中描述为“obs_rdy”的示例状态912是指示例bito控制器电路系统302向ecat扫描电路系统310发送指令,以开始将掩蔽输出506转移到可由misr电路系统312访问的示例存储器306的部分的期间。在一些示例中,可由misr电路系统312访问的示例存储器306的部分被称为misr寄存器。
[0103]
在图9中描述为“misr_shift_wait”的示例状态914是指示例bito控制器电路系统302等待ecat扫描电路系统310的一定数量的时钟周期以执行将掩蔽输出506移入misr寄存器中的过程的期间。状态914的块周期数可由掩蔽输出506中的压缩、掩蔽的扫描链的长度确定。类似地,在图9中描述为“shift_done”的示例状态916是指ecat扫描电路系统310已完成将掩蔽输出506移入misr寄存器中的期间。
[0104]
在图9中描述为“capt_misr”的示例状态918是指示例bito控制器电路系统302向misr电路系统312发送指令以计算misr值,重新配置被测设计从扫描模式回到功能模式,并且还可以禁用测试结果观察所需的对应元件,诸如misr的期间。misr电路系统312使用存储在misr寄存器中的值作为misr计算的输入。示例bito控制器电路系统302可以在示例misr电路系统312完成计算时在示例状态918中停留一定的时间量。
[0105]
在图9中描述为“shift_dis”的示例状态920是指示例bito控制器电路系统302向ecat扫描电路系统310提供指令以禁用扫描移位模式的期间。为了禁用扫描移位模式,示例ecat扫描电路系统310可以开始一个或多个操作以关闭与示例存储器306的通信通道。
[0106]
在图9中描述为“hlt”的示例状态922是指示例bito控制器电路系统302返回到状态902之前等待直到ecat扫描电路系统310已禁用ecat扫描模式的期间。示例bito控制器电路系统302等待的时间量可以取决于ecat扫描电路系统310完成在状态920中开始的操作所需的时间。
[0107]
示例控制信号924描述bito控制器电路系统302如何在图9的状态机中的状态之间转换。例如,当bito控制器电路系统302接收标记为“a”的控制信号时,控制器基于当前状态进入或继续ecat扫描模式。此外,当示例bito控制器电路系统302接收标记为“b”的控制信号时,控制器退出当前状态并转换到初始状态(状态902)。此外,当示例bito控制器电路系统302接收标记为“c”的控制信号时,对应于当前状态的计数器还没有完成。在此类示例中,计数器可以描述达到阈值数的变量,并在状态910、914、918中描述的时钟周期数后完成。类似地,当示例bito控制器电路系统302接收标记为“d”的控制信号时,对应于当前状态的计数器已完成。
[0108]
示例执行工作流程926描述了当计算机电路系统200执行机器可读指令和/或操作700时,bito控制器电路系统302所处的一个或多个状态。例如,执行工作流程表1026示出,当示例机器可读指令和/或操作700在块702处开始选择测试时,bito控制器电路系统302处于状态902(即,初始状态)。此外,在处理器电路系统304在块704处运行测试后,示例bito控制器电路系统302从状态902转换到状态904,并从状态904转换到状态906。然后,当示例ecat扫描电路系统310执行块706的ecat扫描时,示例bito控制器电路系统302从状态906转换到状态908、910、912、914和916。示例bito控制器电路系统302转换到并保持在针对图7的块708和710的示例状态902,其中示例窗口确定器电路系统308识别可观察时间窗口,并且处理器电路系统304开始第二次执行dv测试。当示例处理器电路系统304在块712处的可观察时间窗口期间停止dv测试的第二次执行时,示例bito控制器电路系统302从状态902转换
到状态904,再到状态906。在块714的ecat扫描期间,示例bito控制器电路系统302再次从状态906转换到状态908,910,912,914和916。然后,当示例misr电路系统312在块716处计算测得的misr值时,示例bito控制器电路系统302从状态916转换到状态918、920、922。当在块718中计算预期签名和当示例ate电路系统100在块720处比较签名时,示例bito控制器电路系统302退出到状态922。在一些示例中,因为在处于图9所展示的状态中的一个时由bito控制器电路系统302发送的指令,示例dut 206的部件可以执行由块704、706、712-716描述的操作。
[0109]
在本描述中,术语“和/或”(当以诸如a、b和/或c的形式使用时)是指a、b、c的任何组合或子集,诸如:(a)仅a;(b)仅b;(c)仅c;(d)a与b;(e)a与c;(f)b与c;以及(g)a与b与c。而且,如本文所用,短语“a或b中的至少一个”(或“a和b中的至少一个”)是指包括以下中的任一个的实施方式:(a)至少一个a;(b)至少一个b;以及(c)至少一个a和至少一个b。
[0110]
本文中所述的示例方法、设备和制品增加了dut中的可观察存储器值。在dut上完全模拟测试后,示例设备识别可观察时间窗口,其指示最大数量的剩余未观察到的存储器值何时将成为可观察的。示例设备开始额外的测试模拟,并在可观察时间窗口期间停止其执行。然后,该示例设备执行ecat扫描,以存储、压缩和掩蔽来自dut的处于其当前状态的值。示例设备计算misr值,其使用来自多个模拟的ecat扫描结果。在这样做时,示例设备计算misr值,其表示在每个测试模拟中观察到的存储器值。因此,与识别故障的先前解决方案相比,该示例设备产生了更大数量的可观察存储器值,并提高了dut的固定型覆盖率。
[0111]
术语“耦合”在整个说明书中使用。该术语可以涵盖实现与本描述一致的功能关系的连接、通信或信号路径。例如,如果装置a提供信号以控制装置b执行动作,则在第一示例中,装置a耦合到装置b,或在第二示例中,如果介于其间的部件c没有实质性地改变装置a和装置b之间的功能关系,则装置a通过介于其间的部件c耦合到装置b,使得装置b经由装置a提供的控制信号被装置a控制。
[0112]
被“配置为”执行任务或功能的装置可以在制造时由制造商配置(例如,编程和/或硬接线)以执行该功能,和/或可以在制造后由用户配置(或可重新配置)以执行该功能和/或其他额外或可替代功能。配置可以通过装置的固件和/或软件编程、通过装置的硬件部件和互连的构造和/或布局,或它们的组合来实行。
[0113]
如本文所用,术语“端子”、“节点”、“互连”、“引脚”和“引线”可互换使用。除非相反地具体陈述,否则这些术语通常用于指装置元件、电路元件、集成电路、装置或其他电子或半导体部件之间的互连或它们的端子。
[0114]
在本文中被描述为包括某些部件的电路或装置可以代替地适于耦合到那些部件以形成所描述的电路系统或装置。例如,被描述为包括一个或多个半导体元件(诸如晶体管)、一个或多个无源元件(诸如电阻器、电容器和/或电感器)和/或一个或多个源(诸如电压和/或电流源)的结构可以代替地在单个物理装置(例如半导体管芯和/或集成电路(ic)封装)内仅包括半导体元件,并可适于在制造时或在制造后例如,由终端用户和/或第三方耦合到无源元件和/或源中的至少一些以形成所描述的结构。
[0115]
本文中描述的电路可重新配置以包括被替换的部件,以提供至少部分类似于在部件替换之前可用的功能。除非另有陈述,否则示出为电阻器的部件通常表示串联和/或并联耦合的任何一个或多个元件,以提供由所示电阻器表示的阻抗量。例如,本文中示出和描述
为单个部件的电阻器或电容器可以代替地分别是在相同的节点之间并联耦合的多个电阻器或电容器。例如,本文中示出和描述为单个部件的电阻器或电容器可以代替地分别是在和单个电阻器或电容器相同的两个节点之间串联耦合的多个电阻器或电容器。
[0116]
如本文所用,术语非暂时性计算机可读介质、非暂时性计算机可读存储介质、非暂时性机器可读介质和非暂时性机器可读存储介质被明确定义为包括任何类型的计算机可读存储装置和/或存储盘,并且排除传播信号和排除传输介质。如本文所用,术语“计算机可读存储装置”和“机器可读存储装置”被定义为包括用于存储信息的任何物理(机械和/或电气)结构,但排除传播信号和排除传输介质。计算机可读存储装置和机器可读存储装置的示例包括任何类型的随机存取存储器、任何类型的只读存储器、固态存储器、闪存、光盘、磁盘、盘驱动器和/或独立磁盘冗余阵列(raid)系统。
[0117]
在所描述的实施例中可以进行修改,并且在权利要求的范围内,其他实施例是可能的。

技术特征:
1.一种用于检测处理器中的故障的装置,所述装置包括:内置的测试观察控制器电路系统即bito控制器电路系统,其被配置为:获得测试;向所述处理器发送第一指令,以通过修改存储在多个存储器电路中的值来开始执行所述测试;向所述处理器发送第二指令,以在第一模拟时间停止执行所述测试,其中在所述测试执行的第二模拟时间期间不可观察的一个或多个存储器值在所述第一模拟时间期间可观察;以及扫描电路系统,其被配置为在所述测试停止时从所述多个存储器电路选择所述值的子集;以及签名电路系统,其被配置为:基于所述值的所述子集确定逻辑签名;以及提供所述逻辑签名以用于与预期签名进行比较,其中所述逻辑签名与所述预期签名之间的差异对应于所述处理器中的故障。2.根据权利要求1所述的装置,其中为了从所述多个存储器电路选择所述值的所述子集,所述扫描电路系统进一步被配置为:从所述bito控制器电路系统接收第三指令;以及基于所述第三指令,将来自所述多个存储器电路的值存储到第一量的链中;将所述值从所述第一量的链压缩到第二量的链中,所述第二量的链少于所述第一量的链;以及掩蔽来自所述第二量的链的所述值中的某种值,所掩蔽存储器值是不可观测的,未掩蔽存储器值形成所选子集。3.根据权利要求1所述的装置,其中:值的所述所选子集被存储在多输入签名寄存器即misr中;以及为了计算所述逻辑签名,所述签名电路系统进一步被配置为使用所述misr执行计算。4.根据权利要求1所述的装置,其中:所述测试执行是部分测试执行;以及所述bito控制器电路系统进一步被配置为:使所述处理器执行完整测试执行,所述完整测试执行在所述第二模拟时间期间停止;以及使所述处理器在所述第一模拟时间之后执行所述部分测试执行。5.根据权利要求4所述的装置,其中:所述值的所述子集是在所述部分测试执行之后获得的值的第一子集;所述扫描电路系统进一步被配置为选择在所述完整测试执行之后获得的值的第二子集;以及所述签名电路系统进一步被配置为基于值的所述第一子集和值的所述第二子集确定所述逻辑签名。6.根据权利要求1所述的装置,进一步包括诊断的自动测试装备电路系统,其被配置为将所述逻辑签名与所述预期签名进行比较。
7.根据权利要求1所述的装置,其中:所述签名电路系统进一步被配置为向自动测试装备电路系统即ate电路系统提供所述逻辑签名,所述ate电路系统与所述装置分离;以及所述ate电路系统进一步被配置为将所述逻辑签名与所述预期签名进行比较。8.根据权利要求1所述的装置,其中:所述装置是集成电路;以及所述bito控制器电路系统和所述处理器在所述集成电路上实施。9.一种用于检测处理器中的故障的方法,所述方法包括:执行测试,所述测试使处理器修改存储在多个存储器电路中的值;在第一模拟时间停止执行所述测试,其中在所述测试执行的第二模拟时间期间不可观察的一个或多个存储器值在所述第一模拟时间期间可观察;当所述测试停止时,从所述多个存储器电路选择所述值的子集;基于所述值的所述子集确定逻辑签名;以及提供所述逻辑签名以用于与预期签名进行比较,其中所述逻辑签名与所述预期签名之间的差异对应于所述处理器中的故障。10.根据权利要求9所述的方法,其中从所述多个存储器电路选择所述值的所述子集进一步包括:将来自所述多个存储器电路的值存储到第一量的链中;将所述值从所述第一量的链压缩到第二量的链中,所述第二量的链小于所述第一量的链;以及掩蔽来自所述第二量的链的所述值中的某种值,所掩蔽存储器值不可观察,未掩蔽存储器值形成所选子集。11.根据权利要求9所述的方法,其中:值的所述所选子集被存储在多输入签名寄存器即misr中;以及确定所述逻辑签名进一步包括使用所述misr执行计算。12.根据权利要求9所述的方法,其中:所述测试执行是部分测试执行;以及所述方法进一步包括:执行完整测试执行,所述完整测试执行在所述第二模拟时间期间停止;以及在所述第一模拟时间之后执行所述部分测试执行。13.根据权利要求12所述的方法,其中:所述值的所述子集是在所述部分测试执行之后获得的值的第一子集;以及所述方法进一步包括:选择在所述完整测试执行之后获得的值的第二子集;以及基于值的所述第一子集和值的所述第二子集确定所述逻辑签名。14.根据权利要求12所述的方法,进一步包括基于在所述完整测试执行期间所述存储器电路的所述值的变化历史,确定何时停止所述部分测试执行。15.一种包括指令的非暂时性机器可读介质,所述指令在执行时使至少一个处理器:开始执行测试,所述测试使处理器修改存储在多个存储器电路中的值;
在第一模拟时间停止执行所述测试,其中在所述测试执行的第二模拟时间期间不可观察的一个或多个存储器值在所述第一模拟时间期间可观察;当所述测试停止时,从所述多个存储器电路选择所述值的子集;基于所述值的所述子集确定逻辑签名;以及提供所述逻辑签名以用于与预期签名进行比较,其中所述逻辑签名与所述预期签名之间的差异对应于所述处理器中的故障。16.根据权利要求15所述的非暂时性机器可读介质,其中为了从所述多个存储器电路选择所述值的所述子集,所述指令在执行时使所述至少一个处理器至少:将来自所述多个存储器电路的值存储到第一量的链中;将所述值从所述第一量的链压缩到第二量的链中,所述第二量的链少于所述第一量的链;以及掩蔽来自所述第二量的链的所述值中的某种值,所掩蔽存储器值不可观察,未掩蔽存储器值形成所选子集。17.根据权利要求15所述的非暂时性机器可读介质,其中:值的所述所选子集被存储在多输入签名寄存器即misr中;以及为了确定所述逻辑签名,所述指令在执行时使所述至少一个处理器使用所述misr执行计算。18.根据权利要求15所述的非暂时性机器可读介质,其中:所述测试执行是部分测试执行;以及所述指令在执行时使所述至少一个处理器:执行完整测试执行,所述完整测试执行在所述第二模拟时间期间停止;以及在所述第一模拟时间之后执行所述部分测试执行。19.根据权利要求18所述的非暂时性机器可读介质,其中所述指令在执行时使所述至少一个处理器基于在所述完整测试执行期间所述存储器电路的所述值的变化历史,确定何时停止所述部分测试执行。20.根据权利要求18所述的非暂时性机器可读介质,其中:所述值的所述子集是在所述部分测试执行之后获得的值的第一子集;所述指令在执行时使所述至少一个处理器选择在所述完整测试执行之后获得的值的第二子集。

技术总结
本申请涉及用于识别处理器中的故障的方法和设备。示例装置(206)包括内置的测试观察控制器电路系统(302),其被配置为:获得测试;向处理器(304)发送第一指令,以通过修改存储在多个存储器电路(306)中的值来开始执行测试;向处理器(304)发送第二指令,以在第一模拟时间停止执行测试,其中在测试执行的第二模拟时间期间不可观察的一个或多个存储器值在第一模拟时间期间可观察;以及增强型芯片访问跟踪扫描电路系统(310),其被配置为在测试停止时从多个存储器电路选择值的子集;以及签名电路系统(312),其被配置为:基于值的子集确定逻辑签名;以及提供逻辑签名以用于与预期签名进行比较,其中逻辑签名与预期签名之间的差异对应于处理器中的故障。应于处理器中的故障。应于处理器中的故障。


技术研发人员:D
受保护的技术使用者:德克萨斯仪器股份有限公司
技术研发日:2023.04.11
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐