用远端熔丝盒的压缩数据初始化集成电路的方法和装置的制作方法

文档序号:6777761阅读:141来源:国知局
专利名称:用远端熔丝盒的压缩数据初始化集成电路的方法和装置的制作方法
技术领域
本发明涉及熔丝可编程集成电路,更具体地是涉及一个具有熔丝读启动序列的集成电路。
背景技术
熔丝可编程集成电路被用于需要定制和/或修复制造缺陷的应用中。必须对集成电路和印制电路板进行功能测试以保证筛选出无缺陷产品。在许多情况下,通过提供能够被熔丝可编程逻辑选择的冗余电路元件可以在晶片制造之后修复集成电路。例如,如果在一行单元中检测到一个缺陷,则可以用一个备用列替换存储器阵列中的一个整列,否则会使存储器无法使用。冗余单元使得能够以增加电路区域面积为代价通过冗余电路和熔丝电子元件提高成品率。
上述熔丝包含可以通过在其上施加瞬时大电流的方式进行编程的电熔熔丝(e-熔丝)和可以通过用激光使材料汽化的方式进行编程的激光可编程熔丝。也可以在集成电路上实现一种反熔丝技术,其中熔丝控制晶体管的栅极而晶体管在熔丝被烧断时导通产生短路。
专用集成电路(ASIC)可以包含大量嵌入式存储器。所包含的存储器通常含有冗余电路元件以便修复缺陷。从可用冗余元件中选择替换元件需要有大量的熔丝数值(fuse value)。例如,国际商业机器公司销售的Cu-11 ASIC设计系统内的嵌入式SRAM宏在每个宏实例中包含了80个熔丝数值。所以一个使用某种包含80个熔丝数值的宏的128个实例的ASIC会总共产生10,240个熔丝数值。嵌入式动态随机访问存储器(eDRAM)宏设计中包含的熔丝数值通常远不止于此。Cu-11 ASIC设计系统中eDRAM的每个兆位部件包含344个熔丝数值,并且在一个ASIC设计内可以使用256个1兆位eDRAM部件。结果每个ASIC芯片中的熔丝数量为88,064。期望减少修复这些集成电路所需的物理熔丝数量。
在使用功能模块或宏设计的电路,例如根据一个宏单元库建立的专用集成电路(ASIC)中,该单元的熔丝会与该宏相关。在校正缺陷或定制这些ASIC时,熔丝的共同定位产生了一个问题,即熔丝与电路的平衡通常是不兼容的。e-熔丝需要用于通过编程电流的大电路路径以便编程期间产生的电压降不会消除熔丝编程能力,不会使编程时间超过可接受限制或不使局部发热增加到损伤功能电子部件的程度。激光可编程熔丝需要大的护圈以便其它电路不被激光破坏。另外,当前的集成电路设计提供了深层电路堆叠,从而允许将宏埋在管芯各层内的线路下面。由于激光或电子装置对熔丝的烧断均会损伤布置在熔丝上面的线路或熔丝下面的电路,所以以不允许熔丝上面有线路并且不允许熔丝下面有电路的方式实现激光编程熔丝和e-熔丝。最后,由于激光需要有能够射向熔丝的直接视线,所以诸如引线球接触阵列的互连方法不与激光烧断熔丝兼容。由于含有接触阵列的较外部层必须占用表面层,所以激光可编程熔丝必须位于管芯的其它区域内。
无法将包含熔丝的宏布在其它线路和接触阵列下面或其它电路上面严重地限制了包含熔丝的宏的使用。可以将所有熔丝移到使熔丝不会与接触阵列互相干扰的位置上,但从相关的宏中移出熔丝需要专门的设计并且或者需要大量从熔丝到相关宏的互连,或者也可以采用将数值从熔丝传送到与其相关的宏的方案,但这使每个熔丝均需要一个本地锁存器和一个远端锁存器。由于熔丝通常不能被用来构成集成电路中的逻辑部分,尤其是在使用铜熔丝技术的情况下,所以在熔丝上通常需要一个本地锁存器。如果在烧断熔丝的末端施加电压,这个烧断熔丝会重新生长并且形成铜枝状晶体。烧断熔丝最终可以具有足够低的阻抗以便象其尚未被烧断时那样进行读操作。
根据前面所述,期望提供一种对集成电路进行熔丝编程以便可以在冗余元件中间共享熔丝的方法和装置。并且期望提供一种使用不必位于其相关存储器宏内部的熔丝对集成电路进行熔丝编程的方法和装置。

