CN110291588B - 自测试控制器以及用于控制自测试的方法 - Google Patents

自测试控制器以及用于控制自测试的方法 Download PDF

Info

Publication number
CN110291588B
CN110291588B CN201880011527.0A CN201880011527A CN110291588B CN 110291588 B CN110291588 B CN 110291588B CN 201880011527 A CN201880011527 A CN 201880011527A CN 110291588 B CN110291588 B CN 110291588B
Authority
CN
China
Prior art keywords
test
data
vector
memory
vectors
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.)
Active
Application number
CN201880011527.0A
Other languages
English (en)
Other versions
CN110291588A (zh
Inventor
A·贾恩
N·布珊辛
R·古拉蒂
P·布彦
R·K·金杰
R·亚沃布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN110291588A publication Critical patent/CN110291588A/zh
Application granted granted Critical
Publication of CN110291588B publication Critical patent/CN110291588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31724Test controller, e.g. BIST state machine
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Display Devices Of Pinball Game Machines (AREA)

Abstract

一种自测试控制器(100),包括被配置为存储测试模式的存储器(104)、配置寄存器(102)和存储器数据组件。使用各种技术将测试模式编码在存储器中以便节省存储空间。通过使用配置参数,存储器数据组件被配置为译码测试模式并且在多个测试核(706)上执行多个内置自测试。所描述的技术允许在利用存储器中的较少空间的同时动态地执行内置自测试。

Description

自测试控制器以及用于控制自测试的方法
相关申请的交叉引用
本申请要求于2017年2月13日提交的题为“IN-FIELD SELF-TEST CONTROLLER FORSAFETY CRITICAL AUTOMOTIVE USE CASES”的美国临时申请序列号62/458,534和于2017年12月7日提交的题为“IN-FIELD SELF-TEST CONTROLLER FOR SAFETY CRITICALAUTOMOTIVE USE CASES”的美国专利申请号15/835,227的权益,其全部内容通过引用明确地并入本文。
技术领域
本公开总体上涉及自测试控制器,并且更具体地涉及用于安全关键汽车用例的现场自测试控制器。
背景技术
国际标准化组织(ISO)26262是用于汽车中的电气/电子系统的功能安全的国际标准。ISO 26262定义了汽车电子/电气系统的整个生命周期内的汽车设备的功能安全。一个关键的功能安全要求是确保安全相关的汽车电子/电气系统的完整性。安全相关的汽车电子/电气系统的完整性可以通过现场自测试来检查。需要与安全相关的汽车电子/电气系统的现场自测试相关的新的设备和方法。
发明内容
在本公开的一个方面,公开了一种自测试控制器。自测试控制器包括存储器,存储器被配置为存储包括测试子模式的测试模式,使得每个测试子模式包括测试向量,并且测试子模式的每个测试子模式中的测试向量对应于多个测试核中的不同测试核。自测试控制器还包括被配置为存储配置参数的配置寄存器,该配置参数指示被测试启用的多个测试核的子集。此外,自测试控制器还具有存储器数据组件,存储器数据组件被配置为上载测试模式并且译码在与配置参数指示为被测试启用的多个测试核的子集相对应的测试子模式的子集中的测试向量。以这种方式,需要较少的存储空间来将测试模式存储在存储器中,因为不必为可以启用和禁用的每个测试核组合存储测试模式。
在另一方面,公开了一种自测试控制器,其包括存储器和存储器数据组件。存储器被配置为存储第一测试数据和第一重复值。存储器数据组件被配置为上载来自存储器的第一测试数据和第一重复值,并且存储器数据组件被配置为生成第一组测试向量,使得第一组测试向量中的每个测试向量包括作为第一测试数据的副本的测试数据,并且第一组测试向量中的测试向量的数目与所述第一重复值相对应。以这种方式,不必重复存储重复测试数据,从而节省了存储器中的存储空间。
附图说明
图1是示出示例性自测试控制器的图。
图2是示出示例性自测试控制器数据流的图。
图3示出了用于存储在图1和2中所示的自测试控制器的ROM中的16位测试向量的编码方案的一个示例。
图4示出了用于存储在图1和2中所示的自测试控制器的ROM中的16位测试向量的编码方案的另一示例。
图5示出了用于存储在图1和2中所示的自测试控制器的ROM中的64位测试向量的编码方案的一个示例。
图6示出了用于存储在图1和2中所示的自测试控制器的ROM中的64位测试向量的编码方案的一个示例。
图7是示出自测试控制器集成细节的图。
图8是示出可以由图1和2中所示的自测试控制器执行的示例性方法的一个流程图。
图9是示出可以由图1和2中所示的自测试控制器执行的示例性方法的另一流程图。
具体实施方式
以下结合附图阐述的详细描述旨在作为各种配置的描述,而非旨在表示可以实践本文中描述的概念的仅有配置。详细描述包括具体细节以用于提供对各种概念的透彻理解的目的。然而,对于本领域技术人员,很清楚的是,这些概念可以在没有这些具体细节的情况下实践。在一些实例中,公知的结构和组件以框图形式示出,以避免模糊这些概念。装置和方法将在以下详细描述中描述,并且可以在附图中通过各种框、模块、组件、电路、步骤、过程、算法、元件等来说明。
ISO 26262是用于汽车(公路车辆)中的电气/电子系统的功能安全的国际标准。ISO 26262的一个关键要求是确保与安全相关的汽车电子/电气系统完整性被保持,并且继续执行系统被设计的功能。安全相关的汽车电子/电气系统的完整性可以通过现场自测试来检查。现场自测试可以在硅的寿命期间检测任何结构硬件故障,并且可以在系统加电时,在现场运行期间以及在开始关机时执行。以下提供关于知识产权(IP)逻辑测试核和存储器的结构现场测试的示例性方法和装置。现场测试可以被称为自测试内置的现场逻辑(LBIST)和自测试内置的存储器(MBIST)。安全关键汽车应用/系统可能涉及使用中央处理单元(CPU)、数字信号处理器(DSP)、网络处理单元(NPU)、专用硬件加速器等。安全关键汽车应用/系统的一些示例包括仪器集群显示系统、高级驾驶员辅助系统(ADAS)和环绕视图系统。
支持结构场测试的能力是一个巨大的挑战,这种挑战在用于支持预闭合硬宏上的这种测试而不修改硬宏的情况下增长了多倍。此外,从芯片面积的角度来看,存储大量片上测试刺激以实现所需要的测试覆盖是一个挑战。此外,可能需要在现场运行附加的按需(非计划)结构测试案例,以便针对更高的汽车安全完整性等级(ASIL)安全关键用例进行调试或覆盖增强。最后,可能需要在现场为多个并行IP运行多个按需结构测试用例。为了解决这些问题,下面参考图1-9提供示例性自测试控制器。
图1是示出示例性自测试控制器100的图。自测试控制器100可以被视为测试器设备的片上硬件抽象,其能够应用刺激并且比较片上存储在的刺激结果的。自测试控制器100包括数据处理单元118、高级风险机(ARM)、高级微控制器总线架构(AMBA)/高级可扩展接口(AXI)、配置寄存器块102、只读存储器(ROM)104和复位/时钟块106。数据处理单元118包括地址指针生成块108、存储器数据精细状态机(FSM)110、联合测试动作组(JTAG)接口112、状态/中断生成块114以及选通和数据记录块116。
存储器数据FSM 110被配置为实现JTAG编码/译码方案,该方案减少了ROM 104中用于可以通过自测试控制器100实现的多个BIST的空间。存储器数据FSM 110被配置将译码的JTAG向量提供给JTAG接口112,JTAG接口112根据JTAG实现方案实现译码的JTAG向量,以便测试核实现BIST。ROM 104被配置为存储由存储器数据FSM 110编码的测试模式,以通过自测试控制器100的协调来减少实现多个BIST所需要的空间。
在一个方面,多个BIST可以由JTAG接口112并行实现。更具体地,可以利用单个测试模式来同时实现各种BIST。在这种情况下,测试模式可以包括测试子模式,其中每个测试子模式用于由不同测试核实现的不同BIST。因此,每个测试子模式包括测试向量,并且测试子模式的每个测试子模式中的测试向量对应于多个测试核中的不同测试核。
自测试控制器100允许BIST的动态选择以实现,从而可以实现BIST的任何组合。因此,在一些方面,JTAG接口112被配置为并行实现测试模式的所有BIST,并行地实现测试模式的一些BIST,或者仅实现测试模式的BIST之一。然而,为可能实现或可能不实现的BIST的每个组合提供测试模式将消耗ROM 104中的过量存储空间。
因此,在一个实现中,假定要实现所有BIST,存储要并行实现的多个BIST的测试模式。因此,测试模式的每个测试向量存储JTAG向量的测试数据和测试核标识符,该测试核标识符标识测试向量被指向的测试核。配置寄存器块102可以包括配置寄存器,配置寄存器被配置为存储配置参数,该配置参数指示被测试启用的多个测试核的子集。存储器数据FSM110被配置为上载测试模式并且译码测试子模式的子集中的测试向量,该测试子模式的子集与多个测试核的子集相对应,配置参数指示该多个测试核为被测试启用。
更具体地,存储器数据FSM 110被配置为读取配置寄存器块102中的配置参数,该配置参数指示哪个测试核是被测试启用以及哪个测试核是被测试禁用。如上所述,假定要实现所有BIST,存储要并行实现的多个BIST的测试模式。然而,对于测试模式中的每个测试向量,存储器数据FSM 110被配置为读取测试向量的核标识符,并且确定核标识符是否标识被启用的测试核之一。响应于测试向量的测试核标识符,存储器数据FSM 110被配置为忽略测试模式的测试向量,该测试核标识符标识被测试禁用的测试核。另一方面,存储器数据FSM 110被配置为译码测试向量,并且响应于标识被测试启用的测试核的存储器数据FSM110,生成具有测试向量的测试数据的JTAG向量。
以这种方式,即使在假定要实现所有BIST的情况下存储测试模式,存储器数据FSM110也被配置为为测试向量生成JTAG向量,该测试向量被指向被测试启用的测试核。因此,不必为可能启用或禁用的可能测试核的每个组合存储测试模式。相反,假定要实现所有BIST,存储要并行实现的多个BIST的测试模式,但是存储器数据FSM 110被配置为从被指向被测试启用的测试核的测试向量生成JTAG向量,如测试核的唯一提供的JTAG向量所描述的,该测试核根据配置寄存器块102中的配置参数被测试启用。因此,由于用于测试启用和测试禁用的测试核的每个组合的测试模式不需要被存储在ROM 104中,因此ROM 104中存储的测试模式较少。
在另一方面,存储器数据FSM 110被配置为生成编码的测试模式并且将其存储在ROM 104中,使得不必在ROM 104中连续重复重复的测试数据。更具体地,ROM 104被配置为在测试数据重复时存储测试数据和重复值。存储器数据FSM 110被配置为上载来自ROM 104的测试数据和重复值。在这种情况下,存储器数据FSM 110被配置为生成一组测试向量,使得测试向量集合中的每个测试向量包括作为所存储的测试数据的副本的测试数据。该组重复测试向量中的测试向量的数目对应于存储在ROM 104中的重复值。重复值可以指示测试数据是冗余的。因此,不是存储相同测试向量的重复,而是可以使用重复值来简单地指示测试数据被重复的次数。
在一个示例中,存储器数据FSM 110被配置为接收包括测试数据的第一编码测试向量,其中存储器数据FSM 110被配置为通过生成具有测试数据的副本的第一JTAG向量来译码第一编码测试向量。接下来,存储器数据FSM 110被配置为接收包括重复值的第二编码测试向量。然后,存储器数据FSM 110被配置为生成作为第一JTAG向量的副本的多个JTAG向量。因此,多个JTAG向量中的每个JTAG向量包括来自第一编码测试向量的测试数据的副本。包括测试数据的副本的JTAG向量的数目根据第二编码测试向量中的重复值来确定。
在另一示例中,存储器数据FSM 110被配置为接收来自ROM 104的测试向量,该测试向量包括测试数据和重复值的编码。存储器数据FSM 110被配置为通过生成一组JTAG向量来对编码测试向量进行译码,每个JTAG向量具有来自编码测试向量的测试数据的副本。该组JTAG向量中的JTAG向量的数目(即,重复的数目)基于编码测试向量的重复值。然后,存储器数据FSM 110被配置为将该组译码的重复JTAG向量提供给JTAG接口112。
如图所示,数据处理单元118被配置为加载和执行来自ROM 104的所需要的测试向量。然而,数据处理单元118还被配置为加载和执行来自四元组串行外围接口(QSPI)闪存、安全数字(SD)卡、双倍数据速率(DDR)同步动态随机存取存储器(SDRAM)和随机存取存储器(RAM)的所需要的测试向量。此外,通过将启动器实例化为自测试控制器架构的一部分,自测试控制器100可以发出并发JTAG向量,以同时在多个IP核(逻辑和/或存储器)上执行自测试。具体地,通过软件,自测试控制器100可以配置/控制IP核(逻辑和/或存储器)上的哪些测试并行运行以及IP核(逻辑和/或存储器)上的哪些测试串行运行。
自测试控制器100使得能够以压缩的(编码)格式将编码测试向量存储在自测试ROM 104中。地址指针生成块108被配置用于动态地址指针生成,动态地址指针生成使得一个或多个IP核测试能够根据容错时间间隔(FTTI)要求并行运行。地址指针生成块108被配置为生成动态地址指针,动态地址指针由存储器数据FSM 110接收。存储器数据FSM 110被配置为上载由动态地址指针指示的测试向量。例如,存储器数据FSM 110可以基于动态地址指循环访问代测试模式的测试向量。另外,地址指针生成块108可以生成动态地址指针,使得存储器数据FSM 110实现测试模式的切片的测试向量。在一个方面,切片可以是测试模式中的测试子模式。地址指针生成块108可以基于AHB/AXI配置寄存器块102中的软件可编程寄存器来生成动态地址指针。
状态/中断生成块114将自测试控制器100与片上系统(SoC)上的其他组件联系。具体地,地址指针生成块108可以从AHB/AXI配置寄存器块102中的软件编程寄存器获取编码测试向量,并且可以向存储器数据FSM 110提供一个或多个向量。存储器数据FSM 110可以基于所提供的向量从ROM 104获取编码/压缩测试数据,并且可以将编码/压缩的测试数据提供给JTAG接口112。JTAG接口112对编码测试数据进行译码/解压缩,并且将译码/解压缩的测试数据应用于IP测试核。
图2是示出图1所示的自测试控制器100的示例性自测试控制器数据流200的图。ROM 104具有以编码格式存储的不同测试模式。对于BIST,存储器数据FSM 110被配置为对编码的测试模式进行译码,并且生成根据JTAG接口要求而格式化的译码的测试模式。基于在AHB/AXI配置寄存器块102中作为配置参数提供的软件编程值(例如,核选择、切片选择、运行时间BIST和通电BIST),地址指针生成块108被配置为生成要应用于测试核的不同测试向量的起始地址(即,图2中的START_ADDRESS)和结束地址(即,图2中的END_ADDRESS)。例如,AHB/AXI配置寄存器块102可以包括配置寄存器,配置寄存器被配置为存储配置参数,诸如核的总数(图2中的M)、切片的总数(图2中的N)、切片长度(图2中的SLICE_LENGTH)和测试设置长度(图2中的TEST_SETUP_LENGTH)。软件可以将起始地址和结束地址编程到配置寄存器中,配置寄存器可以由地址指针生成块108读取。
存储器数据FSM 110被配置为读取AHB/AXI配置寄存器块102中的配置参数,并且生成测试模式的起始地址(或测试模式的切片)和测试模式的结束地址(或测试模式的切片)。存储器数据FSM 110被配置为从地址指针生成块108接收起始地址和结束地址,并且基于起始地址和结束地址上载测试模式(其可以是整个测试模式或更大的测试模式的切片)。
上载测试模式中的测试向量的方式还取决于ROM 104中的测试向量的编码。如图2所示,ROM 104被配置为输出由存储器数据FSM 110上载的64位数据字。因此,当存储器数据FSM 110从测试模式的起始地址前进到结束地址时,存储器数据FSM 110被配置为将测试模式作为64位数据字的序列上载。在该示例中,每个64位数据字包括多个编码测试向量。更具体地,如下面进一步详细说明的,每个编码测试向量由16位提供。因此,每个64位数据字包括4个编码测试向量。因此,不是每64位数据字提供一个测试向量,而是对测试模式进行编码,使得每64位数据字提供4个编码测试向量。因此,这为测试模式提供了更有效的存储配置。存储器数据FSM 110被配置为对16位编码测试向量进行译码,如下面进一步详细说明的。
存储器数据FSM 110被配置为对16位编码测试向量进行译码,以便从16位编码测试向量生成JTAG向量。因此,对来自ROM 114的测试子模式的子集进行译码以生成JTAG测试模式,该子集与被测试启用的测试核相对应。JTAG测试模式包括JTAG向量的JTAG子模式,其用于不同的被测试启用的测试核的BIST。存储器数据FSM 110被配置为向JTAG接口112提供具有JTAG向量的JTAG测试模式。在一个方面,存储器数据FSM 110被配置为通过JTAG接口112将JTAG模式应用于被测试启用的测试核,以便由多个测试核的子集并行实现JTAG子模式,如下面进一步详细说明的。在另一方面,存储器数据FSM 110被配置为通过JTAG接口112将JTAG模式应用于被测试启用的测试核,以便由被测试启用的测试核串行实现JTAG子模式,如下面进一步详细解释的。
如图2所示,JTAG接口112被配置为以JTAG模式应用JTAG向量序列,并且根据JTAG测试规范将它们应用于测试核。例如,JTAG接口112可以被配置为从由存储器数据FSM 110提供的JTAG向量生成测试数据输入(TDI)、测试复位(TRSTN)、测试模式选择(TMS)和测试时钟(TCLK)信号。这些信号可以根据来自JTAG向量的测试数据生成,并且被排序以通过JTAG接口112对适当测试核执行BIST。
选通和数据记录块116被配置为接收测试数据输出(TDO),TDO指示来自测试核的BIST的结果。此外,JTAG接口112可以被配置为为选通和数据记录块116生成TDO值(其指示在没有错误的情况下BIST的预期结果)和TDO掩码(其在TDO值以十六进制表示时比较TDO和TDO值时使用)。选通和数据记录块116被配置为将来自JTAG向量中的测试数据的TDO值与由测试核实现的BIST产生的TDO进行比较。选通和数据记录块116可以包括简单的比较逻辑,该比较逻辑实现这些比较,以连续监测选通脉冲并且断言动态故障和粘性故障信号,并且因此监测BIST的通过/失败状态。选通和数据记录块116还可以实现基于计数器的监测以确定失败的BIST并且报告10个故障,其中AHB/AXI配置寄存器块102中的失败地址(例如,FAIL_ROM_ADDRESS[10])对应于来自ROM 104的失败的测试子模式。
选通和数据记录块116被配置为向状态/中断生成块114提供动态故障和粘性故障信号。此外,存储器数据FSM 110被配置为向状态/中断生成块114提供完成信号和运行/忙信号。该状态/中断生成块114被配置为生成不同的状态和中断信号,这些信号被监测并且被用于写入AHB/AXI配置寄存器块102中的状态寄存器,如图2所示。例如,可以通过配置寄存器映射来检查不同的状态信号。该块还将处理自测试控制器100的中止功能,该中止功能基于可以中止运行BIST并且复位所有Juelich数字读出系统(JDR)和运行测试核的特定软件可编程位。这可以将测试核作为被测设备(DUT)返回以进行进一步操作,并且可以断言中止状态信号。
图3示出了存储在ROM 104中的16位测试向量的编码方案的一个示例图300。如上所述,存储器数据FSM 110被配置为在每个特定上载期间接收来自ROM 104的64位数据字。因此,对于存储器数据FSM 110的从ROM 104进行的每次读取操作,图3所示的16位测试向量中的四个测试向量可以在数据字中被接收。
如图3所示,16位测试向量的位0是有效位。有效位由存储器数据FSM 110用来确定测试向量的信息字段是否有效。16位测试向量的1-2位用作2位操作码。存储器数据FSM 110被配置为读取16位测试向量中的2位操作码,以确定在图3中所示的编码测试向量中编码什么信息。
当操作码为00时,操作码指示位4-16都包括JTAG测试向量的测试数据。无论自测试控制器100是串行还是并行实现BIST,操作码都可以是00。位3当前被保留,并且可以在将来指定。位4用于表示JTAG向量的TDI_VALUE。位5用于表示JTAG向量的TMS_VALUE。位6用于表示JTAG向量的TRSTN_VALUE。位7用于表示JTAG向量的TCK_EN_VALUE。位8用于表示JTAG向量的TDO_MASK值。位9用于表示JTAG向量的TDO_CMP_VALUE。位10用于表示JTAG向量的TDI_VALUE。位11用于表示JTAG向量的TMS_VALUE。位12用于表示JTAG向量的另一TRSTN_VALUE。位13用于表示JTAG向量的另一TCK_EN_VALUE。位14用于表示JTAG向量的另一TDO_MASK值。位15用于表示JTAG向量的另一TDO_CMP_VALUE。响应于操作码00,存储器数据FSM 110被配置为生成具有来自位4-9的测试数据的JTAG向量和具有来自图3所示的测试向量的位10-15的测试数据的另一JTAG向量。
当操作码为11时,自测试控制器100可以在各种启用的测试核上并行地实现多个BIST。与前一种情况一样,位4-9包括测试数据。位4用于表示JTAG向量的TDI_VALUE。位5用于表示JTAG向量的TMS_VALUE。位6用于表示JTAG向量的TRSTN_VALUE。位7用于表示JTAG向量的TCK_EN_VALUE。位8用于表示JTAG向量的TDO_MASK值。位9用于表示JTAG向量的TDO_CMP_VALUE。然而,在这种情况下,操作码是11表示位10-15包括测试核标识符,该标识符标识测试向量被指向的测试核。这样,存储器数据FSM 110被配置为确定由测试向量的测试核标识符标识的相应的测试核是否在多个测试核的子集中,该多个测试核由AHB/AXI配置寄存器块102中的配置参数测试启用。存储器数据FSM 110被配置为响应于确定相应的测试核在多个测试核的子集中而生成包括测试向量的位4-9中的测试数据的JTAG向量,该相应的测试核由测试向量的测试核标识符标识,该多个测试核由AHB/AXI配置寄存器块102中的配置参数测试启用。然而,响应于AHB/AXI配置寄存器块102中的配置参数,存储器数据FSM110简单地忽略测试向量,该配置参数指示由测试向量的测试核标识符标识的测试核被测试禁用。以这种方式,可以将测试模式写为假定正在实现测试模式的所有BIST并且存储器数据FSM 110可以简单地检查AHB/AXI配置寄存器块102以确定特定测试核是否被测试启用。这样,可以被启用或禁用的测试核的每个可能组合的每个测试模式不必写入ROM 104以进行并行操作。因此,这种编码方案显著节省了存储空间,特别是当测试核数目很高时。
当操作码为01时,自测试控制器100可以在被启用的测试核上串行地实现BIST。另外,当操作码为01时,ROM 104被配置为存储编码测试向量以包括位4-9中的重复值和位10-15中的测试数据。位10用于表示JTAG向量的TDI_VALUE。位11用于表示JTAG向量的TMS_VALUE。位12用于表示JTAG向量的另一TRSTN_VALUE。位13用于表示JTAG向量的另一TCK_EN_VALUE。位14用于表示JTAG向量的另一TDO_MASK值。位15用于表示JTAG向量的另一TDO_CMP_VALUE。
操作码01指示位10-15中的测试数据是重复的并且应当针对一组JTAG向量重复,其中JTAG向量的重复次数基于图3所示的测试向量的位4-9中的重复值。因此,存储器数据FSM 110被配置为通过译码图3中所示的测试向量来生成该组JTAG向量,因此,该组JTAG向量中的每个JTAG向量包括位10-15中的测试数据的副本。以这种方式,可以在不总是重复重复的测试数据的情况下写入测试模式,并且因此编码方案允许显著节省ROM 104中的存储。
当操作码为10时,自测试控制器100可以在被启用的测试核上串行地实现BIST。此外,当操作码为10时,ROM 104被配置为存储编码测试向量以包括位4-9中的重复值和位10-15中的重复值。因此,操作码10指示先前测试向量中的测试数据是重复的。例如,ROM 114可以被配置为存储编码测试向量,该编码测试向量包括位4-9和位10-15中的测试数据,其操作码为00,如上所述。然后,ROM 114可以被配置为存储另一编码测试向量,该另一编码测试向量包括位4-9中的重复值和位10-15中的重复值,其操作码10。
存储器数据FSM 110被配置为上载具有操作码00的编码测试向量,并且生成具有位4-9的测试数据的副本的第一JTAG向量和具有位10-15中的测试数据的副本的第二JTAG向量。然后,存储器数据FSM 110被配置为上载具有操作码10的编码测试向量,并且生成作为第一JTAG向量的副本的第一组JTAG向量。第一组JTAG向量中的JTAG向量的数目基于操作码为10的测试向量的位4-9中的重复值。此外,存储器数据FSM 110被配置为生成作为第二JTAG向量的副本的第二组JTAG向量。第二组JTAG向量中的JTAG向量的数目基于操作码为10的测试向量的位10-15中的重复值。以这种方式,可以在不总是重复重复的测试数据的情况下写入测试模式,并且因此,编码方案允许显著节省ROM 104中的存储。
图4示出了存储在ROM 104中的16位测试向量的编码方案的另一示例图400。如上所述,存储器数据FSM 110被配置为在每次特定上载期间接收来自ROM 104的64位数据字。因此,对于存储器数据FSM 110的从ROM 104进行的每次读取操作,图4中所示的16位测试向量中的四个测试向量可以在数据字中被接收。
如图4所示,16位测试向量的位0是有效位。有效位由存储器数据FSM 110用来确定测试向量的信息字段是否有效。16位测试向量的位1用作1位操作码。存储器数据FSM 110被配置为读取16位测试向量中的1位操作码,以确定在图4中所示的编码测试向量中编码什么信息。
当操作码为0时,操作码指示位4-16都包括JTAG测试向量的测试数据。无论自测试控制器100是串行还是并行实现BIST,操作码都可以是0。位2和位3当前被保留,并且可以在将来指定。位4用于表示JTAG向量的TDI_VALUE。位5用于表示JTAG向量的TMS_VALUE。位6用于表示JTAG向量的TRSTN_VALUE。位7用于表示JTAG向量的TCK_EN_VALUE。位8用于表示JTAG向量的TDO_MASK值。位9用于表示JTAG向量的TDO_CMP_VALUE。位10用于表示JTAG向量的TDI_VALUE。位11用于表示JTAG向量的TMS_VALUE。位12用于表示JTAG向量的另一TRSTN_VALUE。位13用于表示JTAG向量的另一TCK_EN_VALUE。位14用于表示JTAG向量的另一TDO_MASK值。位15用于表示JTAG向量的另一TDO_CMP_VALUE。响应于操作码0,存储器数据FSM110被配置为生成具有来自位4-9的测试数据的JTAG向量和具有来自图4所示的测试向量的位10-15的测试数据的另一JTAG向量。
当操作码为1时,自测试控制器100可以在各种启用的测试核上并行地实现多个BIST。与前一种情况一样,位10-15包括测试数据。位10用于表示JTAG向量的TDI_VALUE。位11用于表示JTAG向量的TMS_VALUE。位12用于表示JTAG向量的TRSTN_VALUE。位13用于表示JTAG向量的TCK_EN_VALUE。位14用于表示JTAG向量的TDO_MASK值。位15用于表示JTAG向量的TDO_CMP_VALUE。然而,在这种情况下,操作码是1表示位4-9包括下一测试向量的重复计数。存储器数据FSM 110被配置为上载具有操作码1的编码测试向量,并且获取重复值。然后,存储器数据FSM 110被配置为上载具有操作码0的编码测试向量,并且生成一组JTAG向量,每个JTAG向量具有操作码为0的测试向量的位4-9中的测试数据的副本。JTAG向量集合中的JTAG向量的数目根据从具有操作码1的编码测试向量获取的重复值来提供。以这种方式,可以在不总是重复重复的测试数据的情况下写入测试模式,并且因此,编码方案允许显著节省ROM 104中的存储。
图5示出了存储在ROM 104中的64位测试向量的编码方案的另一示例图500。如上所述,存储器数据FSM 110被配置为在每个特定上载期间接收来自ROM 104的64位数据字。在这种情况下,对于存储器数据FSM 110的从ROM 104进行的每次读取操作,图5中所示的64位测试向量之一可以在数据字中接收。
如图5所示,64位测试向量的位0是有效位。有效位由存储器数据FSM 110用来确定测试向量的信息字段是否有效。64位测试向量的位1-3用作3位操作码。存储器数据FSM 110被配置为读取64位测试向量中的3位操作码,以确定在图5中所示的编码测试向量中编码什么信息。位4是用于确定位5-63是否都是数据位或者位5-8是否指示要从位9-63获取的数据长度的位。更具体地,如果位4是0,则位5-63被认为是测试数据。但是,如果位4是1,则位5-8表示位长。存储器数据FSM 110被配置为获取位9-63的子集作为测试数据。
如图5所示,当位1-3是000时,位5-63或9-63中没有数据。当位1-3是001时,位5-63或9-63中存在TDI。当位1-3是010时,位5-63或9-63中存在TMS。当位1-3是011时,位5-63或9-63中存在TRSTN。当位1-3是100时,位5-63或9-63中有TCK_EN。当位1-3是101时,位5-63或9-63中存在TDO_MASK。当位1-3是110时,位5-63或9-63中存在TDO_COMP。
图6示出了存储在ROM 104中的64位测试向量的编码方案的另一示例图600。如上所述,存储器数据FSM 110被配置为在每个特定上载期间接收来自ROM 104的64位数据字。在这种情况下,对于存储器数据FSM 110的从ROM 104进行的每次读取操作,图6中所示的64位测试向量之一可以在数据字中接收。
如图6所示,64位测试向量的位0是有效位。有效位由存储器数据FSM 110用来确定测试向量的信息字段是否有效。64位测试向量的位1-3用作3位操作码。存储器数据FSM 110被配置为读取64位测试向量中的3位操作码,以确定在图6中所示的编码测试向量中编码什么信息。位4是用于确定位5-63是否都是数据位或者位5-8是否指示要从位9-63获取的数据长度的位。更具体地,如果位4是0,则位5-63被认为是测试数据。但是,如果位4是1,则位5-8表示位长。存储器数据FSM 110被配置为获取位9-63的子集作为测试数据。
在图6中,操作码指示JTAG接口112的指令类型。当位1-3是000时,指示NOP指令,NOP指令指示检测到设备但未识别出JTAG标识符。当位1-3是001时,指示加载IR指令,加载IR指令指示JTAG接口112中的指令寄存器将被加载TDO测试数据。当位1-3是010时,指示加载DR指令,加载DR指令指示JTAG接口中的数据寄存器将被加载TDI测试数据。当位1-3是011时,指示加载DR附加指令,加载DR附加指令指示JTAG接口中数据寄存器中的测试数据应当被附加TDI测试数据。当位1-3是100时,指示捕获DR指令,捕获DR指令指示应当捕获数据寄存器中的测试数据,并且将其作为所捕获的TDO掩码数据加载到移位寄存器中。当位1-3是101时,指示捕获DR指令,捕获DR指令指示应当捕获数据寄存器中的测试数据,并且将其作为所捕获的TDO比较数据加载到移位寄存器中。
图7是示出自测试控制器集成细节700的图。嵌入式逻辑和存储器测试(ELMT)核706可以将LBIST和MBIST集成在内。当操作BIST时,LBIST/MBIST的JTAG接口经由自测试控制器100被截取和控制。所有向量通过自测试控制器100以JTAG序列的形式被应用。自测试控制器可以被耦合到电源/复位控制器708,电源/复位控制器708可以提供电力和/或复位自测试控制器。自测试控制器100还可以被耦合到互连块710。如图3所示,自测试控制器100可以与ELMT核706接口以进行测试。还可以通过外部测试器,通过测试访问端口(TAP)块702和JTAG块704来执行测试。
图8示出了示例性方法的示例性流程图800,其示出了可以由诸如上面描述并且在图1和图2中示出的自测试控制器100等装置执行。在802,该装置将包括测试子模式的测试模式存储在存储器(例如,ROM 104)中,使得每个测试子模式包括测试向量,并且每个测试子模式中的测试向量对应于多个测试核中的不同测试核(例如,ELMT核706)。此外,在804,该装置可以将配置参数存储在配置寄存器中,该配置数据指示被测试启用的多个测试核的子集。然后,在806,该装置可以使用存储器数据组件(例如,存储器数据FSM 110)从存储器上载测试模式。如上所述,这可以通过地址指针生成块108完成,地址指针生成块108确定测试模式的起始地址和结束地址,并且将起始地址和结束地址提供给存储器数据FSM 110。
在808,该装置可以使用存储器数据组件译码在测试子模式的子集中的测试向量,该测试子模式的子集与多个测试核的子集相对应,配置参数指示该多个测试核为被测试启用。以这种方式,假定正在为所有测试核实现所有BIST,可以将测试模式存储在存储器中。然后,存储器数据组件可以基于指示哪些测试核被测试启用的配置参数来选择要为BIST译码哪些测试向量。因此,在810,该装置可以忽略不在测试子模式的子集中的测试向量,该测试子模式的子集与配置参数指示为被测试启用的多个测试核的子集相对应。
在一些方面,该装置可以通过生成JTAG向量来译码测试向量,译码的测试向量然后可以被输出到JTAG接口(即,JTAG接口112)。因此,由于存储器存储编码的测试模式,该装置的译码可以导致该装置生成包括JTAG子模式的JTAG模式,使得每个JTAG子模式包括JTAG向量。JTAG子模式可以每个对应于配置参数指示为被测试启用的多个测试核的子集中的不同的一个测试核。因此,该装置可以通过JTAG接口将JTAG模式应用于多个测试核的子集,使得JTAG子模式由多个测试核的子集并行实现。
在一些方面,存储器被配置为存储测试子模式的测试向量,使得每个测试向量被编码为包括测试数据和核标识符,核标识符标识多个测试核中的相应的测试核。为了执行808,在812,对于测试向量中的每个测试向量,该装置可以确定由测试向量的核标识符标识的相应的测试核是否在由配置参数测试启用的多个测试核的子集中。然后,在814,该装置可以响应于确定相应的测试核在多个测试核的子集中,生成包括测试向量的测试数据的译码测试向量,该相应的测试核由测试向量的测试核标识符标识,该多个测试核由配置参数测试启用。在一些方面,测试模式是可以被称为切片的另一测试模式的一部分。因此,存储器可以存储另一测试模式,使得测试模式是被包括作为另一测试模式的切片的测试子模式。通过编码方案,可以在存储器中大量节省存储空间,因为必须存储可能被测试启用或可能没有被测试启用的每个测试核的每个测试模式,以便提供要实现的BIST的动态选择。
图9示出了描述由装置执行的示例性方法的流程图900。该装置可以是上述自测试控制器100。在902,该装置可以将第一测试数据和第一重复值存储在存储器(例如,ROM104)中。在904,该装置可以使用存储器数据组件(例如,存储器数据FSM 110)上载第一测试数据和第一重复值。在906,该装置可以生成第一组测试向量,使得第一组测试向量中的每个测试向量包括作为第一测试数据的副本的测试数据,并且第一组测试向量中的测试向量的数目与所述第一重复值相对应。以这种方式,通过利用第一重复值,不必将相同测试向量的多个副本存储在存储器中。
在一些方面,该装置可以将包括第一测试数据和第一重复值的第一编码测试向量存储在存储器中,这是902的实现。这对应于与操作码01相关联的图3中的实现。因此,该装置可以通过使用存储器数据组件上载来自存储器的第一编码测试向量来在904上载来自存储器的第一测试数据和第一重复值。另外,该装置可以通过译码第一编码测试向量在906处生成第一组测试向量,以便使用存储器数据组件生成第一组测试向量。
在一些方面,该装置可以通过在测试模式中上载数据字来上载测试模式。上述第一编码测试向量可以在这些数据字之一中提供。其他编码测试向量也可以作为数据字的一部分被提供。在上述一个示例中,每个编码测试向量是16位,而数据字是64位,因此每个数据字包括4个16位向量。通过译码每个数据字中的4个16位向量,该装置可以前进通过数据字,直到测试模式中的所有数据字都已经被译码。因此,在一些方面,该装置可以将包括第一编码测试向量的数据字存储在存储器中,其中上载第一编码测试向量包括从存储器上载数据字。因此,该装置可以译码多个编码测试向量中的每个编码测试向量,其包括译码第一编码测试向量以便生成第一组测试向量。
在一些方面,从第一编码测试向量生成的第一组测试向量可以是第一组JTAG向量。以这种方式,可以将JTAG向量序列提供给JTAG接口112,使得BIST可以由测试核(例如,ELMT核706)串行地实现。
在一个方面,利用操作码来描述测试模式中的编码测试向量的数据字段和结构。集成到编码测试向量中的操作码允许更紧凑的布置,因为这允许相同测试数据的更少重复。例如,存储器(例如,ROM 104)被配置为存储第一编码测试向量,使得第一编码测试向量用第一操作码(例如,上面图3中的操作码01)被编码,该第一操作码指示第一编码测试向量包括具有第一测试数据的第一数据字段和具有第一重复值的第一重复字段。在906的一个实现中,在908,该装置可以读取第一操作码。然后,在910,该装置可以响应于读取第一操作码,从第一编码测试向量的第一数据字段提取第一测试数据,并且从第一编码测试向量的第一重复字段提取第一重复值。然后,在912,该装置可以响应于提取第一测试数据和第一重复值,生成第一组测试向量。
在另一方面,测试数据和重复值被存储在单独的测试向量中,如关于上面关于图3所述的操作码10所解释的。因此,在一些方面,该装置可以将包括第一测试数据的第一编码测试向量和包括第一重复值的第二编码测试向量存储在存储器中,这是902的实现。在904,通过上载来自存储器的第一编码测试向量和第二编码测试向量,该装置上载来自存储器的第一测试数据和第一重复值。另外,在906,通过译码第一编码测试向量和第二编码测试向量以便生成第一组测试向量,该装置可以生成第一组测试向量。
在一些方面,该装置可以通过在测试模式中上载数据字来上载测试模式。包括测试数据的第一编码测试向量和包括重复值的第二编码测试向量可以在这些数据字中的一个或多个中提供。其他编码测试向量也可以作为数据字的一部分被提供。在上述一个示例中,每个编码测试向量是16位,而数据字是64位,因此每个数据字包括4个16位向量。通过译码每个数据字中的4个16位向量,该装置可以前进通过数据字,直到测试模式中的所有数据字都已经被译码。因此,在一些方面,该装置可以将包括第一编码测试向量的数据字存储在存储器中,其中上载第一编码测试向量包括从存储器上载数据字。因此,该装置可以译码多个编码测试向量中的每个编码测试向量,其包括译码第一编码测试向量和第二编码测试向量以便生成第一组测试向量。
在一些方面,从第一编码测试向量和第二编码测试向量生成的第一组测试向量可以是第一组JTAG向量。以这种方式,可以将JTAG向量序列提供给JTAG接口112,使得BIST可以由测试核(例如,ELMT核706)串行地实现。
在一个方面,利用操作码来描述测试模式中的编码测试向量的数据字段和结构。集成到编码测试向量中的操作码允许更紧凑的布置,因为这允许相同测试数据的更少重复。例如,存储器(例如,ROM 104)被配置为存储第一编码测试向量,使得第一编码测试向量用第一操作码(例如,上面图3中的操作码00)被编码,该第一操作码指示第一编码测试向量包括具有第一测试数据的第一数据字段,并且存储器还被配置为存储第二编码测试向量,使得第二编码测试向量用第二操作码(例如,上面图3中的操作码10)被编码,该第二操作码指示第二编码测试向量包括具有第一重复值的第一重复字段。在906的一个实现中,在914,该装置可以读取第一操作码。然后,在916,该装置可以从第一编码测试向量的第一数据字段提取第一测试数据,并且响应于提取第一测试数据,生成第一组测试向量中的第一测试向量。此外,在918,该装置可以读取第二操作码。然后,在920,该装置可以响应于读取第二操作码,从第二编码测试向量的第一重复字段提取第一重复值,并且响应于提取第一重复值,生成第一组测试向量中的其他测试向量。
自测试控制器100可以是实现上面关于图7描述的过程的装置。自测试控制器100包括存储器104、配置寄存器102和存储器数据组件110。存储器104被配置为存储包括测试子模式的测试模式,使得每个测试子模式包括测试向量并且每个测试子模式中的测试向量对应于多个测试核706的不同测试核。配置寄存器102被配置为存储配置参数,该配置参数指示被测试启用的多个测试核706的子集。另外,存储器数据组件110被配置为上载测试模式并且译码测试子模式的子集中的测试向量,该测试子模式的子集与多个测试核的子集相对应,配置参数指示该多个测试核为被测试启用的。此外,存储器数据组件被配置为忽略不在测试子模式的子集中的测试向量,该测试子模式的子集与配置参数指示为被测试启用的多个测试核的子集相对应。
在一个方面,存储器数据组件110被配置为译码测试子模式的子集中的测试向量以便生成JTAG测试向量。因此,存储器数据组件110可以生成包括JTAG子模式的JTAG模式,使得每个JTAG子模式包括JTAG向量,该JTAG向量与配置参数指示为被测试启用的多个测试核706的子集中的不同测试核相对应。自测试控制器100还可以包括与多个测试核706可操作地相关联的JTAG接口112。存储器数据组件110被配置为通过JTAG接口112将JTAG模式应用于多个测试核706的子集,使得JTAG子模式由多个测试核的子集并行实现。
在一个实现中,存储器104被配置为存储测试子模式的测试向量,使得每个测试向量被编码为包括测试数据和核标识符,核标识符标识多个测试核706中的相应的测试核。存储器数据组件110可以被配置为通过以下方式来译码与被测试启用的多个测试核的子集相对应的测试子模式的子集中的测试向量:1)对于测试向量中的每个测试向量,确定由测试向量的核标识符标识的相应测试核是否在由配置参数测试启用的多个测试核的子集中,以及2)响应于确定由测试向量的核标识符标识的相应的测试核在由配置参数测试启用的多个测试核的子集中,生成包括测试向量的测试数据的译码测试向量。
在一个方面,存储器104被配置为存储另一测试模式,使得测试模式是被包括作为另一测试模式的切片的测试子模式。在一些方面,存储器数据组件110是存储器数据有限状态机。在其他方面,存储器104是只读存储器(ROM)。另外,配置寄存器102可以是高级微控制器总线架构(AMBA)寄存器和/或高级可扩展接口(AXI)寄存器。
在一些实现中,存储器104被配置为存储第一测试数据和第一重复值。存储器数据组件110可以被配置为上载来自存储器104的第一测试数据和第一重复值。存储器数据组件110可以被配置为生成第一组测试向量,使得第一组中测试向量的每个测试向量包括作为第一测试数据的副本的测试数据,并且第一组测试向量中的测试向量的数目与所述第一重复值相对应。
在一个方面,存储器104被配置为存储包括第一测试数据和第一重复值的第一编码测试向量。存储器数据组件110被配置为通过上载来自存储器104的第一编码测试向量来上载来自存储器104的第一测试数据和第一重复值,并且被配置为通过译码第一编码测试向量以生成第一组测试向量以便生成第一组测试向量。
在一些实现中,存储器104被配置为存储包括第一编码测试向量的数据字,并且存储器数据组件110被配置为通过上载数据字来上载第一编码测试向量。数据字包括多个编码测试向量,使得多个编码测试向量包括第一编码测试向量,并且存储器数据组件110被配置为译码多个编码测试向量中的每个编码测试向量,其包括译码第一编码测试向量以便生成第一组测试向量。
在一些实现中,第一组译码测试向量是第一组JTAG向量。存储器104被配置为存储第一编码测试向量,使得第一编码测试向量用第一操作码被编码,第一操作码指示第一编码测试向量包括具有第一测试数据的第一数据字段和具有第一重复值的第一重复字段。存储器数据组件110被配置为通过以下方式译码第一编码测试向量,以便生成第一组测试向量:读取第一操作码,响应于读取第一操作码,从第一编码测试向量的第一数据字段提取第一测试数据,并且从第一编码测试向量的第一重复字段提取第一重复值,以及响应于提取第一测试数据和第一重复值,生成第一组测试向量。
在另一实现中,存储器104被配置为存储包括第一测试数据的第一编码测试向量和包括第一重复值的第二编码测试向量。存储器数据组件110被配置为通过上载来自存储器104的第一编码测试向量和第二编码测试向量来上载来自存储器104的第一测试数据和第一重复值。存储器数据组件110还被配置为通过译码第一编码测试向量和第二编码测试向量以便生成第一组测试向量来生成第一组测试向量。
在一个方面,存储器104被配置为存储包括第一编码测试向量和第二编码测试向量的数据字。存储器数据组件110被配置为通过上载数据字来上载第一编码测试向量和第二编码测试向量。例如,数据字包括多个编码测试向量,使得多个编码测试向量包括第一编码测试向量和第二编码测试向量。存储器数据组件110被配置为译码多个编码测试向量中的每个编码测试向量,其包括译码第一编码测试向量和第二编码测试向量以便生成第一组测试向量。
在另一方面,存储器104被配置为存储第一编码测试向量,使得第一编码测试向量用第一操作码被编码,该第一操作码指示第一编码测试向量包括具有第一测试数据的第一数据字段,并且存储器104被配置为存储第二编码测试向量,使得第二编码测试向量用第二操作码被编码,该第二操作码指示第二编码测试向量包括具有第一重复值的第一重复字段。存储器数据组件110被配置为通过以下方式译码第一编码测试向量和第二编码测试向量以便生成第一组测试向量:读取第一操作码,从第一编码测试向量的第一数据字段提取第一测试数据,响应于提取第一测试数据,生成第一组测试向量的第一测试向量,读取第二操作码,响应于读取第二操作码,从第二编码测试向量的第一重复字段提取第一重复值,并且响应于提取第一重复值,生成第一组测试向量中的其他测试向量。
应当理解,所公开的过程中的步骤的特定顺序或层次是示例性方法的说明。应当理解,基于设计偏好,可以重新排列过程中的步骤的特定顺序或层次。此外,可以组合或省略一些步骤。所附方法权利要求以样本顺序呈现各个步骤的元素,而非表示限于所呈现的特定顺序或层次。
该装置可以包括执行上述图8-9的流程图中的算法的每个块的附加组件。这样,上述图8-9的流程图中的每个块可以由组件执行,并且该装置可以包括这些组件中的一个或多个。组件可以是一个或多个硬件组件,这些硬件组件特别地被配置为执行所述过程/算法,由被配置为执行所述过程/算法的处理器实现,存储在计算机可读介质内以供处理器实现,或者其某种组合。提供先前的描述是为了使得所属领域的技术人员能够实践本文中所描述的各种方面。对于本领域技术人员来说,对这些方面的各种修改是很清楚的,并且本文中定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是与符合语言权利要求的全部范围相一致,其中除非具体如此陈述,否则对单数元素的引用并非旨在表示“仅一个”,而是表示“一个或多个”。“示例性”一词在本文中用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为优选的。除非另外特别说明,否则术语“一些”是指一个或多个。诸如“A、B或C中的至少一个”、“A、B和C中的至少一个”和“A、B、C或其任何组合”等组合包括A、B和/或C的任何组合,并且可以包括多个A、多个B或多个C。具体地,诸如“A、B或C中的至少一个”、“A、B和C中的至少一个”和“A、B、C或其任何组合”等组合可以是仅A、仅B、仅C、A和B、A和C、B和C、或A和B和C,其中任何这样的组合可以包含A、B或C中的一个或多个成员。术语“连接”表示“直接连接”。术语“耦合”表示通过其他元件“连接”或“间接连接”。本领域普通技术人员已知或以后将知道的贯穿本公开内容所描述的各个方面的元件的所有结构和功能等同物通过引用明确地并入本文,并且旨在由权利要求书涵盖。此外,无论在权利要求中是否明确地叙述了这样的公开内容,本文中公开的内容都不旨在致力于公众。除非使用短语“用于......的手段”明确地叙述该要素,否则权利要求要素不应当被解释为手段加功能。

