验证部分良好的电压岛结构的制作方法

文档序号:6626203阅读:271来源:国知局
验证部分良好的电压岛结构的制作方法
【专利摘要】提供了用于设计和验证包括冗余逻辑块的集成电路的结构、方法和系统。集成电路包括选择逻辑以及可以由选择逻辑单独控制的可选的逻辑块。可选的逻辑块包括冗余逻辑块的相应实例以及在集成电路中选择性禁用冗余逻辑块的接口逻辑块的相应实例。
【专利说明】验证部分良好的电压岛结构

【技术领域】
[0001] 本发明涉及集成电路,并且更具体地涉及对于包括冗余逻辑块的集成电路的设计 和验证。

【背景技术】
[0002] 集成电路("1C")设计随着时间变得越来越复杂。功耗和产率限制了复杂集成电 路设计的生产。为了解决功耗限制,一些集成电路设计使用电压岛(voltage island)。电 压岛是单独的可控功率区域。通过在不同电压岛中放置集成电路的元件,集成电路可以选 择性在较低电压下操作一个或多个电压岛中的元件和/或当不需要它们的功能时关断元 件。
[0003] 为了致力于解决产率问题,一些集成电路设计用作部分良好的芯片。部分良好的 芯片是包括作为另一元件的冗余的一个或多个元件的集成电路,其中该冗余元件对于集成 电路芯片的功能而言并非必需,但是在相同元件的缺陷或故障的情形下工作。例如,对于部 分良好芯片的设计可以包括十个处理器核心,其中两个处理器核心是冗余的。每个处理器 核心可以位于相应的电压岛中,并且连接直至门控逻辑,该门控逻辑允许忽略、旁路和/或 消除单独的处理器核心。因为根据设计两个处理器核心对于集成电路工作而言并非必需, 所以小于100%产率生产处理器核心的制造工艺可能制造具有足够数目的良好处理器核心 的芯片。
[0004] 组合了电压岛和冗余结构的集成电路增大了芯片设计的时间和复杂度。此外,因 为对集成电路设计的验证可以使得在设计集成电路使用的工作努力增至三倍,对于具有电 压岛冗余结构的集成电路芯片的设计验证可以造成不切实际的耗时量。
[0005] 因此,现有【技术领域】存在需求以克服在此如上所述的缺点和限制。


【发明内容】

[0006] 在本发明的一个方面中,公开了一种集成电路,包括选择逻辑,以及可以由选择逻 辑单独控制的可选的逻辑块。可选的逻辑块包括冗余逻辑块的相应实例,以及选择性禁用 集成电路中冗余逻辑块的接口逻辑块的相应实例。
[0007] 在本发明的另一方面中,公开了一种用于提供集成电路的方法。该方法包括,基于 包括在集成电路中的冗余逻辑块而确定接口逻辑块。该方法也包括,将冗余逻辑块和已确 定接口逻辑块组合为可选的逻辑块。该方法进一步包括,确定在选择逻辑和可选的逻辑块 的实例之间的连接。
[0008] 在本发明的另一方面中,公开了一种方法,包括在集成电路中的大量冗余逻辑块 中标识第一冗余逻辑块以用于禁用。冗余逻辑块包括在相应的可选的逻辑块中。可选的逻 辑块包括接口逻辑块,该接口逻辑块将相应冗余逻辑块与集成电路的功能逻辑分隔开。该 方法也包括记录在集成电路的选择逻辑中标识第一冗余逻辑块的信息。该方法进一步包 括,基于选择逻辑中记录的信息,经由相应可选的逻辑块的接口逻辑块而禁用第一冗余逻 辑块。
[0009] 在本发明的另一方面中,提供了一种有形地实施在机器可读存储媒介中的用于设 计、制造或测试集成电路的设计结构。设计结构包括三维集成芯片堆叠。在又一些实施例 中,编码在机器可读数据存储媒介上的硬件描述语言(HDL)设计结构包括当在计算机辅助 设计系统中处理时生成本发明的集成电路芯片的机器可执行表达的元素。在又一些实施例 中,提供了一种在计算机辅助设计系统中用于生成本发明的集成电路芯片的功能性设计模 型的方法。该方法包括生成本发明的集成电路芯片的结构元件的功能性表达。

【专利附图】

【附图说明】
[0010] 借由本发明示例性实施例的非限定性示例的方式参照所示多个附图,在以下详细 说明书中描述了本发明。
[0011] 图1示出了根据本发明的一些方面的示例性集成电路的框图;
[0012] 图2示出了根据本发明的一些方面的示例性集成电路的框图;
[0013] 图3示出了根据本发明的一些方面的用于实施设计和过程的示例性环境的框图;
[0014] 图4示出了根据本发明的一些方面用于生成并且验证对于示例性集成电路的设 计的示例性过程的流程图;
[0015] 图5示出了根据本发明的一些方面的用于配置示例性集成电路的示例性过程的 流程图;以及
[0016] 图6示出了在半导体设计、制造和/或测试中使用的设计过程的流程图。

