CN109144808B - 半导体装置 - Google Patents
半导体装置 Download PDFInfo
- Publication number
- CN109144808B CN109144808B CN201810634259.XA CN201810634259A CN109144808B CN 109144808 B CN109144808 B CN 109144808B CN 201810634259 A CN201810634259 A CN 201810634259A CN 109144808 B CN109144808 B CN 109144808B
- Authority
- CN
- China
- Prior art keywords
- analysis
- core
- program
- semiconductor device
- mode
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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/2242—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- 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/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Hardware Redundancy (AREA)
- Microcomputers (AREA)
Abstract
本公开涉及半导体装置。相关的半导体装置具有不能进行具有高缺陷再现性的分析处理的问题。根据一个实施例,半导体装置1包括使用第一本地存储器区111执行存储在第一代码区121中的第一程序UP1的第一运算核心101和使用第二本地存储器区121执行存储在第二代码区121中的第二程序UP2的第二运算核心102。在分析模式中,半导体装置1执行使第一运算核心101和第二运算核心102两者都执行第一程序UP1的第一分析处理和使第一运算核心101和第二运算核心102两者都执行第二程序UP2的第二分析处理,并且对从第一分析处理和第二分析处理获取的多个运算结果数据片段AD1和AD2进行比较,从而获取用于缺陷分析的分析信息。
Description
相关申请的交叉引用
本申请基于并且要求于2017年6月28日提交的日本专利申请No.2017-126170的优先权权益,其公开通过引用整体并入本文。
技术领域
本公开涉及半导体装置。例如,本公开涉及包括设置在一个半导体芯片上的多个CPU核心的半导体装置。
背景技术
半导体装置进行最终测试以证实产品在从工厂出货之前符合所有产品的规定。但是,即使是通过这个最终测试的产品也可能具有在客户处理期间发现的缺陷。通过另一次最终测试并且客户发现有缺陷的缺陷产品称为测试逃逸产品。通过最终测试但被发现有缺陷的测试逃逸产品毕竟是有缺陷的产品。因此,有必要将用于检测缺陷的测试处理结合到最终测试中,以防止这些产品分布到市场中。为此,需要分析测试逃逸产品中出现的缺陷事件。日本未审查专利申请公开No.2010-176392公开了这种分析方法的示例。
在日本未审查专利申请公开No.2010-176392中描述的技术中,调试器在主机PC上操作,并且两个微处理器A和B根据调试器的操作通过并行地调试I/F装置A和B来执行相同的调试操作。然后,从微处理器A和B获取的内部信息(转储结果)被传送到主机PC,并且主机PC 120将从微处理器A和B获取的内部信息进行比较以分析故障。
发明内容
然而,日本未审查专利申请公开No.2010-176392中描述的技术具有用于调试处理的环境与用于测试逃逸产品的环境不同的问题。例如,在日本未审查专利申请公开No.2010-176392中描述的技术中,操作环境存在差异,使得无缺陷样本和测试逃逸产品经由I/F装置连接到主机PC,并且因此不能再现测试逃逸产品的实际操作速度,并且不能获得实际上在测试逃逸产品中生成缺陷的程序。即,日本未审查专利申请公开No.2010-176392中描述的技术具有缺陷再现性差的问题。
根据以下对说明书和附图的描述,相关技术的其它问题和本公开的新特征将变得明显。
根据示例方面,半导体装置包括第一运算核心和第二运算核心,所述第一运算核心使用第一本地存储器区执行存储在第一代码区中的第一程序,所述第二运算核心使用第二本地存储器区执行存储在第二代码区中的第二程序。在分析模式中,半导体装置进行第一分析处理和第二分析处理,该第一分析处理使第一运算核心和第二运算核心两者执行第一程序,该第二分析处理使第一运算核心和第二运算核心两者执行第二程序,并且所述半导体装置将从第一和第二分析处理获取的多个运算结果数据片段进行比较,从而获取用于缺陷分析的分析信息。
根据上述示例方面,可以进行具有高缺陷再现性的分析处理。
附图说明
从以下结合附图对特定实施例的描述中,上述和其它方面、优点和特征将变得更加明显,在附图中:
图1是根据第一实施例的半导体装置的框图;
图2是用于描述根据第一实施例的半导体装置的分析模式的处理流程的流程图;
图3是用于描述根据第一实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示;
图4是用于描述根据第一实施例的半导体装置的分析模式的第二分析处理中的程序的读取路径和运算结果的读取路径的图示;
图5是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的流程图;
图6是用于描述根据第一实施例的半导体装置的调试模式的处理流程的流程图;
图7是用于描述根据第一实施例的半导体装置的调试模式中的程序的读取路径和运算结果的读取路径的图示;
图8是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的第一示例的流程图;
图9是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的第二示例的流程图;
图10是根据第二实施例的半导体装置的框图;
图11是描述根据第二实施例的半导体装置中的运算核心与环形缓冲器之间的关系的框图;
图12是描述根据第二实施例的半导体装置的环形缓冲器所获取的信息的框图;
图13是根据第三实施例的半导体装置的框图;
图14是用于描述根据第三实施例的半导体装置的分析模式的处理流程的流程图;
图15是描述根据第三实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示;
图16是根据第四实施例的半导体装置的框图;
图17是描述根据第四实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示;
图18是根据第五实施例的半导体装置的框图;
图19是描述根据第五实施例的半导体装置的正常操作模式中的程序的读取路径和运算结果的读取路径的图示;和
图20是描述根据第五实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示。
具体实施方式
为了使描述清楚,以下描述和附图可以适当地省略或简化。此外,附图中作为执行各种处理的功能块示出的每个元件可以由硬件的CPU、存储器和其它电路形成,并且可以通过以软件加载到存储器中的程序来实现。因此,本领域技术人员将理解,这些功能块可以通过仅硬件、仅软件或其组合而以各种方式实现,而没有任何限制。在整个附图中,相同的组件由相同的附图标记表示,并且将适当地省略重复的描述。
可以使用任何类型的非暂态计算机可读介质将程序存储及提供给计算机。非暂态计算机可读介质包括任何类型的有形存储介质。非暂态计算机可读介质的示例包括磁存储介质(诸如软盘、磁带、硬盘驱动器等)、光磁存储介质(例如,磁光盘)、CD-ROM(光盘只读存储器)、CD-R(可记录光盘)、CD-R/W(可重写光盘)以及半导体存储器(诸如掩模ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪速ROM、RAM(随机访问存储器)等)。可以使用任何类型的暂态计算机可读介质将程序提供给计算机。暂态计算机可读介质的示例包括电信号、光信号和电磁波。暂态计算机可读介质可以经由有线通信线路(例如,电线和光纤)或无线通信线路将程序提供给计算机。
第一实施例
图1示出了根据第一实施例的半导体装置1的框图。根据第一实施例的半导体装置1包括各自能够独立地执行程序的多个CPU核心。根据第一实施例的半导体装置1除了具有正常操作模式之外,还具有分析模式和调试模式,其中在正常操作模式中,多个CPU核心独立地执行存储在由相应的CPU核心占用的存储器中的程序。
在分析模式中,允许CPU核心访问在正常操作模式中无法访问的其它CPU核心的存储器区,以便CPU核心和其它CPU核心可以执行存储在存储器区之一中的程序。
在调试模式中,由CPU核心执行在正常操作模式中未使用的核心分析程序。该核心分析程序存储在正常操作模式中不能从CPU核心访问的存储器区中。
下面将详细描述根据第一实施例的半导体装置1。如图1中所示,根据第一实施例的半导体装置1包括CPU核心101至10n(n是指示CPU核心的编号的整数)、本地RAM 111至11n、程序存储单元121至12n、分析核心20、本地分析RAM 21、分析程序存储单元22、闪速总线30、访问路径控制单元31、系统总线40、调试器41、DMAC(直接存储器访问控制器)42、全局RAM 43、外围电路接口44和外围电路451至45n。
在以下描述中,第一运算核心是CPU核心101至10n中的一个,以及第二运算核心是CPU核心101至10n中的另一个。例如,以下描述了CPU核心101被用作第一运算核心并且CPU核心102被用作第二运算核心的情况。
第一本地存储器区是与第一运算核心对应设置的本地存储器区。当第一运算核心是CPU核心101时,第一本地存储器区是本地RAM 111。第二本地存储器区是与第二运算核心对应设置的本地存储器区。当第二运算核心是CPU核心102时,第二本地存储器区是本地RAM112。
第一代码区是与第一运算核心对应设置的代码区。当第一运算核心是CPU核心101时,第一代码区是程序存储单元121。第二代码区是与第二运算核心对应设置的代码区。当第二运算核心是CPU核心102时,第二代码区是程序存储单元122。
第一程序是存储在与第一运算核心对应设置的第一代码区中的程序。当第一运算核心是CPU核心101时,第一程序是存储在程序存储单元121中的用户程序UP1。第二程序是存储在与第二运算核心对应设置的第二代码区中的程序。当第二运算核心是CPU核心102时,第二程序是存储在程序存储单元122中的用户程序UP2。
CPU核心101至10n是执行程序的运算核心。CPU核心101至10n分别使用作为CPU核心的占用存储器区提供的本地RAM 111至11n来执行存储在程序存储单元121至12n中的程序。具体而言,当CPU核心101是第一个运算核心时,CPU核心101使用第一本地存储器区(例如,本地RAM 111)执行存储在第一代码区(例如,程序存储单元121)中的第一程序(例如,用户程序UP1)。当CPU核心102是第二运算核心时,CPU核心102使用第二本地存储器区(例如,本地RAM 112)执行存储在第二代码区(例如,程序存储单元122)中的第二程序(例如,用户程序UP2)。
分析核心20读出并执行存储在分析代码区(例如,分析程序存储单元22)中的分析控制程序ACP。本地分析RAM 21是分析核心20所占用的存储器区,并保持由分析核心20执行的分析控制程序的执行结果。在第一实施例中,除了分析控制程序ACP之外,分析程序存储单元22还存储核心分析程序AP。
在正常操作模式中,分析核心20保留不执行程序的停止状态。在分析模式和调试模式中,分析核心20根据从调试器41提供的操作开始命令(例如,分析模式开始命令和调试模式开始命令)来执行分析控制程序ACP,以控制在CPU核心101至10n中程序执行的状态。
在分析模式中,分析核心20指定要在要分析的CPU核心上执行的程序,并且收集通过在要分析的CPU核心上执行程序而生成的运算结果数据。然后,分析核心20从关于所收集的运算结果数据的差异的信息生成用于缺陷分析的分析信息。
作为具体示例,在分析模式中的操作期间进行的第一分析处理中,分析核心20将基于用户程序UP1由CPU核心101生成的第一运算结果数据AD1与基于用户程序UP1由CPU核心102生成的第二运算结果数据AD2进行比较。在分析模式中的操作期间进行的第二分析处理中,分析核心20将基于用户程序UP2由CPU核心101生成的第三运算结果数据AD1与基于用户程序UP2由CPU核心102生成的第四运算结果数据AD2进行比较。然后,分析核心20使用通过第一分析处理和第二分析处理获取的第一至第四运算结果数据,生成用于CPU核心101和102以及由CPU核心101和102使用的电路的缺陷分析的分析信息。
在调试模式中,分析核心20使CPU核心101至10n中的至少一个执行核心分析程序AP。然后,分析核心20基于根据核心分析程序AP生成的第五运算结果数据生成分析信息。
闪速总线30是CPU核心101至10n和分析核心20与程序存储单元121至12n和分析程序存储单元22之间的数据发送/接收路径。闪速总线30控制要发送和接收的数据的路径。具体而言,闪速总线30在被指定为访问目的地的程序存储器区与访问请求源的核心之间发送和接收数据。基于从CPU核心101至10n和分析核心20输出的地址信号和访问控制信号将程序存储器区指定为访问目的地。
此外,闪速总线30基于在从CPU核心101至10n输出的地址信号和访问控制信号中包括的CPU核心的标识符来形成逻辑屏障(barrier)LW。闪速总线30基于逻辑屏障LW禁止一个CPU核心访问分配给该一个CPU核心的程序区以外的区。因此,在根据第一实施例的半导体装置1中,在稍后将描述的访问路径控制单元31基于用于正常操作模式的设定值进行操作时,CPU核心101被允许仅访问程序存储单元121,并且CPU核心102被允许仅访问程序存储单元122。
在CPU核心101至10n独立地操作的正常操作模式中,访问路径控制单元31防止第一运算核心(例如,CPU核心101)访问第二代码区(例如,程序存储单元122),并防止第二运算核心(例如,CPU核心102)访问第一代码区(例如,程序存储单元121)。具体地,访问路径控制单元31通过将从CPU核心101至10n输出的地址信号和访问控制信号原样地发送到闪速总线30来控制上述正常操作模式。
另一方面,在分析模式或调试模式中,访问路径控制单元31替换地址信号和访问控制信号,使得CPU核心101至10n可以访问在超过由闪速总线30形成的逻辑屏障LW的范围内的存储器区。具体地,在分析模式或调试模式中,访问路径控制单元31将在从相应的CPU核心输出的地址信号和访问控制信号中包括的标识符替换为能够访问访问目的地的程序区的CPU核心的标识符。然后,闪速总线30基于替换的标识符仅允许具有与替换的标识符相同的标识符的CPU核心访问已被允许访问的程序区。
作为具体示例,在分析模式中,访问路径控制单元31在第一分析处理中,根据来自分析核心20的命令,切换访问路径以便将用户程序UP1读入CPU核心101和102中,并在第二分析处理中切换访问路径以便将用户程序UP2读入CPU核心101和102中。
作为另一具体示例,在调试模式中,访问路径控制单元31切换访问路径,使得CPU核心101和102可以访问存储核心分析程序的分析程序存储单元22。
访问路径控制单元31包括路径设定寄存器32,并基于存储在路径设定寄存器32中的路径设定值ACS如上所述地切换访问路径。路径设定值ACS由执行分析控制程序ACP的分析核心20重写。分析核心20基于在从调试器41提供的操作开始命令中包括的控制参数来确定路径设定值ACS。
系统总线40控制CPU核心101至10n与分析核心20、调试器41、DMAC 42以及全局RAM43之间的数据、操作命令等的发送和接收。调试器41指令分析核心20开始基于分析控制程序ACP的操作。此时,调试器41通过分析控制程序ACP向分析核心20提供指示分析核心20是在分析模式中还是在调试模式中操作的控制参数。控制参数包括用于指定在每个模式中执行程序的CPU核心的值以及用于指定存储将由CPU核心执行的程序的程序存储器区的值。
由调试器41提供给分析核心20的控制参数被从连接到半导体装置1的主机计算机提供给调试器41。半导体装置1可以在其中不包括调试器41,而是外部主机计算机可以包括调试器41的功能。
DMAC 42是外围电路之一。DMAC 42控制全局RAM 43或作为外围电路451至45n之一设置的存储器与CPU核心101至10n之间的数据传送。全局RAM 43是作为外围电路之一的全局存储器区。可以从CPU核心101至10n的任何运算核心和分析核心20访问全局RAM 43。
外围电路接口44控制CPU核心101至10n和分析核心20与外围电路451至45n之间的数据、操作命令等的发送和接收。外围电路451至45n是根据从CPU核心101至10n和分析核心20提供的操作命令起到特定功能的电路。作为外围电路451至45n,可以是诸如定时器、模拟/数字转换电路、协处理器、存储器、直接存储器访问控制器、PWM(脉宽调制)信号生成电路、通信接口电路以及输入和输出接口电路。
此外,在根据第一实施例的半导体装置1中,CPU核心101至10n在执行用户程序UP1至UPn时使用DMAC 42、全局RAM 43以及外围电路451至45n中的至少一个进行操作。
接下来,将描述根据第一实施例的半导体装置1的操作。在以下描述中,虽然将描述CPU核心101和102的操作,但是其它CPU核心可以以与CPU核心101和102相同的方式进行操作。
首先,在根据第一实施例的半导体装置1中,在正常操作模式中,每个CPU核心在由逻辑屏障LW限制的存储器空间中操作。具体而言,在正常操作模式中,CPU核心101使用本地RAM 111执行存储在程序存储单元121中的用户程序UP1,并且CPU核心102使用本地RAM 112执行存储在程序存储单元122中的用户程序UP2。在该正常操作模式中,防止CPU核心101访问由逻辑屏障LW分离的存储器空间中的程序存储单元122至12n和分析程序存储单元22。防止CPU核心102访问由逻辑屏障LW分离的存储器空间中的程序存储单元121、程序存储单元123(未示出)至12n和分析程序存储单元22。在该正常操作模式中,CPU核心101和102使用外围电路(例如,外围电路451至45n)执行程序。
接下来,将描述作为根据第一实施例的半导体装置1的特征之一的分析模式和调试模式中的操作。图2是用于描述根据第一实施例的半导体装置的分析模式的处理流程的流程图。图2中所示的示例是用于分析当CPU 101执行用户程序UP1时出现的缺陷。在该分析中,使用两个CPU核心101和102以及用户程序UP1和UP2。根据出现的缺陷适当地改变分析模式中的操作中使用的CPU核心的编号和用户程序的编号。通过在一次分析处理期间改变CPU核心和用户程序的组合,优选地使用用于缺陷分析的CPU核心和用户程序的多个组合,因为这提高了分析的准确度。
如图2中所示,在调试器41向分析核心20发出分析模式开始命令时(步骤S1),根据第一实施例的半导体装置1开始操作。分析模式开始命令包括指定要在分析模式中分析的多个CPU核心和要在分析模式中使用的程序的控制参数。分析模式开始命令还包括指示分析控制程序的加载开始位置的开始提取地址。
接下来,分析核心20根据分析模式开始命令加载来自分析程序存储单元22的分析控制程序ACP,并且基于分析控制程序开始操作(步骤S2)。接着,分析核心20基于分析模式开始命令中包括的控制参数,生成用于设定第一分析处理的访问路径的第一分析路径设定值ACS。然后,分析核心20将第一分析路径设定值ACS提供给访问路径控制单元31,并且切换从CPU核心到程序存储单元的访问路径(步骤S3)。
将参考图3描述在步骤S3中形成的访问路径。图3是用于描述在根据第一实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示。如图3中所示,在图2中所示的示例中,CPU核心101和102访问程序存储单元121的路径由第一分析路径设定值ACS形成。然后,CPU核心101和CPU核心102两者都加载用户程序UP1。此外,将在下一个步骤S4的处理中生成的运算结果AD1和AD2都被传送到分析核心20的本地分析RAM 21。
接下来,根据第一实施例的半导体装置1进行分析信息获取处理作为第一分析处理(步骤S4)。在该第一分析处理中,分析核心20基于由CPU核心101和CPU核心102两者执行用户程序UP1获取的运算结果AD1和AD2生成分析信息。将在后面描述该分析信息获取处理的细节。
接着,分析核心20基于分析模式开始命令中包括的控制参数,生成用于设定第二分析处理的访问路径的第二分析路径设定值ACS。然后,分析核心20将第二分析路径设定值ACS提供给访问路径控制单元31,并且切换从CPU核心到程序存储单元的访问路径(步骤S5)。
将参考图4描述在步骤S5中形成的访问路径。图4是用于描述在根据第一实施例的半导体装置的分析模式的第二分析处理中的程序的读取路径和运算结果的读取路径的图示。如图5中所示,在图2中所示的示例中,CPU核心101和102访问程序存储单元122的路径由第二分析路径设定值ACS形成。然后,CPU核心101和CPU核心102两者都加载用户程序UP2。此外,在下一个步骤S6的处理中生成的运算结果AD1和AD2都被传送到分析核心20的本地分析RAM 21。
接下来,根据第一实施例的半导体装置1进行分析信息获取处理作为第二分析处理(步骤S6)。在该第二分析处理中,分析核心20基于由CPU核心101和CPU核心102两者执行用户程序UP2获取的运算结果AD1和AD2生成分析信息。将在后面描述该分析信息获取处理的细节。
接下来,分析核心20将路径设定值ACS重置为正常操作模式的状态并结束分析模式(步骤S7)。
接下来,将描述在图2中的步骤S4和S6中执行的分析信息获取处理。步骤S4中的分析信息获取处理和步骤S6中的分析信息获取处理仅在要执行的用户程序上彼此不同,而其它操作相同。因此,这里将仅描述步骤S4中的分析信息获取处理。
图5是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的流程图。如图5中所示,在分析信息获取处理中,首先分析核心20初始化指定要由CPU核心101和102执行的程序的提取地址的编号k(步骤S1)。该提取地址被指定为分析模式开始命令中包括的控制参数之一。
接下来,分析核心20在CPU核心101和102的程序计数器信息PC中设定提取地址FA(k)(步骤S12)。因此,CPU核心101和102开始由提取地址FA(k)指定的程序步骤的处理。然后,CPU核心101和102执行程序,直到开始的程序步骤的最后一行为止(步骤S13)。通过在步骤S13中执行程序,在CPU核心101的本地RAM 111中生成运算结果AD1,并且在CPU核心102的本地RAM 112中生成运算结果AD2。
接着,分析核心20将保持在CPU核心101的本地RAM 111中的运算结果AD1和保持在CPU核心102的本地RAM 112中的运算结果AD2传送给分析程序存储单元22(步骤S14)。接下来,分析核心20取得分析程序存储单元22中保持的关于运算结果AD1与AD2之间的差异的信息,并且生成差异信息作为分析信息。
在根据第一实施例的半导体装置1中,重复从步骤S12至步骤S15的处理,同时逐一递增提取地址的编号k(步骤S16和S17),直到提取地址的编号k达到最终编号m为止。然后,当基于通过执行其中提取地址的编号为m的程序步骤而获取的运算结果AD1和AD2的分析信息的生成处理完成时,分析核心20结束分析信息获取处理。
图6是用于描述根据第一实施例的半导体装置的调试模式的处理流程的流程图。在图6中所示的示例中,由CPU核心101至10n执行核心分析程序AP,以便验证在核心分析程序AP中是否存在缺陷。用于在调试模式中操作的CPU核心只需要包括通过执行用户程序而出现缺陷的CPU核心。要使用的CPU核心的编号已适当改变。尽管这里没有描述,但是也可以使用用于检查被认为是有缺陷的特定部分的程序作为核心分析程序AP来分析核心分析程序AP在CPU核心中出现的缺陷。
如图6中所示,在调试器41向分析核心20发出调试模式开始命令时(步骤S21),根据第一实施例的半导体装置1开始操作。该调试模式开始命令包括指定执行核心分析程序AP的CPU核心并指定核心分析程序AP的控制参数。调试模式开始命令还包括指示分析控制程序的加载开始位置的开始提取地址。
接下来,分析核心20根据分析模式开始命令加载来自分析程序存储单元22的分析控制程序ACP,并且基于分析控制程序开始操作(步骤S22)。接着,分析核心20基于调试模式开始命令中包括的控制参数,生成用于设定调试处理的访问路径的调试路径设定值ACS。然后,分析核心20将调试路径设定值ACS提供给访问路径控制单元31,并且切换访问路径,从而形成从CPU核心到分析程序存储单元22的访问路径(步骤S23)。
将参考图7描述在步骤S23中形成的访问路径。图7是用于描述在根据第一实施例的半导体装置的调试模式中的程序的读取路径和运算结果的读取路径的图示。如图7中所示,在图6中所示的示例中,CPU核心101至10n访问分析程序存储单元22的路径由调试分析路径设定值ACS形成。然后,CPU核心101至10n加载核心分析程序AP。在下一个步骤S24的处理中生成的运算结果AD1至ADn被传送到分析核心20的本地分析RAM 21。
接下来,根据第一实施例的半导体装置1进行分析信息获取处理(步骤S24)。在分析信息获取处理中,分析核心20基于由CPU核心101至10n执行核心分析程序AP获取的运算结果AD1至ADn生成分析信息。将在后面描述该分析信息获取处理的细节。
接下来,在分析信息获取处理完成时,分析核心20将路径设定值ACS重置为正常操作模式的状态并结束分析模式(步骤S25)。
接下来,将描述要在图6中的步骤S24中执行的分析信息获取处理。当核心分析程序AP中包括多个程序步骤时,有两种可能的时序来获取分析信息。因此,在以下描述中,将描述具有用于获取分析信息的不同时序的两个分析信息获取处理。
图8是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的第一示例的流程图。在第一示例中,每当一个程序步骤结束时生成分析信息。如图8中所示,在分析信息获取处理的第一示例中,分析核心20首先初始化指定要由CPU核心执行的程序的提取地址的编号k(步骤S30)。该提取地址被指定为分析模式开始命令中包括的控制参数之一。接下来,分析核心20初始化执行核心分析程序AP的CPU核心的编号i(步骤S31)。
接下来,分析核心20在CPU核心(i)的程序计数器信息PC中设定提取地址FA(k)(步骤S33)。因此,CPU核心(i)开始由提取地址FA(k)指定的程序步骤的处理。然后,CPU核心(i)执行程序,直到开始的程序步骤的最后一行为止(步骤S34)。通过在步骤S34中执行程序,在CPU核心(i)的本地RAM(i)中生成运算结果AD(i)。
接着,分析核心20将保持在CPU核心(i)的本地RAM(i)中的运算结果AD(i)传送到分析程序存储单元22(步骤S35)。接下来,分析核心20将执行核心分析程序AP的CPU核心的编号i递增一(步骤S37)。之后,根据第一实施例的半导体装置1重复从步骤S33至步骤S36的处理,直到CPU核心的编号i达到n(n是指示CPU核心的编号的整数)为止。
当通过执行由CPU核心101至10n(图8中的CPU核心(1)至(n))中的提取地址FA(k)指定的程序步骤而获取的全部运算结果AD1至ADn被获取时,分析核心20基于运算结果AD1至ADn生成分析信息。
此后,在根据第一实施例的半导体装置1中,重复从步骤S31至步骤S37的处理,同时逐一递增提取地址的编号k(步骤S38和S39),直到提取地址的编号k达到最终编号m为止。然后在基于通过执行其中提取地址的编号为m的程序步骤而获取的运算结果AD1至ADn生成分析信息完成时,分析核心20结束分析信息获取处理。
图9是用于描述根据第一实施例的半导体装置的分析信息获取处理的处理流程的第二示例的流程图。在第二示例中,在被指令执行核心分析程序AP的所有CPU核心中的所有程序步骤已经完成之后生成分析信息。如图9中所示,在分析信息获取处理的第二示例中,分析核心20首先初始化执行核心分析程序AP的CPU核心的编号i(步骤S40)。接下来,分析核心20初始化指定要由CPU核心执行的程序的提取地址的编号k(步骤S41)。该提取地址被指定为分析模式开始命令中包括的控制参数之一。
接下来,分析核心20在CPU核心(i)的程序计数器信息PC中设定提取地址FA(k)(步骤S42)。因此,CPU核心(i)开始由提取地址FA(k)指定的程序步骤的处理。然后,CPU核心(i)执行程序,直到开始的程序步骤的最后一行为止(步骤S43)。通过在步骤S43中执行程序,在CPU核心(i)的本地RAM(i)中生成运算结果AD(i)。
接着,分析核心20将保持在CPU核心(i)的本地RAM(i)中的运算结果AD(i)传送到分析程序存储单元22(步骤S44)。接下来,分析核心20将提取地址的编号k递增一(步骤S47)。之后,根据第一实施例的半导体装置1重复从步骤S42至步骤S44的处理,直到提取地址的编号k达到最后编号m为止(步骤S45)。
在第二示例中,重复从步骤S41至步骤S47的处理,同时逐一递增CPU核心的编号i(步骤S47和S48),直到CPU核心的编号k达到n为止。
当通过执行由CPU核心101至10n(图9中的CPU核心(1)至(n))中的提取地址FA(k)至FA(m)指定的程序步骤而获取的全部运算结果AD1至ADn被获取时,分析核心20基于运算结果AD1至ADn生成分析信息(步骤S49)。之后,分析核心20结束分析信息获取处理。
如上所述,在分析模式中,根据第一实施例的半导体装置1使多个CPU核心执行一个用户程序,并获取关于由两个CPU核心基于一个用户程序生成的两个运算结果之间的差异的信息作为分析信息。例如,在分析模式中,使用包括有缺陷的CPU核心和用户程序的组合的核心和程序的组合的分析可以产生使得能够清楚地评估有缺陷部分作为差异信息的分析信息。
在根据第一实施例的半导体装置1中,在分析模式中基于用户程序的分析处理消除了对负责分析的人员自己创建用于识别分析部分的核心分析程序的需要。因此,使用根据第一实施例的半导体装置1的分析可以减少创建核心分析程序所需的时间。此外,使用根据第一实施例的半导体装置1的分析可以使用用户程序进行具有高缺陷再现性的分析处理。测试逃逸产品可能在最初不会出现的部分出现缺陷。由于这个原因,识别测试逃逸产品中的有缺陷部分非常困难,并且需要大量的时间来创建用于识别缺陷的程序。此外,不能说缺陷再现性必然很高。因此,基于根据第一实施例的半导体装置1的分析模式的分析时间的减少和高缺陷再现性非常有效。
在根据第一实施例的半导体装置1中,不需要准备用于与测试逃逸产品相比较的无缺陷样本。另外,在根据第一实施例的半导体装置1中,可以仅通过半导体装置内部的处理来完成分析模式中的操作。这有助于再现由于半导体装置的操作速度而出现的缺陷。
根据第一实施例的半导体装置1具有其中CPU核心101至10n中的至少一个执行存储在分析程序存储单元22中的核心分析程序AP的调试模式。可以创建用于检测在分析模式中识别的有缺陷部分的核心分析程序AP,并在调试模式中验证核心分析程序AP的质量。
根据第一实施例的半导体装置1也可以使用调试模式中的操作来分析CPU核心。在这种情况下,核心分析程序AP被用作要在分析模式中执行的程序。也就是说,在根据第一实施例的半导体装置1中,可以用于分析CPU核心的程序的类型是多种多样的。由分析员创建的核心分析程序AP可以再现不能通过执行用户程序再现的缺陷。
第二实施例
在第二实施例中,将描述作为根据第一实施例的半导体装置1的修改示例的半导体装置2。图10是根据第二实施例的半导体装置2的框图。在第二实施例的描述中,与第一实施例中相同的附图标记表示与第一实施例中所描述的那些相同的组件,并且将省略其描述。
如图10中所示,根据第二实施例的半导体装置2包括CPU核心501至50n,而不是CPU核心101至10n。除了CPU核心501至50n分别进一步包括环形缓冲器511至51n之外,CPU核心501至50n的配置与CPU核心101至10n的配置相同。图11是描述根据第二实施例的半导体装置中的运算核心与环形缓冲器之间的关系的框图。由于所有的环形缓冲器511至51n都是相同的,所以在图11中仅示出了环形缓冲器511。
如图11中所示,环形缓冲器511被设置为使其与执行在CPU核心501内的程序中包括的操作命令的运算核心并联连接。环形缓冲器511监测包括从运算核心输出到闪速总线30、系统总线40和外围电路接口44的地址信号和数据信号的信号,按时间顺序获取输入到环形缓冲器511和从环形缓冲器511输出的信号,并将它们保持为操作监测信息。将参考图12描述由环形缓冲器511监测的信号的示例。
图12是描述由根据第二实施例的半导体装置的环形缓冲器获取的信息的框图。如图12中所示,当运算核心访问存储器(全局RAM、程序存储区)、外围电路、IO接口、另一处理块的寄存器等时,它输出地址信号、数据信号、控制信号(读取命令、写入命令等)、接口信号(芯片选择信号、确认信号等)。环形缓冲器511获取由这样的运算核心使用来按时间顺序访问其它电路块的信号作为操作监测信息。在根据第二实施例的半导体装置2中,由环形缓冲器获取的操作监测信息被包括在由每个CPU核心生成的运算结果AD中。
从以上描述中可以看出,在根据第二实施例的半导体装置2中,运算结果不仅包括通过执行程序最终获取的运算结果AD,而且还包括CPU核心使用来访问其它电路的信号的时间信息。基于由根据第二实施例的半导体装置2生成的分析信息来验证半导体装置的操作状态。这实现了比基于由根据第一实施例的半导体装置1生成的分析信息对半导体装置的操作状态的验证更详细的验证。具体而言,当CPU核心中的缺陷的原因是在访问外围电路时生成的地址值中的误差时,通过基于由根据第二实施例的半导体装置2生成的分析信息的验证将明了该原因,而通过由根据第一实施例的半导体装置1生成的分析信息将不能明了该原因。
第三实施例
在第三实施例中,将描述作为根据第一实施例的半导体装置1的修改示例的半导体装置3。图13是根据第三实施例的半导体装置3的框图。在第三实施例的描述中,与第一实施例中相同的附图标记表示与第一实施例中描述的组件相同的组件,并且将省略其描述。
如图13中所示,在根据第三实施例的半导体装置3中,去除了根据第一实施例的半导体装置1的分析核心20。在第三实施例中,CPU核心101至10n中的任何一个用作在分析模式或调试模式中起到与分析核心相同的功能的分析主导装置(analysis master)。
在根据第三实施例的半导体装置3中,根据第一实施例的半导体装置1的访问路径控制单元31被访问路径控制单元61替换。除了访问路径控制单元61还包括分析主导装置设定寄存器62之外,访问路径控制单元61的配置与访问路径控制单元31的配置相同。访问路径控制单元61基于从调试器41提供的分析主导装置设定值AMS形成被指定为分析主导装置的CPU核心访问分析程序存储单元22的路径。
具体而言,当根据第三实施例的半导体装置3在分析模式或调试模式中操作时,调试器41将分析主导装置设定值AMS提供给分析主导装置设定寄存器62,并且形成从被指定为分析主导装置的CPU核心到分析程序存储单元22的访问路径。然后,在根据第三实施例的半导体装置3中,调试器41将分析模式开始命令或调试模式开始命令提供给充当分析主导装置的CPU核心,并将接收到模式开始命令的CPU核心切换为分析主导装置。在这样的处理之后,根据第三实施例的半导体装置3进行与第一实施例中相同的分析处理或调试处理。注意,用作分析主导装置的CPU核心优选是其中没有出现缺陷的CPU核心。
图14是用于描述根据第三实施例的半导体装置的分析模式的处理流程的流程图。在图14中所示的示例中,CPU核心101被用作分析主导装置。
如图14中所示,在根据第三实施例的半导体装置3中,首先,调试器41将分析主导装置设定值AMS提供给分析主导装置设定寄存器62,并且形成从被指定为分析主导装置的CPU核心101到分析程序存储单元22的访问路径(步骤S51)。接着,在根据第三实施例的半导体装置中,调试器41向充当分析主导装置的CPU核心发出分析模式开始命令,并将接收到分析模式开始指令的CPU核心切换为分析主导装置(步骤S52)。在步骤S52之后的步骤S53至S58中,使用CPU核心102和CPU核心10n来进行参考图2描述的第一实施例的步骤S2至S7中的处理。
图15是用于描述在根据第三实施例的半导体装置3的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示。如图15中所示,在根据第三实施例的半导体装置3中,CPU核心101被用作分析主导装置,并且使用CPU核心102和10n进行分析处理。在这种情况下,分析控制程序ACP被读入CPU核心101中,并且用户程序UP2被读入CPU核心102和10n中。由CPU核心102和10n分别生成的运算结果AD2和ADn被收集在CPU核心101的本地RAM 111中。
在以上描述中,已经描述了根据第三实施例的半导体装置3在分析模式中操作的情况。然而,用于指定充当分析核心的分析主导装置的步骤S51和S52中的执行使得根据第三实施例的半导体装置3能够在调试模式中操作。
如上所述,在根据第三实施例的半导体装置3中,当半导体装置3在分析模式或调试模式中操作时,不设置单独的分析核心,并且取而代之,多个CPU核心中的一个被指定为起到与分析核心相同的功能的分析主导装置。这使得根据第三实施例的半导体装置3能够减小其中设置分析核心的电路区,从而减小芯片区。分析核心的电路尺寸与CPU核心的电路尺寸相当。因此,分析核心所需的电路区的减小非常有效。
第四实施例
在第四实施例中,将描述作为根据第三实施例的半导体装置3的修改示例的半导体装置4。图16是根据第四实施例的半导体装置4的框图。在第四实施例的描述中,对与第一和第三实施例中的组件相同的组件提供相同的附图标记,并且将省略其描述。
如图16中所示,在根据第四实施例的半导体装置4中,去除了根据第三实施例的半导体装置3的分析程序存储单元22。此外,在根据第四实施例的半导体装置4中,使用访问路径控制单元31来代替访问路径控制单元61。也就是说,根据第四实施例的半导体装置4也可以被认为是去除了分析核心20和分析程序存储单元22的根据第一实施例的半导体装置1。
在根据第四实施例的半导体装置4中,分析控制程序ACP被存储在全局RAM 43中。即,在根据第四实施例的半导体装置4中,作为从CPU核心101至10n的任一个可访问的外围电路之一的全局存储器区(全局RAM 43)被用作分析本地存储器区(例如,分析程序存储单元22)。
在根据第四实施例的半导体装置4中,由调试器41指令用作分析主导装置的第三运算核心(例如,CPU核心)基于从调试器41提供的分析主导装置设定值AMS,加载来自全局RAM 43的分析控制程序ACP,从而用作分析核心。
图17是用于描述根据第四实施例的半导体装置4的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示。如图17中所示,在根据第四实施例的半导体装置4中,CPU核心101被用作分析主导装置,并且使用CPU核心102和10n来进行分析处理。在这种情况下,将分析控制程序ACP从全局RAM 43读入CPU核心101中,并将用户程序UP2读入CPU核心102和10n中。由CPU核心102和10n分别生成的运算结果AD2和ADn被收集在CPU核心101的本地RAM 111中。
注意,不仅分析控制程序ACP而且核心分析程序AP都可以存储在全局RAM 43中。优选地,外部连接的主机计算机将分析控制程序ACP和核心分析程序AP在分析或调试时存储在全局RAM 43中。仅在必要时将分析控制程序ACP和核心分析程序AP存储在全局RAM 43中,可以增加实际使用半导体装置时的全局RAM 43的可用容量。
从上面的描述可以看出,根据第四实施例的半导体装置4可以进行与根据第一实施例的半导体装置1的分析处理或调试处理类似的分析处理或调试处理,而无需分析核心20和分析程序存储单元22。因此,与根据第三实施例的半导体装置3相比,根据第四实施例的半导体装置4可以进一步减小芯片区。
第五实施例
在第五实施例中,将描述作为根据第一实施例的半导体装置1的修改示例的半导体装置5。图18是根据第五实施例的半导体装置5的框图。在第五实施例的描述中,与第一实施例中相同的附图标记表示与第一实施例中所描述的那些相同的组件,并且将省略其描述。
如图18中所示,根据第五实施例的半导体装置5包括CPU核心701至70n,而不是CPU核心101至10n。此外,根据第五实施例的半导体装置5包括访问控制单元81而不是访问路径控制单元31。
CPU核心701至70n中的每一个包括主CPU核心(在附图标记的末尾处具有M的CPU核心)和从CPU核心(在附图标记的末尾处具有S的CPU核心)。主CPU核心和从CPU核心具有相同的电路配置。环形缓冲器(图18中的721M至72nM和721S至72nS)分别设置在主CPU核心和从CPU核心中。每个CPU核心包括由主CPU核心和从CPU核心共同使用的本地RAM(图18中的711至71n)。环形缓冲器721M至72nM和721S至72nS与第二实施例中描述的环形缓冲器511至51n相同。
主CPU核心和从CPU核心进行锁定步骤操作,其中它们在相同的时钟时序执行相同的程序步骤。在该锁定步骤操作中,两个CPU核心以重叠的方式执行一个程序。在根据第五实施例的半导体装置5中,稍后将描述的环形缓冲器比较单元83对属于一个CPU核心的环形缓冲器的输出值进行比较。当两个环形缓冲器的输出值存在差异时,缓冲器比较单元83确定在主CPU核心或从CPU核心中出现缺陷,并且输出误差信号ERR。
除了访问控制单元81还包括比较设定寄存器82和环形缓冲器比较单元83之外,访问控制单元81的配置与根据第一实施例的半导体装置1的访问路径控制单元31的配置相同。比较设定寄存器82存储缓冲器比较设定值BCS,该缓冲器比较设定值BCS指定由环形缓冲器比较单元83比较的环形缓冲器的输出值的组合。环形缓冲器比较单元83根据基于缓冲器比较设定值BCS而指定的组合对环形缓冲器的输出值进行比较,并且在输出值存在不匹配时输出误差信号ERR。
当分析核心20执行分析控制程序ACP时,缓冲器比较设定值BCS被重写。具体而言,在正常操作模式中,分析核心20设定缓冲器比较设定值BCS,以便比较一个CPU核心内设置的环形缓冲器的输出值(即,主CPU核心的环形缓冲器的输出值与从CPU核心的输出值进行比较)。
在分析模式或调试模式中,分析核心20重写缓冲器比较设定值BCS,以便比较属于不同CPU核心的环形缓冲器的输出值。然后,在分析模式结束时,分析核心20写回缓冲器比较设定值BCS,以便比较属于同一CPU核心的环形缓冲器的输出值。
在根据第五实施例的半导体装置5中,当在正常操作模式中调试器41接收到从环形缓冲器比较单元83输出的误差信号ERR时,分析核心20被指令开始分析模式中的操作。
图19是用于描述根据第五实施例的半导体装置的正常操作模式中的程序的读取路径和运算结果的读取路径的图示。如图19中所示,在根据第五实施例的半导体装置5的正常操作模式中,每个CPU核心加载存储在分配给对应的CPU核心作为占用的存储器区的程序存储单元中的用户程序,并且通过由主CPU核心和从CPU核心进行的锁定步骤操作来执行用户程序。在正常操作模式中,根据第五实施例的半导体装置5对属于一个CPU核心的多个环形缓冲器的输出值进行比较,然后输出误差信号ERR。
图20是用于描述在根据第五实施例的半导体装置的分析模式的第一分析处理中的程序的读取路径和运算结果的读取路径的图示。如图19中所示,在分析模式的第一分析处理中,在根据第五实施例的半导体装置5中,CPU核心701和70n加载存储在分配给CPU核心101作为占用的存储器区的程序存储单元121中的用户程序UP1,并且通过由主CPU核心和从CPU核心进行的锁定步骤操作来执行用户程序UP1。在分析模式的第一分析处理中,根据第五实施例的半导体装置5对属于不同CPU核心的多个环形缓冲器的输出值进行比较,然后输出误差信号ERR。在图19中所示的示例中,环形缓冲器比较单元83将属于CPU核心701的环形缓冲器721M的输出值与属于CPU核心70n的环形缓冲器72nMn的输出值进行比较,并将属于CPU核心701的环形缓冲器721S的输出值与属于CPU核心70n的环形缓冲器72nS的输出值进行比较。
如上所述,根据第五实施例的半导体装置5对分别提供给执行锁定步骤操作的主CPU核心和从CPU核心的环形缓冲器的输出值进行比较,以便检测CPU核心中出现的缺陷。在分析模式中,对属于不同CPU核心的环形缓冲器的输出值进行比较以检测缺陷。在该分析模式中,在改变要比较的环形缓冲器的输出值的组合的同时多次进行比较处理。这使得能够识别出现缺陷的CPU核心。
虽然已经基于实施例详细描述了由本发明人作出的本公开,但是显然本公开不限于上述实施例,并且可以在不脱离本公开的范围的情况下做出各种修改。
虽然已经根据若干实施例描述了本发明,但是本领域技术人员将认识到,可以在所附权利要求的精神和范围内以各种修改来实践本发明,并且本发明不限于上述示例。
此外,权利要求的范围不受上述实施例的限制。
此外,注意,申请人的意图是包含所有权利要求要素的等同物,即使在起诉期间稍后修改。
本领域普通技术人员可以根据需要组合第一至第五实施例。
Claims (12)
1.一种半导体装置,包括:
第一运算核心,被配置为使用第一本地存储器区执行存储在第一代码区中的第一程序;
第二运算核心,被配置为使用第二本地存储器区执行存储在与所述第一代码区不同的第二代码区中的第二程序;
分析代码区,被配置为存储分析控制程序;
分析本地存储器区,被配置为保持所述分析控制程序的执行结果;
分析核心,被配置为在分析所述第一运算核心和所述第二运算核心中的缺陷的分析模式中,基于所述分析控制程序来控制所述第一运算核心或所述第二运算核心的程序执行状态;和
访问路径控制单元,被配置为在所述第一运算核心和所述第二运算核心独立地操作的正常操作模式中,防止所述第一运算核心访问所述第二代码区以及防止所述第二运算核心访问所述第一代码区,其中
在所述分析模式中,所述访问路径控制单元切换访问路径,以使得在第一分析处理中根据来自所述分析核心的命令将所述第一程序读入所述第一运算核心和所述第二运算核心中,并且所述访问路径控制单元切换所述访问路径,以使得在第二分析处理中将所述第二程序读入所述第一运算核心和所述第二运算核心中,以及
所述分析核心在所述第一分析处理中,将基于所述第一程序由所述第一运算核心生成的第一运算结果数据与基于所述第一程序由所述第二运算核心生成的第二运算结果数据进行比较,并且在所述第二分析处理中,将基于所述第二程序由所述第一运算核心生成的第三运算结果数据与基于所述第二程序由所述第二运算核心生成的第四运算结果数据进行比较,以生成用于分析所述第一运算核心、所述第二运算核心以及所述第一运算核心和所述第二运算核心所使用的电路中的缺陷的分析信息。
2.根据权利要求1所述的半导体装置,其中
所述分析代码区存储在所述第一运算核心和所述第二运算核心上执行特定测试序列的核心分析程序,以及
在调试模式中,所述分析核心使所述第一运算核心和所述第二运算核心执行所述核心分析程序,并基于根据所述核心分析程序生成的第五运算结果数据生成所述分析信息。
3.根据权利要求1所述的半导体装置,其中所述访问路径控制单元包括保持由所述分析核心提供的路径设定值的路径设定寄存器,并且基于所述路径设定值切换要作为所述第一运算核心和所述第二运算核心的访问目的地的代码区。
4.根据权利要求1所述的半导体装置,还包括调试器,所述调试器被配置为指令所述分析核心基于所述分析控制程序开始操作。
5.根据权利要求1所述的半导体装置,还包括经由总线连接到所述第一运算核心和所述第二运算核心的多个外围电路,其中所述第一运算核心和所述第二运算核心在所述分析模式中使用所述多个外围电路中的至少一个执行所述第一程序或所述第二程序。
6.根据权利要求5所述的半导体装置,其中所述多个外围电路包括以下中的至少一个:定时器、模数转换电路、协处理器、存储器、直接存储器访问控制器、PWM信号生成电路、通信接口电路以及输入和输出接口电路。
7.根据权利要求1所述的半导体装置,其中
所述第一运算核心和所述第二运算核心中的每一个包括环形缓冲器,
所述环形缓冲器按时间顺序获取输入到所述第一运算核心和所述第二运算核心以及从所述第一运算核心和所述第二运算核心输出的信号,并将这些信号保持为操作监测信息,以及
所述第一运算结果数据至所述第四运算结果数据包括保持在所述环形缓冲器中的所述操作监测信息。
8.根据权利要求1所述的半导体装置,还包括:
第三运算核心,被配置为使用第三本地存储器区执行存储在与所述第一代码区和所述第二代码区不同的第三代码区中的第三程序;和
调试器,被配置为指令所述第一运算核心至所述第三运算核心进行或不进行基于所述分析模式的操作,其中所述第三运算核心在所述分析模式中根据来自所述调试器的命令作为所述分析核心进行操作。
9.根据权利要求8所述的半导体装置,其中所述访问路径控制单元包括用于保持从所述调试器提供的分析主导装置设定值的分析主导装置设定寄存器,并基于所述分析主导装置设定值将所述第三运算核心的访问目的地的代码区切换为所述分析代码区。
10.根据权利要求8所述的半导体装置,其中
所述分析本地存储器区是全局存储器区,其是能够从所述第一运算核心、所述第二运算核心和所述第三运算核心访问的外围电路之一,以及
所述第三运算核心基于从所述调试器提供的分析主导装置设定值从所述全局存储器区加载所述分析控制程序以用作所述分析核心。
11.根据权利要求1所述的半导体装置,其中
所述第一运算核心和所述第二运算核心中的每一个包括:
具有相同的电路配置的主核心和从核心;
多个环形缓冲器,被设置成分别对应于所述主核心和所述从核心中的每一个;
本地存储器区,由所述第一运算核心和所述第二运算核心共享;
比较设定寄存器,被配置为存储缓冲器比较设定值,所述缓冲器比较设定值指定要比较的环形缓冲器的输出值的组合;和
环形缓冲器比较单元,被配置为根据基于所述缓冲器比较设定值指定的环形缓冲器的输出值的组合来对环形缓冲器的输出值进行比较,并且当输出值之间存在失配时输出误差信号,
在所述分析模式中,所述分析核心重写所述缓冲器比较设定值,以便对属于不同运算核心的环形缓冲器的输出值进行比较,以及
在所述分析模式结束时,所述分析核心写回所述缓冲器比较设定值,以便对属于同一运算核心的环形缓冲器的输出值进行比较。
12.根据权利要求11所述的半导体装置,还包括调试器,所述调试器被配置为在所述正常操作模式中,基于从所述环形缓冲器比较单元输出的所述误差信号来指令所述分析核心开始在所述分析模式中的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017126170A JP6786448B2 (ja) | 2017-06-28 | 2017-06-28 | 半導体装置 |
JP2017-126170 | 2017-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144808A CN109144808A (zh) | 2019-01-04 |
CN109144808B true CN109144808B (zh) | 2023-08-25 |
Family
ID=64738238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810634259.XA Active CN109144808B (zh) | 2017-06-28 | 2018-06-20 | 半导体装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10664370B2 (zh) |
JP (1) | JP6786448B2 (zh) |
CN (1) | CN109144808B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6786448B2 (ja) * | 2017-06-28 | 2020-11-18 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP7378254B2 (ja) * | 2019-09-19 | 2023-11-13 | キヤノン株式会社 | マルチプロセッサデバイス |
TWI719741B (zh) * | 2019-12-04 | 2021-02-21 | 財團法人工業技術研究院 | 改變冗餘處理節點的處理器及其方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN104346251A (zh) * | 2013-08-09 | 2015-02-11 | 瑞萨电子株式会社 | 半导体集成电路设备 |
CN104572570A (zh) * | 2013-10-10 | 2015-04-29 | 国际商业机器公司 | 具有相干性的芯片堆叠高速缓存扩展 |
CN104603737A (zh) * | 2012-12-13 | 2015-05-06 | 株式会社日立制作所 | 实现存储设备的高速访问和数据保护的计算机、计算机系统和i/o请求处理方法 |
CN106529300A (zh) * | 2015-09-15 | 2017-03-22 | 瑞萨电子株式会社 | 半导体装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0553854A (ja) * | 1991-08-26 | 1993-03-05 | Oki Electric Ind Co Ltd | ワンチツプマイクロコンピユータの不良解析方式 |
US5530804A (en) * | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
EP1029267B1 (en) * | 1997-11-14 | 2002-03-27 | Marathon Technologies Corporation | Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems |
US6640313B1 (en) * | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
US6615366B1 (en) * | 1999-12-21 | 2003-09-02 | Intel Corporation | Microprocessor with dual execution core operable in high reliability mode |
US7287185B2 (en) * | 2004-04-06 | 2007-10-23 | Hewlett-Packard Development Company, L.P. | Architectural support for selective use of high-reliability mode in a computer system |
US7308566B2 (en) * | 2004-10-25 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | System and method for configuring lockstep mode of a processor module |
JP2006146412A (ja) * | 2004-11-17 | 2006-06-08 | Nec Corp | マルチコアプロセッサ及びデバッグ方法 |
US8826288B2 (en) * | 2005-04-19 | 2014-09-02 | Hewlett-Packard Development Company, L.P. | Computing with both lock-step and free-step processor modes |
DE102005037228A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems |
US20090259789A1 (en) * | 2005-08-22 | 2009-10-15 | Shuhei Kato | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus |
US20070088979A1 (en) * | 2005-10-14 | 2007-04-19 | Pomaranski Ken G | Hardware configurable CPU with high availability mode |
JP2007172430A (ja) * | 2005-12-26 | 2007-07-05 | Hitachi Ltd | 半導体集積回路 |
US8301936B2 (en) * | 2006-11-02 | 2012-10-30 | Nec Corporation | Apparatus and method for performing a screening test of semiconductor integrated circuits |
US8010846B1 (en) * | 2008-04-30 | 2011-08-30 | Honeywell International Inc. | Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame |
JP5414292B2 (ja) | 2009-01-29 | 2014-02-12 | ルネサスエレクトロニクス株式会社 | 不良解析装置と方法及びプログラム |
US8051323B2 (en) * | 2010-01-21 | 2011-11-01 | Arm Limited | Auxiliary circuit structure in a split-lock dual processor system |
US8108730B2 (en) * | 2010-01-21 | 2012-01-31 | Arm Limited | Debugging a multiprocessor system that switches between a locked mode and a split mode |
JP5545250B2 (ja) * | 2011-03-22 | 2014-07-09 | 株式会社デンソー | 制御装置 |
JP6360387B2 (ja) * | 2014-08-19 | 2018-07-18 | ルネサスエレクトロニクス株式会社 | プロセッサシステム、エンジン制御システム及び制御方法 |
JP6786448B2 (ja) * | 2017-06-28 | 2020-11-18 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2017
- 2017-06-28 JP JP2017126170A patent/JP6786448B2/ja active Active
-
2018
- 2018-05-02 US US15/969,273 patent/US10664370B2/en active Active
- 2018-06-20 CN CN201810634259.XA patent/CN109144808B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN104603737A (zh) * | 2012-12-13 | 2015-05-06 | 株式会社日立制作所 | 实现存储设备的高速访问和数据保护的计算机、计算机系统和i/o请求处理方法 |
CN104346251A (zh) * | 2013-08-09 | 2015-02-11 | 瑞萨电子株式会社 | 半导体集成电路设备 |
CN104572570A (zh) * | 2013-10-10 | 2015-04-29 | 国际商业机器公司 | 具有相干性的芯片堆叠高速缓存扩展 |
CN106529300A (zh) * | 2015-09-15 | 2017-03-22 | 瑞萨电子株式会社 | 半导体装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019008700A (ja) | 2019-01-17 |
CN109144808A (zh) | 2019-01-04 |
US10664370B2 (en) | 2020-05-26 |
JP6786448B2 (ja) | 2020-11-18 |
US20190004914A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5414292B2 (ja) | 不良解析装置と方法及びプログラム | |
CN109144808B (zh) | 半导体装置 | |
US7673208B2 (en) | Storing multicore chip test data | |
US8127187B2 (en) | Method and apparatus of ATE IC scan test using FPGA-based system | |
US10496506B2 (en) | Self-test capable integrated circuit apparatus and method of self-testing an integrated circuit | |
US10768230B2 (en) | Built-in device testing of integrated circuits | |
US11295829B2 (en) | Built-in self-test (BIST) engine configured to store a per pattern based fail status in a pattern mask register | |
US7096397B2 (en) | Dft technique for avoiding contention/conflict in logic built-in self-test | |
US9330792B2 (en) | Testing memory devices with distributed processing operations | |
US20120150477A1 (en) | Driving circuit of a test access port | |
CN114780319A (zh) | 一种芯片测试的方法、系统、存储介质、设备及芯片 | |
US9640280B1 (en) | Power domain aware insertion methods and designs for testing and repairing memory | |
CN113990382B (zh) | 片上系统芯片、测试方法及测试系统 | |
US11017141B2 (en) | Method for troubleshooting the program logic of a system of distributed progammable gate arrays | |
TW202209118A (zh) | 晶片及其設計方法與故障分析方法 | |
US10656205B2 (en) | Narrow-parallel scan-based device testing | |
US12085613B2 (en) | Systems and methods for storing calibration data of a test system for testing a device under test | |
US20240003972A1 (en) | Method and system for testing semiconductor circuits | |
JPS6032213B2 (ja) | 論理装置の診断方式 | |
US9791506B1 (en) | Cross-platform device testing through low level drivers | |
CN117316249A (zh) | 一种寄存器的测试方法、装置、计算设备及存储介质 | |
JP2004362157A (ja) | 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法 | |
JPS63298643A (ja) | マイクロコンピユ−タ | |
JPH0454645A (ja) | ワンチップマイクロコンピュータの検査装置 | |
JPH03191886A (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 |