Claims (27)

1.一种自测试控制器,包括:
存储器,被配置为存储包括测试子模式的第一测试模式,使得所述测试子模式中的每个测试子模式包括测试向量,并且所述测试子模式中的每个测试子模式中的所述测试向量对应于多个测试核中的不同测试核,其中测试核是通过应用所述测试向量中的一个测试向量被测试的核;
配置寄存器,被配置为存储配置参数,所述配置参数指示被测试启用的所述多个测试核的子集;以及
存储器数据组件,被配置为上载所述第一测试模式并且译码在与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应的所述测试子模式的子集中的所述测试向量。
2.根据权利要求1所述的自测试控制器,其中所述存储器数据组件被配置为忽略不在所述测试子模式的所述子集中的所述测试向量,所述测试子模式的所述子集与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应。
3.根据权利要求1所述的自测试控制器,其中所述存储器数据组件被配置为译码所述测试子模式的所述子集中的所述测试向量,以便生成联合测试行动组JTAG测试向量。
4.根据权利要求1所述的自测试控制器,还包括与所述多个测试核可操作地相关联的联合测试行动组JTAG接口,其中所述存储器数据组件被配置为:
译码所述测试子模式的所述子集中的所述测试向量,以便生成包括JTAG子模式的JTAG模式,使得所述JTAG子模式中的每个JTAG子模式包括与所述配置参数指示为被测试启用的所述多个测试核的所述子集中的不同测试核相对应的JTAG向量;以及
通过所述JTAG接口将所述JTAG模式应用于所述多个测试核的所述子集,使得所述JTAG子模式由所述多个测试核的所述子集并行实现。
5.根据权利要求1所述的自测试控制器,其中所述存储器被配置为存储所述测试子模式的所述测试向量,使得所述测试向量中的每个测试向量被编码为包括测试数据和核标识符,所述核标识符标识所述多个测试核中的相应的测试核。
6.根据权利要求1所述的自测试控制器,其中所述存储器被配置为存储第二测试模式,使得所述第一测试模式是被包括作为所述第二测试模式的切片的测试子模式。
7.根据权利要求1所述的自测试控制器,其中所述存储器数据组件包括存储器数据有限状态机。
8.根据权利要求1所述的自测试控制器,其中:
所述存储器还被配置为存储第一编码测试向量,所述第一编码测试向量包括具有第一测试数据的第一数据字段、具有第一重复值的第一重复字段、以及指示所述第一编码测试向量包括具有所述第一测试数据的所述第一数据字段和具有所述第一重复值的所述第一重复字段的第一操作码;以及
所述存储器数据组件被配置为:
上载来自所述存储器的所述第一编码测试向量;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据,并且从所述第一编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一测试数据和所述第一重复值,生成第一组测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
9.根据权利要求1所述的自测试控制器,其中:
所述存储器还被配置为存储第一编码测试向量和第二编码测试向量,其中所述第一编码测试向量包括具有第一测试数据的第一数据字段和指示所述第一编码测试向量包括所述第一数据字段的第一操作码,并且其中所述第二编码测试向量包括具有第一重复值的第一重复字段和指示所述第二编码测试向量包括所述第一重复字段的第二操作码;以及
所述存储器数据组件还被配置为:
上载来自所述存储器的所述第一编码测试向量;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据;
响应于提取所述第一测试数据,生成第一组测试向量中的第一测试向量;
上载来自所述存储器的所述第二编码测试向量;
读取所述第二操作码;
响应于读取所述第二操作码,从所述第二编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一重复值,生成所述第一组测试向量中的其他测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
10.一种用于控制自测试的方法,包括:
将包括测试子模式的第一测试模式存储在存储器中,使得所述测试子模式中的每个测试子模式包括测试向量,并且所述测试子模式中的每个测试子模式中的所述测试向量对应于多个测试核中的不同测试核,其中测试核是通过应用所述测试向量中的一个测试向量被测试的核;
将配置参数存储在配置寄存器中,所述配置参数指示被测试启用的所述多个测试核的子集;
使用存储器数据组件上载来自所述存储器的所述第一测试模式;以及
使用所述存储器数据组件译码在与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应的所述测试子模式的子集中的所述测试向量。
11.根据权利要求10所述的方法,还包括忽略不在所述测试子模式的所述子集中的所述测试向量,所述测试子模式的所述子集与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应。
12.根据权利要求10所述的方法,其中译码所述测试子模式的所述子集中的所述测试向量,包括生成联合测试行动组JTAG测试向量。
13.根据权利要求10所述的方法,其中联合测试行动组JTAG接口与所述多个测试核可操作地相关联,其中译码所述测试子模式的所述子集中的所述测试向量包括生成包括JTAG子模式的JTAG模式,使得所述JTAG子模式中的每个JTAG子模式包括与所述配置参数指示为被测试启用的所述多个测试核的所述子集中的不同测试核相对应的JTAG向量,并且其中所述方法还包括:
通过所述JTAG接口将所述JTAG模式应用于所述多个测试核的所述子集,使得所述JTAG子模式由所述多个测试核的所述子集并行实现。
14.根据权利要求10所述的方法,其中所述存储器被配置为存储所述测试子模式的所述测试向量,使得所述测试向量中的每个测试向量被编码为包括测试数据和核标识符,所述核标识符标识所述多个测试核中的相应的测试核。
15.根据权利要求10所述的方法,其中所述存储器被配置为存储第二测试模式,使得所述第一测试模式是被包括作为所述第二测试模式的切片的测试子模式。
16.根据权利要求10所述的方法,其中所述存储器数据组件包括存储器数据有限状态机。
17.根据权利要求10所述的方法,还包括:
将第一编码测试向量存储在所述存储器中,其中所述第一编码测试向量包括具有第一测试数据的第一数据字段、具有第一重复值的第一重复字段、以及指示所述第一编码测试向量包括具有所述第一测试数据的所述第一数据字段和具有所述第一重复值的所述第一重复字段的第一操作码;以及
将来自所述存储器的所述第一编码测试向量上载到所述存储器数据组件;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据,并且从所述第一编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一测试数据和所述第一重复值,使用所述存储器数据组件生成第一组测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
18.根据权利要求10所述的方法,还包括:
将第一编码测试向量和第二编码测试向量存储在所述存储器中,其中所述第一编码测试向量包括具有第一测试数据的第一数据字段和指示所述第一编码测试向量包括所述第一数据字段的第一操作码,并且其中所述第二编码测试向量包括具有第一重复值的第一重复字段和指示所述第二编码测试向量包括所述第一重复字段的第二操作码;
将来自所述存储器的所述第一编码测试向量上载到所述存储器数据组件;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据;
响应于提取所述第一测试数据,使用所述存储器数据组件生成第一组测试向量中的第一测试向量;
将来自所述存储器的所述第二编码测试向量上载到所述存储器数据组件;
读取所述第二操作码;
响应于读取所述第二操作码,从所述第二编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一重复值,使用所述存储器数据组件生成所述第一组测试向量中的其他测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
19.一种存储计算机可执行代码的非暂态计算机可读介质CRM,包括用于以下操作的代码:
将包括测试子模式的第一测试模式存储在存储器中,使得所述测试子模式中的每个测试子模式包括测试向量,并且所述测试子模式中的每个测试子模式中的所述测试向量对应于多个测试核中的不同测试核,其中测试核是通过应用所述测试向量中的一个测试向量被测试的核;
将配置参数存储在配置寄存器中,所述配置参数指示被测试启用的所述多个测试核的子集;
使用存储器数据组件上载来自所述存储器的所述第一测试模式;以及
使用所述存储器数据组件译码在与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应的所述测试子模式的子集中的所述测试向量。
20.根据权利要求19所述的CRM,其中所述代码被配置为忽略不在所述测试子模式的所述子集中的所述测试向量,所述测试子模式的所述子集与所述配置参数指示为被测试启用的所述多个测试核的所述子集相对应。
21.根据权利要求19所述的CRM,其中所述代码被配置为通过生成联合测试行动组JTAG测试向量来译码所述测试子模式的所述子集中的所述测试向量。
22.根据权利要求19所述的CRM,其中联合测试行动组JTAG接口与所述多个测试核可操作地相关联,并且其中所述代码被配置为通过生成包括JTAG子模式的JTAG模式来译码所述测试子模式的所述子集中的所述测试向量,使得所述JTAG子模式中的每个JTAG子模式包括与所述配置参数指示为被测试启用的所述多个测试核的所述子集中的不同测试核相对应的JTAG向量,并且其中所述代码还被配置为通过所述JTAG接口将所述JTAG模式应用于所述多个测试核的所述子集,使得所述JTAG子模式由所述多个测试核的所述子集并行实现。
23.根据权利要求19所述的CRM,其中所述存储器被配置为存储所述测试子模式的所述测试向量,使得所述测试向量中的每个测试向量被编码为包括测试数据和核标识符,所述核标识符标识所述多个测试核中的相应的测试核。
24.根据权利要求19所述的CRM,其中所述存储器被配置为存储第二测试模式,使得所述第一测试模式是被包括作为所述第二测试模式的切片的测试子模式。
25.根据权利要求19所述的CRM,其中所述存储器数据组件包括存储器数据有限状态机。
26.根据权利要求19所述的CRM,其中所述代码还被配置为:
将第一编码测试向量存储在所述存储器中,其中所述第一编码测试向量包括具有第一测试数据的第一数据字段、具有第一重复值的第一重复字段、以及指示所述第一编码测试向量包括具有所述第一测试数据的所述第一数据字段和具有所述第一重复值的所述第一重复字段的第一操作码;以及
将来自所述存储器的所述第一编码测试向量上载到所述存储器数据组件;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据,并且从所述第一编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一测试数据和所述第一重复值,使用所述存储器数据组件生成第一组测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
27.根据权利要求19所述的CRM,其中所述代码还被配置为:
将第一编码测试向量和第二编码测试向量存储在所述存储器中,其中所述第一编码测试向量包括具有第一测试数据的第一数据字段和指示所述第一编码测试向量包括所述第一数据字段的第一操作码,并且其中所述第二编码测试向量包括具有第一重复值的第一重复字段和指示所述第二编码测试向量包括所述第一重复字段的第二操作码;
将来自所述存储器的所述第一编码测试向量上载到所述存储器数据组件;
读取所述第一操作码;
响应于读取所述第一操作码,从所述第一编码测试向量的所述第一数据字段提取所述第一测试数据;
响应于提取所述第一测试数据,使用所述存储器数据组件生成第一组测试向量中的第一测试向量;
将来自所述存储器的所述第二编码测试向量上载到所述存储器数据组件;
读取所述第二操作码;
响应于读取所述第二操作码,从所述第二编码测试向量的所述第一重复字段提取所述第一重复值;以及
响应于提取所述第一重复值,使用所述存储器数据组件生成所述第一组测试向量中的其他测试向量,其中所述第一组测试向量中的每个测试向量包括作为所述第一测试数据的副本的测试数据,并且所述第一组测试向量中的所述测试向量的数目与所述第一重复值相对应。
CN201880011527.0A 2017-02-13 2018-01-26 自测试控制器以及用于控制自测试的方法 Active CN110291588B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762458534P 2017-02-13 2017-02-13
US62/458,534 2017-02-13
US15/835,227 US10481202B2 (en) 2017-02-13 2017-12-07 In-field self-test controller for safety critical automotive use cases
US15/835,227 2017-12-07
PCT/US2018/015578 WO2018148038A1 (en) 2017-02-13 2018-01-26 In-field multi core self-test controller with stored test pattern for safety critical automotive use cases