发明内容
通过下面的详细描述可以理解本发明的所有目标,特性和优点。
通过使用来自远端熔丝盒的压缩数据初始化集成电路的方法和装置,可以实现在不需要从熔丝到宏的电路或本地锁存器/远端锁存器对的电路连接的情况下使用远端熔丝修复集成电路内部的宏的目标。从一个熔丝矩阵读取压缩控制数据并且对压缩数据进行解码以产生解压缩控制数据。接着解压缩控制数据被锁存到集成电路内部以控制功能电路元件。也可以在一个多芯片模块中实现本发明,其中使用一单个的熔丝盒初始化多个管芯。
本发明还提供了一个集成电路,其中包括一个包含多个熔丝的熔丝盒;一个被连接到上述熔丝盒以便从上述熔丝读取数值并且解压缩上述数值以产生控制数据的解压缩器;和多个被连接到上述解压缩器的锁存器,用于锁存上述控制数据以控制上述功能逻辑。
本发明还提供了一个多芯片模块,其中包括多个管芯;一个被连接到上述多个管芯中的各个管芯的熔丝盒,其中上述熔丝盒包含多个熔丝;一个从上述多个熔丝读取数值并且解压缩上述数值以产生控制数据的解压缩器;以及在上述多个管芯的各个管芯内部的多个锁存器,其中上述多个锁存器被连接到上述解压缩器,并且上述锁存器保存上述控制数据以便控制上述功能逻辑。
通过下面的详细描述可以理解本发明的上述以及其它目标,特性和优点。