【具体实施方式】
[0017] 本发明涉及集成电路,并且更具体地涉及对包括冗余逻辑块的集成电路的设计和 验证。根据本发明的一些方面,提供了用于集成电路的方法和相关结构,其允许对冗余逻辑 块控制逻辑分段验证。也即,验证的工作划分为事项。逻辑功能验证(影响(leveraging) 正常功能逻辑仿真/覆盖技术)验证了基本构建块(例如单独的逻辑块)。结构验证在芯 片层级对正确地连接在一起的构建块进行验证。此外,本发明的方面允许仅使用一个代表 性排列而对冗余逻辑块的芯片层级验证,其中根据部分良好的芯片设计而禁用一个或多个 冗余逻辑块。因此,在此所述根据本发明的一些方面的分段验证与传统技术相比节省了大 量验证工作。
[0018] 在一些实施例中,大量冗余逻辑块位于相应的电压岛内,使得任何一个或多个冗 余逻辑块可以通过选择性门控(也即减小或停止)至对应电压岛的供电而禁用。这些逻辑 块可以称作"部分良好的电压岛块",因为根据设计一个或多个冗余逻辑块无需对于将要运 行的集成电路是功能性的。换言之,集成电路的冗余逻辑块可以是"部分良好",使得冗余逻 辑块的制造产率可以小于100%以生产根据设计运行的集成电路。例如,每一个冗余逻辑 块可以包括多处理器控制器的处理器核心和/或存储逻辑的块。冗余逻辑块并不限于处理 器核心和存储器块,并且替代地可以是在集成电路芯片中重复的任何类型结构(例如门阵 列)。
[0019] 根据本发明的一些方面,集成电路设计包括接口逻辑和选择逻辑。在一些实施例 中,接口逻辑提供了将单独的冗余逻辑块与集成电路的其他元件分隔开的接口(例如包件 (wrapper)或分隔件(fence))。在本发明的一些方面中,接口逻辑可以由选择逻辑单独控 制,以选择性地禁用冗余逻辑块和/或从集成电路的其他功能元件断开冗余逻辑块。例如, 在冗余逻辑块包括处理器核心的情形中,接口逻辑可以包括将每个处理器核心的输入和输 出连接至包括在集成电路中其他功能逻辑(例如处理器、存储器、存储、通信、数据总线等 等)的开关逻辑。此外,接口逻辑可以包括开关逻辑以将每一个电源输入连接至相应电源 (例如电压岛)。
[0020] 根据本发明的一些方面,选择逻辑和接口逻辑是从数据库可检索的预设计元件 (例如逻辑块),并且具有预定的互连。在一些实施例中,使用具体连接(例如唯一的管脚 类型,其可以经由设计数据中的关键词或者属性而符号化)来限定互连,其中仅允许互连 某些特定有效连接(例如类型)。就此而言,选择逻辑和接口逻辑可以仅以单个方式有效连 接。例如,管脚类型可以在选择逻辑和接口逻辑的软件定义(例如VHDL)中预先设定。
[0021] 有利地,本发明的一些方面大大减少了涉及对具有电压岛冗余逻辑块的集成电路 的设计和验证的努力。这是因为预定的选择逻辑和接口逻辑最小化了涉及对用于选择性禁 用冗余逻辑块和/或从电源和数据路径断开冗余逻辑块的逻辑进行设计和验证的设计努 力。此外,根据本发明的一些方面,冗余逻辑块和接口逻辑块的每个实例是相同的。此外, 因为预定了选择逻辑和接口逻辑之间的互连,所以冗余逻辑块的单个示例及其与单个接口 逻辑块的接口可以用于对它们的组合的设计进行验证。此外,可以仅对集成电路的一个代 表性排列执行芯片层级验证,其中包括在集成电路的设计中的给定数目的冗余逻辑块示例 由选择逻辑使用相应接口逻辑而禁用。
[0022] 图1示出了根据本发明的一些方面的用于集成电路芯片100的示例性结构。集成 电路芯片100包括许多可选的逻辑块110A-110D、选择逻辑120、一个或多个功能性逻辑块 130、数据总线140以及选择线路150A…150D。可选的逻辑块IlOA…IlOD包括在电连接至 对应电源V sa…Vsd的相应电压岛中。此外,可选的逻辑块IlOA…IlOD经由数据总线140而 通信地连接至功能性逻辑块130。功能性逻辑块130可以包括例如一个或多个处理器、存储 器、存储、通信装置、数据总线等等。因为集成电路芯片100的结构是示例性的,应该理解的 是,根据本发明的集成电路芯片不限于图1中所示结构。例如,集成电路芯片100可以具有 更少或更多数目的可选的逻辑块IlOA…110D。此外,可选的逻辑块IlOA…IlOD和/或功 能性逻辑块130之间的互连不限于数据总线140,并且替代地可以是任何类型的有线或无 线数据链路(例如串行或并行)。
[0023] 根据本发明的一些方面,选择逻辑120的输出(V"0D经由选择线路150A…150D而 连接至可选的逻辑块的相应输入If· ID,由此选择逻辑120选择性禁用一个或多个可选的 逻辑块IlOA…110D。也即,选择逻辑120控制了特定一个可选的逻辑块IlOA…IlOD以断 开其相应电源V sa-Vsd和/或集成电路100的其他功能性逻辑块(例如通过断开数据总线 140)。例如,执行了集成电路芯片的制造后测试的芯片制造商可以触发选择逻辑120以禁 用标识为过剩或有缺陷的冗余逻辑块。在一些实施例中,可选的逻辑块IlOA…IlOD包括仅 由来自选择逻辑120的信号激活的数据启用逻辑。
[0024] 在一个示例性实现方式中,集成电路100可以是设计用于使用少于全部数目(例 如四个中的三个)冗余处理器核心的部分良好电压岛芯片。每个冗余处理器核心可以包括 在可选的逻辑块IlOA…IlOD中的相应可选的逻辑块中。集成电路芯片100的制造后测试 可以确定可选的逻辑块IlOA中的一个冗余处理器核心是过剩的和/或有缺陷的。标识了 良好和/或损坏处理器核心的信息可以存储在选择逻辑120中。基于所存储的信息,选择 逻辑120可以通过经由输出Oa和信号线150A将禁用信号传输至可选的逻辑块IlOA的输入 Ia以从电压源Vsa和/或数据总线140断开过剩和/或有缺陷的处理器核心从而禁用该过 剩或有缺陷的处理器核心。此外,选择逻辑110可以通过经由输出O^O d和选择线150B… 150D而传输相应的启用信号至输入Id而启用可选的逻辑块IlOB…110D。使得可选的 逻辑块IlOA禁用并且启用可选的逻辑块IlOB…110D,集成电路芯片100可以根据设计运 行。
[0025] 根据本发明的一些方面,基于存储在集成电路芯片100中可使用的集成电路元件 的数据库中的预先设计的元件而制造可选的逻辑块IlOA…IlOD和选择逻辑120。选择逻 辑120的输出连接(V·· Od以及可选的逻辑块IlOA…IlOD的相应输入连接V·· Id在软件定 义中规定,使得它们可以以单个有效的方式连接。在可选的逻辑块IlOA…IlOD是相同逻辑 的实例的情形中,修改每个实例的相应输入连接I^I d以唯一的标识其相应逻辑块。
[0026] 在本发明的一些实施例中,每个输出连接CV-Od和输入连接If Id是在可选的的 选择逻辑120和逻辑块IlOA…IlOD的软件定义中指派不同类型的管脚,并且每个管脚类型 仅被允许连接至特定管脚类型。因此,选择线150A…150D以规定方式连接了选择逻辑120 的逻辑和可选的逻辑块IlOA…110D。因此,为了验证的目的,只要选择逻辑120和可选的 逻辑块IlOA…IlOD的内部逻辑是正确的,并且在结构上验证了选择线150A…150D的互连, 则集成电路100可以期望根据设计运行。因此,选择逻辑120和可选的逻辑块IlOA…IlOD 的芯片层级验证仅涉及对一个或少数排列的测试(例如数目对应于可以禁用的可选的逻 辑块IlOA…IlOD的数目,其在该示例中为一个)。并不需要用于显示禁用任何可选的逻辑 块IlOA…IlOD的所有排列的穷举性芯片层级验证。
[0027] 图2示出了根据本发明一些方面的示出示例性集成电路芯片100的细节的框图。 更具体地,图2示出了示例性可选的逻辑块IlOA和IlOB以及选择逻辑120的细节。显著 地,尽管为了细节而在图2中仅示出了可选的逻辑块IlOA和110B,关于可选的逻辑块IlOA 和IlOB的以下说明描述同等地应用于图1中的可选的逻辑块IlOC和110D,以及根据本发 明一些方面的其他芯片中的任何数目的可选的逻辑块。
[0028] 根据本发明的一些方面,每个可选的逻辑块IlOA和IlOB包括冗余逻辑块210的 实例以及接口逻辑块220的实例。接口逻辑块220可以提供将每个冗余逻辑块210与集成 电路芯片100的其他功能性部件(例如图1中功能性逻辑块130)分隔(例如分隔件)的 接口(例如包件)。在一些实施例中,由选择逻辑120经由选择线150A和150B来选择性控 制接口逻辑块220。接口逻辑块220可以包括电源启用逻辑225和数据启用逻辑230。在 一些实施例中,电源启用逻辑225在冗余逻辑块210的电源输入(例如Power In)与冗余 逻辑块210的相应电源Vsa和Vsb之间提供可切换的连接。因此,可以选择性减小或切断从 电源V sa和Vsb向冗余逻辑块210的供电。在一些实施例中,电源启用逻辑225是启用了选 择逻辑120以导通或者关断向电压岛供电的电压岛集线器(header)装置。本领域技术人 员理解可控地减少和/或切断来自电源的供电的逻辑,因此对这种逻辑的进一步解释说明 对于理解本发明而言并非是必需的。
[0029] 仍旧参照图2,数据启用逻辑230可以向每个接口逻辑块220提供在冗余逻辑块 210的相应数据连接(例如管脚)与集成电路芯片100的其他元件之间的可切换连接。在 一些实施例中,数据启用逻辑230将冗余逻辑块210从数据总线140断开连接。例如,数据 启用逻辑230可以包括多路复用器逻辑和/或逻辑门,当可选的逻辑块IIOA和IIOB的对应 一个被禁用时,与冗余逻辑块210的输入和输出(也即数据I/O)对接以断开输入和输出。 本领域技术人员理解对信号进行复用和/或门控的逻辑装置,使得对这些装置的进一步解 释说明对于理解本发明而言并非是必需的。
[0030] 根据本发明的一些方面,接口逻辑块220是修改以与特定冗余逻辑块210对接的 预设计元件的实例。例如,设计者可以生成包括了冗余逻辑块210的实例的新集成电路设 计。设计者可以修改设计以包覆在对应的接口逻辑块220中冗余逻辑块210的每一个实例, 接口逻辑块220将冗余逻辑块210与集成电路芯片100的其他功能逻辑分隔开。该修改可 以包括改变接口逻辑块220以对接冗余逻辑块210的特定数据输入和输出(也即数据1/ 0)。例如,设计者可以基于冗余逻辑块210的数据输入和输出定制接口逻辑块220的多路 复用器和/或门。设计者随后可以对组合的冗余逻辑块210和接口逻辑块220的单个实例 (也即可选的逻辑块IlOA或110B)执行验证测试以验证它们的功能。在一些实施例中,设 计者可以使用建模和仿真软件以验证接口逻辑块220的电源启用逻辑225和数据启用逻辑 230采用冗余逻辑块210的输入和输出而执行功能。设计者也可以使用建模和仿真软件以 验证冗余逻辑块210和接口逻辑块220 -起用作可选的逻辑块IlOA或110B,并且它们的组 合满足了集成电路芯片100内冗余逻辑块210的设计和接口需求。
[0031] 此外,根据本发明的一些方面,选择逻辑120包括配置存储240和解码器块250。 在一些实施例中,配置存储240是包括记录了芯片具体配置结构信息245的非易失性存储 器的逻辑装置。在一些实施例中,配置存储240包括电子芯片标识器("ECID"),其中由可 熔断链路存储配置信息245,可熔断链路编码了标识可选的逻辑块IlOA和IlOB的信息,以 用于由选择逻辑120启用和/或禁用(也即良好或损坏)。可以基于制造后测试针对特定 集成电路芯片100确定配置信息245。例如,在制造了集成电路芯片100之后,操作测试可 以确定可选的逻辑块IlOA中冗余逻辑块210是损坏的(也即未通过操作集成电路100所 需的一个或多个测试)并且可选的逻辑块IlOB的冗余逻辑块210是良好的(也即通过了 操作集成电路100所需的所有测试)。在该情形下,配置信息245可以存储在配置存储240 中,从而标识用于禁用的可选的逻辑块IIOA和/或用于启用的可选的逻辑块IIOB。
[0032] 在一些实施例中,解码器块250是解码了存储在配置存储240中配置信息245并 且将其转化为启用/禁用信号以用于可选的逻辑块IlOA和IlOB的逻辑装置。在一些实 施例中,基于对于特定集成电路芯片100的配置信息245,解码器逻辑250解码了配置信息 245并将其映射至输出225A(O a)和输出225B(Ob),输出225A(Oa)和输出225B(Ob)经由选 择线150A和150B而连接至接口逻辑块220的输入I a和Ib。例如,解码器块250可以参数 化为"N:M"解码块。可以实现任何数目的传统解码方案以从存储在配置存储240中的启用 /禁用信息转化为启用/禁用信号(例如从N个熔丝转化为M个启用,其中N〈M)。这些解 码方案对于相关【技术领域】中本领域技术人员而言是熟悉的,因此无需进一步解释说明以理 解本发明。可以设计解码器逻辑250以对于任何数目冗余逻辑块210而处理解码的任何组 合,其可以包括在集成电路芯片100的设计中。可以使用仿真对于独立基础执行对解码器 逻辑250的验证以验证其解码并且映射配置信息245。
[0033] 根据本发明的一些方面,配置存储240和解码器逻辑250是在两者之间具有特定 允许的连接的预定元件。同样,在解码器逻辑250和接口逻辑块220之间的连接也是预定 的,其中接口逻辑块220的每一个实例具有去往解码器块250的特定允许的连接。在一些 实施例中,配置存储245的输出251仅允许有效地以特定方式连接至解码器逻辑250的输 入253。此外,解码器逻辑250的输出255A (Oa)和输出255B (Ob)仅允许分别有效地连接至 输入 257A (Ia)和输入 257B (Ib)。
[0034] 根据本发明的一些方面,修改在集成电路芯片100的设计中包括的接口逻辑块 220的每个实例以唯一地标识其相应输入257A、257B。在一些实施例中,限定配置存储240、 解码器逻辑250和接口逻辑块220的模型的软件代码(例如VHDL)可以限定特定类型管 脚,每一个输入和输出允许连接(例如通过选择线150A和150B)。这确保了实施正确的逻 辑结构而不必在芯片层级对接口逻辑块的功能穷举地建模和仿真。替代地,可以执行芯片 层级结构验证(例如电气规则检查)以基于它们相应管脚类型而验证所有用于启用和禁用 冗余逻辑块210的连接是有效的。这导致对验证的传统方法的显著简化,其中对不同熔丝 数值的巨大矩阵仿真,以确保熔丝数值的所有可能组合产生了冗余逻辑块的正确子集,其 位于供电的电压岛上并且连接至有源数据路径。
[0035] 此外,根据本发明的一些方面,在集成电路芯片100的设计中包括选择逻辑120和 可选的逻辑块IlOA和IlOB大大简化了对集成电路芯片100的设计和验证。也即,每个可 选的逻辑块IlOA或IlOB在功能上是等同实例,其可以通过预定义和预验证的选择逻辑120 而单独地启用和/或禁用。就此而言,并非必需对启用和/或禁用的冗余逻辑块的每一个 可能排列执行功能验证。替代地,只要配置存储240、解码器逻辑250和可选的逻辑块IlOA 和IlOB已经验证作为独立元件并且如它们相应元件定义中的规定(可以由结构验证来验 证)而有效地连接,则选择逻辑120将正确地执行功能。因此,功能验证对于启用/禁用的 冗余逻辑块的所有可能排列而言并非必需。
[0036] 基于对可选的逻辑块IlOA和IlOB以及选择逻辑120的前述描述说明,本发明的 一些方面提供了对包括电压岛冗余逻辑块的集成电路的简化验证。例如,设计者可以提供 对于包括冗余逻辑块210的集成电路芯片100的设计,其可以是唯一的或者用户定制的设 计。芯片制造商可以维持集成电路元件的预定库,包括配置存储240、解码器逻辑250和接 口逻辑块220。库可以包括对应于制造技术的配置存储240、解码器逻辑250和/或接口逻 辑块220的不同版本。设计者可以与芯片制造商一起合作以通过修改预定元件以与设计者 的冗余逻辑块210的特定输入/输出相接口而将冗余逻辑块210的实例与相应接口逻辑块 220相组合。设计者可以基于冗余逻辑块210而定制接口逻辑块220的数据启用230 (多 路复用以及门逻辑),并且可以存储该组合作为可选的逻辑块110A、110B的实例。设计者 随后可以通过仿真对可选的逻辑块110AU10B的实例的功能进行验证。因为可选的逻辑 块110A、1 IOB的实例对于包括在集成电路芯片100的设计中的其他块在功能上等同,任何 数目的可选的逻辑块IlOA和IlOB可以例示在芯片设计中。每个实例将可以由解码器逻辑 250控制,预设计解码器逻辑250以解码和禁用和/或启用信号并且将其映射至可以合理 地包括在集成电路的给定设计中的任何数目的可选的逻辑块。包括可选的逻辑块IlOA和 IlOB以及选择逻辑120的集成电路芯片100随后可以采用单个有效芯片配置结构来仿真。 例如,集成电路芯片100的设计可以使用单个、代表性配置结构来验证,其中配置信息245 存储了其中四个可选的逻辑块110AU10B中的一个被禁用的熔丝数值。因此,根据本发明 的一些方面,设计者无需负担在集成电路芯片100的设计中对于用于禁用冗余逻辑块210 的门控的每一个可能排列进行验证。
[0037] 图3是根据本发明的一些方面的用于实现一些步骤的示例性环境310。就此而言, 环境310包括服务器或者可以执行在此描述的过程的其他计算基础结构312。特别地,计算 机基础结构312包括计算装置314。计算装置314可以驻留在网络基础结构或者第三方服 务提供商的计算装置上(任何这些装置通常表示在图3中)。
[0038] 计算装置314也包括处理器320、存储器322A、I/O接口 324、以及总线326。存储 器322A可以包括在实际执行程序代码期间采用的本地存储器,大容量存储器,以及提供了 对至少一些程序代码的临时存储以便于在执行期间减少必需从大容量存储器检索代码的 次数的缓冲存储器。此外,计算装置包括随机存取存储器(RAM)、只读存储器(ROM)以及操 作系统(0/S)。
[0039] 计算装置314与外部I/O装置328和存储系统322B通信。例如,I/O装置328可 以包括使得单个装置与计算装置314交互作用的任何装置(例如用户接口),或者使得计算 装置314使用任何类型通信链路与一个或多个其他计算装置通信的任何装置。外部I/O装 置/资源328可以例如是手持装置、PDA、手机、键盘等等。此外,I/O装置328可以是使得 计算装置与集成电路芯片100对接以执行测试和配置功能的装置。例如,I/O装置328可 以是集成电路测试设备。
[0040] 通常,处理器320执行计算机程序代码(例如程序控制344),其可以存储在存储器 322A和/或存储系统322B中。此外,根据本发明的一些方面,程序控制344控制了集成电 路设计和验证应用350和/或测试和配置应用355以执行在此所述一个或多个方法。设计 和验证应用350和/或测试和配置应用355可以实现为在存储于存储器322A中作为分立 或组合模块的程序控制344中的程序代码的一个或多个集合。此外,设计和验证应用350 和/或测试和配置应用355可以实施作为分立的专用处理器或者单个或多个处理器以提供 这些工具的功能。
[0041] 当执行计算机程序代码时,处理器320可以向存储器322A、存储系统322B、和/或 I/O接口 324写入数据,和/或从这些装置读取数据。程序代码执行了本发明的方法,例如, 设计和验证应用350和/或测试和配置应用355。此外,向存储器322A、存储系统322B、和 /或I/O接口 324写入和/或从这些装置读取数据可以包括集成电路设计360,其限定了包 括其设计规则、元件及其相互关系的集成电路100。总线326在计算装置314中每一个部件 之间提供了通信链路。
[0042] 根据本发明的一些方面,设计和验证应用350是存储在例如存储器322A和/或存 储系统322B中的计算机程序代码,当由处理器320执行时使得计算装置314确定和/或修 改集成电路设计260。设计和验证应用350可以包括用于使用诸如VERIL0G或VHDL之类的 硬件描述语言设计和建模集成电路设计的一个或多个软件或硬件模块。例如,设计和验证 应用350可以是综合/布局CAD工具,其读入设计定义(例如VHDL)、物理区域约束、时序约 束、功率约束、设计库信息、综合规则以及工作条件。使用这些各种参数,设计应用350可以 确定存储在例如集成电路库365中的集成电路设计中兀件的t旲型和版图。确定的版图以及 相关联的信息可以由计算装置314存储在存储系统322B中作为集成电路设计360。
[0043] 此外,设计和验证应用350可以包括用于验证集成电路设计360的一个或多个软 件或硬件模块。例如,设计和验证应用350可以基于设计定义、物理区域约束、时序约束、功 率约束、设计库信息、综合规则和工作条件而验证集成电路设计360的结构和功能需求。例 如,使用电气规则检查,设计和验证应用350可以验证集成电路芯片100的设计中元件的输 入和/或输出(例如接口逻辑块220、配置存储240和解码器逻辑250)以由集成电路库365 中设计定义所规定的单个有效的方式而互连。此外,使用建模和仿真,设计和验证应用350 可以执行对例如可选的逻辑块(例如可选的逻辑块IlOA…110D)的器件层级验证,以及对 于例如集成电路设计360的芯片层级验证。
[0044] 根据本发明的一些方面,测试和配置应用355是存储在例如存储器322A和/或存 储系统322B中的计算机程序代码,当由处理器320执行时使得计算装置314在其制造之后 对特定集成电路芯片100的工作进行测试以验证芯片如所设计地工作。测试和配置应用 355可以包括用于在各种工作和环境条件下将测试图形输入进入IC芯片100中以确定是否 输出预期结果的一个或多个软件或硬件模块。例如,测试和配置应用355可以确定一个或 多个冗余逻辑块(例如冗余逻辑块210)是否是有缺陷的,并且如果有缺陷,则在集成电路 芯片100上记录这种信息(例如作为配置存储240中的配置信息245)。
[0045] 计算装置314可以包括能够执行安装在其上的计算机程序代码的任何通用计算 制造制品(例如个人计算机、服务器等等)。然而,应该理解的是,计算装置314仅仅是可以 执行在此所述方法的各种可能的等同计算装置的代表。就此而言,在一些实施例中,由计算 装置314提供的功能可以由包括通用和/或专用硬件和/或计算机程序代码的任意组合的 计算制品实现。在每个实施例中,程序代码和硬件可以分别使用标准编程和工程设计技术 而产生。
[0046] 类似地,计算基础结构312仅是用于实现本发明的各种类型计算机基础结构的示 例。例如,在一些实施例中,计算基础结构312包括两个或更多计算装置(例如服务器集 群),在诸如网络、共用存储器等等的任何类型的通信链路之上通信以执行在此所述的方 法。此外,当执行在此所述的方法时,计算基础结构312上的一个或多个计算装置可以使用 任何类型通信链路与位于计算基础结构312外部的一个或多个其他计算装置通信。通信链 路可以包括有线和/或无线链路的任意组合;一种或多种类型网络的任意组合(例如互联 网、广域网、局域网、虚拟专用网络等等);和/或利用传输技术和协议的任意组合。
[0047] 图4和图5示出了用于执行本发明的一些方面的示例性流程。可以执行图4和图 5的步骤以设计和/或测试使用了图3的计算装置314的图1和图2的集成电路芯片100。
[0048] 图4和图5中的流程图示出了根据本发明各个实施例的系统、装置、方法和计算机 程序产品的可能实施方式的体系架构、功能和操作。就此而言,流程图或框图中每个方块可 以代表模块、区段或一部分代码,其包括用于实现规定的逻辑功能的一个或多个可执行指 令。也应该注意,在一些备选实施方式中,可以以与附图中标注的不同顺序而执行在方块中 标注的功能。例如,示出为连续的两个方块实际上可以基本上同时执行,或者有时可以以相 反顺序执行方块,取决于所涉及的功能。也应该注意,框图和/或流程图的每个方块、以及 框图和/或流程图中方块的组合可以由执行了所规定功能或动作的专用基于硬件的系统、 或者专用硬件和计算机指令的组合来实现。
[0049] 图4示出了根据本发明一些方面的用于设计和验证集成电路芯片的示例性过程 流程400。如以下方法中所述细节,通过在可以由预设计和预验证的选择逻辑(例如配置存 储240和解码器逻辑250)所控制的接口逻辑块(例如接口逻辑块220)中包覆每个冗余逻 辑块而简化了对包括冗余逻辑块(例如冗余逻辑块210)的集成电路芯片(例如集成电路 芯片100)的设计和验证。
[0050] 在步骤405处,获得了对于包括冗余逻辑块的集成电路芯片的设计。在一些实施 例中,自动化设计应用(例如设计和验证应用350)可以将用于集成电路芯片100的设计 (例如集成电路设计360)存储在存储系统(例如存储系统322B)中。例如,设计者可以提 供针对包括部分良好的电压岛块的集成电路的设计。设计者可以是芯片制造商的客户,提 供了用于制造的设计。
[0051] 在步骤410处,设计者和/或自动化设计应用基于冗余逻辑块确定接口逻辑块 (例如接口逻辑块220)的设计。在一些实施例中,接口逻辑块可以是存储在库(例如集成 电路库365)中的预定元件。设计者和/或自动化设计应用可以基于冗余逻辑块从库中检 索接口逻辑块并且对其修改。例如,设计者和/或自动化设计应用可以修改接口逻辑块的 电源连接(例如电源启用逻辑225)和输入/输出连接(例如数据启用逻辑230的门和/ 或多路复用器)以与冗余逻辑块的电源和输入/输出连接相对应。这些修改取决于特定冗 余逻辑块,并且在本领域技术人员的能力范围内,使得无需进一步解释说明。
[0052] 在步骤415处,设计者和/或自动化设计应用将步骤410处已确定的已修改接口 逻辑块与冗余逻辑块组合为可选的逻辑块(例如可选的逻辑块IlOA…110D)。在步骤420 处,设计者和/或自动化设计应用将用于后续的验证和实例化的可选的逻辑块(例如在集 成电路设计360和/或集成电路库365中)存储在集成电路芯片的设计中。
[0053] 在步骤425处,设计者和/或自动化设计应用对在步骤420处确定的可选的逻辑 块执行验证测试。验证测试可以包括结构和功能测试,以确保在已组合的接口逻辑块和冗 余逻辑块之间的连接是正确的并且可选的逻辑块根据设计运行。验证测试可以包括结构测 试,其确定在已组合接口逻辑块和冗余逻辑块的元件之间的尺寸、间距和连接是否正确和/ 或在设计规则之内。验证测试也可以包括功能测试,其确定已组合接口逻辑块和冗余逻辑 块的功能(例如输入、输出、时序、功耗等等)是否满足冗余逻辑块的功能和接口设计需求。 例如,功能测试可以包括对可选的逻辑块的操作进行仿真。显著地,根据本发明的一些方 面,因为在集成电路设计中所有可选的逻辑块是等同的,所以仅需要对可选的逻辑块的单 个实例执行验证测试。
[0054] 在步骤430处,如果验证步骤425在可选的逻辑块中标识任何错误,则设计者和/ 或自动化设计应用在步骤435纠正错误,并且过程返回至步骤425。如果在步骤425处在可 选的逻辑块中确定没有错误,则过程前进至步骤440。在步骤440处,设计者和/或自动化 设计应用修改集成电路芯片的设计以包括选择逻辑(例如选择逻辑120)和在步骤425处 验证的可选的逻辑块的多个实例。选择逻辑可以包括非易失性数据存储装置(例如配置存 储240)和解码器装置(例如解码器逻辑250)。可选的逻辑块的多个实例可以在步骤405 处获得的集成电路芯片设计中代替原始包括在设计中的冗余逻辑块。
[0055] 在步骤445处,设计者和/或自动化设计应用修改了在步骤440处在集成电路设 计中包括的可选的逻辑块的实例,使得唯一地标识它们相应输入(例如输入257A(I a)和 257B(Ib))。在一些实施例中,唯一的标识符可以是基于相应位置、地址和/或分配至可选 的逻辑块的标识符。例如,使用唯一的标识符,去往接口逻辑块实例(例如接口逻辑块220 的输入Ia和Ib)的输入的管脚类型可以被修改为具有唯一类型标识符。
[0056] 在步骤447处,设计者和/或自动化设计应用确定连接选择逻辑和可选的块的信 号线(例如信号线150A…150D)。根据本发明的一些方面,配置存储、解码器、和/或接口 逻辑块的元件定义限定了这些元件的输入和/或输出,使得在这些元件之间需要有效信号 线以形成特定连接。如上所述,在本发明的一些实施例中,元件定义包括限制了哪个其他管 脚可以连接的管脚的具体类型。例如,可以限定(例如在VHDL中)配置存储的预定输出管 脚(例如输出251),使得如果与解码器的预定输入管脚(例如输入253)连接,则仅将其与 解码器连接的信号线是有效的。类似地,可以限定解码器的输出管脚(例如输出255A(O a)、 255B (Ob)),使得如果与在步骤445中修改为独特可标识的接口逻辑块实例的特定输入管脚 (例如输入257A (Ia)、257B (Ib))相连接,则仅与接口逻辑块连接的信号线是有效的。因此, 结构验证(例如电气规则检查)将标识块之间任何有效连接。
[0057] 在步骤450处,设计者和/或自动化设计应用对来自步骤445的一个排列集成电 路芯片设计执行功能验证。根据集成电路的局部良好设计,验证在步骤450处验证了集成 电路设计配置具有可选的逻辑块的一个或多个实例为禁用,例如,其中可选的逻辑块包括 冗余处理器核心并且将IC设计为使用两个过剩或有缺陷处理器核心运行,验证步骤450可 以采用将任何两个可选的逻辑块规定为禁用的配置信息(例如配置信息245)来仿真集成 电路芯片的操作。如果在步骤455处任何错误标识为步骤450处验证的结果,则设计者和 /或自动化设计应用在步骤460处纠正错误,并且该过程返回至步骤450。如果在步骤455 处在集成电路中确定没有错误,则相对于选择逻辑完成了芯片层级验证并且该过程继续至 步骤465。
[0058] 在步骤465处,设计者和/或自动化设计应用对选择逻辑和可选的逻辑块的连接 执行结构验证。例如,可以执行电气规则检查以验证配置存储、解码器装置和可选的逻辑块 的输入和输出以相应元件定义中规定的有效方式而连接。如果在步骤470处标识任何禁用 连接作为在步骤465处验证的结果,则设计者和/或自动化设计应用在步骤475处纠正错 误,并且该过程返回至步骤465。如果在步骤470处没有标识错误,则方法结束。
[0059] 图5示出了根据本发明一些方面的用于配置示例性集成电路的示例性过程流程 500。在基于图4中确定的集成电路芯片(例如集成电路芯片100)的设计而制造了特定集 成电路芯片之后,可以测试集成电路芯片,并且可以由选择逻辑配置可选的逻辑块。例如, 对集成电路芯片的测试可以确定所制造的集成电路芯片是否包括任何有缺陷冗余逻辑块 或任何过剩冗余逻辑块。基于测试的结果,可以通过如图4所示过程由在集成电路芯片的 设计中包括的选择逻辑来禁用有缺陷或者过剩的冗余逻辑块。
[0060] 在步骤505处,制造商使用例如由图4所示方法所确定的设计(例如集成电路设 计360)来制造包括冗余逻辑块的集成电路芯片(例如集成电路芯片100)。因此,根据本发 明的一些方面,集成电路芯片包括选择逻辑(例如选择逻辑120)和可选的逻辑块(例如可 选的逻辑块110A··· 110D),包括冗余逻辑块(例如冗余逻辑块210)。
[0061] 在步骤510处,制造商和/或测试和配置过程(例如测试和配置应用355)确定在 步骤505处制造的集成电路芯片中有缺陷和/或无缺陷的冗余逻辑块(例如冗余逻辑块 210)。例如,集成电路可以放置在链接至被配置用于在各种工作和环境条件下执行测试工 序的计算系统(例如经由I/O装置328链接至计算装置314)的测试台中。
[0062] 在步骤515处,制造商和/或测试和配置过程确定在步骤510处所确定的无缺陷 冗余逻辑块的数量是否小于集成电路芯片设计所需要的数量。例如,集成电路设计可以包 括十个冗余逻辑块并且规定集成电路芯片需要八个冗余逻辑块运行。因此,如果测试和配 置过程确定了在步骤515处十个冗余逻辑块中的三个是有缺陷的,则整个集成电路芯片可 以视作是有缺陷的,并且过程结束。如果在步骤515处,制造商和/或测试和配置方法确 定了无缺陷冗余逻辑块的数量等于或大于集成电路芯片设计所需要的数量,则在步骤520 处,测试和配置过程标识在步骤510处确定的有缺陷冗余逻辑块用于禁用。
[0063] 在步骤525处,制造商和/或测试和配置方法确定了在步骤510处所确定的无缺 陷冗余块的数目是否大于集成电路设计所需要的数量。例如,如果集成电路设计(例如集 成电路设计360)包括十个冗余逻辑块,并且规定集成电路芯片需要八个冗余逻辑块运行, 并且如果仅一个冗余逻辑块是有缺陷的,则一个冗余块是过剩的。
[0064] 如果在步骤525处,确定了在步骤510处所确定的无缺陷冗余块的数目不大于所 需的数量,则测试和配置过程前进至步骤535。另一方面,如果在步骤525处,确定了无缺陷 冗余块的数目大于所需的数量,则集成电路包括至少一个过剩的冗余块。在该情形下,在步 骤530处,制造商和/或测试和配置过程标识了一个或多个过剩的冗余逻辑块以用于禁用。 因为冗余逻辑块的每个实例功能相同,所以测试和配置过程可以选择任何无缺陷块。
[0065] 在步骤535处,制造商和/或测试和配置过程将在步骤520和步骤530处标识用 于禁用的冗余逻辑块记录在配置存储中(例如作为配置存储240中的配置信息245)。例如 可以通过将标识了将要禁用的过剩或有缺陷冗余逻辑块的信息存储在配置存储的存储器 中而记录了信息。备选地,配置存储装置可以包括许多熔丝,并且测试和配置过程可以熔断 选择的熔丝以对标识了将要禁用的冗余逻辑块的信息进行编码。
[0066] 在步骤540处,制造商和/或测试和配置过程控制了可选的逻辑块以使得在步骤 535处记录在配置存储装置中的冗余逻辑块为禁用。例如,制造商和/或测试和配置方法可 以使得可选的逻辑块的接口逻辑经由电源启用电路(例如电源启用逻辑225)而从它们相 应电源断开已标识的冗余逻辑块,并且经由数据启用电路(例如数据启用陆基230)从集成 电路芯片(例如逻辑块130)的其他逻辑块断开已标识冗余逻辑块。
[0067] 图6是在半导体设计、制造和/或测试中使用的设计过程的流程图。图6示出了例 如在半导体IC逻辑设计、仿真、测试、布图和制造中使用的示例性设计流程600的方块图。 设计流程600包括用于处理设计结构或器件以产生上述以及图1和图2中示出的设计结构 和/或器件的逻辑上或其他功能上等效表示的过程、机器和/或机制。由设计流程600处理 和/或产生的设计结构可以在机器可读传输或存储介质上被编码以包括数据和/或指令, 所述数据和/或指令在数据处理系统上执行或以其他方式处理时,产生硬件组件、电路、器 件或系统的逻辑上、结构上、机械上或其他功能上的等效表示。机器包括但不限于用于IC 设计过程(例如设计、制造或仿真电路、组件、器件或系统)的任何机器。例如,机器可以包 括:用于产生掩模的光刻机、机器和/或设备(例如电子束直写仪)、用于仿真设计结构的 计算机或设备、用于制造或测试过程的任何装置,或用于将所述设计结构的功能上的等效 表示编程到任何介质中的任何机器(例如,用于对可编程门阵列进行编程的机器)。
[0068] 设计流程600可随被设计的表示类型而不同。例如,用于构建专用IC(ASIC)的设 计流程600可能不同于用于设计标准组件的设计流程600,或不同于用于将设计实例化到 可编程阵列(例如,由Altera⑧Inc.或Xilinx? Inc.提供的可编程门阵列(PGA)或现 场可编程门阵列(FPGA))中的设计流程600。
[0069] 图6示出了多个此类设计结构,其中包括优选地由设计过程610处理的输入设计 结构620。设计结构620可以是由设计过程610生成和处理以产生硬件器件的逻辑上等效 的功能表示的逻辑仿真设计结构。设计结构620还可以或备选地包括数据和/或程序指令, 所述数据和/或程序指令由设计过程610处理时,生成硬件器件的物理结构的功能表示。无 论表示功能和/或结构设计特性,均可以使用例如由核心开发人员/设计人员实施的电子 计算机辅助设计(ECAD)生成设计结构620。当编码在机器可读数据传输、门阵列或存储介 质上时,设计结构620可以由设计过程610内的一个或多个硬件和/或软件模块访问和处 理以仿真或以其他方式在功能上表示例如图1和图2中示出的那些电子组件、电路、电子或 逻辑模块、装置、器件或系统。因此,设计结构620可以包括文件或其他数据结构,其中包括 人类和/或机器可读源代码、编译结构和计算机可执行代码结构,当所述文件或其他数据 结构由设计或仿真数据处理系统处理时,在功能上仿真或以其他方式表示电路或其他级别 的硬件逻辑设计。此类数据结构可以包括硬件描述语言(HDL)设计实体或遵循和/或兼容 低级HDL设计语言(例如Verilog和VHDL)和/或高级设计语言(例如C或C++)的其他 数据结构。
[0070] 设计过程610优选地采用和结合硬件和/或软件模块,所述模块用于合成、转换或 以其他方式处理图1和图2中示出的组件、电路、器件或逻辑结构的设计/仿真功能等价物 以生成可以包含设计结构(例如设计结构620)的网表680。网表680例如可以包括编译或 以其他方式处理的数据结构,所述数据结构表示描述与集成电路设计中的其他元件和电路 的连接的线缆、分离组件、逻辑门、控制电路、I/O设备、模型等的列表。网表680可以使用 迭代过程合成,其中网表680被重新合成一次或多次,具体取决于器件的设计规范和参数。 对于在此所述的其他设计结构类型,网表680可以记录在机器可读数据存储介质上或编程 到可编程门阵列中。所述介质可以是非易失性存储介质,例如磁或光盘驱动器、可编程门阵 列、压缩闪存或其他闪存。此外或备选地,所述介质可以是可在其上经由因特网或其他适合 联网手段传输和中间存储数据分组的系统或高速缓冲存储器、缓冲器空间或导电或光导器 件和材料。
[0071] 设计过程610可以包括用于处理包括网表680在内的各种输入数据结构类型的硬 件和软件模块。此类数据结构类型例如可以驻留在库元件630内并包括一组常用元件、电 路和器件,其中包括给定制造技术(例如,不同的技术节点,32纳米、45纳米、90纳米等)的 模型、布图和符号表示。所述数据结构类型还可包括设计规范640、特征数据650、检验数据 660、设计规则670和测试数据文件685,它们可以包括输入测试模式、输出测试结果和其他 测试信息。设计过程610还可例如包括标准机械设计过程,例如用于诸如铸造、成型和模压 成形等操作的应力分析、热分析、机械事件仿真、过程仿真。机械设计领域的技术人员可以 在不偏离本发明的范围和精神的情况下理解在设计过程610中使用的可能机械设计工具 和应用的范围。设计过程610还可包括用于执行诸如定时分析、检验、设计规则检查、放置 和路由操作之类的标准电路设计过程的模块。
[0072] 设计过程610采用和结合逻辑和物理设计工具(例如HDL编译器)以及仿真建模 工具以便与任何其他机械设计或数据(如果适用)一起处理设计结构620连同示出的部分 或全部支持数据结构,从而生成第二设计结构690。
[0073] 设计结构690以用于机械设备和结构的数据交换的数据格式(例如以IGES、DXF、 Parasolid XT、JT、DRC或任何其他用于存储或呈现此类机械设计结构的适合格式)驻留在 存储介质或可编程门阵列上。类似于设计结构620,设计结构690优选地包括一个或多个文 件、数据结构或其他计算机编码的数据或指令,它们驻留在传输或数据存储介质上,并且由 ECAD系统处理时生成图1和图2中示出的本发明的一个或多个实施例的逻辑上或以其他方 式在功能上等效的形式。在一个实施例中,设计结构690可以包括在功能上仿真图1和图 2中示出的器件的编译后的可执行HDL仿真模型。
[0074] 设计结构690还可以采用用于集成电路的布图数据交换的数据格式和/或符号 数据格式(例如以GDSII (GDS2)、GLl、OASIS、图文件或任何其他用于存储此类设计数据结 构的适合格式存储的信息)。设计结构690可以包括信息,例如符号数据、图文件、测试数 据文件、设计内容文件、制造数据、布图参数、线缆、金属级别、通孔、形状、用于在整个生产 线中路由的数据,以及制造商或其他设计人员/开发人员制造上述以及图1和图2中示出 的器件或结构所需的任何其他数据。设计结构690然后可以继续到阶段695,例如,在阶 段695,设计结构690 :继续到流片(tape-out),被发布到制造公司、被发布到掩模室(mask house)、被发送到其他设计室,被发回给客户等。
[0075] 上述方法用于集成电路芯片制造。制造者可以以原始晶片形式(即,作为具有多 个未封装芯片的单晶片)、作为裸小片或以封装的形式分发所得到的集成电路芯片。在后者 的情况中,以单芯片封装(例如,引线固定到母板的塑料载体或其他更高级别的载体)或多 芯片封装(例如,具有一个或两个表面互连或掩埋互连的陶瓷载体)来安装芯片。在任何 情况下,所述芯片然后都作为(a)中间产品(如母板)或(b)最终产品的一部分与其他芯 片、分离电路元件和/或其他信号处理装置集成。最终产品可以是任何包括集成电路芯片 的产品,范围从玩具和其他低端应用到具有显示器、键盘或其他输入设备及中央处理器的 高级计算机产品。
[0076] 出于示例目的给出了对本发明的各种实施例的描述,但所述描述并非旨在是穷举 的或限于所公开的各实施例。在不偏离所描述的实施例的范围和精神的情况下,对于本领 域的技术人员而言,许多修改和变化都将是显而易见的。在此使用的术语的选择是为了最 佳地解释各实施例的原理、实际应用或对市场中存在的技术的技术改进,或者使本领域的 其他技术人员能够理解在此公开的各实施例。
【权利要求】
1. 一种集成电路,包括: 选择逻辑;以及 多个可选的逻辑块,由所述选择逻辑单独地可控制, 其中,所述多个可选的逻辑块包括: 冗余逻辑块的相应实例,以及 接口逻辑块的相应实例,选择性禁用在所述集成电路中的所述冗余逻辑块。
2. 根据权利要求1所述的集成电路,其中,所述接口逻辑块的相应实例包括: 可切换电源连接,在所述冗余逻辑块的相应实例与电源之间;以及 可切换数据连接,在所述冗余逻辑块的相应实例与所述集成电路的功能逻辑块之间。
3. 根据权利要求1所述的集成电路,其中,所述选择逻辑包括: 非易失性存储装置,存储标识所述冗余逻辑块的实例的一个或多个以用于禁用的信 息;以及 解码器装置,将所存储的信息映射至所述接口逻辑块的一个或多个实例的特定输入连 接。
4. 根据权利要求3所述的集成电路,其中: 所述非易失性存储装置的输出具有去往所述解码器装置的输入的预定连接;以及 所述解码器装置的输出具有去往所述接口逻辑块的实例的相应输入的预定连接。
5. 根据权利要求3所述的集成电路,其中,所述接口逻辑块的实例具有对于所述接口 逻辑块的每个实例是唯一的相应输入连接,并且所述接口逻辑块的实例具有去往所述解码 器装置的相应输出的预定连接。
6. 根据权利要求1所述的集成电路,其中,所述多个可选的逻辑块包括由所述选择逻 辑激活的数据启用逻辑。
7. 根据权利要求1所述的集成电路,其中,所述冗余逻辑块是部分良好的电压岛逻辑 块。
8. 根据权利要求1所述的集成电路,其中,所述集成电路包括多核处理器,并且所述冗 余逻辑块的实例是所述多核处理器的处理器核心。
9. 根据权利要求1所述的集成电路,其中,所述冗余逻辑块的实例是存储器逻辑的块。
10. -种用于提供集成电路的方法,包括: 基于在所述集成电路中包括的冗余逻辑块来确定接口逻辑块; 将所述冗余逻辑块与所确定的接口逻辑块组合为可选的逻辑块;以及 确定在选择逻辑与所述可选的逻辑块的多个实例之间的连接。
11. 根据权利要求10所述的方法,进一步包括验证所述可选的逻辑块满足所述冗余逻 辑块的设计需求。
12. 根据权利要求10所述的方法,其中,确定所述接口逻辑块包括确定在所述接口逻 辑块与所述冗余逻辑块的数据连接之间的可切换连接。
13. 根据权利要求10所述的方法,进一步包括修改所述可选的逻辑块的多个实例的输 入以具有与所述选择逻辑的相应输出相关联的唯一的标识。
14. 根据权利要求13所述的方法,其中,所述唯一的标识是管脚类型。
15. 根据权利要求13所述的方法,其中,确定所述连接包括基于所述唯一的标识来确 定在所述选择逻辑的输出与所述可选的逻辑块的多个实例的输入之间的允许的连接。
16. 根据权利要求13所述的方法,进一步包括基于所述唯一的标识来验证在所述选择 逻辑与所述可选的逻辑块的多个实例的输入之间的连接。
17. -种方法,包括: 在集成电路中标识多个冗余逻辑块中的第一冗余逻辑块以用于禁用,其中: 所述多个冗余逻辑块被包括在相应可选的逻辑块中;以及 所述可选的逻辑块包括将相应的多个所述冗余逻辑块与所述集成电路的功能逻辑分 隔开的接口逻辑块; 在所述集成电路的选择逻辑中记录标识所述第一冗余逻辑块的信息;以及 基于在所述选择逻辑中记录的所述信息,经由相应可选的逻辑块的接口逻辑块来禁用 所述第一冗余逻辑块。
18. 根据权利要求17所述的方法,其中,所述标识包括确定所述第一冗余逻辑块是所 述多个冗余逻辑块中的有缺陷的或者过剩的冗余逻辑块。
19. 根据权利要求17所述的方法,其中所述禁用包括: 对在所述选择逻辑中记录的所述信息进行解码;以及 将已解码的信息映射至所述第一冗余逻辑块的相应可选的逻辑块。
20. 根据权利要求17所述的方法,其中所述禁用包括使用在所述第一冗余逻辑块的相 应可选的逻辑块中包括的切换逻辑来断开电源和数据连接。
【文档编号】G06F17/50GK104424379SQ201410452348
【公开日】2015年3月18日 申请日期:2014年9月5日 优先权日:2013年9月6日
【发明者】K·W·戈满, S·F·奥克兰德, M·R·奥埃莱特, S·J·尤里施 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1