Publications (2)

Publication Number Publication Date
CN110291588A CN110291588A (zh) 2019-09-27
CN110291588B true CN110291588B (zh) 2023-05-30

Family

ID=63104562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880011527.0A Active CN110291588B (zh) 2017-02-13 2018-01-26 自测试控制器以及用于控制自测试的方法

Country Status (6)

Country Link
US (1) US10481202B2 (zh)
EP (1) EP3580762B1 (zh)
CN (1) CN110291588B (zh)
SG (1) SG11201905685XA (zh)
TW (1) TWI710779B (zh)
WO (1) WO2018148038A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190018408A1 (en) * 2017-07-12 2019-01-17 Qualcomm Incorporated Systems and methods for verifying integrity of a sensing system
US11003153B2 (en) * 2017-11-17 2021-05-11 Intel Corporation Safety operation configuration for computer assisted vehicle
US10838835B2 (en) * 2017-12-29 2020-11-17 Intel Corporation Scheduling periodic CPU core diagnostics within an operating system during run-time
WO2020047485A1 (en) * 2018-08-31 2020-03-05 Nvidia Corporation Test system for executing built-in self-test in deployment for automotive applications
US10775434B2 (en) * 2018-09-26 2020-09-15 Intel Corporation System, apparatus and method for probeless field scan of a processor
US10818374B2 (en) 2018-10-29 2020-10-27 Texas Instruments Incorporated Testing read-only memory using memory built-in self-test controller
GB2592436B (en) * 2020-02-28 2022-02-23 Imagination Tech Ltd Critical workload check
GB2592437B (en) * 2020-02-28 2022-03-02 Imagination Tech Ltd Critical workload check
US11360870B2 (en) * 2020-03-26 2022-06-14 Intel Corporation Functional safety compliant self-testing
CN114281751B (zh) * 2020-09-28 2024-01-02 上海商汤智能科技有限公司 芯片系统
US20230384363A1 (en) * 2020-12-04 2023-11-30 Em Microelectronic-Marin S.A. Test logic method for an integrated circuit device
US11634895B2 (en) * 2021-01-29 2023-04-25 Qualcomm Incorporated Dynamically re-configurable in-field self-test capability for automotive systems
KR20230160547A (ko) * 2022-05-17 2023-11-24 삼성전자주식회사 오토모티브 장치의 결함 검출 시스템
CN116860536B (zh) * 2023-09-05 2023-11-28 武汉凌久微电子有限公司 Gpu芯片的快速ft测试系统、测试设备及测试方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496820B1 (en) * 2006-03-07 2009-02-24 Xilinx, Inc. Method and apparatus for generating test vectors for an integrated circuit under test
CN102880536A (zh) * 2012-09-07 2013-01-16 杭州中天微系统有限公司 一种多核处理器的jtag调试方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US100231A (en) * 1870-02-22 Improvement in ditchers
US6249893B1 (en) 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US7260762B2 (en) * 2004-07-26 2007-08-21 Motorola, Inc. Decoder performance for block product codes
WO2008047179A1 (en) 2006-10-20 2008-04-24 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
DE102006059156B4 (de) * 2006-12-14 2008-11-06 Advanced Micro Devices, Inc., Sunnyvale Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
DE102006059158B4 (de) * 2006-12-14 2009-06-10 Advanced Micro Devices, Inc., Sunnyvale Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
US8310265B2 (en) 2007-05-02 2012-11-13 Nxp B.V. IC testing methods and apparatus
US7917820B1 (en) * 2008-05-20 2011-03-29 Xilinx, Inc. Testing an embedded core
US9645949B2 (en) 2008-07-10 2017-05-09 Cambridge Consultants Ltd. Data processing apparatus using privileged and non-privileged modes with multiple stacks
US8724829B2 (en) * 2008-10-24 2014-05-13 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coherence detection
US20120191388A1 (en) 2011-01-25 2012-07-26 Analog Devices, Inc. Diagnostic method to check for stuck bits in storage registers of safety-critical systems
US9286181B2 (en) 2013-07-31 2016-03-15 Globalfoundries Inc. Apparatus for capturing results of memory testing
US10198269B2 (en) * 2013-08-28 2019-02-05 Via Technologies, Inc. Dynamic reconfiguration of multi-core processor
US9443614B2 (en) 2013-12-30 2016-09-13 Qualcomm Incorporated Data pattern generation for I/O testing
JP5963316B2 (ja) * 2014-02-20 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
US9836373B2 (en) 2014-11-26 2017-12-05 Texas Instruments Incorporated On-chip field testing methods and apparatus
US9612930B2 (en) 2015-06-12 2017-04-04 Intel Corporation Providing autonomous self-testing of a processor
US10620266B2 (en) * 2017-11-29 2020-04-14 Intel Corporation System, apparatus and method for in-field self testing in a diagnostic sleep state

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496820B1 (en) * 2006-03-07 2009-02-24 Xilinx, Inc. Method and apparatus for generating test vectors for an integrated circuit under test
CN102880536A (zh) * 2012-09-07 2013-01-16 杭州中天微系统有限公司 一种多核处理器的jtag调试方法

