CN100432947C - 并行计算单元的重新寻址 - Google Patents

并行计算单元的重新寻址 Download PDF

Info

Publication number
CN100432947C
CN100432947C CNB2005100993602A CN200510099360A CN100432947C CN 100432947 C CN100432947 C CN 100432947C CN B2005100993602 A CNB2005100993602 A CN B2005100993602A CN 200510099360 A CN200510099360 A CN 200510099360A CN 100432947 C CN100432947 C CN 100432947C
Authority
CN
China
Prior art keywords
computing unit
integrated circuit
data
defective
array
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
CNB2005100993602A
Other languages
English (en)
Other versions
CN1801104A (zh
Inventor
薄艺林
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.)
Omnivision Technologies Inc
Original Assignee
HAOWEI TECH Co Ltd
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 HAOWEI TECH Co Ltd filed Critical HAOWEI TECH Co Ltd
Publication of CN1801104A publication Critical patent/CN1801104A/zh
Application granted granted Critical
Publication of CN100432947C publication Critical patent/CN100432947C/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Abstract

本申请公开了一种专用集成电路(ASIC)的设计结构。该ASIC的设计结构包括一定数量的冗余的计算单元,以便在检测发现缺陷计算单元时,可以通过从缺陷单元向原来冗余的单元的重新寻址,维持ASIC的全部功能。缺陷单元的标识以及功能的重新寻址是利用内置于ASIC每一计算单元中的自检逻辑自动完成的。当ASIC处于操作模式时,自检逻辑适合于使相应的计算单元避免数据初始化过程,并自我禁止进行任何计算操作。通过依次地对阵列中计算单元的初始化,可以实现功能的重新寻址。

Description

