CN116050326A - 集成电路的可编程宏测试设计 - Google Patents
集成电路的可编程宏测试设计 Download PDFInfo
- Publication number
- CN116050326A CN116050326A CN202211325266.4A CN202211325266A CN116050326A CN 116050326 A CN116050326 A CN 116050326A CN 202211325266 A CN202211325266 A CN 202211325266A CN 116050326 A CN116050326 A CN 116050326A
- Authority
- CN
- China
- Prior art keywords
- bist
- test
- engine
- type
- engines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 208
- 238000013461 design Methods 0.000 title description 4
- 239000013598 vector Substances 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 68
- 230000008439 repair process Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 12
- 238000003745 diagnosis Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 6
- 239000010703 silicon Substances 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31724—Test controller, e.g. BIST state machine
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C2029/5602—Interface to device under test
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
一种使用可编程宏内置自测试(BIST)来测试集成电路的系统和方法。该方法包括:由集成电路(IC)设备的内置自测试(BIST)控制器从测试装置接收用于测试IC设备的第一区域的第一类型的测试向量。该方法包括:基于第一类型的测试向量来识别多个BIST引擎中与IC设备的第一区域相关联的第一BIST引擎。该方法包括:基于第一类型的测试向量生成第二类型的第一命令。该方法包括:基于第二类型的第一命令来配置多个BIST引擎中的第一BIST引擎,以使第一BIST引擎对IC设备的第一区域执行第一组测试。
Description
技术领域
本公开总体上涉及存储器设备领域,并且更具体地,涉及集成电路的可编程宏测试(programmable macro test)。
背景技术
计算设备通常依赖于存储的数字信息,这些数字信息主要是可以用于指导电路性能的数据。数字信息可以存储在不同类型的集成电路中,例如存储器设备。随机存取存储器(RAM)是指在任何时刻都可以随机存取的存储器,而不必逐步通过每一存储器位置。RAM存储器是易失性的,这意味着一旦电力被移除,存储在RAM中的信息就会丢失。相反,只读存储器(ROM)是非易失性的,因为当电力被移除时,它的内容不会丢失。存储器设备在出售到市场之前通常要进行检测。
附图说明
本公开在附图的图中以示例的方式而不是限制的方式示出,在附图中,相同的附图标记表示相似的元件,并且其中:
图1是示出根据一些实施例的使用可编程宏内置自测试(BIST,built-in self-test)来测试集成电路的示例性环境的框图;
图2是示出根据一些实施例的使用图1中的接口处理单元(IPU)的示例性环境的框图;
图3是示出根据一些实施例的使用图1中的指令解码单元(IDU)的示例性环境的框图;
图4是示出根据一些实施例的使用图1中的BIST执行单元(BEXU)的示例性环境的框图;
图5是示出根据一些实施例的使用图1中的提交单元的示例性环境的框图;
图6是示出根据一些实施例的使用图1中的结果分析单元(RAU)的示例性环境的框图;
图7是根据一些实施例的使用可编程宏内置自测试(BIST)来测试集成电路的方法的流程图;以及
图8是根据一些实施例的使用可编程宏内置自测试(BIST)来测试集成电路的方法的流程图
具体实施方式
以下描述阐述了许多具体细节(例如具体系统、部件、方法等的示例),以便提供对本文描述的使用可编程宏内置自测试(BIST)来测试集成电路的技术的各种实施例的良好理解。然而,对于本领域的技术人员来说,显而易见的是,可以在没有这些具体细节的情况下实践至少一些实施例。在其他实例中,并未详细描述公知的部件、元件或方法,或者以简单的框图格式对其进行呈现,以避免不必要地模糊本文描述的技术。因此,下文阐述的具体细节仅仅是示例性的。特定实现方式可与这些示例性细节不同,并且仍被预期在本公开的范围内。
集成电路(IC)设备(例如,存储器设备)的开发人员可以使用外部自动测试装置(ATE)对半导体芯片进行大量测试。ATE可以通过将数据模式读取/写入到存储器设备的地址位置来测试存储器设备,以确认地址位置是无缺陷的(例如,无电路缺陷、无半导体制造缺陷等)。由于ATE往往是大而昂贵的,因此IC设备开发人员可能更喜欢使用一个或多个内部内置自测试(BIST)引擎来测试IC设备,这些BIST引擎通常比ATE更快。在这种情况下,ATE将简单地向IC设备的BIST引擎提供时钟信号,这进而将使BIST引擎直接将数据模式应用到区域(例如,存储器体(memory bank)的存储器位置、IC设备的子系统),并且评估存储器和子系统输出。因此,IC设备的BIST引擎将处理刺激和观察特征,而只占据IC设备的占用面积的一小部分。
虽然传统的BIST引擎提供了优于ATE的优势,但它们也有显著的局限性,这对IC设备开发人员有效且经济地测试IC设备的能力产生了负面影响。特别地,传统的BIST引擎使用通常在BIST引擎中硬编码的算法,这使得IC设备开发人员不可能以任何任意组合来编程和执行传统的BIST引擎,同时保持完全的测试程序可重用性。虽然传统的BIST引擎可以用可编程性来实现,但这种可编程性仅受限于BIST引擎级别上,而在整个芯片级别上不存在。然而,这种可编程性是以硅面积为代价的,因为针对每个BIST引擎必须在BIST引擎级别上实现可编程寄存器。另外,传统的BIST实现方式不提供将软存储器测试算法广播到芯片上的所有BIST引擎或其子集的方法。此外,存储器测试需要系统级别操作,例如电源切换甚至超出了传统的具有可编程性的BIST引擎的范围。
本公开的各方面通过并入可编程宏内置自测试(BIST)控制器来控制一组BIST引擎以测试集成电路来解决上述和其他缺陷。如以下段落所述,在一些实施例中,集成电路(IC)设备的内置自测试(BIST)控制器可以被配置为从测试装置接收第一类型的测试向量,其中,测试向量用于测试IC设备的第一区域。在一些实施例中,可编程宏BIST控制器可以被配置为基于第一类型的测试向量来识别IC设备的多个BIST引擎中与IC设备的第一区域相关联的第一BIST引擎。在一些实施例中,可编程宏BIST控制器可以被配置为基于第一类型的测试向量生成第二类型的第一命令。在一些实施例中,可编程宏BIST控制器可以被配置为基于第二类型的第一命令对多个BIST引擎中的第一BIST引擎进行编程(例如配置),以使第一BIST引擎对IC设备的第一区域执行第一组测试。
由ATE发送到可编程宏BIST中的程序由宏指令组成。这些宏指令以以下形式实现:MBIST引擎上存储器测试操作的硬编码序列;SRAM功率开关和保持开关的控制开关;在自测试会话中插入各种时间延迟;在自测试程序中插入条件分支或重定向。测试程序可以由宏指令组成,每个指令都是存储器测试操作的硬编码序列,这消除了实现单独可编程的MBIST引擎的需要,从而为IC设备开发人员节省了管芯尺寸。在每个宏指令的每个可编程宏BIST控制的MBIST引擎上实现的测试操作包括:MBIST测试、存储器修复分析、软修复分布、内置修复分析寄存器(BIRA)填充等。因此,可编程宏BIST控制器允许IC设备开发人员将先前不同的测试向量合并为单个测试向量(例如,存储器修复分析、软修复分布、BIRA寄存器填充、累积修复、存储器BIST测试、逻辑BIST测试),这导致更快的测试时间、减少的后硅测试(post silicon test)工程工作量,以及潜在更快的硅启动(bring-up)。当接口不根据部件而改变时,制造流程可以再使用相同的宏BIST测试程序(例如,测试向量),因此降低了BIST测试向量开发的成本。
如果需要制造覆盖增强,则IC设备开发人员可以使用可编程宏BIST控制器来容易地增大跨芯片/部件的增强。在后期制造期间,可编程宏BIST控制器提供一种生成可编程通电自测试(POST)以及存储器/逻辑初始化操作的方法。也就是说,可以开发有效的POST程序,以将诸如保持测试的能力与可编程延迟结合。可编程宏BIST控制器还可以用作诊断工具,诊断工具可以帮助IC设备开发人员更容易地识别从客户返回的IC设备中的问题。
图1是示出根据一些实施例的使用可编程宏内置自测试(BIST)来测试集成电路的示例性环境的框图。环境100包括自动测试装置(ATE)102,ATE 102可以被配置为对被测试的设备(DUT)执行测试。环境100包括集成电路(IC)设备101,IC设备101是DUT。虽然图1仅示出了一个IC设备101,但是ATE 102可以被配置为串行或并行地测试许多(例如,100,1000等的)IC设备101。
IC设备101包括静态随机存取存储器(在图1中示为SRAM 108a)、SRAM 108b、SRAM108c、SRAM 108d和SRAM 108e(统称为SRAMS 108)。
IC设备101包括与ATE 102接口连接的片上测试访问机构112。IC设备101包括测试程序寄存器118,测试程序寄存器118可以被配置为存储测试程序数据(例如,Array({Opcode,imm}x Num_instruction))。IC设备101包括系统控制寄存器116,系统控制寄存器116可以被配置为存储系统控制数据(例如,{Program Register,Sys_en,init_en})。IC设备101包括测试流控制寄存器114,测试流控制寄存器114可以被配置为存储测试流控制数据(例如,err_limit,fail_stop,bist_mask,Bist_en))。
ATE 102可以被配置为经由片上测试访问机构112将测试向量(有时称为宏测试指令)发送到测试流控制寄存器114、系统控制寄存器116和/或测试程序寄存器118,以将数据(例如,设置、指令、标志、变量等)读取/写入到寄存器中。
在一些实施例中,测试向量可以是第一类型的编程语言。在一些实施例中,第一类型的编程语言可以是人类可读的高级编程语言。在一些实施例中,高级编程语言可以是汇编语言。
在一些实施例中,测试向量可以包括存储器修复分析数据/指令、软修复分布数据/指令、内置冗余分析(BIRA)寄存器填充数据/指令(例如,其中BIRA操作运行BIST测试并且识别可以如何将冗余修复配置应用于存储器以进行“修复”,其中结果称为修复解决方案)、累积修复数据/指令、存储器BIST测试数据/指令和/或逻辑BIST测试数据/指令。
在一些实施例中,测试向量可以指示要测试的一个或多个MBIST引擎106。在一些实施例中,测试向量可以指示要测试的每个MBIST引擎106的一个或多个区域(例如,地址空间)。在一些实施例中,测试向量(有时称为宏测试指令)可以是由一个或多个BIST控制器和/或MBIST引擎执行的测试或修复操作的特定集合、子集、序列或子序列。在一些实施例中,可以激发或检测硅缺陷(例如,功率模式切换或延迟插入)的系统或子系统级别操作。在一些实施例中,测试向量可以由指令和相关联的操作数定义。
IC设备101包括存储器BIST(MBIST)引擎106a、MBIST引擎106b和MBIST引擎106c(统称为MBIST引擎106)。
在一些实施例中,MBIST引擎106a可以被配置为串行或并行地对SRAM 108a和/或SRAM108b的一个或多个区域执行一个或多个存储器测试。在一些实施例中,MBIST引擎106b可以被配置为串行或并行地对SRAM108c的一个或多个区域执行一个或多个存储器测试。在一些实施例中,MBIST引擎106c可以被配置为串行或并行地对SRAM 108d和/或SRAM 108e的一个或多个区域执行一个或多个存储器测试。
IC设备101包括SRAM功率控制开关110,SRAM功率控制开关110可以被配置为对IC设备101的一个或多个子系统对执行一个或多个系统测试(例如,功率模式切换测试、延迟插入测试等)。
IC设备101包括可编程宏BIST控制器104。可编程宏BIST控制器104包括接口处理单元(IPU)120、指令解码单元(IDU)122、BIST执行单元(BEXU)124、提交单元126和结果分析单元(RAU)128。
在一些实施例中,可编程宏BIST控制器104可以被配置为从寄存器(例如,测试流控制寄存器114、系统控制寄存器116和/或测试程序寄存器118)取回(例如,提取、读取)指令/数据,其中指令/数据对应于由ATE 102提供的测试向量。
在一些实施例中,可编程宏BIST控制器104可以被配置为基于从寄存器读取的指令/数据(例如,第一类型的测试向量)来识别多个MBIST引擎106中的一个或多个MBIST引擎106(例如,MBIST引擎106a或MBIST引擎106b、MBIST引擎106c)。在一些实施例中,可编程宏BIST控制器104可以被配置为基于从寄存器读取的指令/数据(例如,第一类型的测试向量)来识别SRAM功率控制开关110。
在一些实施例中,可编程宏BIST控制器104可以被配置为基于第一类型(例如,高级编程语言)的测试向量生成第二类型(例如,低级编程语言)的一个或多个命令(例如,指令、代码)。在一些实施例中,第二类型的命令可以是人类不可读(或难以阅读)的低级编程语言中的命令。在一些实施例中,低级编程语言可以是机器语言。
在一些实施例中,可编程宏BIST控制器104可以被配置为将一个或多个命令发送到先前被识别的一个或多个MBIST引擎106,以配置(例如,编程、初始化)一个或多个MBIST引擎106,以使一个或多个MBIST引擎106对SRAM 108的一个或多个区域执行一个或多个存储器测试。
在一些实施例中,可编程宏BIST控制器104可以被配置为将一个或多个命令发送到先前被识别的SRAM功率控制开关110,以使SRAM功率控制开关110对IC设备101的一个或多个子系统执行一个或多个系统测试(例如,功率模式切换测试、延迟插入测试等)。
在一些实施例中,MBIST引擎106可以根据从可编程宏BIST控制器104发送的命令,使用相同或不同的算法对SRAM 108执行存储器测试。例如,MBIST引擎106a可以使用第一算法对其相应SRAM 108a的第一区域执行第一组存储器测试,并且MBIST引擎106b可以使用第二算法对其相应SRAM 108c的第二区域执行第二组存储器测试。
在一些实施例中,SRAM功率控制开关110可以使用第一算法对IC设备101的第一组子系统(例如,区域)执行第一组系统测试,并且使用第二算法对IC设备101的第二组子系统执行第二组系统测试。例如,SRAM功率控制开关110可以被配置为对IC设备101的功率子系统执行功率模式切换测试,并且对IC设备101的时钟子系统执行延迟插入测试。
在一些实施例中,测试向量可以被配置为用于测试IC设备101的一个或多个区域,并且被重新用于测试第二IC设备的一个或多个区域,其中IC设备101是第一种类的(例如,视频驱动器IC设备),而第二IC设备(例如,电源管理IC设备)是第二种类的。
在一些实施例中,配置多个MBIST引擎106中的MBIST引擎106可以使MBIST引擎106向自动测试装置102提供故障诊断信息,该故障诊断信息包括存储器体标识符、存储器地址标识符、位位置标识符、MBIST引擎标识符或算法标识符中的至少一项。
在一些实施例中,配置多个MBIST引擎106中的MBIST引擎106可以使可编程宏BIST控制器104对与IC设备101的一个或多个区域相关联的故障总数进行计数,并且确定故障总数小于预定阈值或故障总数大于预定阈值。如果故障总数小于预定阈值,则可编程宏BIST控制器104对IC设备101的一个或多个区域执行修复分析。如果故障总数大于预定阈值,则可编程BIST控制器104生成指示该IC设备被拒绝的标志。
在一些实施例中,配置多个MBIST引擎106中的MBIST引擎106可以导致在BIST控制器104不从ATE 102接收附加测试向量的情况下,可编程宏BIST控制器104执行一组测试的多次迭代。也就是说,重复(例如,循环)相同组的测试。
在一些实施例中,如果编程接口不从一个IC设备101到另一个IC设备101发生改变,则可编程宏BIST控制器104允许在另一IC设备上重用用于IC设备101的完全开发的测试程序(例如,测试向量),这消除了BIST测试程序的重新验证。在一些实施例中,单独的BIST测试程序可被拆分为由宏测试指令定义的完全自检查的子程序,这导致更好的测试时间优化并产生学习分辨率。在一些实施例中,可编程宏BIST控制器104允许IC设备开发人员从现有宏测试指令中增强新的硅后测试算法/方案,而不需要实现完全可编程的MBIST引擎,这导致管芯面积的节省。在一些实施例中,可编程宏BIST控制器104可以被配置为累积MBIST错误,这允许IC设备开发人员开发用于拒绝故障的标准,尽管有修复限制。
在一些实施例中,可编程宏BIST控制器104映射到跨越超过1次进展(march)的BIST(例如,存储器测试或系统测试)或BIRA操作,其中每个进展对每个地址精确地应用一次一组操作。在一些实施例中,进展对每个SRAM地址精确地进行一次写入操作,或者进展对每个SRAM地址精确地进行一次读取操作。在一些实施例中,指令还可以导致BIST引擎106的所选集合的BISR或INBR。在一些实施例中,可编程宏BIST控制器104可以改变存储器功率状态,例如,从正常状态改变到保持状态,其中SRAM电源的部分可以被关闭,反之亦然。在一些实施例中,可编程宏BIST控制器104可以映射到存在循环条件的重定向指令。
因此,MBIST 106可以对SRAMS 108的子集执行自检宏测试。内置修复分析(BIRA)运行BIST测试,并且识别可以如何将冗余修复配置应用于存储器进行“修复”,结果被称为修复解决方案。对于Bist_mask,每个从106开始的MBIST引擎有一个位,当设置为高时,允许执行对应的从106开始的MBIST引擎。Bist_enable信号允许MBIST引擎106操作。内置自修复(BISR)操作调用MBIST引擎106以临时应用来自BIRA测试的修复解决方案以实际重新配置或修复存储器。Inbr将当前为存储器配置的修复解决方案转移回用于BIRA的分析寄存器,这是为了允许修复累积。Macro_sel是全局MBIST序列选择设置,向每个MBIST引擎106指示选择用于执行的存储器测试操作的序列。Fail_stop_intr(例如,当测试流控制寄存器启用fail_stop时,当满足可编程宏BIST失败条件时,这是某种失败停止中断信号)。Err_limit是设置BIST错误的错误阈值的整数,BIST错误当BIRA测试遇到可修复的存储器错误比较时发生。PC_pointer(程序计数器指针)指向测试程序寄存器上的指令索引位置。
在一些实施例中,可编程宏BIST控制器104映射到跨越超过一个进展的BIST(例如,存储器测试或系统测试)或BIRA操作,其中每个进展对每个地址精确地应用一次一组操作。在一些实施例中,进展对每个SRAM地址精确地进行一次写入操作,或者进展对每个SRAM地址精确地进行一次读取操作。在一些实施例中,指令还可以导致BIST引擎106的所选集合的BISR或INBR。在一些实施例中,可编程宏BIST控制器104可以改变存储器功率状态,例如,从正常状态改变到保持状态,其中SRAM电源的部分可以被关闭,反之亦然。在一些实施例中,可编程宏BIST控制器104可以映射到存在循环条件的重定向指令。
图2是示出根据一些实施例的使用图1中的接口处理单元(IPU)的示例性环境的框图。环境200包括测试流控制寄存器114、系统控制寄存器116和测试程序寄存器118。环境200包括IPU 120和接口指令解码单元210。环境200包括指令提交分组125。
在一些实施例中,提交单元126可以被配置为生成指令提交分组125,并且将指令提交分组125发送到IPU 120。如图2所示,指令提交分组125可以包括提交数据(例如,{commit,Fail_stop_intr,PC_redirect})。
在一些实施例中,IPU 120包括指令提取单元202、指令分组生成单元、程序计数器206和有限状态机(FSM)208。
在一些实施例中,IPU 120可以被配置为检测何时设置了Bist_en或何时设置了Sys_en,并且作为响应,开始FSM 208。在一些实施例中,当FSM 208检测到提交时,FSM 208可以使程序计数器206递增,并且经由指令提取单元202引起下一指令提取。在一些实施例中,当FSM 208检测到设置了fail_stop时,则FSM 208可以在Fail_stop_intr(例如,当检测到BIST故障时)被断言时停止下一指令提取并且中止IPU 120。
在一些实施例中,当FSM 208在BIRA测试期间检测到错误时,则失败测试。在一些实施例中,当BIRA运行期间的累积错误计数>=Err_limit时,如果Err_limit>0,则FSM 208检测错误。
在一些实施例中,Bist_mask用于选择MBIST引擎106或SRAM 108中的哪组(例如,一个或多个)是MBIST测试的目标。
在一些实施例中,指令提取单元202可以被配置为使用程序计数器206作为索引从测试程序寄存器118或系统控制寄存器116的程序寄存器字段提取数据。在一些实施例中,如果提交单元126如此标记(例如,这可以用于循环),则程序计数器206可以被更新为不同的值。
图3是示出根据一些实施例的使用图1中的指令解码单元(IDU)的示例性环境的框图。环境300包括IDU 122。在一些实施例中,IDU 122可以包括指令解码器302和有限状态机(FSM)304。
环境300包括由IPU 120生成并且发送到IDU 122的分组306。在一些实施例中,分组306可以包括Err_limit、Fail_stop、Bist_mask、单个指令、Packet_valid和/或Ready_for_packet。
环境300包括由IDU 122生成并且发送到BEXU 124的分组308。在一些实施例中,分组308可以包括Err_limit、Fail_stop、Bist_mask、Bist_enable、Bist_test、Bira_Test、Bisr_Seqence、Load_Bisr_To_Bira、Check_Bist_Err、Macro_sel、Wait_en、Sleep_en、Wake_en、Redirect、PC_pointer、Packet_valid和/或Ready_for_packet。
在一些实施例中,当Packet_valid断言时,如果FSM 304没有等待BEXU 124(例如,意味着BEXU 124准备好下一条指令),则FSM 304可以断言Ready_for_packet,解码由IPU120正在请求的当前指令,并且将解码的指令转发到BEXU 124以供执行。在一些实施例中,FSM 304是何时解码和将解码的指令发送到BEXU 124的序列。
图4是示出根据一些实施例的使用图1中的BIST执行单元(BEXU)的示例性环境的框图。环境400包括MBIST引擎106、SRAMS 108、SRAM功率控制开关110和BEXU 124。
环境400包括由IDU 122生成并且发送到BEXU 124的分组402。在一些实施例中,分组402可以包括Err_limit、Fail_stop、Bist_mask、Bist_enable、Bist_test、Bira_Test、Bisr_Seqence、Load_Bisr_To_Bira、Check_Bist_Err、Macro_sel、Wait_en、Sleep_en、Wake_en、Redirect、PC_pointer、Packet_valid和/或Ready_for_packet。
环境400包括由BEXU 124生成并且发送到RAU 128的分组404。在一些实施例中,分组404可以包括Err_limit、Fail_stop、Check_Bist_Err、Macro_sel、Packet_valid和/或Ready_for_packet。
环境400包括由BEXU 124生成并且发送到提交单元126的信号406。在一些实施例中,信号406可以包括Next_PC_pointer和/或PC_pointer_Update_En。
BEXU 124包括有限状态机(FSM)408、重定向控制单元410、全局设置寄存器单元412、MBIST定序器414、MBIST定序器416和MBIST定序器418、调度控制逻辑420、功率和延迟定序器422。
在一些实施例中,BEXU 124生成全局设置数据并且将其从全局设置寄存器单元412发送到MBIST引擎106。在一些实施例中,全局设置寄存器单元412存储可以包括global_mbist_en、global_bist、global_bira、global_bisr、global_inbr、global_macro_sel的全局设置寄存器数据。
在一些实施例中,FSM 408可以被配置为等待有效分组到达。在一些实施例中,当有效分组到达时,FSM 408进入测试设置状态,其中FSM 408设置全局设置寄存器412。在一些实施例中,BEXU124可以被配置为将全局设置数据从全局设置寄存器412传播到一组(例如,一个或多个)MBIST引擎106。在一些实施例中,FSM 408可以被配置为一旦测试设置完成,就开始与调度控制逻辑420对话,以获得所有选择的MBIST定序器(例如,MBIST定序器414、MBIST定序器416、MBIST定序器418)开始对SRAM 108的MBIST测试。
在一些实施例中,FSM 408可以被配置为确定指令是否是系统指令(例如,不是存储器测试指令),并且作为响应,FSM 408可以开始与功率和延迟定序器422对话,以插入延迟和/或将SRAM108转换到故障激励功率状态。在一些实施例中,FSM 408可以被配置为向重定向控制单元410发送重定向指令。在一些实施例中,FSM 408可以被配置为在指令完成执行时向RAU 128发送请求。在一些实施例中,当指令完成执行时,FSM 408取消断言全局设置寄存器412。
在一些实施例中,调度控制逻辑420可以被配置为从BIST_mask向每个所选的MBIST定序器(例如,MBIST定序器414、MBIST定序器416、MBIST定序器418)发送控制信号。在一些实施例中,调度控制逻辑420可以被配置为等待一个或多个MBIST定序器完成。
在一些实施例中,功率和延迟定序器422可以被配置为确定是否请求存储器电源关闭,并且作为响应,关闭存储器电源开关并且断言必要的存储器和逻辑隔离控制。在一些实施例中,功率和延迟定序器422可以被配置为确定是否请求延迟,并且作为响应,使用计数器对所请求的周期数计数而进行等待。在一些实施例中,功率和延迟定序器422可以被配置为确定是否请求存储器上电,并且作为响应,为SRAMS上电备份并且解除断言隔离控制信号。
在一些实施例中,重定向控制单元410可以被配置为监视循环迭代。在一些实施例中,重定向控制单元410可以被配置为当所有迭代完成时重定向指令完成。
在一些实施例中,每个MBIST定序器(例如,MBIST定序器414、MBIST定序器416、MBIST定序器418)可以被配置为启动每个MBIST引擎并且等待MBIST引擎完成。
图5是示出根据一些实施例的使用图1中的提交单元的示例性环境的框图。环境500包括可以由BEXU 124生成并且发送到提交单元126的信号502。在一些实施例中,信号502可以包括Next_PC_pointer和/或PC_pointer_Update_En。
环境500包括由BEXU 124生成并且发送到提交单元126的分组504。在一些实施例中,分组504可以包括Test_Stop、Packet_valid和/或Ready_for_packet。
环境500包括提交单元126。在一些实施例中,提交单元126可以被配置为确定重置事件,作为响应,清除或取消断言Fail_stop_intr、PC_redirect和提交。在一些实施例中,提交单元126可以被配置为通过断言Ready_for_packet来等待Packet_valid。在一些实施例中,提交单元126可以被配置为在设置Packet_valid时确定是否设置测试停止,并且如果设置,则提交单元126立即(例如,无延迟地)设置Fail_stop_intr,将指令提交分组125发送到IPU 120,并且设置提交(以及指令提交信号)。
在一些实施例中,提交单元126可以被配置为确定Packet_valid和PC_pointer_Update_En是被设置还是未设置。如果两者都被设置,则提交单元126将PC_redirect设置为Next_PC_pointer,设置提交,并且将指令提交分组125发送到IPU 120。如果两者都未被设置,则提交单元126确定指令已经完成并且应该被提交如此设置的提交,并且作为响应,提交单元126清除Fail_stop_intr和PC_redirect,并且将指令提交分组125转发给IPU 120。
图6是示出根据一些实施例的使用图1中的结果分析单元(RAU)的示例性环境的框图。环境600包括发送到RAU 128的分组602。在一些实施例中,分组602可以包括Err_limit、Fail_stop、Check_Bist_Err、Macro_sel、Packet_valid和/或Ready_for_packet。环境600包括发送到提交单元126的分组624。在一些实施例中,分组624可以包括Test_Stop、Packet_valid和/或Ready_for_packet。
环境600包括ATE 102、RAU 128和MBIST引擎106。RAU 128包括错误计数器单元601、AND门604、OR门608、失败寄存器610、AND门612、测试数据寄存器(TDR)613、失败宏寄存器614、NAND门616、OR门618、错误计数器620和有限状态机(FSM)622。
在一些实施例中,FSM 622可以被配置为确定触发事件(例如,重置事件,测试程序执行开始),并且如果触发事件发生,则FSM重置错误计数器、失败宏寄存器和失败寄存器。
在一些实施例中,FSM 622可以被配置为在重置之外等待来自BEXU 124的分组。在一些实施例中,FSM 622可以被配置为确定来自BEXU 124的Packet_valid何时为高,并且作为响应,使错误计数器单元601开始计数,并且如果计数的错误超过阈值,则设置输出/结果,由此允许失败宏寄存器和失败寄存器对来自MBIST引擎106的结果进行采样。
在一些实施例中,FSM 622可以被配置为确定何时完成来自MBIST引擎106的采样(例如,失败寄存器和失败宏寄存器将完成采样结果)。在测试停止为高的情况下,失败宏寄存器存储失败宏信息。然而,如果没有设置测试停止,在没有设置Fail_stop时会发生这种情况,则注册最近选择的失败宏。
在一些实施例中,测试数据寄存器(TDR)613可以被配置为存储通过失败状态和失败宏信息。在一些实施例中,RAU 128可以包括接口(例如,JTAG)(该接口可以由ATE 102访问),以从TDR613取回通过失败状态和失败宏信息。
图7是根据一些实施例的使用可编程宏内置自测试(BIST)来测试集成电路的方法的流程图。尽管为了说明的目的,在图7中将操作描述为特定顺序的完整操作,在其他实现方式中,一个或多个操作或其部分以不同顺序执行,或在时间上重叠,串行或并行,或被省略,或增加一个或多个附加运算,或以某种方式组合来改变方法。在一些实施例中,可以通过处理逻辑来执行方法700,该处理逻辑包括硬件(例如,电路系统(circuitry)、专用逻辑、可编程逻辑、微代码等)、固件或其组合。在一些实施例中,方法700的一些或全部操作可以由图1中的IC设备101的一个或多个部件(例如,BIST控制器104、MBIST引擎106等)执行。
在一些实施例中,方法700包括在指令寄存器体(instruction register bank)中配置程序指令的操作702。
在一些实施例中,方法700包括配置附加测试流控制的操作704。在一些实施例中,操作704包括配置保持延迟和/或应该执行哪个MBIST引擎106。在一些实施例中,操作704包括发出初始化和/或上电自测试(POST)请求。在一些实施例中,方法700包括从失败的MBIST引擎106收集结果的操作706。在一些实施例中,方法700包括确定测试完成的操作706。在一些实施例中,方法700包括分析结果的操作706。
图8是根据一些实施例的使用可编程宏内置自测试(BIST)来测试集成电路的方法的流程图。尽管为了说明的目的,在图8中将操作描述为特定顺序的完整操作,在其他实现方式中,一个或多个操作或其部分以不同顺序执行,或在时间上重叠,串行或并行,或被省略,或增加一个或多个附加运算,或以某种方式组合来改变方法。在一些实施例中,可以通过处理逻辑来执行方法800,该处理逻辑包括硬件(例如,电路系统、专用逻辑、可编程逻辑、微代码等)、固件或其组合。在一些实施例中,方法800的一些或全部操作可以由图1中的IC设备101的一个或多个部件(例如,BIST控制器104、MBIST引擎106等)执行。
在一些实施例中,方法800包括操作802:由集成电路(IC)设备的内置自测试(BIST)控制器(例如,可编程BIST控制器104)从测试装置接收用于测试IC设备的第一区域的第一类型的测试向量。
在一些实施例中,方法800包括操作804:由BIST控制器基于第一类型的测试向量识别IC设备的多个BIST引擎中与IC设备的第一区域相关联的第一BIST引擎。
在一些实施例中,方法800包括操作806:由BIST控制器基于第一类型的测试向量生成第二类型的第一命令。
在一些实施例中,方法800包括操作810:由BIST控制器基于第二类型的第一命令配置多个BIST引擎中的第一BIST引擎,以使第一BIST引擎对IC设备的第一区域执行第一组测试。
在上面的描述中,具体实施方式的一些部分根据非暂时性存储介质内的模拟信号和/或数字信号或数据位的运算的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员使用的手段,以最有效地将其工作的实质传达给本领域的其他技术人员。这里的算法通常被认为是导致期望结果的一系列自洽的步骤。这些步骤是那些需要对物理量进行物理操作的步骤。通常但不是必须的,这些量采取的形式是电或磁信号,能够被存储、传输、组合、比较和以其他方式操纵。有时,主要出于常用的原因,证明将这些信号称为位、值、元素、符号、字符、术语、数字等是方便的。
在描述中对“实施例”、“一个实施例”、“示例性实施例”、“一些实施例”和“各种实施例”的引用意味着结合实施例描述的特定特征、结构、步骤、操作或特性包括在本公开的至少一个实施例中。此外,在描述中各处出现的短语“实施例”、“一个实施例”、“示例性实施例”、“一些实施例”和“各种实施例”并不一定都指相同的实施例。
描述包括对构成详细描述一部分的附图的参考。附图示出了根据示例性实施例的图示。这些实施例(在本文也可称为“示例”)被足够详细地描述,以使本领域技术人员能够实践本文描述的所要求保护的主题的实施例。在不背离所要求保护的主题的范围和精神的情况下,可以组合实施例,可以使用其他实施例,或者可以进行结构、逻辑和电的改变。应当理解,本文描述的实施例不是为了限制主题的范围,而是为了使本领域技术人员能够实践、制造和/或使用主题。
但是,应该记住,所有这些和类似的术语都应该与适当的物理量相关联,并且仅仅是应用于这些量的方便的标签。除非从上面的讨论中明确地另外说明,否则应理解,在整个描述中,使用诸如“执行”、“生成”、“确定”、“放置”等术语的讨论指的是集成电路(IC)控制器或类似电子设备的动作和过程,其操纵并将表示为控制器寄存器和存储器内的物理(例如,电子)量的数据转换为类似地表示为控制器存储器或寄存器或其他这种信息非暂时性存储介质内的物理量的其他数据。
“示例”或“示例性”在本文用于表示用作示例、实例或说明。本文描述为“示例”或“示例性”的任何方面或设计不一定被解释为比其他方面或设计更优选或有利。相反,使用词语“示例”或“示例性”是为了以具体的方式提出概念。如在本申请中所使用的,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文中清楚地看出,否则“X包括A或B”旨在表示任何自然包含的排列。也就是说,如果X包括A;X包括B;或X包括A和B两者,则在上述任何一种情况下都满足“X包括A或B”。此外,在本申请和所附权利要求中使用的冠词“一(a)”和“一(an)”通常应解释为表示“一个或多个”,除非另有说明或从上下文中明确指向单数形式。此外,除非如此描述,否则通篇使用术语“实施例”或“一个实施例”或“实施例”或“一个实施例”并不意味着相同的一个或多个实施例。
本文描述的实施例还可以涉及用于执行本文的操作的装置(例如,AC-DC转换器,和/或ESD保护系统/电路)。该装置可以为所需的目的而特别构造,或者它可以包括由该装置选择性地激活或重新配置的固件或硬件逻辑。这样的固件可以存储在非暂时性计算机可读存储介质中,例如但不限于只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、闪存或适合存储电子指令的任何类型的介质。术语“计算机可读存储介质”应包括存储一组或多组指令的单个介质或多个介质。术语“计算机可读介质”还应被理解为包括能够存储、编码或携带供机器执行的一组指令并使机器执行本实施例的任何一个或多个方法的任何介质。因此,术语“计算机可读存储介质”应被理解为包括但不限于固态存储器、光学介质、磁介质、能够存储供机器执行的一组指令并使机器执行本实施例的任何一个或多个方法的任何介质。
为了提供对本公开的若干实施例的良好理解,上述描述阐述了诸如特定系统、部件、方法等的示例的许多特定细节。应当理解,上述描述旨在说明性而非限制性。在阅读和理解上述描述后,许多其他实施例对于本领域技术人员来说将是显而易见的。因此,本公开的范围应参照所附权利要求以及这些权利要求有权享有的等价物的全部范围来确定。
Claims (20)
1.一种方法,包括:
由集成电路(IC)设备的内置自测试(BIST)控制器从测试装置接收用于测试所述IC设备的第一区域的第一类型的测试向量;
由所述BIST控制器基于所述第一类型的所述测试向量来识别所述IC设备的多个BIST引擎中的第一BIST引擎,所述第一BIST引擎与所述IC设备的所述第一区域相关联;
由所述BIST控制器基于所述第一类型的所述测试向量生成第二类型的第一命令;以及
由所述BIST控制器基于所述第二类型的所述第一命令来配置所述多个BIST引擎中的所述第一BIST引擎,以使所述第一BIST引擎对所述IC设备的所述第一区域执行第一组测试。
2.根据权利要求1所述的方法,其中,所述第一类型的所述测试向量还用于测试所述IC设备的第二区域,并且所述方法还包括:
由所述BIST控制器基于所述第一类型的所述测试向量来识别所述IC设备的多个BIST引擎中的第二BIST引擎,所述第二BIST引擎与所述IC设备的所述第二区域相关联;
由所述BIST控制器基于所述第一类型的所述测试向量生成所述第二类型的第二命令;以及
由所述BIST控制器基于所述第二类型的所述第二命令来配置所述多个BIST引擎中的所述第二BIST引擎,以使所述第二BIST引擎对所述IC设备的所述第一区域执行第二组测试。
3.根据权利要求1所述的方法,其中,所述第一BIST引擎使用第一算法来对所述IC设备的所述第一区域执行所述第一组测试,并且所述第二BIST引擎使用第二算法来对所述IC设备的所述第二区域执行所述第二组测试。
4.根据权利要求1所述的方法,其中,所述第一BIST引擎执行以下各项中的至少一项:对所述IC设备的存储器体的存储器测试,对所述IC设备的子系统的功率模式切换测试,或对所述IC设备的所述子系统的延迟插入测试。
5.根据权利要求1所述的方法,其中,所述第一类型对应于高级编程语言,并且所述第二类型对应于低级编程语言。
6.根据权利要求1所述的方法,其中,所述IC设备是第一种类的,并且所述方法还包括:
再次使用所述测试向量来测试第二种类的第二IC设备的一个或多个区域。
7.根据权利要求1所述的方法,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
向所述测试装置提供故障诊断信息,所述故障诊断信息指示以下各项中的至少一项:存储器体标识符、存储器地址标识符或位位置标识符、MBIST引擎或算法标识符。
8.根据权利要求1所述的方法,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
对与所述IC设备的所述第一区域相关联的故障总数进行计数;以及
确定所述故障总数小于预定阈值或所述故障总数大于所述预定阈值,并且:
响应于确定所述故障总数小于预定阈值,对所述IC设备的所述第一区域执行修复分析;或者
响应于确定所述故障总数大于所述预定阈值,生成指示所述IC设备被拒绝的标志。
9.根据权利要求1所述的方法,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
在所述BIST控制器不从所述测试装置接收附加测试向量的情况下,执行所述第一组测试的多次迭代。
10.根据权利要求1所述的方法,其中,所述测试向量包括以下各项中的至少一项:存储器修复分析指令、软修复分布指令、内置冗余分析(BIRA)寄存器填充指令、累积修复指令、存储器BIST测试指令、逻辑BIST测试指令。
11.一种集成电路(IC)设备,包括:
多个内置自测试(BIST)引擎;以及
耦合到所述多个BIST引擎的BIST控制器,其中,所述BIST控制器被配置为:
从测试装置接收用于测试所述IC设备的第一区域的第一类型的测试向量;
基于所述第一类型的所述测试向量来识别所述多个BIST引擎中的第一BIST引擎,所述第一BIST引擎与所述IC设备的所述第一区域相关联;
基于所述第一类型的所述测试向量生成第二类型的第一命令;以及
基于所述第二类型的所述第一命令来配置所述多个BIST引擎中的所述第一BIST引擎,以使所述第一BIST引擎对所述IC设备的所述第一区域执行第一组测试。
12.根据权利要求11所述的IC设备,其中,所述第一类型的所述测试向量还用于测试所述IC设备的第二区域,并且其中,所述BIST单元还被配置为:
基于所述第一类型的所述测试向量来识别多个BIST引擎中的第二BIST引擎,所述第二BIST引擎与所述IC设备的所述第二区域相关联;
基于所述第一类型的所述测试向量生成所述第二类型的第二命令;以及
基于所述第二类型的所述第二命令来配置所述多个BIST引擎中的所述第二BIST引擎,以使所述第二BIST引擎对所述IC设备的所述第一区域执行第二组测试。
13.根据权利要求11所述的IC设备,其中,所述第一BIST引擎被配置为使用第一算法来对所述IC设备的所述第一区域执行所述第一组测试,并且所述第二BIST引擎被配置为使用第二算法来对所述IC设备的所述第二区域执行所述第二组测试。
14.根据权利要求11所述的IC设备,其中,所述第一BIST引擎被配置为执行以下各项中的至少一项:对所述IC设备的存储器体的存储器测试,对所述IC设备的子系统的功率模式切换测试,或对所述IC设备的所述子系统的延迟插入测试。
15.根据权利要求11所述的IC设备,其中,所述第一类型对应于高级编程语言,并且所述第二类型对应于低级编程语言。
16.根据权利要求11所述的IC设备,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
向所述测试装置提供故障诊断信息,所述故障诊断信息指示以下各项中的至少一项:存储器体标识符、存储器地址标识符或位位置标识符、MBIST引擎或算法标识符。
17.根据权利要求11所述的IC设备,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
对与所述IC设备的所述第一区域相关联的故障总数进行计数;以及
确定所述故障总数小于预定阈值或所述故障总数大于所述预定阈值,并且:
响应于确定所述故障总数小于预定阈值,对所述IC设备的所述第一区域执行修复分析;或者
响应于确定所述故障总数大于所述预定阈值,生成指示所述IC设备被拒绝的标志。
18.根据权利要求11所述的IC设备,其中,配置所述多个BIST引擎中的所述第一BIST引擎还使得所述第一BIST引擎用于:
在所述BIST控制器不从所述测试装置接收附加测试向量的情况下,执行所述第一组测试的多次迭代。
19.根据权利要求1所述的IC设备,其中,所述测试向量包括以下各项中的至少一项:存储器修复分析指令、软修复分布指令、内置冗余分析(BIRA)寄存器填充指令、累积修复指令、存储器BIST测试指令、逻辑BIST测试指令。
20.一种集成电路(IC)设备,包括:
多个存储器体;
多个内置自测试(BIST)引擎,每个内置自测试引擎耦合到所述多个存储器体中的相应存储器体;以及
耦合到所述多个BIST引擎的BIST控制器,其中,所述BIST控制器被配置为:
从测试装置接收用于测试所述多个存储器体中的存储器体的子集的第一类型的测试向量;
基于所述第一类型的所述测试向量识别所述多个BIST引擎中的BIST引擎的子集,所述BIST引擎的子集与所述多个存储器体中的存储器体的子集相关联;
基于所述第一类型的所述测试向量生成第二类型的命令;以及
基于所述第二类型的所述命令配置所述多个BIST引擎中的所述BIST引擎的子集,以使所述BIST引擎的子集对所述多个存储器体中的所述存储器体的子集执行一组测试。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/513,584 US11755803B2 (en) | 2021-10-28 | 2021-10-28 | Programmable macro test design for an integrated circuit |
US17/513,584 | 2021-10-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116050326A true CN116050326A (zh) | 2023-05-02 |
Family
ID=86118970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211325266.4A Pending CN116050326A (zh) | 2021-10-28 | 2022-10-27 | 集成电路的可编程宏测试设计 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11755803B2 (zh) |
CN (1) | CN116050326A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240095164A (ko) * | 2021-11-01 | 2024-06-25 | 시놉시스, 인크. | 임베디드 메모리 투명 시스템-내 빌트-인 셀프-테스트 |
CN116719684B (zh) * | 2023-08-11 | 2023-10-20 | 中诚华隆计算机技术有限公司 | 一种3d封装的芯片测试系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7036064B1 (en) * | 2000-11-13 | 2006-04-25 | Omar Kebichi | Synchronization point across different memory BIST controllers |
US7308623B2 (en) * | 2005-03-10 | 2007-12-11 | Arm Limited | Integrated circuit and method for testing memory on the integrated circuit |
US8719648B2 (en) * | 2011-07-27 | 2014-05-06 | International Business Machines Corporation | Interleaving of memory repair data compression and fuse programming operations in single fusebay architecture |
-
2021
- 2021-10-28 US US17/513,584 patent/US11755803B2/en active Active
-
2022
- 2022-10-27 CN CN202211325266.4A patent/CN116050326A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11755803B2 (en) | 2023-09-12 |
US20230135977A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116050326A (zh) | 集成电路的可编程宏测试设计 | |
US7302625B1 (en) | Built-in self test (BIST) technology for testing field programmable gate arrays (FPGAs) using partial reconfiguration | |
US11768241B2 (en) | Test systems for executing self-testing in deployed automotive platforms | |
US6370661B1 (en) | Apparatus for testing memory in a microprocessor | |
US20080109594A1 (en) | Non-volatile memory device controlled by a micro-controller | |
US7962821B2 (en) | Built-in self testing circuit with fault diagnostic capability | |
US7017089B1 (en) | Method and apparatus for testing a content addressable memory device | |
US20070208968A1 (en) | At-speed multi-port memory array test method and apparatus | |
US5638382A (en) | Built-in self test function for a processor including intermediate test results | |
US8095834B2 (en) | Macro and command execution from memory array | |
US8868975B2 (en) | Testing and operating a multiprocessor chip with processor redundancy | |
US20080201623A1 (en) | Embedded architecture with serial interface for testing flash memories | |
US20070201259A1 (en) | Method and Apparatus for Programming and Reading Codes on an Array of Fuses | |
US6862704B1 (en) | Apparatus and method for testing memory in a microprocessor | |
US9256505B2 (en) | Data transformations to improve ROM yield and programming time | |
JP2007147626A (ja) | Efuseプログラミング・データ配列検証装置および方法 | |
US7519862B2 (en) | Software programmable verification tool having a single built-in self-test (BIST) module for testing and debugging multiple memory modules in a device under test (DUT) | |
US20060036803A1 (en) | Non-volatile memory device controlled by a micro-controller | |
US7197666B1 (en) | Method for checking the reset function in an embedded processor | |
US11435940B2 (en) | Testing a memory which includes conservative reversible logic | |
US6751762B2 (en) | Systems and methods for testing a memory | |
Sargsyan | Firmware generation architecture for memory BIST | |
CN112912958A (zh) | 使用内置自测控制器测试只读存储器 | |
US20060248313A1 (en) | Systems and methods for CPU repair | |
US10319459B1 (en) | Customizable built-in self-test testplans for memory units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |