CN111033630B - 具有mbist的多处理器内核设备 - Google Patents

具有mbist的多处理器内核设备 Download PDF

Info

Publication number
CN111033630B
CN111033630B CN201880054306.1A CN201880054306A CN111033630B CN 111033630 B CN111033630 B CN 111033630B CN 201880054306 A CN201880054306 A CN 201880054306A CN 111033630 B CN111033630 B CN 111033630B
Authority
CN
China
Prior art keywords
mbist
core
embedded device
reset
slave
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
CN201880054306.1A
Other languages
English (en)
Other versions
CN111033630A (zh
Inventor
S·鲍林
Y·元永斯戈
I·沃杰沃达
T·菲尼克斯
D·弗纳德斯
S·布拉德利
M·巴鲁
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN111033630A publication Critical patent/CN111033630A/zh
Application granted granted Critical
Publication of CN111033630B publication Critical patent/CN111033630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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/31723Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
    • 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/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • 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/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • 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
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • 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
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

在具有多个处理器内核的嵌入式设备中,每个内核具有静态随机存取存储器(SRAM)、与该SRAM相关联的存储器内置自检(MBIST)控制器、与MBIST控制器耦接的MBIST访问端口、通过第一多路复用器与MBIST访问端口耦接的MBIST有限状态机(FSM)和通过每个处理器内核的多路复用器与每个处理器内核的MBIST访问端口耦接的JTAG接口。

Description

具有MBIST的多处理器内核设备
技术领域
本公开涉及多处理器内核设备,具体地涉及具有内置自检功能的多处理器内核微控制器。
背景技术
微控制器是片上系统,并且不仅包括中央处理单元(CPU)而且包括存储器、I/O端口和多个外围设备。多处理器内核设备诸如多核微控制器不仅包括一个CPU而且包括两个或更多个中央处理内核。此设备提供增强的性能、改善的安全性和帮助软件开发。在嵌入式设备中,这些设备需要使用具有大量引脚的外壳以允许访问各种外围设备。
每个处理器可具有其自己的专用存储器。在哈佛架构中,提供用于程序和数据的单独存储器,其中程序存储器(ROM)通常为闪存存储器,并且数据存储器为易失性随机存取存储器(RAM)。在由申请人设计的多核微控制器中,实现了主处理器内核和一个或多个从处理器内核。从处理器通常包括用于数据和程序存储器两者的RAM,其中程序存储器通过主内核加载。
发明内容
存在对此类多核设备的需要,以具体地为其集成的易失性存储器提供有效的自检功能。
根据实施方案,嵌入式设备可包括多个处理器内核,每个处理器内核包括:静态随机存取存储器(SRAM);与所述SRAM相关联的存储器内置自检(MBIST)控制器;与所述MBIST控制器耦接的MBIST访问端口;通过第一多路复用器与所述MBIST访问端口耦接的MBIST有限状态机(FSM);和通过每个处理器内核的多路复用器与每个处理器内核的MBIST访问端口耦接的JTAG接口。
根据另一个实施方案,多个处理器内核可由主内核和从内核组成。根据另一个实施方案,多个处理器内核可包括单个主内核和至少一个从内核。根据另一个实施方案,从内核可包括从程序静态随机存取存储器(PRAM)和与MBIST访问端口耦接的相关联的MBIST控制器。根据另一个实施方案,所述MBIST访问端口的数据输出可与BIST控制器的与所述SRAM相关联的数据输入耦接,其中所述BIST控制器的与所述SRAM相关联的数据输出与所述BIST控制器的与所述PRAM相关联的数据输入耦接,并且其中所述BIST控制器的与所述PRAM相关联的数据输出与BIST访问端口的数据输入耦接。根据另一个实施方案,每个BIST控制器可由相关联的FSM和用户软件单独配置以在嵌入式设备复位之后执行存储器自检。根据另一个实施方案,可通过外部复位、软件复位指令或看门狗复位来发起复位。根据另一个实施方案,每个处理器内核可包括时钟源,该时钟源向相关联的FSM提供时钟。根据另一个实施方案,可针对多个处理器内核的MBIST FSM选择不同的时钟源。根据另一个实施方案,每个FSM可包括与相应的处理内核耦接的控制寄存器。根据另一个实施方案,处理内核的复位序列可被扩展,直到存储器测试已完成。根据另一个实施方案,从FSM提供的信号可用于扩展复位序列。根据另一个实施方案,嵌入式设备还可包括主内核中的用于配置所述主MBIST功能和每个从MBIST功能的配置用户空间文件系统。根据另一个实施方案,在用于操作嵌入式设备的方法中,该嵌入式设备包括多个处理器内核,每个处理器内核包括静态随机存取存储器(SRAM)、与SRAM相关联的存储器内置自检(MBIST)控制器、与MBIST控制器耦接的MBIST访问端口、通过第一多路复用器与MBIST访问端口耦接的MBIST有限状态机(FSM)和通过每个处理器内核的多路复用器与每个处理器内核的MBIST访问端口耦接的JTAG接口,该方法可包括:为至少一个内核配置MBIST功能,其中MBIST由至少一个内核的FSM通过多路复用器来控制;执行复位;以及在复位序列期间或在已暂停对SRAM的访问时,执行MBIST。
根据该方法的另一个实施方案,多个处理器内核可包括单个主内核和至少一个从内核。根据该方法的另一个实施方案,从内核可包括从程序静态随机存取存储器(PRAM)和与MBIST访问端口耦接的相关联的MBIST控制器。根据该方法的另一个实施方案,该方法还可包括单独地配置每个BIST控制器以通过在主内核中配置用户空间文件系统来执行存储器自检。根据该方法的另一个实施方案,可通过外部复位、软件复位指令或看门狗复位来发起复位。根据该方法的另一个实施方案,该方法还可包括通过每个处理器内核内的时钟源向FSM提供时钟。根据该方法的另一个实施方案,该方法还可包括针对多个处理器内核的MBIST FSM选择不同的时钟源。根据该方法的另一个实施方案,每个FSM可包括与相应的处理内核耦接的控制寄存器。根据该方法的另一个实施方案,处理内核的复位序列可被扩展,直到存储器测试已完成。根据该方法的另一个实施方案,馈送至FSM的信号可用于扩展复位序列。
附图说明
图1示出了常规双核微控制器的框图;
图2示出了根据各种实施方案的提供BIST功能的双核微控制器的具体部件;
图3示出了如图2所示的BIST电路的更详细框图;
图4示出了与MBIST功能相关联的控制寄存器的可能实施方案;并且
图5示出了具有MBIST测试条件的表。
具体实施方式
根据各种实施方案,可提供针对与每个内核相关联的独立存储器内置自检操作的柔性架构,同时允许针对在用户模式下和生产测试期间其存储器测试引擎的可编程时钟。
如图1所示,双核或多核处理单芯片设备100可被设计为具有主微控制器110,其具有主中央处理单元(CPU)112、存储器和外围总线115,以及一个或多个从单元120(图1中仅示出一个),每个从单元具有从中央处理单元122、存储器和外围总线125,其中每个从中央处理单元122的内核设计可与主CPU 112的内核设计大致相同或类似。然而,根据其他实施方案,从CPU 122可不同于主CPU 112。可提供单个内部/外部振荡器单元150,其分别与每个内核的单个PLL和时钟发生器单元111和121耦接。主微控制器具有其自身的一组外围设备118,如图1所示,并且可具有将某些外围设备118分配给可选外部引脚140的外围引脚选择单元119。其他外围设备118可具有固定关联,该固定关联可通过焊盘所有权多路复用器单元130来控制,以允许将外部引脚的总体所有权分配给内核110或120。
从单元120可具有或可不具有其自身的一组外围设备128,其包括其自身的外围引脚选择单元129,并且因此自身形成微控制器。因此,每个主设备110和从设备120形成更完全独立或不完全独立的处理设备,并且可与通信接口130,135通信,该通信接口可包括邮箱系统130和FIFO通信接口135。图1示出了具有主微控制器110和单个从微控制器120的此类设计。通信接口130,135允许两个内核110,120之间的通信。每个处理器112,122可被设计在如图所示的哈佛架构中。然而,根据各种实施方案的原理可容易地转换为von Neumann架构。主单元110包括例如用作程序存储器的闪存存储器116,其还可包括配置寄存器和用作数据存储器的随机存取存储器114,其均与主内核112耦接。每个单元110和1120可具有其自身的DMA控制器117和127,其分别与其存储器总线115,125耦接。
如图1所示,从单元120可被设计为不具有闪存存储器。相反,提供了专用程序随机存取存储器124。数据存储器由数据RAM 126形成。由于程序存储器124是易失性的,因此根据各种实施方案,程序存储器将通过主单元110加载。该设计选择的优点在于避免了闪存技术带来的瓶颈。闪存存储器通常比RAM慢。因此,将不存在读取延迟,并且从单元可以更高的执行速度操作,这对于某些高速应用例如SMPS应用可能是非常有利的。如上所述,可根据各种实施方案来实现多于一个从单元120。在两个内核均相同的情况下,主内核112可被设计成包括附加指令,该附加指令可不在从单元122中实现或在从单元中不起作用。这些附加指令允许将数据从闪存存储器116或从外部源传输到从设备120的PRAM 124中。例如,根据实施方案,多个内核可在单个芯片设备内实现,并且每个内核可具有分配的配置寄存器,其中此类寄存器的位中的一个可限定相应单元是主单元还是从单元。可能存在只允许将内核中的一个设置为主内核的逻辑部件。一旦设置了该位,则可允许执行附加指令。在其他单元(从单元)中,这些指令可不被执行,例如,它们可被解释为非法操作码。
由主单元110访问PRAM 124的控制逻辑部件可位于主单元中。作为另外一种选择,可在从单元120内布置类似的单元。任一单元被设计为专门向主单元110或从单元120授予对PRAM 124的访问权限。其他实施方案可将逻辑部件的一些部分放置在主内核和从内核中的其他部件内,或将逻辑部件布置在两个单元之外。类似地,通信接口130,13可在任一单元内或完全在两个单元之外。对PRAM访问单元的附加控制可由通信接口130提供。实施方案不限于如图所示的双核具体实施。本领域的技术人员将认识到其他具体实施是可能的。
根据各种实施方案,提供了两种方法来在主处理器和从处理器之间传输数据。基于邮箱130的数据管道是默认方法,并且始终存在。基于FIFO的数据管道135可以是参数化选项。每种方法都有优点和缺点。
根据实施方案,如图1所示的多核微控制器可被设计为实现针对静态随机存取存储器(SRAM)的存储器内置自检(MBIST)功能,如将在下文更详细地解释。图2和图3示出了用于主单元110和从单元120的该MBIST单元的各种实施方案。
根据各种实施方案,SRAM具有内置自检(BIST)能力,例如由 存储器BIST(MBIST)提供以用于测试。/>解决方案是一个设计工具,其自动将测试和控制逻辑部件插入到现有RTL或门级设计中。可以使用其他BIST工具提供商。除了逻辑部件插入之外,此类解决方案还生成控制所插入的逻辑部件的测试模式。可在短时间段内对设备SRAM执行一整套测试算法。因此,第一BIST控制器240与主内核110的主数据存储器116相关联,并且分别为从RAM 124和从PRAM 126提供两个单独的BIST控制器245和247。此外,主内核110提供BIST访问端口230并且从内核120提供单个BIST访问端口235,该单个BIST访问端口与BIST控制器245和247连接,其中数据出口与BIST控制器245的数据入口连接,该BIST控制器的数据出口与BIST控制器247的数据入口连接,该BIST控制器的数据出口与BIST访问端口235的数据入口连接。因此,这些设备以菊花链方式链接。
根据各种实施方案,提供了第一用户MBIST有限状态机210,其可通过多路复用器220与主内核110的BIST访问端口230连接。多路复用器220还经由外部引脚250提供对BIST访问端口230的外部访问。在多路复用器220和外部引脚250之间提供了JTAG接口260,270。因此,外部引脚可包括本领域已知的TCK、TMS、TDI和TDO引脚。图2和图3示出了具有芯片测试访问端口(TAP)260的设备上的JTAG TAP,其允许访问标准的JTAG测试功能,诸如获取设备ID或执行边界扫描。图2和图3还示出了DFX TAP 270,其中DFX代表“针对x的设计”并且来自术语“针对测试的设计”(DFT)。在这种情况下,“x”是某个特殊的测试操作。DFX TAP 270是JTAG TAP(测试访问端口)的通用扩展,其添加了特殊JTAG命令以用于测试功能。在这种情况下,可提供DFX TAP 270以允许访问任一BIST引擎以用于生产测试。主CPU BIST引擎或从CPU BIST引擎可连接到JTAG链以接收命令。而且,每当在设备上启用闪存代码保护时,都会禁用DFX TAP 270。这将阻止某人通过(例如)分析RAM的内容来尝试从设备中窃取代码。
如图2和图3所示,为从内核120提供了包括用户MBIST有限状态机215和多路复用器225的类似电路。多路复用器225还经由JTAG接口260,270与外部引脚250耦接。
根据各种实施方案,提供了该设备上的MBIST功能以用于两个目的。首先,这使得能够在工厂生产测试期间以速度快速全面地测试SRAM。其次,MBIST允许SRAM测试由客户应用软件在运行时(用户模式)执行。这对于安全关键型应用很重要。该设备具有两个不同的用户界面以用于这些需求中的每一个需求,如图2和图3所示。
图4示出了MBIST控制寄存器的示例性实施方案,该控制寄存器可被实现为分别控制主单元和从单元中的每一者中的有限状态机210和215的功能。该寄存器可具有用于控制状态机的某些位,诸如FLTINJ和MBISTEN,以及用于指示状态机的当前状态的其他位,诸如指示测试结束的MBISTDONE和指示存储器故障或传递状态的MBISTSTAT。
根据各种实施方案,由于双(多)CPU内核,MBIST实现在该设备上是唯一的。MBIST测试通常在发生设备POR或MCLR事件时发起,该事件使两个CPU内核复位,并通过MCLR或SMCLR在调试模式下复位一个CPU内核或另一个CPU内核期间发起。无论RAM与哪个内核相关联,JTAG接口330都提供到设备上用于生产测试的所有RAM的公共链路。在软件运行期间,每个内核都能够在任何时候独立执行MBIST。根据各种实施方案,这允许对在每个内核上运行的应用优化MBIST测试频率。
当通过JTAG接口访问MBIST时,芯片处于测试模式,所有CPU和外围逻辑部件处于禁用状态。这允许JTAG接口直接通过DFX TAP访问RAM。无论RAM与哪个内核相关联,都可测试所有数据和程序RAM。
当芯片运行用户软件(芯片不处于测试模式)时,每个内核可使用MBISTCON SFR接口独立地执行MBIST。在这种情况下,仅测试与该内核相关联的数据RAM。根据各种实施方案的设备具有总共三个RAM:
·主CPU数据RAM(X和Y RAM组合)
·从CPU数据RAM(X和Y RAM组合)
·从CPU程序RAM(PRAM)
根据图5中所列的操作条件,可在MBIST测试期间测试这些RAM中的一者或多者,该图具体地描述了每个操作条件以及测试每个RAM的条件。
由于MBIST是工具插入的,因此它会自动实例化每个SRAM周围的卡圈。另外,未显示其覆盖SRAM启用和时钟门的能力。由于实例化的逻辑部件可增加SRAM库的任何输入路径的显著延迟,因此必须检查静态计时以验证它没有创建关键路径(针对设计)。如果确实如此,则可能需要手动操纵BIST卡圈。
插入工具生成测试引擎、SRAM接口卡圈和SRAM测试模式。与测试引擎的通信由IJTAG接口(IEEE P1687)提供。IJTAG是在标准JTAG接口的基础上运行的协议,并且除其他功能外,它还提供了有关设备中TDR和TAP的连接的信息。
对于生产测试,将DFX TAP实例化以提供对IJTAG接口的访问。可通过主设备芯片TAP中可用的SELECTALT、ALTJTAG和ALTRESET指令访问DFX TAP。这些指令仅以专用测试模式提供。
用户模式用户界面在配置用户空间文件系统单元113即BISTDIS内具有一个特殊功能寄存器(SFR)、MBISTCON和一个闪存配置用户空间文件系统,以控制测试的操作。用户界面控制自定义状态机,其控制IJTAG接口。自定义状态机提供IJTAG命令的正确序列来请求时钟源、运行测试并返回测试结果。
当通过用户界面激活MBIST时,MBIST作为设备复位序列的一部分来执行。在设备配置和校准用户空间文件系统已被加载之后但在允许设备执行代码之前运行MBIST。
用户界面允许在POR/BOR复位或其他类型的复位期间执行MBIST。
配置用户空间文件系统单元113中的BISTDIS配置用户空间文件系统允许用户选择MBIST是否在POR/BOR复位时运行。当BISTDIS=1(默认擦除条件)时,MBIST将不在POR/BOR复位时运行。
每个CPU内核110,120可具有其自身的配置用户空间文件系统以在设备POR时控制MBIST的操作。根据实施方案,BISTDIS配置用户空间文件系统位于主CPU 110的FPOR寄存器和每个从CPU 120的FSLVnPOR寄存器中。根据一个实施方案,控制用于所有内核的MBIST的操作的所有用户空间文件系统在框113中位于主内核中,如图3所示。此实现的原因是在设备上可能只有一个与主CPU相关联的闪存面板。但是,该闪存面板可能包含控制主从CPU选项的配置值。
图4所示的用于每个内核的MBISTCON SFR耦接相应的内核。因此,每个内核具有单独的MBIST状态机210,215,其具有相应的MBISTCON特殊功能寄存器以允许完全独立的软件控制。根据一些实施方案,它可以是写保护的,以根据实施方案避免意外激活MBIST测试。用户必须将正确的写解锁序列写入闪存控制器宏的NVMKEY寄存器以启用对MBISTCON SFR的写入。在解锁序列之后,允许对一个指令周期进行写入。如果需要分别写入MBISTCON SFR中的多个位,则每次写入都需要新的解锁序列。用于从内核的控制寄存器可具有用于PRAM的附加位。
根据一个实施方案,用于用户模式测试的MBIST根据实施方案被配置为执行SMarchCHKBvcd测试算法。需要每个RAM位置43个时钟周期才能完成该算法。可以根据各种实施方案实现其它算法。
该算法的变型SMarchCHKB可用,其通过使用快速行序列或快速列序列而比SMarchCHKBvcd算法更快地完成。此算法的工作方式是保持列地址常量,直到所有行访问完成,反之亦然。
根据实施方案,用户模式MBIST算法与生产测试算法相同。根据一些实施方案,用户模式测试可仅用于检测故障。在一些具体实施中,可能不能确定哪些SRAM位置导致了故障。
尽管可以专门为SRAM清洗提供优化的算法,但根据实施方案,在该设备上可不提供任何算法。
根据一些实施方案,用户模式MBIST测试将从相应内核请求FRC+PLL时钟源并将其配置为运行测试。由于根据一些实施方案,MBIST测试作为复位序列的一部分而运行,因此时钟源必须可用于复位。
根据实施方案,MBIST测试每16位RAM位置消耗43个时钟周期。因此,48KB RAM的MBIST测试时间为43×24,576=1,056,768个时钟周期。应选择MBIST时钟频率,以提供相当短的测试时间,并在所有设备操作条件下提供测试的适当操作。时钟频率的选择由设计者决定。但是,建议测试时间为20毫秒或更短,以便在测试运行时防止扩展的设备复位序列。根据该要求,MBIST时钟不应小于50MHz。
用户模式MBIST测试的优选时钟选择是由设备配置用户空间文件系统选择的用户的系统时钟。这允许用户模式MBIST测试速度与用户应用的启动速度相匹配,从而允许针对环境操作条件和设备启动功率来优化测试。
当根据实施方案执行时,该设备上的MBIST引擎检查SRAM 116,124的整个范围。当运行测试时,将有效地破坏任何SRAM内容。用户应用变量将丢失,并且系统堆栈指针将不再对来自调用或中断函数的返回有效。因此,用户模式MBIST测试作为设备复位序列的一部分来执行。
将MBIST测试置于复位顺序的一种替代方法是在测试运行时停止CPU或其他主设备尝试的任何SRAM访问。由于在测试期间所有RAM内容都被破坏,因此用户软件将需要在测试运行时禁用中断和DMA,并在测试完成后重新初始化设备SRAM。在执行重新初始化之前,不应执行任何函数调用或中断。该方法具有如下有益效果:在测试运行期间,设备1/0引脚可保持在初始化状态。根据一些实施方案,在MBIST在I/O处于未初始化状态的情况下运行时,设备复位序列被扩展。对于其他实施方案,可考虑另选的方法。
执行MBIST测试时,应用软件应在根据一些实施方案初始化SRAM中的任何应用变量之前检查MBIST状态。此外,不应进行任何函数调用,并且应禁用中断。如果MBIST引擎已检测到故障,那么在这些事件之前未能检查MBIST状态可能会导致意外操作。
当配置用户空间文件系统BISTDIS=1并且MBISTCON.MBISTEN=0时,禁用所有用户模式MBIST测试。
如果在通电时需要MBIST测试,则BISTDIS设备配置用户空间文件系统应编程为0。每个CPU内核110,120都有其自身的与通电MBIST相关联的BISTDIS配置用户空间文件系统。每个用户空间文件系统必须编程为0,以便MBIST检查与CPU内核110,120相关联的SRAM。用户软件可通过在启动时读取RCON SFR然后确认MBISTDONE和MBISTSTAT状态位的状态来检测POR复位。如果MBISTSTAT=1,则启动软件可采取适当的动作以将设备置于安全状态而不依赖于设备SRAM。
MBIST测试可根据实施方案在软件中发起,如下所示:
·将解锁序列写入NVMKEY SFR
·将值O×0001写入MBISTCON SFR
·使用RESET指令复位设备
退出复位序列后,应用软件应检查MBISTDONE位和MBISTSTAT的状态。还可检查RCON SFR以确认发生了软件复位。如果MBISTSTAT=1,则启动软件可采取适当的动作以将设备置于安全状态而不依赖于设备SRAM。
每个CPU内核110,120具有如图4所示的MBISTCON SFR,其用于测试与该内核相关联的数据SRAM 116,124,126。由于MBISTCON.MBISTEN位仅在POR事件上复位,因此如果在软件中设置MBISTEN,则MBIST测试也可在其他形式的软复位上运行。这些复位包括MCLR复位和WDT或DMT复位。WDT和DMT分别代表WatchDog计时器或Dead-Man计时器。这两个计时器均作为安全功能提供以防止失控软件。必须在特定时间段内定期清除WDT。否则,该软件被视为丢失或挂起,并且设备被复位。DMT也是如此,不同的是需要更详细的软件交互来避免设备复位。用户软件必须在特定时间间隔内对DMT执行特定的一系列操作。与WDT相比,DMT通常提供识别错误软件操作的更多详细信息。
MBISTCON SFR包含FLTINJ位,其允许用户软件模拟MBIST故障。此功能允许用户全面测试故障处理软件。
按如下所示调用模拟的MBIST故障:
·将解锁序列写入NVMKEY SFR
·将MBISTCON SFR写入O×0101。
·使用RESET指令复位设备
退出复位序列时,应用软件应观察到MBISTDONE=1,MBISTSTAT=1并且FLTINJ=1。这允许用户软件知道发生了故障并且它是“模拟的”。FLTINJ位仅在POR上复位,以允许用户检测模拟的故障条件。
用户模式MBIST测试作为设备复位序列的一部分运行。如果FPOR.BISTDIS=O并且发生POR,MBIST测试将运行至完成,而与MCLR引脚状态无关。如果发生另一个POR事件,新的复位序列和MBIST测试将发生。
可能由于在设备复位序列期间的POR事件(电源故障)而中断经由MBISTCON SFR发起的用户模式MBIST。如果FPOR.BISTDIS=1,则将不会启动新的BIST。应用软件可以通过监视RCON SFR来检测此状态。
图3示出了根据各种实施方案的设备上的图2的MBIST系统的更详细框图。提供此图是为了显示自动插入的IP、自定义IP和两个CPU内核110,120之间的概念性交互。
用于MBIST功能的插入电路由三种类型的块组成。待测试的每个RAM都有控制器块240,245和247,其用于生成RAM地址和RAM数据模式。控制器块240,245和247比较从RAM读取的数据以检查错误。
控制器块240,245和247由相应的BIST访问端口(BAP)230和235控制。每个BIST访问端口的细节和设计可取决于提供具体实施的相应工具,诸如例如MBIST。BAP 230,235对通过IJTAG接口提供的命令进行解码并确定待运行的测试。BAP可控制多于一个控制器块,从而允许从公共控制接口测试多个RAM。
图3所示的结构允许与主CPU 110和从CPU 120相关联的RAM 116,124和126一起或单独地进行测试,这取决于设备处于生产测试模式还是用户模式。此外,可根据操作模式将与从CPU 120相关联的程序RAM(PRAM)126从MBIST测试中排除。
MBIST系统具有多路复用器220,225,其允许MBIST测试独立地在与每个CPU相关联的RAM 116,124,126上运行。或者,所有设备RAM 116,124和126可通过芯片JTAG接口330和DFX TAP 270链接在一起以进行测试。
在生产MBIST测试场景中,JTAG多路复用器220,225将每个CPU内核110,120的MBIST BAP 230,235链接在一起。这允许MBIST BAP块230,235通过公共JTAG连接来控制。
主从CPU各自具有用于以用户模式激活MBIST测试的自定义FSM(有限状态机)210,215。JTAG多路复用器220,225允许每个MBIST BAP 230,235与JTAG链分离并由本地FSM210,215控制。每个FSM 210,215的主要目的是基于与MBISTCON寄存器进行用户软件交互来生成一组预先确定的JTAG命令。例如,这允许用户软件调用MBIST测试。在正常生产环境中,MBIST将使用外部JTAG连接进行控制,并且可以根据通过JTAG接口发送的命令进行更全面的测试。
多路复用器220和225根据设备测试模式而切换。一对设备引脚可用于允许在设备被保持复位时将特殊测试条目代码钟控到设备中。具体地,该设备可具有用于对所有内部设备逻辑部件进行扫描测试的测试模式。外部JTAG接口用于在设备处于扫描测试模式时控制MBIST测试。可在生产测试期间将预定的一组测试模式施加到JTAG引脚,以激活各种RAM面板上的MBIST。由于根据各种实施方案的扫描测试,CPU和所有其他内部设备逻辑部件在该测试模式期间被有效地禁用。在用户模式和所有其他测试模式中,可以使用MBISTCONSFR在软件中激活MBIST。
与每个CPU相关联的MBIST系统可请求独立的时钟源以用于操作FSM 210,215和MBIST控制器块240,245,247。
MBIST系统具有多个时钟域,这些时钟域必须根据各种实施方案用适当的时钟域交叉逻辑部件来管理。第一个是JTAG时钟域TCK。第二个时钟域是FRC时钟,其用于操作用户MBIST FSM 210,215。用户MBIST FSM 210,215还具有与CPU时钟域的连接以有利于MBISTCON SFR的读取和写入。最终时钟域是用于操作MBIST控制器块240,245,247的时钟源。这是比FRC时钟快的源,其使实际MBIST测试时间最小化。
由于主CPU 110和从CPU 120各自具有其自身的时钟系统,因此用于在主从RAM116,124,126上运行MBIST测试的时钟源需要彼此独立。主从MBIST的时钟源将由与每个CPU内核110,120相关联的相应时钟源提供。
每个用户MBIST FSM 210,215都具有连接到设备复位SIB的“完成”信号。该信号用于延迟设备复位序列,直到MBIST测试已完成。可以通过将MBIST完成信号与连接到复位SIB的nvm_mem_ready信号进行AND操作来扩展复位序列。因此,设备执行将被推迟,直到配置用户空间文件系统已加载并且MBIST测试已完成。
在双核设备上,从内核有一个辅复位SIB。从复位SIB处理本地从内核复位,诸如WOT事件、软件复位指令和SMCLR引脚(当调试时)。
由于从内核取决于根据实施方案保持在主内核闪存中的配置用户空间文件系统,因此从内核复位SIB从主内核闪存面板接收nvm_mem_rdy信号。可通过将来自从用户MBISTFSM的MBIST完成信号与连接到从复位SIB的nvm_mem_rdy信号进行AND操作来推迟从内核执行。
在大多数情况下,从内核120将具有比主内核更少的待测试的RAM 124/126。在主内核被复位或导致主从内核都运行MBIST测试的POR发生的情况下,从MBIST应该在通过主/从接口(MSI)启用从内核之前完成。因此,从MBIST执行在这种情况下是透明的。如果在MSI启用从内核时,从内核MBIST未完成,则从内核执行将被延迟直到MBIST完成。
除特定调试场景外,无论何时复位主内核,从内核都将被复位。因此,如果设置了从MBISTEN位,或者发生了POR并且FSLVnPOR.BISTDIS位被编程为0,则从MBIST测试将运行。
根据一些实施方案,从内核120在运行时不可能检查数据SRAM错误,除非其被加载有用于检查MBISTCON SFR的适当软件。一旦加载了适当的代码并通过MSI被启用,从内核就可使用SWRST指令独立于主内核110执行运行时MBIST检查。或者,无论何时发生POR或复位主内核110,从内核都可仅检查MBIST测试的结果。

Claims (13)

1.一种嵌入式设备,包括:
多个处理器内核,每个处理器内核包括:
静态随机存取存储器(SRAM);
与所述SRAM相关联的存储器内置自检(MBIST)控制器;
与所述MBIST控制器耦接的MBIST访问端口;和
通过第一多路复用器与所述MBIST访问端口耦接的MBIST有限状态机(FSM);和
通过每个处理器内核的所述第一多路复用器与每个处理器内核的所述MBIST访问端口耦接的JTAG接口,
其中每个MBIST控制器可由相关联的FSM和用户软件单独地配置以在所述嵌入式设备复位之后执行存储器自检。
2.根据权利要求1所述的嵌入式设备,其中所述多个处理器内核由主内核和从内核组成。
3.根据权利要求1所述的嵌入式设备,其中所述多个处理器内核包括单个主内核和至少一个从内核。
4.根据权利要求3所述的嵌入式设备,其中所述从内核包括从程序静态随机存取存储器(PRAM)和与所述MBIST访问端口耦接的相关联的MBIST控制器。
5.根据权利要求4所述的嵌入式设备,其中所述MBIST访问端口的数据输出与所述MBIST控制器的与所述SRAM相关联的数据输入耦接,其中所述MBIST控制器的与所述SRAM相关联的数据输出与所述MBIST控制器的与所述PRAM相关联的数据输入耦接,并且其中所述MBIST控制器的与所述PRAM相关联的数据输出与所述MBIST访问端口的数据输入耦接。
6.根据权利要求1所述的嵌入式设备,其中通过外部复位、软件复位指令或看门狗复位来发起复位。
7.根据权利要求1所述的嵌入式设备,其中每个处理器内核包括时钟源,所述时钟源向相关联的FSM提供时钟。
8.根据权利要求7所述的嵌入式设备,其中针对所述多个处理器内核的MBIST FSM选择不同的时钟源。
9.根据权利要求3所述的嵌入式设备,其中每个FSM包括与相应处理内核耦接的控制寄存器。
10.根据权利要求3所述的嵌入式设备,其中处理内核的复位序列被扩展,直到存储器测试已完成。
11.根据权利要求10所述的嵌入式设备,其中从所述FSM提供的信号用于控制所述复位序列的扩展。
12.根据权利要求3所述的嵌入式设备,还包括所述主内核中的用于配置主MBIST功能和每个从MBIST功能的配置用户空间文件系统。
13.一种用于操作嵌入式设备的方法,所述方法包括根据权利要求1-12中任一项所述的嵌入式设备的操作。
CN201880054306.1A 2017-10-17 2018-10-10 具有mbist的多处理器内核设备 Active CN111033630B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/785,792 2017-10-17
US15/785,792 US10352998B2 (en) 2017-10-17 2017-10-17 Multi-processor core device with MBIST
PCT/US2018/055151 WO2019079083A2 (en) 2017-10-17 2018-10-10 MULTI-CORE PROCESSOR DEVICE EQUIPPED WITH MBIST

Publications (2)

Publication Number Publication Date
CN111033630A CN111033630A (zh) 2020-04-17
CN111033630B true CN111033630B (zh) 2024-01-05

Family

ID=64051723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880054306.1A Active CN111033630B (zh) 2017-10-17 2018-10-10 具有mbist的多处理器内核设备

Country Status (4)

Country Link
US (1) US10352998B2 (zh)
CN (1) CN111033630B (zh)
DE (1) DE112018004577T5 (zh)
WO (1) WO2019079083A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11101014B2 (en) 2019-03-14 2021-08-24 Micron Technology, Inc. Two-stage flash programming for embedded systems
US11138140B2 (en) * 2020-01-31 2021-10-05 Hewlett Packard Enterprise Development Lp Configuring first subsystem with a master processor and a second subsystem with a slave processor
US11635463B1 (en) * 2020-07-15 2023-04-25 Marvell Asia Pte Ltd System and methods for IJTAG reduced access time in a hierarchical design
CN112131067B (zh) * 2020-11-26 2021-03-30 九州华兴集成电路设计(北京)有限公司 多核密码芯片、多核密码芯片的测试方法和测试装置
CN112614534B (zh) * 2020-12-17 2023-09-05 珠海一微半导体股份有限公司 一种mbist电路系统
US11480613B2 (en) * 2020-12-18 2022-10-25 Arm Limited Method and/or system for testing devices in non-secured environment
CN114637539B (zh) * 2022-02-25 2024-02-13 中电科申泰信息科技有限公司 一种核心安全启动平台及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101147077A (zh) * 2005-03-22 2008-03-19 先进微装置公司 于多核心集成电路中的同步核心测试
CN101271417A (zh) * 2007-03-22 2008-09-24 国际商业机器公司 修复数据处理系统的方法、数据处理系统及信息处置系统
CN101290805A (zh) * 2007-04-17 2008-10-22 株式会社瑞萨科技 半导体器件和数据处理系统
US7657807B1 (en) * 2005-06-27 2010-02-02 Sun Microsystems, Inc. Integrated circuit with embedded test functionality

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163829A (en) 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US20040006729A1 (en) * 2002-07-03 2004-01-08 Pendurkar Rajesh Y. Hierarchical test methodology for multi-core chips
JP3544203B2 (ja) * 2002-08-30 2004-07-21 沖電気工業株式会社 テスト回路、そのテスト回路を内蔵した半導体集積回路装置、及びそのテスト方法
US7313739B2 (en) 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
JP3788983B2 (ja) * 2003-07-10 2006-06-21 松下電器産業株式会社 半導体集積回路装置
US7284167B2 (en) * 2005-01-24 2007-10-16 Spansion Llc Automated tests for built-in self test
US8117512B2 (en) * 2008-02-06 2012-02-14 Westinghouse Electric Company Llc Failure detection and mitigation in logic circuits
KR20100009053A (ko) * 2008-07-17 2010-01-27 삼성전자주식회사 임베디드 플래시 메모리 테스트 회로
US20120157920A1 (en) * 2010-12-16 2012-06-21 Numia Medical Technology, Llc Distributed processor configuration for use in infusion pumps
US8839057B2 (en) * 2011-02-03 2014-09-16 Arm Limited Integrated circuit and method for testing memory on the integrated circuit
US9436567B2 (en) 2012-12-18 2016-09-06 Advanced Micro Devices, Inc. Memory bit MBIST architecture for parallel master and slave execution
US10002103B2 (en) 2015-03-13 2018-06-19 Microchip Technology Incorporated Low-pin microcontroller device with multiple independent microcontrollers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101147077A (zh) * 2005-03-22 2008-03-19 先进微装置公司 于多核心集成电路中的同步核心测试
US7657807B1 (en) * 2005-06-27 2010-02-02 Sun Microsystems, Inc. Integrated circuit with embedded test functionality
CN101271417A (zh) * 2007-03-22 2008-09-24 国际商业机器公司 修复数据处理系统的方法、数据处理系统及信息处置系统
CN101290805A (zh) * 2007-04-17 2008-10-22 株式会社瑞萨科技 半导体器件和数据处理系统

Also Published As

Publication number Publication date
CN111033630A (zh) 2020-04-17
DE112018004577T5 (de) 2020-06-04
WO2019079083A3 (en) 2019-05-31
WO2019079083A2 (en) 2019-04-25
US10352998B2 (en) 2019-07-16
US20190113568A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
CN111033630B (zh) 具有mbist的多处理器内核设备
KR100303947B1 (ko) 다중프로세서시스템그리고그의초기화기능분산및자체진단시스템그리고그방법
US7895426B2 (en) Secure power-on reset engine
EP3198725B1 (en) Programmable ic with safety sub-system
KR100440655B1 (ko) 데이타프로세서동작방법및집적회로
US5566303A (en) Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
US9529686B1 (en) Error protection for bus interconnect circuits
EP3183657B1 (en) Virtualization of memory for programmable logic
US9224012B2 (en) Debug functionality in a secure computing environment
KR100462177B1 (ko) 주변 장치의 동작 상태를 실시간으로 백업할 수 있는엠베디드 컨트롤러
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
EP0942374B1 (en) Method and device to simulate interruptions for the emulation of a processor
JP2001154875A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
US9130566B1 (en) Programmable IC with power fault tolerance
US9495239B1 (en) User-configurable error handling
EP0942371B1 (en) Debugging method for a microcomputer
US5860161A (en) Microcontroller configured to indicate internal memory accesses externally
US5826059A (en) Microcomputer for emulation
CN112912958A (zh) 使用内置自测控制器测试只读存储器
US9734032B1 (en) Diagnostic coverage of registers by software
US20240219462A1 (en) Techniques for debug, survivability, and infield testing of a system-on-a-chip or a system-on-a-package
KR101244684B1 (ko) 에러검출이 가능한 마이크로 컴퓨팅 장치 및 그의 에러검출방법
Feltham et al. THE ROAD TO PRODUCTION--DEBUGGING AND TESTING THE NEHALEM FAMILY OF PROCESSORS.
JPS63108438A (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
GR01 Patent grant
GR01 Patent grant