并行计算单元的重新寻址
技术领域
本发明涉及集成电路,更具体地讲,本发明涉及专用集成电路(ASIC)的设计结构,以增加全功能专用集成电路的制造成品率。
背景技术
制造集成电路(IC)时,要在集成电路芯片进行某些质量控制检测,以保证发送到用户的这些集成电路芯片具有可接受的备用功能容量(margins of functionality)。例如,可在集成电路芯片上进行存储检验,以检测其可能存在的缺陷。按照现有的某些方案,如果某一给定的集成电路芯片未能通过前述的存储检验,那么这样的集成电路芯片就要标记为不合格,而不会发送到用户那里。其它的检测实验包括检测专用集成电路的算术逻辑单元(ALUs)是否适当。当集成电路芯片上的一个或多个算术逻辑单元(ALUs)未能通过特定的功能实验,那么整个集成电路芯片就被放弃。因而,这样的质量控制检测方法会产生较多的废品,而使得制造成品率相对较低。另外,在进行检测时,需要采用独立于集成电路算术逻辑单元的外部控制器,以确定去除哪一个算术逻辑单元。因而,芯片制造商需要与用户的控制系统协调一致,以便检测专用集成电路(ASICs),或者最起码制造商需要设计和/或准备一个独立的外部控制器,以便根据检测结果确定禁用哪一个算术逻辑单元(ALUs)。
针对上述的现有技术,有必要开发一种更有效的方法,以增加功能专用集成电路的制造成品率,该方法相对于检测专用集成电路(ASICs)时所用的外部控制器而言是透明的(transparent)。
发明内容
本发明的目的是提高专用集成电路(ASIC)芯片的制造成品率,该专用集成电路芯片包括相同计算单元的阵列。
按照本发明的某些实施方式,可以通过标识专用集成电路中有缺陷的算术逻辑单元并将其功能由该缺陷单元重新寻址(re-mapping)到无缺陷的单元上而提高了制造成品率。该专用集成电路的设计特点是包括预定数量的冗余(redundant)计算单元,使得在检测时发现缺陷计算单元时,可通过将缺陷单元的功能重新寻址至那些曾经冗余的单元上,从而保持专用集成电路的全部功能。
一方面,在本发明中,缺陷单元的标识和功能的重新寻址是利用专用集成电路中安装于每一计算单元的自检逻辑(self-testlogic)自动完成的。当专用集成电路处于操作状态时,自检逻辑被调变至允许相应的计算单元从数据初始化过程中分离出来并自我放弃(self-disable),以避免该单元进行任何计算。
另一方面,在本发明中,用于自检的检测数据的输入是平行进行的。
再一方面,在本发明中,功能的重新寻址可以通过顺次地初始化阵列中的计算单元而实现。例如,阵列中的计算单元是串行(顺次)连接的,计算单元的初始化可以从阵列的一端开始。如果在顺次初始化的过程中遇到缺陷单元,就跳过该缺陷单元,而那些本来要装入该缺陷单元的初始化数据则被顺次地装入到下一个非缺陷的单元中。
附图说明
图1是显示本发明某些实施方式中专用集成电路设计结构特点的流程图。
图2是显示本发明某些实施方式中专用集成电路设计结构的高级方框图。
图3是显示本发明某些实施方式中专用集成电路在检测和初始化时特点的流程图。
具体实施方式
图1是显示本发明某些实施方式中专用集成电路设计结构某些特点的流程图。图1所示的流程不一定是制备专用集成电路的特定顺序。在模块102中,在专用集成电路的设计中,计算单元的阵列包括冗余的计算单元。该设计中计算单元是相同的,其中,冗余计算单元的数量取决于能够保障每一专用集成电路正常操作的最少计算单元的数目,冗余计算单元的数量也取决于制造过程中缺陷单元的估计的数量。
在模块104中,阵列中的每一计算单元均包括自检逻辑电路,以便通过计算指示器,指出该计算单元是否有缺陷的。例如,该指示器可以是一放弃标记。这样,每一计算单元负责计算其自己的放弃标记的数值。在模块106中,在每一计算单元的设计中均包括一控制单元。在模块108中,通过串联连接控制单元而使计算单元彼此串联连接。
在模块110中,采用并行的输入/输出(I/O)网络如并行的I/O总线向计算单元输入数据并接收来自计算单元的输出数据。此处,参阅图2和图3,来详细地描述专用集成电路的计算单元的检测程序。
图2是显示本发明某些实施方式中专用集成电路设计结构的高级方框图。图2中显示了带有控制接口204的外部控制器202。操作时,控制借口与输入网络206进行通讯。输入网络206连接到具有相同计算单元的阵列216上。阵列216中的计算单元连接到输出网络208上。输入网络206和输出网络208例如可以是并行I/O总线的一部分。阵列216中的每一计算单元包括计算逻辑部分210和控制单元212。通过串行连接214将阵列216中的计算单元予以串联连接。例如,串行连接可以是一菊花链(daisy chain),该菊花链将一计算单元中的控制单元212连接到下一计算单元。
计算逻辑210包括需要执行专用集成电路计算功能的计算逻辑电路。每一计算单元包括一自检和自禁止(self-disabling)逻辑(图2中没有示出)。该自检和自禁止逻辑可以是计算逻辑210的一部分。或者,该自检和自禁止逻辑也可以是独立于计算逻辑210,这样的话,对每一个执行动作来说,该自检和自禁止逻辑都可能是变化的。在图2中,阵列216包括N个计算单元,其中,N是正整数。计算单元的数量N包括预先确定的冗余计算单元的数量。预先确定的冗余计算单元的数量取决于非缺陷即功能单元的数量,即保证专用集成电路功能的数量。
本发明的实施方式无需局限于任何特定类型的专用集成电路(ASICs)。因而,计算单元的阵列可以是任何类型算术单元的阵列,在该阵列中,每个算术单元彼此相同,例如可以是相同的向量计算单元(vector computing unit,VCU)的阵列。除其它功能外,向量计算单元可以用于计算从一个内部存储的参比向量(referencevector)到一给定输入向量之间的距离。此处参阅图3来详细地描述在专用集成电路中如何利用向量计算单元(VCU)。
图3是参照图2进行说明的。图3是显示本发明某些实施方式中专用集成电路在检测和初始化时的某些高级特点的流程图。在模块302中,阵列中如阵列216中的计算单元被设定为检测模式。例如,图2中的外部控制器202可以利用控制接口204将阵列216设定为检测模式。
在模块304中,输入的检测数据被平行地发送到所有的计算单元,使得每一个计算单元可以同时进行相应的自检。在模块306中,每个计算单元都进行自检,而且,如果需要的话,一旦某一计算单元接收到没有通过自检测试的结果,该计算单元就进行自我禁止。例如,每个计算单元适合于计算禁止指示器的值,例如禁止标记。一旦某一计算单元未能通过自检测试,该缺陷的计算单元的禁止标记就被打开,以防止该缺陷的计算单元被初始化以及参与专用集成电路(ASIC)的正常操作。按照本发明的某些实施方式,禁止指示器是可变的,即不是恒定的。这样,当专用集成电路关掉电源时,禁止指示器就被复位,当该专用集成电路又接通电源时,禁止指示器需要重新进行计算。而且,由于每个计算单元中设有内置的自检逻辑,外部控制器如图2中的控制器202并不知道阵列中缺陷单元的存在。因而,缺陷单元针对操作的自我禁止或者针对初始化的自我隔离,对于外部控制器来说是透明的。
在模块308中,初始化数据的序列以顺次的方式装入到计算单元上。例如,参阅图2,阵列216可以从VCU0开始进行初始化,VCU0是该阵列中最左边的单元。VCU0的控制单元串联地连接到VCU1的控制单元上,而VCU1的控制单元又串联地连接到VCU2的控制单元上,依次类推。这样,阵列216中的向量计算单元(VCUs)被串联连接器件如菊花链(daisy chain)串联地连接起来。
在初始化数据装入到VCU0之前,控制单元检查VCU0上禁止标记的值。如果禁止标记的值表明该单元是有缺陷的,那么,本来要装入到VCU0中的初始化数据被发送至VCU1。在VCU1处,VCU1的控制单元检查VCU0上禁止标记的值。如果禁止标记的值表明VCU1可以使用,那么,初始化的数据就被装入到VCU1中。随后,尝试去安装串联连接中的下一个计算单元,即VCU2。如果VCU2的控制单元测得VCU2可以使用(被VCU2的禁止标记所指明),就将来自初始化数据序列的下一套初始化数据装入到VCU2中。这样,初始化数据的序列就以串行的方式装入到阵列216中,其中缺陷单元被跳过,而是否是缺陷单元是通过每个计算单元中禁止标记的值所指明的。阵列中存在冗余的计算单元可以保证初始化数据的整个序列被阵列中,尽管该阵列中存在缺陷单元。所以,阵列中存在足够的冗余单元,以及初始化数据的顺次装入方式,保证了初始化数据在阵列中非缺陷计算单元之间的重新寻址(re-mapping)。
另外,每个计算单元,如果其被自测为缺陷单元,适合于从VCU的正常操作中自我剔除出去。例如,在正常操作中,缺陷的计算单元将不会进行任何计算和/或不会将任何输出发送到I/O并行总线。即使阵列中缺陷的计算单元不将任何输出发送到I/O并行总线,由于I/O总线的并行特性,外部控制器如控制器202不知道缺陷单元的存在。
通过进一步叙述VCUs的检测,可以详细地描述上述ASIC设计结构的功效(efficacy)。阵列中,如图2的阵列216中,每个VCU的主要功能为:1)在VCU上存储一n维的向量作为内部向量;2)接收一输入的向量并计算该内部向量和该输入向量之间的距离;以及3)将计算出的距离与阵列中其它可使用的向量计算单元(VCUs)进行比较和分类。存储的内部向量也叫做原型(prototype)。即使采用并行总线来装入原型的序列,在阵列的初始化过程中,各原型也是一个接一个地按顺次地方式输入到该阵列中。VCUs之间串行连接器件如菊花链的作用是为选择给定的VCU提供识别器(pointer),该给定的VCU是用于接收原型。这样的识别器只是为了接收原型而适合于指向可使用的VCUs。只有被菊花链指向的那些VCUs才会从原型的序列中接收原型。本来是用于那些被发现带有缺陷的VCUs的原型,要重新寻址,装入到阵列中其它可使用的VCUs中。由于阵列中冗余VCUs的存在,而使得重新寻址成为可能。这样的重新寻址,在设计上来看,对于外部控制器来说是透明的(transparent)。
在VCUs阵列初始化之后,该阵列进入到正常的操作阶段。无论何时,只要通过I/O接口如并行的I/O总线发送一个新输入的向量,那么,所有的VCUs都会平行地进行向量至向量之间的距离计算。可使用的VCUs将结果平行地输出到并行I/O总线中。
在以上的说明中,采用了诸多特定的技术细节对本发明进行了描述,而这些技术细节完全可以随具体情况的变化而变化。很显然,在不偏离本发明的精神和范围的前提下,本领域的普通技术人员可以进行各种各样的改进和改变。因而,此处的说明书及其附图只是用于说明的目的,而不是对本发明的限制。

Claims (24)

1、一种制备集成电路的方法,该集成电路带有由相同计算单元组成的阵列,该方法包括由计算机执行的如下步骤:
使所述的由相同计算单元组成的阵列包含一定数量的冗余的计算单元;
利用每一所述相同的计算单元上的自我禁止逻辑,其中,如果存在缺陷的计算单元,该自我禁止逻辑用于阻止该缺陷的计算单元装入初始化数据和进行操作;以及
从所述缺陷的计算单元自动地重新寻址到该阵列中非禁止的计算单元,并接收所述初始化数据,该初始化数据曾被阻止装入到所述缺陷的计算单元中。
2、如权利要求1所述的方法,其进一步包括:在所述阵列的所有计算单元上平行地进行测试,以识别出所述缺陷的计算单元。
3、如权利要求2所述的方法,其中,所述的测试是在所述集成电路每次启动时进行的。
4、如权利要求2所述的方法,其进一步包括:利用输入网络进行所述的测试。
5、如权利要求4所述的方法,其中,所述的输入网络与所述集成电路的I/O并行总线相联结(associated with)。
6、如权利要求2所述的方法,其进一步包括:利用每一所述相同的计算单元上的指示器结构,根据所述的测试,指明每一所述相同的计算单元是否被禁止。
7、如权利要求6所述的方法,其中,所述的指示器结构是一禁止标记,该禁止标记对应于每一所述相同的计算单元。
8、如权利要求7所述的方法,其中,每一所述相同的计算单元计算相应的所述禁止标记。
9、如权利要求1所述的方法,其中,所述的重新寻址用于使所说的集成电路发挥其全部功能。
10、如权利要求1所述的方法,其中,所述的集成电路是一专用集成电路。
11、如权利要求1所述的方法,其中,所述的缺陷的计算单元被禁止接收任何输入数据以及对所述输入数据进行处理,该输入数据来自于与所述集成电路相联结的I/O并行总线。
12、如权利要求1所述的方法,其中,所述的缺陷的计算单元被禁止将任何处理的数据输出到与所述集成电路相联结的I/O并行总线。
13、如权利要求1所述的方法,其中,所述的自动重新寻址包括利用一数据装入机制,以顺次地将所述的初始化数据装入到所述的非禁止的计算单元,其中,所述的初始化数据包括控制数据。
14、如权利要求13所述的方法,其中,所述的数据装入机制将没有装入到禁止的计算单元中的初始化数据发送到所述阵列的下一个计算单元中。
15、如权利要求13所述的方法,其中,所述的数据装入机制包括一识别器,以指向所述阵列中装入所述初始化数据的现行计算单元,其中,所述的识别器通过一串联连接器件予以发送,该串联连接器件连接所述阵列中的所述相同的计算单元。
16、如权利要求1所述的方法,其进一步包括:利用每一所述相同的计算单元上的菊花链控制单元,将各个所述相同的计算单元的检测单元串联在一起。
17、如权利要求16所述的方法,其中,所述的菊花链控制单元用于通过相应的输入和输出控制端口,接收和输出控制数据。
18、如权利要求1所述的方法,其中,每一所述相同的计算单元包括用于处理数据的计算逻辑电路。
19、如权利要求1所述的方法,其进一步包括:利用I/O并行总线,传送来自所述非禁止计算单元的输出数据。
20、一种集成电路,该集成电路包括:
多个相同的计算单元,其中,所述的多个相同的计算单元包括一定数量的冗余的计算单元;
在每一所述的计算单元中都包含由计算机执行的自检电路和自我禁止逻辑电路;以及
一串联连接器件,该串联连接器件连接所述的多个相同的计算单元。
21、如权利要求20所述的集成电路,其进一步包括:一并行的输入/输出网络,该网络用于平行地将测试输入数据发送到所述的多个相同的计算单元。
22、如权利要求20所述的集成电路,其进一步包括:一并行的输入/输出网络,该网络用于平行地接收来自于所述的多个相同的计算单元的输出数据。
23、如权利要求20所述的集成电路,其进一步包括:在每一个所述的多个相同的计算单元上的指示器结构,该指示器结构与所述的自检电路和自我禁止逻辑电路相联结,其中,所述的指示器结构用于指明所述的多个相同的计算单元中的每一个是否是有缺陷的。
24、如权利要求20所述的集成电路,其进一步包括:在每一个所述的多个相同的计算单元上的控制单元,其中,所述的控制单元是通过所述的串联连接器件连接的。
CNB2005100993602A 2004-09-15 2005-09-15 并行计算单元的重新寻址 Active CN100432947C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/942,334 US7272813B2 (en) 2004-09-15 2004-09-15 Transparent re-mapping of parallel computational units
US10/942,334 2004-09-15

