CN107851054B - 具有多个内核的集成电路芯片 - Google Patents

具有多个内核的集成电路芯片 Download PDF

Info

Publication number
CN107851054B
CN107851054B CN201680045472.6A CN201680045472A CN107851054B CN 107851054 B CN107851054 B CN 107851054B CN 201680045472 A CN201680045472 A CN 201680045472A CN 107851054 B CN107851054 B CN 107851054B
Authority
CN
China
Prior art keywords
core
given
processor
orientation
chip
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
CN201680045472.6A
Other languages
English (en)
Other versions
CN107851054A (zh
Inventor
J·S·纳亚尔
S·S·奴萨卡
R·古拉蒂
A·史睿玛里
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to CN202111611092.3A priority Critical patent/CN114327960A/zh
Publication of CN107851054A publication Critical patent/CN107851054A/zh
Application granted granted Critical
Publication of CN107851054B publication Critical patent/CN107851054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L28/00Passive two-terminal components without a potential-jump or surface barrier for integrated circuits; Details thereof; Multistep manufacturing processes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/562Protection against mechanical damage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

在所描述的示例中,集成电路(IC)芯片(50)包括在IC芯片(50)中的定义给定方位的位置处的给定内核(52)。给定内核(52)被设计为执行特定功能。IC芯片(50)可以包括被设计为执行特定功能的另一个内核(54)。另一个内核(54)可以相对于给定内核(52)被翻转并以180度被旋转,使得另一个内核(54)相对于给定内核(52)被不对称地定向。IC芯片(50)也可以包括被配置为比较给定内核(52)的输出和另一个内核(54)的输出以检测IC芯片(50)中的故障的比较单元(58)。

Description

具有多个内核的集成电路芯片
技术领域
本申请一般涉及具有多个内核的集成电路(IC)芯片,以及更具体的涉及具有相对于彼此被不对称地定向的多个内核的IC芯片。
背景技术
锁步系统是故障检测CPU系统,其在相同的时间并行地冗余执行同组操作。冗余允许错误检测。特别是,如果存在至少两个系统(双模块冗余),则可以比较来自锁步操作的输出以确定故障。
为了在锁步中运行,每个冗余系统被设置为从一个定义明确的状态发展到下一个定义明确的状态。当一组新的输入到达系统,每个冗余系统处理这组新的输入,生成新的输出并更新相应的状态。这组改变(新的输入、新的输出和新的状态)被考虑以定义那个步骤,并且被作为原子事务处理。相应地,要么该组改变全都发生,要么该组改变都不发生,而不是介于两者之间。
发明内容
在所描述的示例中,一种集成电路(IC)芯片包括在IC芯片中定义给定方位的位置的给定内核。给定内核被设计为执行特定的功能。IC芯片可以包括被设计为执行特定功能的另一个内核,另一个内核相对于给定内核被翻转并以180度被旋转,使得另一个内核相对于给定内核被不对称地定向。IC芯片可以进一步包括被配置为比较给定内核的输出和另一个内核的输出以检测IC芯片中的故障的比较单元。
另一个示例涉及另一种IC芯片。IC芯片可包括被配置为存储数据的非临时机器可读存储器。IC芯片也可以包括被配置为在锁步中运行的一对匹配的内核。这对匹配的内核可包括给定内核和另一个内核。另一个内核相对于给定内核可以被翻转并以180度被旋转,使得另一个内核相对于给定内核被不对称地定向。IC芯片可进一步包括被配置为比较给定内核的输出和另一个内核的输出以检测IC芯片中的故障的比较单元。
又一个示例涉及一种方法,该方法可以包括定位IC芯片的一对匹配的内核中的给定内核。该方法也可以包括相对于给定内核翻转这对匹配的内核中的另一个内核。该方法可以进一步包括相对于给定内核以180度的角度旋转这对匹配的内核中的另一个内核。该方法也可以进一步包括定位IC芯片上的被翻转并被旋转的另一个内核,使得另一个内核相对于给定内核被不对称地定向。
附图说明
图1说明了具有不对称定向内核的集成电路(IC)芯片的一个示例。
图2说明了IC芯片的内核的不对称方位的概念化的示例。
图3说明了具有不对称定向内核的IC芯片的另一个示例。
图4说明了制造具有不对称定向内核的IC芯片的方法的示例的流程图。
具体实施方式
集成电路(IC)芯片可以包括定义给定方位的给定内核。给定内核被设计为执行特定的功能。IC芯片可以包括被设计为执行特定功能的另一个内核。可以形成具有相同微芯片构架的给定内核和另一个内核,使得另一个内核是给定内核的复制(replica)。另一个内核相对于给定内核可以被翻转并以180度被旋转,使得给定内核和另一个内核相对于彼此被不对称地对齐。以这种方式,在空间中没有点与给定内核的复制区域和另一个内核的复制区域是距离相等的。IC芯片也可以包括被配置为比较给定内核的输出和另一个内核的输出以检测IC芯片中的故障的比较单元。通过相对于彼此不对称地定向给定内核和另一个内核,共因故障(CCF)的可能性可以被减小。
图1说明了IC芯片50的示例,其被使用以减少CCF的可能性。IC芯片50可以包括在单个衬底(例如,管芯)上的两个内核,即主内核52和检查器内核54。主内核52和检查器内核54中的每个都可以实现为宏块。如本文所使用的,宏块可以是布置在IC芯片50上以执行特定功能或特定一组功能的一组分立的电路组件(例如,晶体管、电阻器、电容器和/或电感器)。在一些示例中,在单个宏块中可能有数千或数百万的电路组件。例如,主内核52和检查器内核54可能为一般处理器内核、具有嵌入指令的处理器内核或应用专用内核。术语“主内核”和“检查器内核”不表示(或排除)IC芯片50的内核的任何特定层次。反而,术语“主内核”和“检查器内核”被使用以简化这些解释和本文使用的示例。
主内核52和检查器内核54可以实现为一对匹配的内核(或更一般地,匹配的宏块)。如本文使用的,术语“匹配的内核”(或匹配的宏块)指示一对内核,其具有相同的逻辑设计并执行相同的功能。相应地,在这对匹配的内核中的每个内核是另一个内核的复制。因此,主内核52和检查器内核54可以实现为相同的逻辑设计并且具有相同电路组件。主内核52和检查器内核54可在锁步中运行。相应地,主内核52和检查器内核54可以实现为一对冗余内核,其在大体上相同时间执行相同的指令。例如,IC芯片50可以在安全设备上实现,其中,需要以本文描述的方式尽可能地避免误报和/或漏报。
例如,主内核52和检查器内核54可以接收输入并响应于输入生成输出。在一些示例中,输入可以从存储器56中提供。存储器56可以是非临时机器可读介质,诸如,易失性或非易失性随机存取存储器(RAM)。在其他示例中,输入可以从外部系统(例如,传感器)提供。
IC芯片50也可以包括比较单元58。比较单元58可以实现为IC芯片50的宏块。比较单元58可以比较主内核52的输出和检查器内核54的输出以确定是否主内核52和检查器内核54二者都是运作正常。
如本文所述,IC芯片50可以在安全系统中实现。例如,IC芯片50可被使用以符合国际标准组织(ISO)-26262规范中阐明的安全标准。在一个给定示例(以下简称“该给定示例”)中,IC芯片50可以在安全气囊展开系统的控制器上实现或实现为安全气囊展开系统的控制器。在该给定示例中,存储器56可以接收来自碰撞传感器和/或加速度计的输入信号。主内核52和检查器内核54可以各自执行算法,该算法可以监测输入,以确定是否应激活引起安全气囊的展开的输出信号。
在该给定示例中,在这个情况下,存在到IC芯片50的输入将指示“没有检测到碰撞”(例如,正常操作)的假设。在这种情况下,主内核52和检查器内核54二者都将生成输出数据,该输出数据可以被提供给存储器56和/或比较单元58。比较单元58可以比较输出数据。如本文所述,在这个情况下(如果运作正常),主内核52和检查器内核54二者都将输出指示安全气囊将不被展开的数据。
在相同情况下,如果主内核52或检查器内核54生成指示安全气囊将被展开的输出数据,并且主内核52和检查器内核54中的另一个生成指示安全气囊将不被展开的冲突的输出数据,比较单元58可以检测到冲突并生成IC芯片50的故障。IC芯片50的故障可指示主内核52和检查器内核中的一个是功能失常的。
然而,由于同样的干扰,存在主内核52和检查器内核54二者同时功能失常的情况,这种情况可以被称为共因故障(CCF)。由于在IC芯片50中的热应力和/或机械应力,CCF可发生。如本文使用的,术语“热应力”和“机械应力”可包括几乎任何形式的应力,其不利地影响IC芯片50中的硅(或其他材料)。另外,在许多情况下,这种热应力和/或机械应力可从IC芯片50上的特定点或区域传播和/或辐射。热应力和/或机械应力的初始源可能在IC芯片50的外部。在其他示例中,热应力和/或机械应力的源可相对于IC芯片50是内部的。
主内核52和检查器内核54中的每个可具有特定的(物理的)方位。如本文使用的,IC芯片50的内核的方位定义对应的内核的三维空间中的角度位置。主内核52的方位可以由图1中说明的符号60表示。另外,检查器内核54也具有由图1中说明的符号62表示的方位。检查器内核54的方位62相对于主内核52的方位60是不对称的。
如本文所述,检查器内核54包括与主内核52相同的组件。主内核52可位于IC芯片50上的某个位置以定义主内核52的方位60。相对于主内核52的方位60,检查器内核54可以被翻转并被旋转180度(或在180度中的1度之内)。相对于主内核52,检查器内核54的翻转和旋转可确保检查器内核54的方位62具有相对于主内核52的方位60的不对称方位。如图1中说明的,主内核52和检查器内核54的方位用相同的符号表示,其中检查器内核54被翻转并被旋转180度。另外,在一些示例中,检查器内核54可被定位使得主内核52的边缘64和检查器内核54的边缘66与轴线等距离,该轴线用线A-A表示,其距离在图1中被表示为D1。类似地,主内核52的两个角在检查器内核54的两个相应最近的角之间可具有相同距离,其距离在图1中被表示为D2。
另外,在一些示例中,主内核52和检查器内核54可以被对齐。在这种情况下,垂直于主内核52的边缘64和检查器内核54的边缘66的主内核52的边缘68和检查器内核54的边缘70沿共同平面延伸。另外或替代地,与边缘68相对的主内核52的边缘72以及与检查器内核的边缘70相对的检查器内核54的边缘74可以沿另一个共同平面延伸。
如本文使用的,术语给定内核的“不对称的方位”表明相对于共同IC芯片上的复制内核的方位,其中给定内核的电气组件和复制内核的复制电气组件与空间中的点(包括在IC芯片上的任何点)不是等距离的。例如,假定IC芯片50被按比例绘制,在IC芯片50上没有点会与主内核52和检查器内核54二者上的复制电气组件等距离。
通过相对于主内核52,翻转并且180度旋转检查器内核54,可以实现在主内核52和检查器内核54之间的不对称的方位。此外,相对于主内核52,翻转并以180度旋转检查器内核54的这个具体的布置避免与多方位相关的可靠性问题。这种可靠性问题可能出现在用45纳米(nm)或更小尺度上的微制造技术形成IC芯片50的情况下。
热应力和/或机械应力可以在与主内核52和检查器内核54的运行速度相比的相对低速度下从应力源传播和/或辐射。通过确保主内核52和检查器内核54相对于彼此被不对称地定向,从IC芯片50上的特定点或区域发出的热应力和/或机械应力会在不同的时间传播到主内核52和检查器内核54,由此减少了CCF的可能性。换句话说,来自辐射和/或传播热应力或机械应力的应力源(例如,热应力和/或机械应力的点或区域)的应力会在不同的时间到达主内核52或检查器内核54的共同区域(相同电气组件形成的区域)。因此,减小了主内核52和检查器内核54二者在大体上相同时间都功能失常的可能性。反而,在主内核52和检查器内核54中的另一个中引起相同功能失常之前,热应力和/或机械应力更可能在主内核52和检查器内核54之一中引起功能失常。此外,在发生这种功能失常之后,在CCF发生之前,比较单元58可以检测功能失常,并以本文描述方式报告故障。
图2说明了IC芯片100的两个内核的概念,这两个内核相对于彼此被不对称地定向。以与图1中说明的IC芯片50相似的方式,可以实现IC芯片100。为了简化说明的目的,存在IC芯片100大体上按比例绘制的假设。IC芯片100可以包括第一内核102和第二内核104。第一内核102可以与图1中说明的主内核52类似的方式形成。类似地,第二内核104可以与图1中说明的检查器内核54类似的方式形成。因此,第一内核102和第二内核104可以包括被布置为执行相同功能的相同的电气组件。相应地,第二内核104是第一内核102的复制,反之亦然。此外,第一内核102和第二内核104可在锁步中运行。
第一内核102的方位可以由符号106表示。第二内核104相对于第一内核102可以被翻转并以180度被旋转以确保第二内核104和第一内核102相对于彼此具有不对称的方位。因此,在空间中没有点与第一内核102和第二内核104的复制电气组件的相同区域等距离。为了说明这个概念,第一内核102和第二内核104沿着第一内核102的边缘和第二内核104的边缘以距离D10被隔开。此外,类似于图1的主内核52和检查器内核54,第一内核102和第二内核104可以被定位使得第一内核102的两个角与第二内核104的两个相应最近角等距离。
第一应力源110可以将热应力和/或机械应力施加到第一内核102和第二内核104。第一应力源110可以是热应力和/或机械应力从其辐射和/或传播的点或区域。第一应力源110可以具有距离第一内核102的特定区域112的特定的距离D2。第一内核的特定区域112可以是一区域,诸如至少包括具有一组特定电气组件的第一内核102的一侧。第二内核104也可以包括第一内核102的特定区域112的复制,即第二内核104的特定区域113。然而,由于第一内核102和第二内核104相对于彼此被不对称地定向,第一内核102中的特定区域112具有与第二内核104中的特定区域113不同的位置。第一内核102的特定区域112和特定区域113可被称为内核的复制区域,因为第一内核102的特定区域112包括第二内核104的特定区域113的相同的电路组件。第一应力源110距离第二内核104的特定区域112是距离D13。如图2中说明的,距离D12和D13不相等,并且在图2中说明的示例中,D13大于D12。因此从第一应力源110辐射和/或传播的应力会以不同的速率影响第一内核102和第二内核104。特别地,相比第二内核104,从第一应力源110传播和/或辐射的应力中的更多应力会被第一102吸收。
作为不对称的方位的另一个示例,第二应力源114是沿中立(neutral)对称轴115的点。中立对称轴115可以与第一内核102和第二内核104等距离。第二应力源114可以辐射和/或传播热应力和/或机械应力到第一内核102和第二内核104。第一内核102的角116以距离D14与第二应力源114隔开。此外,第二内核104的角118以距离D15与第二应力源114隔开。在这个情况下,存在D14和D15是相等的(或近似相等)的假设。然而,由于第一内核102和第二内核104之间的不对称的方位,在第一内核102的角116处的电气组件和在第二内核的角118处的电气组件是不同的。也就是,第二内核104的角118不是第一内核102的角116的复制区域。因此,从第二应力源114发出的应力不会以与第二内核104相同的方式影响第一内核102。
如本文所述,由于第二内核104相对于第一内核102的不对称的方位,第一应力源110和第二应力源114在不同的时间和/或在不同的区域中向第一内核102和第二内核104辐射和/或传播热应力和/或机械应力。以这个方式,减少了在相同时间(或接近相同时间)发生CCF的可能性。相反,在引起第二内核104中的功能失常前,通过第一应力源110施加的应力会更可能引起第一内核102中的功能失常。此外,由于第二应力源114施加应力到第一内核102和第二内核104的不同功能区域(分别在角116和118),会发生在第一内核102处的功能失常的类型会可能与会发生在第二内核104处的功能失常类型不同。在这些情况中的任何一种下,功能失常可以被检测(例如,通过比较单元)并且可以在发生CCF之前报告故障。
通过以所述方式实现不对称的方位,第一内核102和第二内核104以不同的速率老化。这些不同的老化速率可进一步减少发生CCF的可能性,尤其是减少由IC芯片100的老化引起的CCF的可能性。
图3说明了IC芯片150的另一个示例,其可以用来减少CCF的可能性。IC芯片150可包括在单个管芯(或其他共同衬底)上的两个内核。此外,IC芯片150可以与图1中说明的IC芯片50类似的方式实现。因此,在图1和图3中使用相同的参考数字以表示相同的结构。
由于通过检查器内核54相对于主内核52翻转并以180度旋转,在特定区域(包括检查器内核54的边缘和IC芯片150的其他宏块)之间的距离可以与主内核52的对应复制区域和相同的宏块之间的距离不同。例如,主内核52的第一边缘152可以对应于检查器内核54的第一边缘154。类似地,主内核52的第二边缘156可以对应于检查器内核54的第二边缘158。在这种情况下,在比较单元58和主内核52之间的连接器(例如导电迹线)可以具有与比较单元58和检查器内核54之间的连接器不同的长度。类似地,存储器56和主内核52之间的连接器(例如导电迹线)可以具有与存储器56和检查器内核54之间的连接器不同的长度。
在一些情况下,诸如用在45纳米(nm)或更小尺度上的微制造技术形成IC芯片150的情况下,由于不同的距离,可能出现时序问题。相应地,在来自检查器内核54的对应的信号的到达之前,从主内核52输出的信号可以到达另一个宏块。在一些情况下,不同的到达时间可以引起时序问题。因此,为了纠正该情况,可以增加管线。该管线可以是被配置为将特定量的延迟增加到信号的指令管线(例如,宏块)。
更具体地,在IC芯片150中,输入管线160可以插入在存储器56和检查器内核54之间。输入管线160可以将预定量的延迟施加到作为输入从存储器56传输到检查器内核54的信号。该预定量的延迟可以被选择以大体上匹配(例如,在10纳秒以内)在存储器56和主内核52之间增加的信号传送时间(transit time)。相应地,由输入管线160增加的预定的延迟可以确保从存储器56传输的输入信号以大体上相同的时间(例如,在10纳秒以内)到达主内核52和检查器内核54。
另外或替代地,输出管线162可插入在主内核52和检查器内核54之间。输出管线162可以将预定量的延迟施加到从主内核52传输到比较单元58的输出信号。该预定量的延迟可以被选择以大体上匹配(例如,在10纳秒以内)从检查器内核54传输到比较单元58的增加的信号传送时间。以这个方式,预定的延迟可以确保从主内核52和检查器内核54传输的输出信号以大体上相同的时间(例如在10纳秒以内)到达比较单元58。
输入管线160和输出管线162仅是在IC芯片150的宏块之间的可能的管线的两个示例。例如,在一些示例中,相同内核可以耦合到多个管线,并且对应的复制内核(例如被翻转并被旋转180度)可以不耦合到任何管线。相应地,管线的数量和放置可以基于IC芯片150的结构而变化。
通过以说明和描述的方式实现IC芯片150,可以降低CCF发生的可能性。另外,如本文描述的,可以实现在宏块之间包括管线(包括输入管线160和/或输出管线162)以负责由于翻转并以180度旋转复制内核(例如检查器内核54)而可能出现的时序问题。
此外,IC芯片150的设计避免对于更复杂的制造技术的需求。例如,IC芯片150可以避免对主内核52和/或检查器内核54中的时序关键路径的不对称的需要。此外,IC芯片150的设计避免了通过补偿主内核52和检查器内核54内部的信号电平不对称而分别硬化主内核52和检查器内核54的需要。
鉴于上述结构和功能特征,参照图4描述一种示例方法。为了解释的简单,图4的示例方法被示出并被描述为串行执行,但这些示例不受说明的顺序限制,因为在其他的示例中,一些动作可以与本文所示和描述的动作不同的顺序发生、多次发生和/或同时发生。另外,一些描述的动作是可选的(而不是必须的)以实现方法。图4的示例方法可以实现为IC芯片(例如,固件)中存储的指令,可以由处理器(例如,微控制器)和/或作为逻辑(例如FPGA)来执行该指令。
图4说明了用于制造具有不对称的方位的一对匹配的内核的IC芯片的方法200的示例。例如,方法200可以实现图1中说明的IC芯片50和/或图3中说明的IC芯片150。因此,这对匹配的内核可以在锁步中运行。
在210处,匹配的内核中的主内核(例如,图1的主内核52)可被定位在IC芯片上。在220处,这对匹配的内核中的检查器内核(例如,图1的检查器内核54)可以被翻转。在230处,检查器内核可以180度的角度被旋转。在240处,检查器内核可以被定位在IC芯片上,使得检查器内核相对于主内核被不对称地定向。
如本文使用的,术语“基于”意思为至少部分基于。此外,在本公开或权利要求引用“一个/种(a、an)”、“第一”或“另一个”元件或其等效物的情况下,应该将其解释为包括一个或多于一个这样的元件,既不要求也不排除两个或更多这样的元件。
在所描述的实施例中修改是可能的,并且在权利要求的范围内,其他的实施例是可能的。

Claims (55)

1.一种集成电路芯片即IC芯片,其包含:
给定内核,所述给定内核具有第一方位并且被设计为执行特定功能;
另一个内核,所述另一个内核是所述给定内核的复制并且被设计为执行所述特定功能,所述另一个内核具有相对于所述给定内核被旋转的第二方位;以及
比较单元,所述比较单元被配置为比较所述给定内核的输出和所述另一个内核的输出以检测所述IC芯片中的故障,
其中,所述给定内核和所述另一个内核被配置为在锁步中运行,并且
其中,所述给定内核和所述另一个内核是处理器内核。
2.根据权利要求1所述的IC芯片,其中,所述第二方位相对于所述第一方位被翻转。
3.根据权利要求1所述的IC芯片,其中,所述第二方位相对于所述第一方位被旋转180度。
4.根据权利要求1所述的IC芯片,其中,所述第二方位相对于所述第一方位被翻转并被旋转180度。
5.根据权利要求1所述的IC芯片,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
6.根据权利要求1所述的IC芯片,其进一步包含存储器,其中,所述给定内核和所述另一个内核被配置为访问所述存储器。
7.根据权利要求6所述的IC芯片,其进一步包含耦合在所述给定内核和所述另一个内核中的一个与所述存储器之间的管线。
8.根据权利要求1所述的IC芯片,其包含耦合在所述给定内核和所述另一个内核中的一个与所述比较单元之间的管线。
9.根据权利要求8所述的IC芯片,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
10.根据权利要求1所述的IC芯片,其中,所述给定内核和所述另一个内核形成在相同的管芯上。
11.根据权利要求1所述的IC芯片,其中,所述给定内核和所述另一个内核各自为通用处理器,所述通用处理器被配置为执行机器可读指令。
12.一种集成电路芯片即IC芯片,其包含:
非临时机器可读存储器,其被配置为存储数据;
耦合到所述非临时机器可读存储器的一对匹配的内核,其被配置为在锁步中运行,所述一对匹配的内核包括给定内核和另一个内核,其中,所述另一个内核是所述给定内核的复制并且相对于所述给定内核被不对称地定向;以及
比较单元,其被配置为比较所述给定内核的输出和所述另一个内核的输出以检测所述IC芯片中的故障,并且
其中,所述给定内核和所述另一个内核是处理器内核。
13.根据权利要求12所述的IC芯片,其中,所述另一个内核的方位相对于所述给定内核的方位被翻转并被旋转180度。
14.根据权利要求12所述的IC芯片,其中,所述另一个内核的方位相对于所述给定内核的方位被旋转。
15.根据权利要求12所述的IC芯片,其中,在所述IC芯片上没有点与所述给定内核的给定区域和所述给定区域在所述另一个内核上的复制区域等距离。
16.一种制作冗余装置的方法,其包含:
在管芯上形成第一处理器,所述第一处理器具有第一位置和第一方位;
在所述管芯上形成第二处理器,所述第二处理器是所述第一处理器的复制,所述第二处理器具有第二位置和与所述第一方位不同的第二方位;以及
在所述管芯上形成比较单元,以比较来自所述第一处理器的输出信号和来自所述第二处理器的输出信号,从而检测所述冗余装置中的故障,
其中,所述第一处理器和所述第二处理器被配置为在锁步中运行。
17.根据权利要求16所述的方法,其包括在锁步中的所述第一处理器和所述第二处理器的每个中执行相同指令集。
18.根据权利要求16所述的方法,其中,所述第二方位相对于所述第一方位被旋转。
19.一种制造集成电路芯片即IC芯片的方法,其包含:
提供给定内核,所述给定内核具有第一方位并且被设计为执行特定功能;
提供另一个内核,所述另一个内核是所述给定内核的复制并且被设计为执行所述特定功能,所述另一个内核具有相对于所述给定内核被旋转的第二方位;以及
提供比较单元,所述比较单元被配置为比较所述给定内核的输出和所述另一个内核的输出以检测所述IC芯片中的故障,
其中,所述给定内核和所述另一个内核被配置为在锁步中运行,并且
其中,所述给定内核和所述另一个内核是处理器内核。
20.根据权利要求19所述的方法,其中,所述第二方位相对于所述第一方位被翻转。
21.根据权利要求19所述的方法,其中,所述第二方位相对于所述第一方位被旋转180度。
22.根据权利要求19所述的方法,其中,所述第二方位相对于所述第一方位被翻转并被旋转180度。
23.根据权利要求19、20、21或22所述的方法,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
24.根据权利要求19、20、21或22所述的方法,其进一步包含存储器,其中,所述给定内核和所述另一个内核被配置为访问所述存储器。
25.根据权利要求24所述的方法,其进一步包含耦合在所述给定内核和所述另一个内核中的一个与所述存储器之间的管线。
26.根据权利要求19、20、21或22所述的方法,其进一步包含耦合在所述给定内核和所述另一个内核中的一个与所述比较单元之间的管线。
27.根据权利要求26所述的方法,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
28.根据权利要求19、20、21或22所述的方法,其中,所述给定内核和所述另一个内核形成在相同的管芯上。
29.根据权利要求19、20、21或22所述的方法,其中,所述给定内核和所述另一个内核各自为通用处理器,所述通用处理器被配置为执行机器可读指令。
30.根据权利要求19、20、21或22所述的方法,其中,在空间中没有点与所述给定内核和所述另一个内核两者的电气组件的相同区域是等距离的。
31.根据权利要求19、20、21或22所述的方法,其中,所述给定内核和所述另一个内核在共同衬底上。
32.一种制造集成电路芯片即IC芯片的方法,其包含:
提供非临时机器可读存储器,其被配置为存储数据;
提供一对匹配的内核,其被配置为在锁步中运行,所述一对匹配的内核包括给定内核和另一个内核,其中,所述另一个内核是所述给定内核的复制并且相对于所述给定内核被不对称地定向;以及
提供比较单元,其被配置为比较所述给定内核的输出和所述另一个内核的输出以检测所述IC芯片中的故障,
其中,所述给定内核和所述另一个内核被配置为在锁步中运行,并且
其中,所述给定内核和所述另一个内核是处理器内核。
33.根据权利要求32所述的方法,其中,所述另一个内核的方位相对于所述给定内核的方位被旋转。
34.根据权利要求33所述的方法,其中,在所述IC芯片上没有点与所述给定内核的给定区域和所述给定区域在所述另一个内核上的复制区域等距离。
35.根据权利要求32所述的方法,其中,在空间中没有点与所述给定内核和所述另一个内核两者的电气组件的相同区域是等距离的。
36.根据权利要求32所述的方法,其中,所述给定内核和所述另一个内核在共同衬底上。
37.根据权利要求32所述的方法,其中,所述给定内核和所述另一个内核形成在相同的管芯上。
38.根据权利要求32所述的方法,其中,所述给定内核相对于所述另一个内核被翻转。
39.根据权利要求32所述的方法,其中,所述给定内核相对于所述另一个内核被旋转180度。
40.根据权利要求32-39中任一项所述的方法,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
41.根据权利要求32-39中任一项所述的方法,其进一步包含存储器,其中,所述给定内核和所述另一个内核被配置为访问所述存储器。
42.根据权利要求41所述的方法,其进一步包含耦合在所述给定内核和所述另一个内核中的一个与所述存储器之间的管线。
43.根据权利要求32-39中任一项所述的方法,其进一步包含耦合在所述给定内核和所述另一个内核中的一个与所述比较单元之间的管线。
44.根据权利要求43所述的方法,其中,从所述给定内核和所述另一个内核中的每个传输的数据在大体上相同的时间到达所述比较单元。
45.根据权利要求32-39中任一项所述的方法,其中,所述给定内核和所述另一个内核各自为通用处理器,所述通用处理器被配置为执行机器可读指令。
46.根据权利要求32-39中任一项所述的方法,其中,在空间中没有点与所述给定内核和所述另一个内核两者的电气组件的相同区域是等距离的。
47.一种冗余装置,其包含:
在管芯上的第一处理器,所述第一处理器具有第一位置和第一方位;
在所述管芯上的第二处理器,所述第二处理器是所述第一处理器的复制,所述第二处理器具有第二位置和与所述第一方位不同的第二方位;以及
在所述管芯上的比较单元,以比较来自所述第一处理器的输出信号和来自所述第二处理器的输出信号,从而检测所述冗余装置中的故障,
其中,所述第一处理器和所述第二处理器被配置为在锁步中运行。
48.根据权利要求47所述的冗余装置,其进一步包含在锁步中的所述第一处理器和所述第二处理器的每个中的相同指令集。
49.根据权利要求47或48所述的冗余装置,其中,所述第二方位相对于所述第一方位被旋转。
50.根据权利要求49所述的冗余装置,其中在所述装置上没有点与所述第一处理器的给定区域和所述给定区域在所述第二处理器上的复制区域等距离。
51.根据权利要求47或48所述的冗余装置,其中,从所述第一处理器和所述第二处理器中的每个传输的数据在大体上相同的时间到达所述比较单元。
52.根据权利要求47或48所述的冗余装置,其进一步包含存储器,其中,所述第一处理器和所述第二处理器被配置为访问所述存储器。
53.根据权利要求52所述的冗余装置,其进一步包含耦合在所述第一处理器和所述第二处理器中的一个与所述存储器之间的管线。
54.根据权利要求47或48所述的冗余装置,其进一步包含耦合在所述第一处理器和所述第二处理器中的一个与所述比较单元之间的管线。
55.根据权利要求47或48所述的冗余装置,其中,所述第一处理器和所述第二处理器各自为通用处理器,所述通用处理器被配置为执行机器可读指令。
CN201680045472.6A 2015-09-15 2016-09-15 具有多个内核的集成电路芯片 Active CN107851054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111611092.3A CN114327960A (zh) 2015-09-15 2016-09-15 具有多个内核的集成电路芯片

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/854,900 US10002056B2 (en) 2015-09-15 2015-09-15 Integrated circuit chip with cores asymmetrically oriented with respect to each other
US14/854,900 2015-09-15
PCT/US2016/051956 WO2017048967A1 (en) 2015-09-15 2016-09-15 Integrated circuit chip with multiple cores

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111611092.3A Division CN114327960A (zh) 2015-09-15 2016-09-15 具有多个内核的集成电路芯片

Publications (2)

Publication Number Publication Date
CN107851054A CN107851054A (zh) 2018-03-27
CN107851054B true CN107851054B (zh) 2022-02-08

Family

ID=58236798

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680045472.6A Active CN107851054B (zh) 2015-09-15 2016-09-15 具有多个内核的集成电路芯片
CN202111611092.3A Pending CN114327960A (zh) 2015-09-15 2016-09-15 具有多个内核的集成电路芯片

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111611092.3A Pending CN114327960A (zh) 2015-09-15 2016-09-15 具有多个内核的集成电路芯片

Country Status (3)

Country Link
US (5) US10002056B2 (zh)
CN (2) CN107851054B (zh)
WO (1) WO2017048967A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331532B2 (en) * 2017-01-19 2019-06-25 Qualcomm Incorporated Periodic non-intrusive diagnosis of lockstep systems
DE102017208484A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erkennung von Hardwarefehlern in Mikroprozessoren
US10303566B2 (en) * 2017-07-10 2019-05-28 Arm Limited Apparatus and method for checking output data during redundant execution of instructions
US10628277B2 (en) * 2018-03-29 2020-04-21 Arm Ltd. Device, system and process for redundant processor error detection
US20200353884A1 (en) * 2019-05-08 2020-11-12 Mobileye Vision Technologies Ltd. System on chip
US11892505B1 (en) * 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002057083A (ja) * 2000-08-08 2002-02-22 Semiconductor Leading Edge Technologies Inc 露光データの作成装置、方法および半導体集積回路の製造方法
US6526559B2 (en) * 2001-04-13 2003-02-25 Interface & Control Systems, Inc. Method for creating circuit redundancy in programmable logic devices
CN101634959A (zh) * 2009-08-21 2010-01-27 北京航空航天大学 一种基于嵌入式cpu的双机冗余容错系统
CN101916218A (zh) * 2010-08-10 2010-12-15 西安电子科技大学 基于解析冗余机制的双cpu冗余控制系统
CN102360311A (zh) * 2010-05-12 2012-02-22 瑞萨电子株式会社 计算机系统
CN103744775A (zh) * 2012-08-13 2014-04-23 德克萨斯仪器股份有限公司 测试用例崩溃恢复
CN103995759A (zh) * 2014-05-21 2014-08-20 中国人民解放军国防科学技术大学 基于核内外协同的高可用计算机系统故障处理方法及装置
US8823411B2 (en) * 2010-02-08 2014-09-02 Freescale Semiconductor, Inc. Fatal failure diagnostics circuit and methodology
CN104021057A (zh) * 2014-06-27 2014-09-03 上海斐讯数据通信技术有限公司 一种cpu启动故障定位系统及其定位方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN160140B (zh) * 1981-10-10 1987-06-27 Westinghouse Brake & Signal
EP0306211A3 (en) * 1987-09-04 1990-09-26 Digital Equipment Corporation Synchronized twin computer system
JPH0721769B2 (ja) * 1988-08-12 1995-03-08 日本電気株式会社 マイクロプロセッサの冗長構成による機能監視方式
US5048022A (en) * 1989-08-01 1991-09-10 Digital Equipment Corporation Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
JP3479538B2 (ja) * 1991-12-26 2003-12-15 テキサス インスツルメンツ インコーポレイテツド 半導体集積回路を製作する方法
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5675807A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Interrupt message delivery identified by storage location of received interrupt data
US6061599A (en) * 1994-03-01 2000-05-09 Intel Corporation Auto-configuration support for multiple processor-ready pair or FRC-master/checker pair
US5692152A (en) * 1994-06-29 1997-11-25 Exponential Technology, Inc. Master-slave cache system with de-coupled data and tag pipelines and loop-back
US5838899A (en) * 1994-09-20 1998-11-17 Stratus Computer Digital data processing methods and apparatus for fault isolation
US5630045A (en) * 1994-12-06 1997-05-13 International Business Machines Corporation Device and method for fault tolerant dual fetch and store
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
GB2340627B (en) 1998-08-13 2000-10-04 Plessey Telecomm Data processing system
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
EP1639454A2 (de) 2003-06-24 2006-03-29 Robert Bosch GmbH Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7624302B2 (en) * 2004-10-25 2009-11-24 Hewlett-Packard Development Company, L.P. System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
JP2006178618A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ及びデータ送信制御方法
EP2378683B1 (en) * 2005-06-28 2016-07-27 TTTech Computertechnik AG Safe start-up of a network
US7873830B2 (en) * 2006-01-13 2011-01-18 International Business Machines Corporation Methods for coordinating access to memory from at least two cryptography secure processing units
US7937682B2 (en) * 2008-01-31 2011-05-03 Synopsys, Inc. Method and apparatus for automatic orientation optimization
US8120938B2 (en) * 2008-04-18 2012-02-21 Vns Portfolio Llc Method and apparatus for arranging multiple processors on a semiconductor chip
JP2010067657A (ja) 2008-09-09 2010-03-25 Nec Electronics Corp 半導体集積回路装置とテスト端子配置方法
US8397130B2 (en) * 2008-11-26 2013-03-12 Arizona Board Of Regents For And On Behalf Of Arizona State University Circuits and methods for detection of soft errors in cache memories
US8058916B2 (en) * 2010-04-15 2011-11-15 Xilinx, Inc. Lockstep synchronization and maintenance
JP5235936B2 (ja) * 2010-05-10 2013-07-10 パナソニック株式会社 半導体装置及びそのレイアウト作成方法
JP5585332B2 (ja) * 2010-09-14 2014-09-10 日本電気株式会社 耐故障システム、マスタft制御lsi、スレーブft制御lsiおよび耐故障制御方法
US20120066551A1 (en) * 2010-09-15 2012-03-15 Alexandre Palus Run-time Verification of CPU Operation
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US8495091B2 (en) * 2011-07-01 2013-07-23 Intel Corporation Dynamically routing data responses directly to requesting processor core
US20140325183A1 (en) 2011-11-28 2014-10-30 Freescale Semiconductor, Inc. Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor
US8819485B2 (en) * 2012-03-12 2014-08-26 Infineon Technologies Ag Method and system for fault containment
JP6050083B2 (ja) * 2012-10-18 2016-12-21 ルネサスエレクトロニクス株式会社 半導体装置
US9588937B2 (en) * 2013-02-28 2017-03-07 International Business Machines Corporation Array of processor core circuits with reversible tiers
US9891917B2 (en) * 2013-03-06 2018-02-13 Infineon Technologies Ag System and method to increase lockstep core availability
JP6266239B2 (ja) * 2013-07-11 2018-01-24 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US10026714B2 (en) * 2014-02-14 2018-07-17 Nxp Usa, Inc. Integrated circuit device
US20150278400A1 (en) * 2014-03-28 2015-10-01 Siemens Product Lifecycle Management Software Inc. Hybrid variational solving in cad models
US9367375B2 (en) * 2014-04-14 2016-06-14 Artesyn Embedded Computing, Inc. Direct connect algorithm
JP6312550B2 (ja) * 2014-08-01 2018-04-18 ルネサスエレクトロニクス株式会社 半導体装置
US9823983B2 (en) * 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US20160188519A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Method, apparatus, system for embedded stream lanes in a high-performance interconnect
US10761925B2 (en) * 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002057083A (ja) * 2000-08-08 2002-02-22 Semiconductor Leading Edge Technologies Inc 露光データの作成装置、方法および半導体集積回路の製造方法
US6526559B2 (en) * 2001-04-13 2003-02-25 Interface & Control Systems, Inc. Method for creating circuit redundancy in programmable logic devices
CN101634959A (zh) * 2009-08-21 2010-01-27 北京航空航天大学 一种基于嵌入式cpu的双机冗余容错系统
US8823411B2 (en) * 2010-02-08 2014-09-02 Freescale Semiconductor, Inc. Fatal failure diagnostics circuit and methodology
CN102360311A (zh) * 2010-05-12 2012-02-22 瑞萨电子株式会社 计算机系统
CN101916218A (zh) * 2010-08-10 2010-12-15 西安电子科技大学 基于解析冗余机制的双cpu冗余控制系统
CN103744775A (zh) * 2012-08-13 2014-04-23 德克萨斯仪器股份有限公司 测试用例崩溃恢复
CN103995759A (zh) * 2014-05-21 2014-08-20 中国人民解放军国防科学技术大学 基于核内外协同的高可用计算机系统故障处理方法及装置
CN104021057A (zh) * 2014-06-27 2014-09-03 上海斐讯数据通信技术有限公司 一种cpu启动故障定位系统及其定位方法

Also Published As

Publication number Publication date
US10649865B2 (en) 2020-05-12
US20230297480A1 (en) 2023-09-21
US20200233758A1 (en) 2020-07-23
US11698841B2 (en) 2023-07-11
US11269742B2 (en) 2022-03-08
WO2017048967A1 (en) 2017-03-23
US10002056B2 (en) 2018-06-19
CN114327960A (zh) 2022-04-12
US20220147424A1 (en) 2022-05-12
US20180285218A1 (en) 2018-10-04
CN107851054A (zh) 2018-03-27
US20170074930A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
CN107851054B (zh) 具有多个内核的集成电路芯片
US10761925B2 (en) Multi-channel network-on-a-chip
US8499193B2 (en) Integrated dissimilar high integrity processing
US8516356B2 (en) Real-time error detection by inverse processing
US8819485B2 (en) Method and system for fault containment
US9207661B2 (en) Dual core architecture of a control module of an engine
CN104048692A (zh) 使用多个信号路径的传感器自诊断
Iturbe et al. Addressing functional safety challenges in autonomous vehicles with the arm TCL S architecture
Kohn et al. Architectural concepts for fail-operational automotive systems
US10102166B2 (en) Multiprocessor system
KR20170130346A (ko) 데이터 처리 장치
KR20070038543A (ko) 듀얼 컴퓨터 시스템의 데이터 및/또는 명령에 대한 액세스지연 방법 및, 상응하는 지연 유닛
Alkady et al. Highly reliable controller implementation using a network-based fully reconfigurable FPGA for industrial applications
CN107924348B (zh) 用于对车辆的电子的线路单元的状态进行监控的方法和装置
Yi et al. Method of improved hardware redundancy for automotive system
CN112799871A (zh) 电子系统及其故障检测方法、片上系统和总线系统
JP6710142B2 (ja) 制御システム
JP6017344B2 (ja) 制御装置、制御システム及びデータ生成方法
CN117999544A (zh) 具有最少硬件的容错系统
US20230088591A1 (en) Fault Tolerant System with Minimal Hardware
Mach et al. A New RISC-V CPU for Safety-Critical Systems
WO2023049015A1 (en) Fault tolerant system with minimal hardware
Salewski et al. Exploring the differences of fpgas and microcontrollers for their use in safety-critical embedded applications
JP2017045344A (ja) フォールトトレラントシステム
JP2008146188A (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