在所附权利要求书中提出了被认为是本发明的特征的新颖特性。然而参照下列结合附图对一个图解实施例进行的详细描述可以更好地理解本发明自身,优选使用模式,其它目标和优点,其中类似标号指示类似的部件,并且图1是基于本发明一个最优实施例的集成电路的模块图;图2是图1的集成电路内部的熔丝盒电路的模块图;图3是关于图1的集成电路内部的移位寄存器的示意图;
图4是关于图2的熔丝盒电路内部的解压缩器内的时钟电路的示意图;图5是关于图2的熔丝阵列的示意图;图6是有关使用来自基于本发明的最优实施例的远端熔丝盒的压缩数据初始化一个集成电路的方法的流程图;和图7是基于本发明的一个最优实施例的多芯片模块的模块图。
优选实施方式参照附图并且具体参照图1,其中描述了一个基于本发明最优实施例的集成电路的模块图。集成电路10包含多个熔丝可编程宏16。熔丝可编程宏16可以实现集成电路10内部的各种功能电路并且不必有相同或类似的性质,但可以使用从熔丝盒11检索的熔丝数据进行定制和/或修复。可修复电路包括存储器阵列宏,其中熔丝数据被用来清除一个存储器元件(例如一个行或列)并且选择一个替换其功能的冗余元件。可以理解,通过多路复用器和多路分解器或本领域众所周知的各种其它技术可以实现存储器元件的替换。可定制电路包括可编程逻辑阵列宏,其中熔丝数据被用来产生以逐个集成电路等方式嵌入安全代码的组合逻辑电路。
本发明涉及借以实现控制集成电路10的定制和/或修复的控制数据的方式和装置。熔丝12被安排在一个与熔丝可编程宏隔离的模块中以便克服与放置熔丝相关的障碍,例如与互连点相干扰,因需要实现整个层次叠加的护圈、激光可编程熔丝或e-熔丝造成的管芯面积低效使用,等等。熔丝数据包含压缩信息,上述压缩信息被解压缩器14解压缩以产生用于修复或定制熔丝可编程宏16的控制数据。宏内部的移位寄存器18被链形排列以便允许对从解压缩器14接收的解压缩控制数据进行串行时钟控制,这使得在初始化时向熔丝可编程宏16传送控制数据。在初始化之后,将针对集成电路10的操作配置熔丝可编程宏16实现的功能逻辑。
应当理解,集成电路10的实现不仅限于只有一个被连接到移位寄存器18单链的单个熔丝盒11,相反本发明的技术允许设计成具有多个熔丝盒并且多个熔丝盒被连接到多个移位寄存器链。其它替换方式中包含一个单个的熔丝盒,这个熔丝盒被连接到多个移位寄存器链并且从熔丝盒并行输出数据以提供给各个移位寄存器链。根据集成电路内部的宏布置和允许的初始化时间周期选择具体的设计实现。随着保存从熔丝盒11接收的控制数据的移位寄存器的数量的增加,初始化集成电路10所需的时间量也相应增加。对于那些集成电路10的加电/断电比较频繁或者必须快速初始化的应用,例如个人数字助理(PDA)应用,人们希望实现一些由一个熔丝盒并行馈送或由若干熔丝盒分别馈送的移位寄存器链。
现在参照图2,其中示出了图1的熔丝盒11的详细模块图。加电复位是一个能够从外部提供或在集成电路10内部产生的信号。加电复位指示应当初始化集成电路10的操作。在一个与门21中将加电复位与解压缩器25产生的禁止信号组合。计数器23被保持在一个复位状态上直到产生了加电复位。解压缩器25的状态也被保持在一个复位状态上直到产生了加电复位。与门21的输出使能一个操作解压缩器25的环形振荡器22。当被来自解压缩器25的计数使能信号使能时,环形振荡器22操作计数器直到解压缩器25将时钟使能信号设置成负状态,从而禁止了环形振荡器22。因而计数器23在加电复位被激活时开始计数并且在解压缩器25时钟使能输出指示解压缩完成时停止。禁止计数器23进行计数直到加电复位被激活。计数器23的输出选择熔丝盒24内部的行,从而检索出两个被传送到解压缩器25的压缩控制数据字。
解压缩器25是一个根据熔丝阵列24的前两个字中编码的模式选择(被计数器数值零选中)对两个压缩控制数据字解压缩的状态机。控制字除模式选择位之外还包含信息,例如熔丝阵列24的具体数据宽度和解压缩控制数据移位寄存器的长度。在前两个熔丝阵列24字中对解压缩控制数据移位寄存器的长度进行编码为状态机提供了有关填充解压缩控制数据移位寄存器链所需的移位循环数量的信息。对熔丝阵列24的宽度进行编码允许将相同的状态机用于具有不同数据宽度的熔丝阵列。这是期望的特性,原因是不同集成电路设计会具有不同的熔丝布局基本规则要求。通常期望管芯上放置的熔丝数量最小化,所以不用设计专用解压缩器而具有改变数据长度和宽度的能力是专用逻辑实现的优选特性。
熔丝阵列24内部的一行包含两个熔丝字。实际上,在一个镜像中反置熔丝阵列24中的一半行数据或一个熔丝字,使得熔丝阵列的最外部几位可以在物理上不存在于熔丝阵列设计中并且在实现较小的熔丝阵列时可以被解压缩器25忽略。
可以通过从熔丝阵列24的第一位置加载的控制字选择解压缩器25实现的解压缩方案的模式。所支持的模式有映像模式,其中不经修改(无压缩)移出控制数据,行程长度模式(RLL),其中对于零计数被编码的控制数据字移出零,和可变模式,其中一个控制数据字位针对控制数据字中编码的计数指示一个要移出的固定数值(零或一)。表1示出了熔丝阵列24中编码的控制字和数据字的格式。位


表1表1的第二行示出了熔丝阵列24的第一位置中的控制字的结构。该字低一半的位被反置并且外部的位未使用(N/A)以适应宽度为22位的熔丝阵列24。M1和M0对模式进行编码,其中0指示移位所有的零(无熔丝烧断),模式1指示RLL解压缩模式,模式2指示映像模式(无压缩)。FV=0指示要移位的模式1RLL数值为零,FV=1指示一个RLL编码控制数据字的位1会确定每行程移位的固定数值。L16-L0对要移位的总位数(数据长度)进行编码,从而允许从解压缩器中移位128k个位。
表1的第三行示出了在模式=1并且FV=0时控制数据字的意义。每个位置保存两个控制数据字,其中按照位顺序反置低字以便可以使用较小的熔丝阵列。RLL指示控制数据字是对行程(1)还是映像(0)进行半编码,字的其它位是对映像数据还是对从最低有效位(LSB)到最高有效位(MSB)的行程长度计数进行编码。对于一个22位控制数据字长度,忽略MSB数值。表1的第四行示出了在模式=1并且FV=1时控制数据字的意义。当RLL=1时VAL是固定移位数值,当RLL=0时是映像数据的LSB。如果模式=2,则没有压缩,所以控制数据字中的所有位均是映像位。
现在参照图3,其中详细描述了图1的移位寄存器18。解压缩控制数据的入口点是一个全电平敏感扫描设计(LSSD)锁存器31。这构成了移位寄存器中的第一位并且在集成电路10的LSSD设计和熔丝盒11操作之间提供了兼容性。由于在初始化之后和系统层次测试期间必须维护从熔丝12解压缩的控制数据,必须取消对移位寄存器的扫描时钟的选定。FUSE BYPASS在系统层次扫描操作期间禁止扫描时钟ACLK,其中假定系统层次测试期间产生的扫描时钟不传播到移位寄存器18并且不破坏解压缩控制数据移位寄存器数值。在或门34中将选通时钟与熔丝盒11的FUSE CCLK输出混合,其中熔丝盒11将解压缩控制数据移位到移位寄存器18。在全LSSD锁存器31和纯扫描锁存器33中维护控制数据。由于FUSE BYPASS禁止纯扫描锁存器33的ACLK,所以不必修改移位时钟B以防止系统层次测试时钟输出控制数据。FUSE BYPASS还控制数据选择器35以便在使用LSSD扫描时钟执行系统层次测试时SCANIN被连接到SCANOUT,从而旁路移位寄存器18,允许测试相同芯片层次LSSD扫描链内部的其它锁存器。
现在参照图4,其中详细示出了图2的解压缩器25和环形振荡器22内部的时钟电路。在这个电路中,延迟元件向与门42提供反馈信号,与门42向主-从锁存器对44产生一个输入。主-从锁存器对44在集成电路10正在初始化时保持在透明模式下以便允许有一个针对环形振荡器两相位时钟发生器的反馈路径。两相位时钟被提供成时钟断路器(clockchopper)43A和43B的输入,上述时钟断路器产生两个被用来将解压缩控制数据移位到移位寄存器18的非重叠时钟脉冲ZC和ZB。信号C1和B在生产测试人员操作集成电路10时被用来为时钟断路器43A和43B提供时钟。
RESET是加电复位信号POR的一个扩展和反转版本,在时钟断路器43A和43B停止提供时钟并且解压缩控制数据已经被载入移位寄存器18之后集成电路10内部的其它电路使用RESET保证复位有效。
现在参照图5,其中详细描述了图2的熔丝阵列24。熔丝51排列在成对的行中,其中各个熔丝的一个触点被连接到地并且各个熔丝的其它触点被连接到一个选择晶体管52和一个箝位晶体管54。解码器53使能选择晶体管52。解码器53禁止箝位晶体管54。熔丝的矩阵布置是将熔丝数据读入解压缩器11的有效布置。仅在读取操作期间进行的熔丝阵列24字线选择保证箝位器件54使熔丝的私有末端保持接地。箝位器件54保证在初始化之后集成电路10操作期间熔丝51上不会出现静态电压,从而最小化烧断熔丝重新生长的机会。
现在参照图6,其中描述了一个基于本发明最优实施例,使用来自远端熔丝盒的压缩数据初始化集成电路的方法。从熔丝阵列24读取一个控制字,其中包含字长度,解压缩模式和数据长度(步骤60),如果数据长度为零(判定61),则操作解压缩器14。否则从熔丝阵列24读取下一个压缩控制数据字并且递减数据长度数量(步骤62)。如果控制数据字对一个映像进行编码或者压缩模式是绝对模式(无压缩)(判定63),则根据字长度移出映像位(步骤64)。否则如果RLL压缩模式可变(步骤66)则根据控制数据字中编码的长度移出根据行程编码的类型(1或0)确定的固定数值(步骤68)。如果RLL压缩模式不可变(判定66),则根据控制数据字中编码的行程长度移出零(步骤67)。在执行适当移位操作之后,递减数据长度(步骤65)并且解压缩器14重复操作直到数据长度数值为零(判定61)。
现在参照图7,其中描述了基于本发明一个最优实施例的多芯片模块70。当若干个具有熔丝可编程宏的管芯71被引入多芯片模块70时,一个公共熔丝管芯72被用来向各个管芯71内部的熔丝数据移位寄存器提供控制数据。这允许非常有效地排布非熔丝管芯71,但是通常需要熔丝管芯72内部有更加复杂的扫描控制和选择单个管芯71的选择逻辑以便从熔丝接收控制数据。这个方案的另一个特性是适用于修复应用,其中不需要熔丝校正的管芯释放出可用于修复其它管芯上的故障的熔丝,从而最大利用了熔丝。
虽然针对特定实施例描述了本发明,但这种描述显然不是为了限制本发明。本领域技术人员参照本发明的描述可以理解本发明的公开实施例和可选实施例的各种修改。所以认为可以在不偏离如所附定义的本发明宗旨或范围的前提下进行这种修改。
权利要求
1.初始化集成电路的方法,上述方法包括的步骤有从上述集成电路内部的一个熔丝矩阵读取压缩控制数据;解码上述压缩控制数据以产生解压缩控制数据;和将上述解压缩控制数据锁存以控制功能电路元件。
2.如权利要求1所述的方法,其中还包括产生一个地址的步骤,并且其中通过产生一个地址将上述压缩控制数据作为一个并行字从上述熔丝矩阵中读取。
3.如权利要求1所述的方法,其中对上述压缩修复数据进行行程长度压缩并且上述方法还包括的步骤有确定上述压缩控制数据是否包含一个行程数值或一个映像;在确定上述压缩控制数据表示一个映像的情况下锁存上述映像以便选择上述电路元件;和在确定上述压缩控制数据表示一个行程的情况下重复锁存一个固定数值以便控制上述功能电路元件,其中上述重复具有上述行程数值的长度。
4.如权利要求3所述的方法,其中上述压缩控制数据表示一个行程,上述压缩控制数据还包含一个上述固定数值要重复的表示。
5.如权利要求1所述的方法,其中还包括接收一个加电复位指示的步骤,根据上述加电复位指示执行上述读取,解码和锁存步骤。
6.如权利要求1所述的方法,其中上述集成电路是一个多芯片模块内部的集成电路,并且上述方法还包括选择上述集成电路以接收上述解压缩控制数据,并且响应上述选择步骤执行上述锁存步骤。
7.如权利要求1所述的方法,其中还包括向上述集成电路内部的一个位置串行发送上述解压缩控制数据的步骤,并且在上述解压缩控制数据被移位到上述位置之后执行上述锁存步骤。
8.如权利要求7所述的方法,其中对上述压缩控制数据进行行程长度压缩并且上述方法还包括的步骤有确定上述压缩控制数据是否包含一个行程数值或一个映像;在确定上述压缩控制数据表示一个映像的情况下将上述映像移位到上述位置;和在确定上述压缩控制数据表示一个行程的情况下重复移位一个固定数值以控制上述功能电路元件,其中上述重复具有上述行程数值的长度。
9.如权利要求8所述的方法,其中上述压缩控制数据表示一个行程,上述压缩控制数据还包含一个上述固定数值要重复的表示。
10.如权利要求1所述的方法,其中还包括读取一个初始化字以确定上述压缩控制数据的格式的步骤。
11.如权利要求1所述的方法,其中还包括读取一个初始化字以确定一个包含上述压缩控制数据的熔丝盒的字长度的步骤。
12.如权利要求1所述的方法,其中还包括读取一个初始化字以确定上述压缩控制数据的数量的步骤。
13.一个集成电路,其中包括一个包含多个熔丝的熔丝盒;一个被连接到上述熔丝盒以便从上述熔丝读取数值并且解压缩上述数值以产生控制数据的解压缩器;和多个被连接到上述解压缩器的锁存器,用于锁存上述控制数据以控制上述功能逻辑。
14.如权利要求13集成电路,其中上述熔丝盒包括一个熔丝可编程只读存储器,该存储器具有一个用于选择上述数值的地址输入。
15.如权利要求13所述的集成电路,其中上述解压缩器是一个行程长度解码器。
16.如权利要求15所述的集成电路,其中上述行程长度解码器可以解码逻辑一和逻辑零的行程。
17.如权利要求13所述的集成电路,其中上述熔丝是激光可编程熔丝。
18.如权利要求13所述的集成电路,其中上述熔丝是电可编程熔丝。
19.如权利要求13所述的集成电路,其中还包括被连接到上述解压缩器以便指示上述集成电路的初始化的加电复位电路,其中上述解压缩器根据上述指示解压缩上述数值。
20.如权利要求19所述的集成电路,其中还包括一个在上述集成电路内部并且被连接到上述解压缩器以便为上述解压缩器提供时钟的振荡器。
21.如权利要求20所述的集成电路,其中还包括一个被连接到上述振荡器以产生互补相位时钟的时钟断路器。
22.如权利要求13所述的集成电路,其中上述锁存器被组织成串行移位寄存器,上述控制数据在解压缩之后被移位通过上述串行移位寄存器。
23.如权利要求22所述的集成电路,其中上述串行移位寄存器包括电平敏感扫描设计链部分。
24.如权利要求23所述的集成电路,其中还包括一个旁路电路以便防止在已经锁存上述控制数据之后扫描时钟控制上述串行移位寄存器并且允许系统层次测试扫描数据跳过上述串行移位寄存器。
25.如权利要求13所述的集成电路,其中上述控制数据包含一个初始化字,这个初始化字包含一个指示上述控制数据的数量的字段。
26.如权利要求13所述的集成电路,其中上述控制数据包含一个初始化字,这个初始化字包含一个指示上述控制数据的字长度的字段。
27.一个多芯片模块,其中包括多个管芯;一个被连接到上述多个管芯中的各个管芯的熔丝盒,其中上述熔丝盒包含多个熔丝;一个从上述多个熔丝读取数值并且解压缩上述数值以产生控制数据的解压缩器;以及在上述多个管芯的各个管芯内部的多个锁存器,其中上述多个锁存器被连接到上述解压缩器,并且上述锁存器保存上述控制数据以便控制上述功能逻辑。
28.如权利要求27所述的多芯片模块,其中还包括一个选择器,这个选择器选择上述管芯中的一个管芯以接收上述控制数据。
29.如权利要求27所述的多芯片模块,其中上述锁存器被组织成串行移位寄存器,上述控制数据在解压缩之后被移位通过上述串行移位寄存器。
30.如权利要求29所述的多芯片模块,其中上述串行移位寄存器包括电平敏感扫描设计链部分。
31.如权利要求30所述的多芯片模块,其中还包括一个防止在上述控制数据被锁存之后扫描上述串行移位寄存器的时钟的旁路电路。
全文摘要
一个使用来自远端熔丝盒的压缩数据初始化集成电路的方法和装置,允许减少修复或定制集成电路所需的熔丝数量并且允许将熔丝组合到熔丝所修复的宏的外部。熔丝的远端定位允许在布置具有冗余修复能力的宏方面具有灵活性,并且允许对熔丝进行最优组合以便具备编程方便性和电路布局简易性。熔丝按行和列排列并且表示控制字和行程长度压缩数据以便为每个熔丝提供大量的修复点。数据可以被串行加载到移位寄存器中并且被移位到宏位置上以控制冗余电路的选择,从而修复具有缺陷的集成电路或定制逻辑。
文档编号G11C29/04GK1357893SQ01142599
公开日2002年7月10日 申请日期2001年12月4日 优先权日2000年12月5日
发明者达雷·L·阿那德, 小约翰·E·巴斯, 约翰·A·费费德, 帕梅拉·S·吉利斯, 彼得·O·杰考贝森, 道格拉斯·W·凯莫尔, 戴维·E·拉基, 史蒂文·F·奥克兰德, 迈克尔·R·奥莱蒂, 威廉·R·托蒂 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1