Publications (2)

Publication Number Publication Date
CN1801104A CN1801104A (zh) 2006-07-12
CN100432947C true CN100432947C (zh) 2008-11-12

Family

ID=35709200

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100993602A Active CN100432947C (zh) 2004-09-15 2005-09-15 并行计算单元的重新寻址

Country Status (4)

Country Link
US (1) US7272813B2 (zh)
EP (1) EP1643368B1 (zh)
CN (1) CN100432947C (zh)
TW (1) TWI370967B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10069578B2 (en) * 2011-06-13 2018-09-04 Mediatek Inc. RF testing system with parallelized processing
DE102015218898A1 (de) * 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren zur redundanten Verarbeitung von Daten

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1148895A (zh) * 1994-03-22 1997-04-30 理查德·S·诺曼 支持具有与系统操作者直接通信的装置的完全集成系统的高效直接单元替换容错结构
CN1195814A (zh) * 1997-03-31 1998-10-14 国际商业机器公司 使存储器容错的可变大小冗余替换布局
CN1205521A (zh) * 1997-07-16 1999-01-20 国际商业机器公司 存储设备的可变域冗余置换配置
US6697979B1 (en) * 1997-12-22 2004-02-24 Pact Xpp Technologies Ag Method of repairing integrated circuits

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4566102A (en) * 1983-04-18 1986-01-21 International Business Machines Corporation Parallel-shift error reconfiguration
FR2606184B1 (fr) * 1986-10-31 1991-11-29 Thomson Csf Dispositif de calcul reconfigurable
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5369314A (en) * 1994-02-22 1994-11-29 Altera Corporation Programmable logic device with redundant circuitry
US6091258A (en) * 1997-02-05 2000-07-18 Altera Corporation Redundancy circuitry for logic circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1148895A (zh) * 1994-03-22 1997-04-30 理查德·S·诺曼 支持具有与系统操作者直接通信的装置的完全集成系统的高效直接单元替换容错结构
CN1195814A (zh) * 1997-03-31 1998-10-14 国际商业机器公司 使存储器容错的可变大小冗余替换布局
CN1205521A (zh) * 1997-07-16 1999-01-20 国际商业机器公司 存储设备的可变域冗余置换配置
US6697979B1 (en) * 1997-12-22 2004-02-24 Pact Xpp Technologies Ag Method of repairing integrated circuits