Also Published As

Publication number Publication date
CN110291588A (zh) 2019-09-27
EP3580762B1 (en) 2020-11-04
TWI710779B (zh) 2020-11-21
US20180231609A1 (en) 2018-08-16
US10481202B2 (en) 2019-11-19
WO2018148038A1 (en) 2018-08-16
SG11201905685XA (en) 2019-08-27
TW201840995A (zh) 2018-11-16
EP3580762A1 (en) 2019-12-18

Similar Documents

Publication Publication Date Title
CN110291588B (zh) 自测试控制器以及用于控制自测试的方法
US8522097B2 (en) Logic built-in self-test programmable pattern bit mask
US9836373B2 (en) On-chip field testing methods and apparatus
CN105760250B (zh) 一种具有码流纠检错功能的单粒子加固fpga配置电路
US7610528B2 (en) Configuring flash memory
US20140032986A1 (en) System and method for performing scan test
CN108072827B (zh) 有自测试能力的集成电路装置和对集成电路自测试的方法
US20020175697A1 (en) Efficient parallel testing of semiconductor devices using a known good device to generate expected responses
JP3645578B2 (ja) スマート・メモリの組込み自己検査のための装置と方法
JP2002174669A (ja) Dut間及びdut内比較を用いる、集積回路デバイスの同時テスト
JP2006105997A (ja) 電子デバイスにスキャンパターンを提供する方法および装置
CN106291313B (zh) 用于测试集成电路的方法和设备
EP3961229A1 (en) Electronic device and corresponding self-test method
WO2015119541A1 (en) Configurable built-in self-tests of digital logic circuits
EP1624464A1 (en) Built-in self diagnosis device for a random access memory and method of diagnosing a random access memory
Maeda et al. Automotive IC on-line test techniques and the application of deterministic ATPG-based runtime test
Kafka et al. FPGA-based fault simulator
Veetil et al. Comprehensive in-field memory self-test and ECC self-checker-minimal hardware solution for FuSa
US6445205B1 (en) Method of testing integrated circuits
US7216262B2 (en) RAM diagnostic read circuit providing external integrated circuit RAM failure diagnosis and method
De Carvalho et al. Increasing fault coverage during functional test in the operational phase
US20240170083A1 (en) Memory bist circuit and method
Nourmandi-Pour A programmable IEEE 1500-compliant wrapper for testing of word-oriented memory cores
Dham et al. A non-ICL UVM approach to verifying DFx IJTAG network and its pros and cons v/s the ICL-PDL approach
Selva et al. A programmable built-in self-diagnosis for embedded SRAM

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40009446

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant