CN112912958A - 使用内置自测控制器测试只读存储器 - Google Patents
使用内置自测控制器测试只读存储器 Download PDFInfo
- Publication number
- CN112912958A CN112912958A CN201980070484.8A CN201980070484A CN112912958A CN 112912958 A CN112912958 A CN 112912958A CN 201980070484 A CN201980070484 A CN 201980070484A CN 112912958 A CN112912958 A CN 112912958A
- Authority
- CN
- China
- Prior art keywords
- rom
- instructions
- cpu
- test
- storage device
- 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
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0054—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
-
- 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
-
- 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
-
- 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/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- 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
-
- 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/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/822—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for read only memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种系统包含易失性存储装置(106)、只读存储器ROM(104)、存储器内置自测BIST控制器(110)及中央处理单元CPU(102)。所述CPU(102)在发生复位事件后即刻执行来自所述ROM(104)的第一指令,以致使所述CPU(102)将指令从所述ROM(104)中的一系列地址拷贝到所述易失性存储装置(106)。所述CPU(102)还执行来自所述ROM(104)的第二指令以改变程序计数器。所述CPU(102)进一步使用所述程序计数器执行来自所述易失性存储装置(106)的所述指令。所述CPU(102)在执行来自所述易失性存储装置(106)的所述指令时,致使所述ROM(104)进入测试模式且致使所述存储器BIST控制器(110)经配置以测试所述ROM(104)。
Description
背景技术
许多电子系统包含执行来自存储器的代码的微处理器。此类系统通常包含只读存储器(ROM)及随机存取存储器(RAM)。“启动”ROM可包含于系统中以存储在系统的启动过程期间执行的代码。许多系统在启动过程期间及/或在已完成启动过程之后的闲置时间期间测试RAM及ROM以确认此类存储器是否结构上完整无缺及所存储的数据是否可靠。
发明内容
在一个实例中,一种系统包含易失性存储装置、只读存储器(ROM)、存储器内置自测(BIST)控制器及中央处理单元(CPU)。所述CPU在发生复位事件后即刻执行来自所述ROM的第一指令以致使所述CPU将多个指令从所述ROM中的一系列地址拷贝到所述易失性存储装置。所述CPU还执行来自所述ROM的第二指令以改变程序计数器。所述CPU进一步使用所述程序计数器执行来自所述易失性存储装置的所述多个指令。所述CPU在执行来自所述易失性存储装置的所述多个指令时致使所述ROM进入测试模式且致使所述存储器BIST控制器经配置以测试所述ROM。
在另一实例中,一种方法包含:将多个指令从只读存储器(ROM)内的一系列地址拷贝到易失性存储装置;及将程序计数器的值改变为对应于所述易失性存储装置内的在所述多个指令的开始处的地址。所述方法进一步包含执行来自所述易失性存储装置的所述多个指令。所述指令包含用以将所述程序计数器的所述值改变为对应于继所述ROM内的所述多个指令的末尾之后的在所述ROM内的地址的指令。所述方法还包含执行在所述ROM内的指令以确定所述ROM是否通过了测试。
附图说明
图1图解说明用于测试ROM的实例性系统。
图2图解说明将代码从ROM拷贝到RAM以从RAM执行代码从而由存储器内置自测(MBIST)控制器起始ROM的测试。
图3图解说明用于使用MBIST控制器测试ROM的时间线。
图4展示用于测试ROM的系统的另一实例。
图5是用于测试ROM的方法的流程图。
具体实施方式
如上文所描述,在启动过程期间验证ROM的内容。循环冗余检验(CRC)技术通常用于验证ROM的内容。CRC技术是耗时的,且一些应用可具有严格定时要求。在(举例来说)其中可包含含有ROM的电路的汽车应用的情形中,需要在相对最小时间窗内验证ROM的内容,特别是在ROM是安全关键电路的一部分时。举例来说,每当司机打开汽车时,在所述汽车内的一或多个ROM可需要验证其内容。然而,司机期望在启动汽车之后能够很快驾驶汽车并使汽车安全地操作。
本文中所描述的实例提供用于迅速地验证ROM的内容的电路架构。所述架构包含测试系统的RAM及ROM两者的存储器内置自测(MBIST)控制器。在启动过程期间早些时候,中央处理单元(CPU)执行来自ROM的指令,所述指令致使CPU将某些指令从ROM拷贝到RAM(或其它类型的易失性存储装置)。CPU接着继续执行来自RAM的那些特定指令。从RAM执行的所拷贝指令致使CPU将ROM转变到测试模式且致使CPU指示MBIST控制器测试ROM。通过将ROM测试责任转移给MBIST控制器,CPU可用于执行其它有用启动与初始化功能,借此加快启动过程。此外,在一些系统中,由ROM的CPU进行紧接读取存取是不可能的,此使测试ROM比紧接读取可能的情况要慢。更进一步地,如果CRC过程用于测试ROM,那么使用CPU的算术逻辑单元(ALU)及寄存器的计算循环可包含每一经测试的ROM位置10到15个循环。本文中所描述的架构以更高效且更快方式测试ROM。本文中所描述的实例涉及使用RAM来辅助测试ROM,但可替代RAM(例如,寄存器)而使用其它类型的易失性存储装置。
图1展示含有CPU 102、ROM 104、RAM 106及MBIST控制器110的系统100的实例。在一个实施方案中,系统100包括系统单芯片(SoC),其中图1中所展示的组件制作于共同半导体裸片上。ROM 104是非暂时性存储装置。虽然在此实例中展示一个CPU 102,但可在其它实例中包含多个CPU。在此实例中,CPU 102可经由地址与数据总线(BUS1)存取ROM 104,且CPU102可经由不同地址与数据总线(BUS2)存取RAM 106。CPU 102执行位于与程序计数器(PC)103对应的存储器位置处的代码。PC 103的值是从中提取指令的RAM 106或ROM 104中的地址,或所述值用于导出存储器地址(例如,添加到偏移以产生存储器地址的值)。类似地,MBIST控制器110经由地址与数据总线BUS3及BUS4分别以通信方式耦合到ROM 104及RAM106。
可执行指令(还称为“代码”)存储于ROM 104中且可从其检索以由CPU 102执行。所述代码可包括在使系统100复位(例如,硬或软复位)后即刻执行的启动代码。所述启动代码可致使CPU 102执行各种初始化功能,例如配置各种寄存器、存在于系统中的测试接口等。RAM 106可用作用于暂时存储在运行时期间使用的数据或代码的便笺存储装置。来自ROM104的代码可传送到RAM 106以从RAM 106执行。
RAM 106可包括一或多个存储器装置且是双端口存储器装置。经由一个端口106a,CPU 102可存取RAM 106。经由另一端口106b,MBIST控制器110可存取RAM 106。RAM TESTMODE信号115可经断言到第一逻辑状态以致使RAM 106处于其中CPU 102能够使用RAM 106的第一执行模式(称为“运行时执行模式”)中,或经断言在第二逻辑状态中以致使RAM 106处于其中MBIST控制器110能够存取RAM的第二模式(称为“测试模式”)中。在运行时执行模式中,端口106a是活动的(且端口106b是不活动的)以允许CPU 102经由BUS2存取RAM 106。在测试模式中,端口106b是活动的(且端口106a是不活动的)以允许MBIST控制器110经由BUS4存取RAM。当处于其测试模式中时,MBIST控制器110可测试RAM 106。举例来说,经由BUS4,MBIST控制器110可将预定义位型样写入到RAM106,且接着读取RAM以确认读取数据匹配写入到RAM的内容。在一个实例中,CPU 102对MBIST控制器110中的一或多个控制寄存器进行写入以触发MBIST控制器110开始测试RAM 106。
ROM 104也是双端口存储器装置且包含端口104a及104b。端口104a耦合到CPU 102且端口104b耦合到存储器BIST控制器110。类似于RAM 106,ROM TEST MODE 111可由存储器BIST控制器110断言到第一逻辑状态以致使ROM 104处于其中CPU 102能够存取ROM 104(例如,以提取代码)的“运行时”执行模式中,或经断言在第二逻辑状态中以致使ROM 104处于其中MBIST控制器110能够存取ROM的“测试模式”中。在运行时执行模式中,端口104a是活动的(且端口104b是不活动的)以允许CPU 102经由BUS1存取ROM 104。在测试模式中,端口104b是活动的(且端口104a是不活动的)以允许MBIST控制器110经由BUS3存取ROM 104。
为了测试ROM 104,可执行图2中所描述的实例性程序。转向图2,展示ROM 104及RAM 106的至少若干部分的内容。ROM 104包含可执行代码202、204、206、208、210及212。代码202及212包括功能性ROM代码以辅助启动系统而且辅助在运行时期间操作系统(例如,代表较高阶应用提供对低阶硬件组件的存取)。在启动过程期间,CPU 102开始执行(举例来说)以ROM_ADDR_0开始的功能性ROM代码202。也就是说,程序计数器103加载有对应于ROM_ADDR_0的值且CPU 102开始在ROM内的所述地址处执行指令。针对从ROM 104提取的每一代码指令(或指令群组)使PC 103递增。
PC 103最终将是与ROM 104内的代码204的位置对应的值。代码204包括致使CPU102将ROM代码208从范围介于ROM_ADDR_b与ROM_ADDR_c之间的地址拷贝到范围介于RAM_ADDR_x与RAM_ADDR_y之间的RAM地址的指令,如由虚线展示。用于接收ROM代码208的RAM 106的部分是RAM的其它未使用部分220。接收到RAM 106中的ROM代码208在图2中经展示为RAM代码222。
一旦将ROM代码208拷贝到RAM 106,便再次使PC递增到ROM_ADDR_a。所述位置处的代码致使CPU 102将PC 103改变到与RAM地址RAM_ADDR_x(含有来自ROM104的代码208的RAM代码222的开始地址)对应的值。CPU 102接着执行ROM代码208的指令,但执行来自RAM的那些指令的副本(代码222)。所述指令包括指令208a到208d。指令208a致使CPU 102针对测试模式配置ROM 104。在一个实例中,针对测试模式配置ROM104包括存储器BIST控制器110将ROM TEST MODE信号111(图1)断言到致使ROM 104进入其中启用其端口104b(并停用端口104a)的其测试模式的逻辑状态。接着执行指令208b以致使CPU 102配置MBIST控制器110以测试ROM 104。在一个实例中,CPU 102对MBIST控制器110中的一或多个控制寄存器进行写入以触发MBIST控制器110开始测试ROM 104。任何适合非易失性存储器测试过程可用于测试ROM 104。
CPU 102接着执行指令208c以致使CPU 102进入暂停状态以等待MBIST控制器110完成其对ROM 104的测试。一旦MBIST控制器110完成其ROM测试过程,MBIST控制器110便可断言对CPU 102的中断以将已完成ROM测试发信号通知给CPU。CPU 102退出暂停状态且接着执行指令208d,指令208d致使CPU 102将ROM 104带出其测试模式并放到运行时执行模式中以借此准许CPU 102再次经由端口104a检索来自ROM的指令。MBIST控制器可实施此动作,所述MBIST控制器将ROM TEST MODE信号111的逻辑状态改变到与其中启用端口104a并停用端口104b的运行时执行模式对应的逻辑状态。接着执行来自RAM 106的指令208e,指令208e致使CPU将PC 103改变到对应于ROM_ADDR_d的值,ROM_ADDR_d是继先前拷贝到RAM 106的代码208之后的ROM地址。
MBIST控制器110包含ROM状态寄存器117,ROM状态寄存器117含有指示ROM测试的结果的值。在一个实例中,ROM状态寄存器包含通过/未通过指示。在新改变的PC 103返回到对应于ROM_ADDR_d的值的情况下,CPU 102接着从ROM 104而非RAM 106提取指令。指令210因此经提取并致使CPU 102检查MBIST状态寄存器117的ROM测试的结果。如果ROM 104通过了其测试,那么指令210进一步可致使代码执行在功能性ROM代码212中继续。如果ROM 104确实未通过其测试,那么指令210可起始错误响应。错误响应的实例包含产生对CPU 102的中断、由错误状态机断言输出信号等。
图3提供图解说明如何测试ROM 104的时间线的实例。在RAM 106由MBIST控制器110测试(且因此在图3的实例中,RAM TEST MODE信号115处于例如逻辑“0”的逻辑状态中)之前或之后,ROM TEST MODE信号111处于与ROM的运行时执行模式对应的逻辑状态(图3中的“0”,如在302处所展示)中以准许CPU 102从ROM 104提取代码以用于执行。在306处,CPU102将代码208从ROM 104拷贝到RAM 106。ROM TEST MODE信号111的逻辑状态接着改变到用以将ROM 104置于测试模式中的状态(在此实例中为逻辑“1”)以准许MBIST控制器110存取端口104b以用于测试目的。从RAM执行所拷贝ROM代码208(现在在RAM 106中)。所拷贝ROM代码208致使CPU 102执行上文所阐释的操作,例如配置MBIST控制器110以测试ROM 104。在313处,ROM TEST MODE信号111接着经断言返回到其前一状态,其中使ROM 104回到其运行时执行模式中,使得代码提取可从ROM 104继续且在312处由CPU 102执行。
图4是实施上文所阐释的ROM测试范式的系统400的实例性架构。实例性系统400包含CPU 402(其可包括ARM核心)、启动ROM 404、RAM 406及MBIST控制器410。在图4的实例中,系统400还包含额外组件,例如直接存储器存取(DMA)控制器412、额外ROM428及硬件CRC420。CPU 402、DMA 412、MBIST控制器410、硬件CRC 420、ROM 428及RAM 406经由总线405耦合在一起。在一个实例中,总线405包括高级可扩展接口(AXI),但在其它实施方案中可与其它标准一致。启动ROM 404(其含有图2中所展示的ROM代码)经由紧密耦合存储器(TCM)接口(ITCM及DTCM)耦合到CPU 402。MBIST控制器410分别经由接口413、425及427耦合到启动ROM404、ROM 428及RAM 406,如所展示。由CPU 102及MBIST控制器110相对于图1的ROM 104及RAM 106执行的操作是由CPU 402及MBIST控制器410相对于图4的ROM 404及RAM 406执行的。
图5展示根据实例的方法的流程图。可以所展示的次序执行或以不同次序执行操作。此外,可循序地执行操作,或者可同时执行操作中的两者或多于两者。
在502处,发生复位事件。可启用系统100、400的电源或者可发生软或硬复位事件。在504处,CPU开始从ROM(例如,ROM 104、ROM 404)执行代码。ROM指令中的一者在506处致使CPU将ROM的代码的一部分拷贝到RAM。在508处将PC改变为对应于RAM中的与所拷贝ROM代码的开始对应的地址。CPU接着开始从RAM执行所拷贝代码,且在这样做时在510处将ROM配置成测试模式。在512处,MBIST控制器(例如,MBIST控制器110、410)由CPU配置以测试ROM,且MBIST控制器接着开始测试ROM(514)。
CPU在516处等待MBIST控制器完成ROM测试。一旦完成ROM测试,在518处,便将ROM往回配置成其运行时执行模式以准许CPU继续从ROM提取指令。PC被改变到ROM中的继先前所拷贝ROM代码之后的地址(520)。在522处,方法包含确定ROM是否通过了测试。此操作可包括CPU读取寄存器中的值(例如,通过/未通过标志)。如果ROM通过了其测试,那么方法在526处继续,其中完成启动过程且系统进入其运行时环境(例如,执行一或多个运行时应用程序)。然而,如果确定ROM未通过其测试,那么在524处,以适合方式(例如上文所描述的方式)处理ROM错误。
在此说明中,术语“耦合(couple或couples)”意味间接或直接有线或无线连接。因此,如果第一装置耦合到第二装置,那么所述连接可通过直接连接或通过经由其它装置及连接的间接连接。叙述“基于”意指“至少部分地基于”。因此,如果X基于Y,那么X可随Y及任何数目个额外因素而变。
修改在所描述实施例中是可能的,且其它实施例在权利要求书的范围内是可能的。
Claims (20)
1.一种系统,其包括:
易失性存储装置;
只读存储器ROM;
存储器内置自测BIST控制器;及
中央处理单元CPU,其用以在发生初始化事件后即刻:
执行来自所述ROM的第一指令以致使所述CPU将多个指令从所述ROM中的一系列地址拷贝到所述易失性存储装置;
执行来自所述ROM的第二指令以改变程序计数器;及
使用所述程序计数器执行来自所述易失性存储装置的所述多个指令,所述CPU在执行所述多个指令时,致使所述ROM进入测试模式且致使所述存储器BIST控制器经配置以测试所述ROM。
2.根据权利要求1所述的系统,其中:
所述ROM具有耦合到所述CPU的第一端口且所述ROM具有耦合到所述存储器BIST控制器的第二端口;且
当所述CPU致使所述ROM进入所述测试模式时,所述ROM停用所述第一端口并启用所述第二端口。
3.根据权利要求1所述的系统,其中所述CPU在执行所述多个指令时,还致使所述ROM退出所述测试模式。
4.根据权利要求3所述的系统,其中所述CPU在执行所述多个指令时,致使所述ROM在所述存储器BIST控制器完成所述ROM的所述测试后即刻退出所述测试模式。
5.根据权利要求3所述的系统,其中在致使所述ROM退出所述测试模式后,即刻启用所述ROM的第一端口并停用其第二端口。
6.根据权利要求1所述的系统,其中所述CPU在执行所述多个指令时,还致使所述CPU再次将所述程序计数器改变为与所述ROM中的地址对应的新值。
7.根据权利要求6所述的系统,其中所述程序计数器的所述新值对应于在所述第一多个指令的所述一系列地址之后的ROM地址。
8.根据权利要求7所述的系统,其中所述CPU执行来自所述ROM的第二指令以致使所述CPU确定所述ROM是否通过了由所述存储器BIST控制器对其进行的测试。
9.一种非暂时性存储装置,其存储在由中央处理单元CPU执行时致使所述CPU进行以下操作的指令:
将多个指令从在所述非暂时性存储装置内的一系列地址拷贝到易失性存储装置;
执行来自所述非暂时性存储装置的第一指令以将程序计数器改变为对应于所述易失性存储装置中的地址;及
执行来自所述非暂时性存储装置的第二指令以检查所述非暂时性存储装置是否通过了由第二装置执行的测试。
10.根据权利要求9所述的非暂时性存储装置,其中所述第二装置包括内置自测控制器。
11.根据权利要求9所述的非暂时性存储装置,其中待拷贝到所述易失性存储装置的所述多个指令包括用以致使所述非暂时性存储装置停用待耦合到所述CPU的端口,且用以致使所述非暂时性存储装置启用待耦合到所述第二装置的端口的指令。
12.根据权利要求9所述的非暂时性存储装置,其中待拷贝到所述易失性存储装置的所述多个指令包括用以致使所述第二装置经配置以测试所述非暂时性存储装置的指令。
13.根据权利要求9所述的非暂时性存储装置,其中待拷贝到所述易失性存储装置的所述多个指令包括用以致使所述CPU等待所述第二装置完成对所述非暂时性存储装置的所述测试的指令。
14.根据权利要求9所述的非暂时性存储装置,其中待拷贝到所述易失性存储装置的所述多个指令包括用以致使所述非暂时性存储装置启用待耦合到所述CPU的所述端口并停用待耦合到所述第二装置的所述端口的指令。
15.根据权利要求9所述的非暂时性存储装置,其中待拷贝到所述易失性存储装置的所述多个指令包括用以将所述程序计数器改变为与所述ROM中的在所述多个指令之后的地址对应的指令。
16.一种方法,其包括:
将多个指令从只读存储器ROM内的一系列地址拷贝到易失性存储装置;
将程序计数器的值改变为对应于所述易失性存储装置内的在所述多个指令的开始处的地址;
执行来自所述易失性存储装置的所述多个指令,所述指令包含用以将所述程序计数器的所述值改变为与在所述ROM内的所述多个指令的末尾之后的在所述ROM内的地址对应的指令;及
执行在所述ROM内的指令以确定所述ROM是否通过了测试。
17.根据权利要求16所述的方法,其进一步包括由存储器内置自测控制器执行对所述ROM的所述测试。
18.根据权利要求16所述的方法,执行来自所述易失性存储装置的所述多个指令包括停用所述ROM的耦合到中央处理单元的第一端口并启用所述ROM的耦合到存储器内置自测控制器的第二端口。
19.根据权利要求18所述的方法,其进一步包括在完成对所述ROM的所述测试后,即刻启用所述ROM的所述第一端口并停用所述第二端口。
20.根据权利要求16所述的方法,其中执行来自所述易失性存储装置的所述多个指令包含等待存储器内置自测控制器测试所述ROM。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862751873P | 2018-10-29 | 2018-10-29 | |
US62/751,873 | 2018-10-29 | ||
US201862785953P | 2018-12-28 | 2018-12-28 | |
US62/785,953 | 2018-12-28 | ||
US16/271,660 | 2019-02-08 | ||
US16/271,660 US10818374B2 (en) | 2018-10-29 | 2019-02-08 | Testing read-only memory using memory built-in self-test controller |
PCT/US2019/058619 WO2020092406A1 (en) | 2018-10-29 | 2019-10-29 | Testing read-only memory using built-in self-test controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112912958A true CN112912958A (zh) | 2021-06-04 |
Family
ID=70328788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980070484.8A Pending CN112912958A (zh) | 2018-10-29 | 2019-10-29 | 使用内置自测控制器测试只读存储器 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10818374B2 (zh) |
EP (1) | EP3874506A4 (zh) |
JP (1) | JP7394849B2 (zh) |
KR (1) | KR20210080398A (zh) |
CN (1) | CN112912958A (zh) |
WO (1) | WO2020092406A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10818374B2 (en) * | 2018-10-29 | 2020-10-27 | Texas Instruments Incorporated | Testing read-only memory using memory built-in self-test controller |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511202A (en) * | 1993-07-26 | 1996-04-23 | International Business Machines Corporation | Desktop computer system having zero-volt system suspend and control unit for ascertaining interrupt controller base address |
US6081752A (en) * | 1995-06-07 | 2000-06-27 | International Business Machines Corporation | Computer system having power supply primary sense to facilitate performance of tasks at power off |
US5793943A (en) * | 1996-07-29 | 1998-08-11 | Micron Electronics, Inc. | System for a primary BIOS ROM recovery in a dual BIOS ROM computer system |
US6216224B1 (en) * | 1998-06-05 | 2001-04-10 | Micron Technology Inc. | Method for read only memory shadowing |
JP2001148199A (ja) * | 1999-11-19 | 2001-05-29 | Mitsubishi Electric Corp | 自己テスト回路内蔵半導体記憶装置 |
US20070233955A1 (en) * | 2000-01-06 | 2007-10-04 | Super Talent Electronics Inc. | Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces |
JP2002259356A (ja) * | 2001-02-28 | 2002-09-13 | Naltec Inc | データ処理装置およびその制御方法 |
US7325178B2 (en) | 2003-12-05 | 2008-01-29 | Texas Instruments Incorporated | Programmable built in self test of memory |
EP1825479A4 (en) * | 2004-11-18 | 2008-04-16 | Mentor Graphics Corp | METHOD AND DEVICE FOR AN INTEGRATED PROGRAMMABLE MEMORY SELF TEST (MBIST) |
JP2007035119A (ja) * | 2005-07-25 | 2007-02-08 | Seiko Epson Corp | 半導体装置 |
US10481202B2 (en) | 2017-02-13 | 2019-11-19 | Qualcomm Incorporated | In-field self-test controller for safety critical automotive use cases |
US10818374B2 (en) * | 2018-10-29 | 2020-10-27 | Texas Instruments Incorporated | Testing read-only memory using memory built-in self-test controller |
JP2021012598A (ja) * | 2019-07-08 | 2021-02-04 | キヤノン株式会社 | 情報処理装置及び制御方法 |
-
2019
- 2019-02-08 US US16/271,660 patent/US10818374B2/en active Active
- 2019-10-29 CN CN201980070484.8A patent/CN112912958A/zh active Pending
- 2019-10-29 WO PCT/US2019/058619 patent/WO2020092406A1/en unknown
- 2019-10-29 JP JP2021523596A patent/JP7394849B2/ja active Active
- 2019-10-29 KR KR1020217012706A patent/KR20210080398A/ko unknown
- 2019-10-29 EP EP19879751.6A patent/EP3874506A4/en active Pending
-
2020
- 2020-08-26 US US17/002,813 patent/US11521698B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20210080398A (ko) | 2021-06-30 |
US20200388346A1 (en) | 2020-12-10 |
JP2022520914A (ja) | 2022-04-04 |
US20200135290A1 (en) | 2020-04-30 |
JP7394849B2 (ja) | 2023-12-08 |
EP3874506A1 (en) | 2021-09-08 |
WO2020092406A1 (en) | 2020-05-07 |
US11521698B2 (en) | 2022-12-06 |
EP3874506A4 (en) | 2021-12-15 |
US10818374B2 (en) | 2020-10-27 |
WO2020092406A8 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2966650B1 (en) | Memory built-in self test for a data processing apparatus | |
US6016554A (en) | Method for event-related functional testing of a microprocessor | |
US9836373B2 (en) | On-chip field testing methods and apparatus | |
US5813043A (en) | Method and system including memory patching utilizing a transmission control signal and circuit | |
US10026499B2 (en) | Memory testing system | |
CN111033630A (zh) | 具有mbist的多处理器内核设备 | |
US20090006809A1 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
US11755803B2 (en) | Programmable macro test design for an integrated circuit | |
US20150046759A1 (en) | Semiconductor integrated circuit device | |
TWI287706B (en) | A method of creating a prototype data processing system, a hardware development chip, and a system for debugging prototype data processing hardware | |
JP2001184226A (ja) | メモリブロックを有するデジタルシステムおよびメモリのブロックのエミュレーティング方法 | |
JP7394849B2 (ja) | メモリ組込み自己テストコントローラを用いる読み出し専用メモリのテスト | |
US5751641A (en) | Microprocessor memory test circuit and method | |
US7340561B2 (en) | Computer memory initialization | |
US5712822A (en) | Microprocessor memory test circuit and method | |
US7047444B2 (en) | Address selection for testing of a microprocessor | |
JP2001356971A (ja) | マルチプロセッサメモリをテストするシステム及び方法 | |
JPH0877035A (ja) | 中央処理装置及びマイクロコンピュータ | |
KR101244684B1 (ko) | 에러검출이 가능한 마이크로 컴퓨팅 장치 및 그의 에러검출방법 | |
EP4198736A1 (en) | Distributed mechanism for fine-grained test power control | |
US7716533B2 (en) | System and method for trapping bus cycles | |
US10120737B2 (en) | Apparatus for detecting bugs in logic-based processing devices | |
CN118093248A (zh) | Str调试的故障确定方法、装置、电子设备及存储介质 | |
JP2004302727A (ja) | Fpgaの動作チェック方式 | |
JPH096641A (ja) | 情報処理装置 |
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 |