Also Published As

Publication number Publication date
TWI370967B (en) 2012-08-21
TW200614557A (en) 2006-05-01
EP1643368B1 (en) 2015-04-15
EP1643368A1 (en) 2006-04-05
CN1801104A (zh) 2006-07-12
US7272813B2 (en) 2007-09-18
US20060059450A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
CN103119554B (zh) 提供平台无关的存储器逻辑
US20090006916A1 (en) Method for cache correction using functional tests translated to fuse repair
US8868975B2 (en) Testing and operating a multiprocessor chip with processor redundancy
CN102081562A (zh) 一种设备诊断方法及系统
CN103247345A (zh) 快闪存储器及快闪存储器失效存储单元检测方法
US7346815B2 (en) Mechanism for implementing redundancy to mask failing SRAM
CN101135984B (zh) 硬件信息备份装置、运行信息备份及检测信息保存方法
CN101156137A (zh) 选择子例程返回机制
CN100446129C (zh) 一种内存故障测试的方法及系统
CN116050326A (zh) 集成电路的可编程宏测试设计
KR100265929B1 (ko) 메모리 시험장치 및 방법
CN100432947C (zh) 并行计算单元的重新寻址
Eychenne et al. An effective functional safety infrastructure for system-on-chips
Mariani et al. A flexible microcontroller architecture for fail-safe and fail-operational systems
Backhausen et al. Robustness in automotive electronics: An industrial overview of major concerns
US9003251B2 (en) Diagnosis flow for read-only memories
Bohl et al. The fail-stop controller AE11
CN105205034A (zh) 一种基于asic的高可靠参数配置方法
CN110058951A (zh) 一种修复rom内部少量数据错误的方法和装置
US8392777B2 (en) Centralized MBIST failure information
CN100456243C (zh) 存储设备及控制该存储设备操作的方法
CN115204081A (zh) 芯片仿真方法、平台和系统、计算机可读存储介质
CN112912958A (zh) 使用内置自测控制器测试只读存储器
US11379297B2 (en) System and method to provide safety partition for automotive system-on-a-chip
US7434151B2 (en) Read control systems and methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: OmniVision Technologies, Inc.

Address before: American California

Patentee before: Haowei Tech Co., Ltd.