并行计算单元的重新寻址的制作方法

文档序号:6101624阅读:173来源:国知局
专利名称:并行计算单元的重新寻址的制作方法
技术领域
本发明涉及集成电路,更具体地讲,本发明涉及专用集成电路(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总线中。
在以上的说明中,采用了诸多特定的技术细节对本发明进行了描述,而这些技术细节完全可以随具体情况的变化而变化。很显然,在不偏离本发明的精神和范围的前提下,本领域的普通技术人员可以进行各种各样的改进和改变。因而,此处的说明书及其附图只是用于说明的目的,而不是对本发明的限制。
权利要求
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所述的集成电路,其进一步包括在所述的多个相同的计算单元中每一个上的控制单元,其中,所述的控制单元是通过所述的串联连接器件连接的。
全文摘要
本申请公开了一种专用集成电路(ASIC)的设计结构。该ASIC的设计结构包括一定数量的冗余的计算单元,以便在检测发现缺陷计算单元时,可以通过从缺陷单元向原来冗余的单元的重新寻址,维持ASIC的全部功能。缺陷单元的标识以及功能的重新寻址是利用内置于ASIC每一计算单元中的自检逻辑自动完成的。当ASIC处于操作模式时,自检逻辑适合于使相应的计算单元避免数据初始化过程,并自我禁止进行任何计算操作。通过依次地对阵列中计算单元的初始化,可以实现功能的量新寻址。
文档编号G01R31/317GK1801104SQ200510099360
公开日2006年7月12日 申请日期2005年9月15日 优先权日2004年9月15日
发明者薄艺林 申请人:豪威科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1