掌桥专利:专业的专利平台
掌桥专利
首页

来自通用设计的完整裸片流片和部分裸片流片

文献发布时间:2023-06-19 18:35:48


来自通用设计的完整裸片流片和部分裸片流片

技术领域

本文描述的实施方案涉及集成电路,并且更具体地,涉及一种设计用于完整流片和部分流片的集成电路。

背景技术

集成电路包括集成到单个半导体基板或“芯片”上的各种数字逻辑电路和/或模拟电路。存在多种集成电路,从固定功能硬件到微处理器到包括处理器、集成存储器控制器和形成可以是系统中心的高度集成芯片的各种其他部件的片上系统(SOC)。

给定集成电路可以设计用于各种系统(例如,“现成”部件)中。给定集成电路可以包括允许其在各种系统中使用的一组部件,但是特定系统可能不需要所有部件或所有部件的完整功能和/或性能。额外的部件/功能实际上被浪费,导致沉没成本和系统中的功率(至少,泄漏功率)消耗。对于至少有时在有限电源(例如,电池)而不是壁式插座的基本上无限的电源上操作的便携式系统,电源的低效使用导致有限电源的低效使用,并且甚至导致针对有限电源的充电需求之间的不可接受的短时间。

因此,将集成电路功能与给定系统的需求匹配对于生产高质量产品是重要的。然而,用于许多不同系统的定制集成电路设计也表示在针对每个集成电路的设计和验证工作方面的成本。

附图说明

以下详细描述参考附图,现在对这些附图进行简要描述。

图1是支持完整实例和部分实例的集成电路设计的一个实施方案的框图。

图2至图4是图1中所示的集成电路的完整实例和部分实例的各种实施方案。

图5是图1中所示的集成电路的一个实施方案的框图,该集成电路具有在其每个子区域中的本地时钟源。

图6是图1中所示的集成电路的一个实施方案的框图,该集成电路具有在其每个子区域中的本地模拟焊盘。

图7是图1中所示的集成电路的一个实施方案的框图,该集成电路具有在每个子区域的拐角处的禁止区域和用于排除靠近每个子区域的边缘的区域的互连“凸块”的区域。

图8是示出短线和对应电路部件的一个实施方案的框图。

图9是示出一对集成电路和该一对集成电路的某些附加细节的一个实施方案的框图。

图10是示出集成电路设计方法的一个实施方案的流程图。

图11是示出用于测试完整实例和部分实例的测试台布置的框图。

图12是示出用于部件级测试的测试台布置的框图。

图13是示出用于集成电路的设计和制造方法的一个实施方案的流程图。

图14是示出用于制造集成电路的方法的一个实施方案的流程图。

图15是对计算机可访问存储介质的一个实施方案的框图。

图16是可以采用集成电路的各种系统的框图。

尽管本公开中所述的实施方案可受各种修改形式和另选形式的影响,但其具体实施方案在附图中以举例的方式示出并将在本文中详细描述。然而,应当理解,附图和对其的具体实施方式不旨在将实施方案限制为所公开的特定形式,而相反,本发明旨在涵盖落入所附权利要求书的实质和范围内的所有修改、等同物和另选方案。本文所使用的标题仅用于组织目的,并不旨在用于限制说明书的范围。

具体实施方式

在实施方案中,集成电路的方法和设计支持基于通用设计数据库的集成电路的不同具体实施的多于一个流片,以及最终制造。设计可以支持完整实例,其中在设计中包括的所有电路部件包括在所制造的芯片中,以及包括所制造的芯片中的电路部件的子集的一个或多个部分实例。部分实例可以在较小的裸片上制造,但是部分实例的电路部件及其物理布置和布线可以与完整实例内的对应区域相同。也就是说,可以通过从设计数据库中去除完整实例的区域的一部分和其上的部件来创建部分实例以生产该部分实例。设计、验证、合成、执行定时分析、执行设计规则检查、执行电分析等的工作可以跨完整实例和部分实例进行共享。另外,在实施方案中,适用于具有不同计算要求、形状因数、成本结构、电源限制等的各种产品的集成电路芯片可以由相同的设计过程支持。在实施方案中,SOC的完整实例可以与其他完整实例或甚至不同SOC耦接以建立更大的系统。在实施方案中,部分实例也可以类似地与完整实例、其他部分实例和/或其他SOC耦接以建立更大的系统。在实施方案中,给定SOC的部分实例可以包括给定电路部件的部分实例。

例如,完整实例可以包括一定数量的计算单元(例如,中央处理单元(CPU)处理器、图形处理单元(GPU)、附接到CPU处理器的协处理器、其他特殊处理器,诸如数字信号处理器、图像信号处理器等)。部分实例可以包括更少的计算单元。完整实例可以经由多个存储器控制器包括一定量的存储器容量,并且部分实例可以包括支持较低存储器容量的更少的存储器控制器。在实施方案中,可以减少存储器通道的数量,这可以减少带宽。也就是说,存储器控制器/存储器通道的减少可以支持较小的存储器和/或较低的存储器带宽。完整实例可以包括一定数量的输入输出(I/O)设备和/或接口(也称为外围设备/接口或简称为外围设备)。部分实例可以具有更少的I/O设备/接口。

在实施方案中,部分实例还可以包括短线区域。短线区域可以向包括在部分实例中的电路部件提供针对输入信号的终端,其中完整实例中的针对那些输入信号的源极是去除的区域中的电路部件,并且因此在不存在短线的情况下不连接该输入信号。从电路部件到去除的区域中的电路部件的输出信号可以至少到达短线的边缘并且可以不连接。在实施方案中,短线区域可以包括金属化以根据需要将输入信号连接到电源(数字一)或地线(数字零)线(例如,电力网和接地网),以在部分实例中提供电路部件的适当功能。例如,部分实例中的电源管理器块可以从去除的电路部件接收输入,并且输入可以电源或地连接,以指示去除的电路部件被断电、空闲等,使得电源管理器块在改变电源状态时不等待去除的电路部件的响应。在实施方案中,短线区域可以仅包括金属化(布线)。也就是说,短线区域可以不包括有源电路(例如,形成在半导体基板中的晶体管)。金属化层(或金属层)形成在半导体基板的表面区域上方,以在有源电路元件之间提供导线互连(或在短线区域中提供数字一/零值)。以这种方式管理部分实例设计可以使部分实例的验证量相对于完整实例中的工作量最小化。例如,可能不需要额外的定时验证,其他物理设计验证可能是最小的等。

图1是示出集成电路的完整实例和若干部分实例的一个实施方案的框图。集成电路的完整实例由花括号12(“芯片1”)指示,并且集成电路的部分实例由花括号14和16(“芯片2”和“芯片3”)指示。该完整实例,芯片1,包括多个电路部件10A-10D。用于完整实例的半导体基板芯片或裸片的表面上的电路部件10A-10D的物理位置(附图标号18)由电路部件10A-10D的放置指示。图1是简化的表示,并且可以存在更多的电路部件且物理布置可能比图1中所示的更多样化。电路部件10A-10D之间的各种互连用于图1中未示出的部件间通信。可以在半导体基板表面上方的金属化层中实现互连以及电路部件10A-10D本身内的互连。

每个部分实例对应于图1中的“分割线”20A-20B。该分割线从包括在各部分实例中的电路部件10A-10D中划分包括在完整实例中的那些电路部件10A-10D。因此,例如,芯片2由分割线20A定义,并且包括电路部件10A-10C但不包括电路部件10D。类似地,芯片3由分割线20B定义,并且包括电路部件10A-10B但不包括电路部件10C-10D。分割线可以在设计数据库中定义,或者可以是设计过程的一部分,但是可能不在设计数据库中明确地表示。

通常,设计数据库可以包括存储电路部件10A-10D及其互连件的描述的多个计算机文件。设计数据库可以包括例如以硬件描述语言(HDL)诸如Verilog、VHDL等表示的电路的寄存器传输级(RTL)描述。设计数据库可以包括来自电路编辑器工具的电路描述,用于直接实现而不是使用标准单元的库从RTL描述合成的电路。设计数据库可以包括由合成产生的网格列表,描述标准单元实例及其互连。设计数据库可以包括电路部件及其互连的物理布局描述,并且可以包括流片描述文件,其中根据可以用于创建针对集成电路制造工艺的掩膜的几何形状和层来描述该集成电路。流片描述文件可以用图形设计系统(GDSII)格式、开放艺术品系统交换标准(OASIS)格式等表示。上述任何组合可以包括在设计数据库中。

分割线20A-20B将芯片18区域划分为子区域,电路部件10A-10D的子集在这些子区域内被实例化。例如,分割线20B将芯片18区域划分为第一子区域(在如图1中定向的线20B上方)和第二子区域(在线20B下方)。分割线20A进一步将第二子区域划分为第三子区域和第四子区域,其中第三子区域与第一子区域相邻或邻接第一子区域。第一子区域和第二子区域的组合表示完整实例。单独的第一子区域(以及短线区域)表示最小部分实例(芯片3)。在该示例中,第一子区域和第三子区域表示其他部分实例(芯片2)。

电路部件在给定子区域内的的物理位置以及在电路部件内和电路部件之间的互连,可能不会在完整实例和部分实例之间改变。因此,当完整实例内的电路部件满足针对完整实例的成功制造和使用的定时要求、物理设计要求和电气要求时,则针对最大部分的部分实例也应满足相同的要求。可能需要验证短线区域内的物理设计要求和电气要求,并且可以将某些物理设计要求应用于如下文所讨论的子区域,诸如拐角排除区、受控塌缩芯片连接(C4)凸块排除区等。然而,在实施方案中,一旦完整实例被验证并准备好流片,部分实例的流片可以以最小的工作继续进行。

图2至图4示出了图1中所示的针对实施方案的部分实例和完整实例。图4是完整实例,并且因此包括电路部件10A-10D。图2和图3分别对应于芯片3和芯片2。因此,图2中的部分实例包括来自第一子区域的电路部件10A-10B以及短线区域22(短线1)。图3中的部分实例包括来自第一子区域的电路部件10A-10B、来自第二子区域的电路部件10C以及短线区域24(短线2)。在另一个实施方案中,可以通过去除分割线20A-20B之间的部分(例如,部件电路10C)和连接剩余子区域(例如,部件电路10A-10B和部件电路10D)来形成部分实例。如果定义了多于两条分割线,则可以通过去除相应的分割线之间的一个或多个子区域来支持更多的变化。这样的实施方案可以通过在分割线之间实现短线区域(其可以小于去除的子区域)或通过当去除子区域并且将剩余子区域移动到一起时确保在去除的子区域的任一侧上的导线匹配且正确地连接来实现。在另一个实施方案中,在使用多条分割线的情况下,一条或多条分割线可以与其他分割线正交,从而允许在多于一个方向上去除子区域。在各种实施方案中,可以实施正交分割线和中间部分去除/连接的任何组合。

电路部件可以是被布置成实现IC的特定部件的任何一组电路(例如,处理器,诸如CPU或GPU、处理器或GPU的集群、存储器控制器、通信结构或其部分、外围设备或外围接口电路等)。给定电路部件可以具有层级结构。例如,处理器集群电路部件可以具有处理器的多个实例,该多个实例可以是放置在该集群所占据的区域内的相同处理器设计的复制品。

根据该描述,一种方法可以包括在对应于集成电路设计的设计数据库中定义在半导体基板上制造时集成电路设计要占据的区域。例如,该区域可以是如图1和图4中所示的完整实例的区域。该方法还可以包括定义分割线(其可以是多条分割线中的一条分割线)。分割线可以将区域划分为第一子区域和第二子区域,其中该第一子区域和该第二子区域的组合表示完整实例。第一子区域和短线区域表示集成电路的部分实例,该部分实例包括比完整实例更少的电路部件。在设计数据库中,在第一子区域中定义包括在集成电路的完整实例和部分实例两者中的多个电路部件的物理位置。该多个电路部件在第一子区域内的相对位置和该多个电路部件在第一子区域内的互连在完整实例和部分实例中可以保持不变。在第二子区域中定义包括在完整实例但从部分实例中排除的另一多个电路部件的物理位置。在设计数据库中还定义了短线区域。短线区域可以包括针对原本横穿第一子区域与第二子区域之间的分割线的导线的终端。短线区域可以确保在部分实例中不存在第二子区域的情况下第一子区域中的多个电路部件的正确操作。可以使用第一子区域和第二子区域产生针对完整实例的第一数据集,该第一数据集定义用于制造完整实例的完整实例。还可以使用第一子区域和短线区域来产生针对部分实例的第二数据集。第二数据集定义用于制造部分实例的部分实例。在实施方案中,该方法还可以包括在第二子区域中定义第二分割线,将该第二子区域划分为第三子区域和第四子区域。第三子区域可以与第一子区域相邻,并且第三子区域和第一子区域可以表示集成电路的第二部分实例。该方法还可以包括使用第一子区域、第三子区域和第二短线区域来产生针对第二部分实例的第三数据集。第三数据集定义用于制造第二部分实例的第二部分实例。

如上所述,短线区域可以不包括电路。例如,短线区域可以不包括有源电路,诸如形成在半导体基板中的晶体管或其他电路。短线区域也可以不包括可以形成在金属化层中的电路(例如,显式电阻器、电感器或电容器)。虽然金属化层具有寄生性质(例如,电阻、电感和电容),但是可能不允许明确定义的电路。短线区域可以仅包括在半导体基板的表面区域上方的一个或多个金属化层中的布线。

另一种方法可以包括例如在半导体制造设施或“铸造厂”处接收第一数据集和第二数据集。该方法还可以包括基于第一数据集制造集成电路的第一多个完整实例,以及基于第二数据集制造集成电路的第二多个部分实例。

根据本公开实现部分实例的集成电路可以包括物理地布置在形成该集成电路的半导体基板的表面上的多个电路部件;以及沿着该表面的单个边缘(例如,短线区域)的多个导线终端。该多个导线终端可以电连接到集成电路的多根供电线,以在作为到多个电路部件中的一个或多个电路部件的输入的导线上提供固定数字逻辑电平。电源线可以是集成电路的金属化层中的电源网(例如,电源和/或地线)的一部分。电源网和接地网也可以被称为电力网和地网。通过导线终端终止的输入线被定向成与单个边缘相交,并且缺乏被配置为驱动集成电路内的导线的电路(例如,在部分实例中不存在的第二子区域中的电路部件在完整实例中驱动导线)。沿着包括多个导线终端的单个边缘的区域也不包括有源电路元件。例如,沿着单个边缘的区域可以仅包括在半导体基板的表面区域上方的一个或多个金属化层中的布线。

本文描述的方法可以影响针对集成电路的总体设计过程的各种区域。例如,平面规划是设计过程的要素,其中各种电路部件被分配到半导体基板上的区域。在平面规划期间,可以考虑部分实例的存在和分割线的位置,从而确保包括在所有实例中的电路部件在第一子区域中并且其他电路部件包括在第二子区域(或第三和第四子区域等)中。另外,可以仔细设计子区域的形状以提供完整实例和部分实例两者中的区域的有效使用。可以在整个完整实例中提供电路部件之间的通信的主总线或其他互连可以被设计成正确地管理各种实例中的通信(例如,在部分实例中,可以在短线区域中终止总线或者可以在短线区域中不连接总线,并且因此不应在短线区域的方向上传输通信)。平面规划图也可以考虑对针对完整实例和部分实例两者的流片的要求(例如,如下文进一步详细讨论的各种排除区)。另外,平面规划图可以尝试使横穿分割线的导线数量最小化以简化对部分实例将正确操作的验证。

在实施方案中,在平面规划阶段的考虑因素可以包括对可能会受到对部分实例的分割的影响的某些关键连接件的定义。时钟互连和模拟互连可以是示例。时钟互连(或“时钟树”)通常被设计成使得从时钟发生器或时钟源到在电路部件中的各种状态元件处的时钟终端的距离和电气负载大致相同或“平衡”。状态元件可以包括例如触发器(“触发器”)、寄存器、锁存器、存储器阵列和其他计时存储设备。

为了保持集成电路设计的各种实例之间的平衡,可以在每个子区域中的本地时钟源和该子区域内的状态元件之间定义独立的时钟树。例如,图5是示出集成电路的完整实例(芯片18)和划分完整实例的子区域用于分割成部分实例的分割线20A-20B的实施方案的框图。示出了本地时钟源30A-30C,每个本地时钟源驱动由每个子区域内的线示出的独立的时钟树。时钟树可以不穿过分割线20A-20B。也就是说,给定子区域内的时钟树可以保持在该子区域内。

时钟源可以是被配置为向耦接到其时钟树的电路产生时钟信号的任何电路。例如,时钟源可以是锁相环(PLL)、延迟锁相环(DLL)、时钟分频器电路等。时钟源可以耦接到对在其上提供外部信号的集成电路的时钟输入,该时钟源可以在将相位或时钟脉冲边缘锁定到外部信号的同时在频率上倍增或进行分频。

因此,方法还可以包括在第一子区域中定义用于在第一子区域内分配时钟的一个或多个第一时钟树,并且在第二子区域中定义用于在第二子区域内分配时钟的一个或多个第二时钟树。该一个或多个第一时钟树可以在完整实例中与该一个或多个第二时钟树电隔离。时钟树可以是物理上独立的,如图5所示(例如,连接到不同的本地时钟源)。时钟树可能不会穿过分割线进入到另一子区域中。在制造方法中,第一数据集还可以包括用于在第一子区域内分配时钟的一个或多个第一时钟树和用于在第二子区域内分配时钟的一个或多个第二时钟树,并且其中该一个或多个第一时钟树可以在完整实例中与该一个或多个第二时钟树电隔离。

在实施方案中,集成电路可以包括用于在第一区域的第一子区域内分配时钟的一个或多个第一时钟树;以及用于在第二子区域内分配时钟的一个或多个第二时钟树。该一个或多个第一时钟树可以与该一个或多个第二时钟树电隔离。

图6是由分割线20A-20B划分的完整裸片18和在由分割线20A-20B定义的每个子区域内提供本地模拟焊盘32A-32C的一个实施方案的框图。模拟焊盘32A-32C可以向芯片提供针对模拟输入的连接点。模拟信号通常具有特殊要求,诸如屏蔽可能影响模拟信号的准确性和功能性的数字噪声,与仅在数字值处具有意义且不在其间转变的数字信号相比,该模拟信号是连续值信号。确保在每个子区域内满足模拟要求可总体上简化集成电路的设计。在实施方案中,如果在给定子区域内没有使用模拟信号,那么该子区域可以不包括模拟焊盘和信号路由。

因此,方法还可以包括在第一子区域中定义一个或多个第一模拟输入并在第二子区域中定义一个或多个第二模拟输入。该一个或多个第一模拟输入可以保持在第一子区域内,并且该一个或多个第二模拟输入可以保持在第二子区域内。也就是说,输入上的模拟信号或来源于输入的模拟信号可以在不穿过分割线20A-20B的导线上传送。在制造方法中,第一数据集还可以包括第一子区域中的一个或多个第一模拟输入,其中该一个或多个第一模拟输入保持在第一子区域内,并且其中该第一数据集还包括第二子区域中的一个或多个第二模拟输入,其中该一个或多个第二模拟输入保持在第二子区域内。

根据本公开,集成电路可以包括第一多个电路部件,该第一多个电路部件物理地布置在形成该集成电路的半导体基板的表面的第一区域内;以及第二多个电路部件,该第二多个电路部件物理地布置在形成该集成电路的半导体基板的表面的第二区域内。可以在第一区域内提供一个或多个第一模拟输入,其中该一个或多个第一模拟输入与第一多个电路部件隔离。在第二区域内的一个或多个第二模拟输入,其中该一个或多个第二模拟输入与第二多个电路部件隔离。

可以被考虑的集成电路的另一个特征是可测性设计(DFT)策略。DFT通常包括定义DFT接口的一个端口或多个端口,诸如与联合测试接入组(JTAG)规范兼容的接口。例如,DFT可以包括在设计中定义状态元件的扫描链,使得可以扫描输入状态和扫描输出状态,并且可以定义扫描链以保持在给定子区域内。可以在每个子区域内提供独立的DFT端口,以尽可能地使跨分割线通信最小化。如果需要跨分割线通信,则可以在短线区域中终止(子区域的输入)且不连接(子区域的输出)此类信号,类似于其他信号。在实施方案中,扫描网络和其他DFT网络可以被设计为层级环,使得去除的电路部件中的部分可以与DFT网络断开,而不会对剩余网络产生进一步影响。

在实施方案中,一些电路部件可以在完整实例内被多次实例化。实例中的一个或多个实例可以在不包括在部分实例中的一个或多个部分实例中的子区域中。这些电路部件可以被设计成在实例的每个位置处满足所有要求(定时、物理、电气),并且因此可能针对某些其他位置进行过度设计(例如,可能针对最坏情况时时钟偏移其位置设计电路部件等)。另外,部分实例可以具有不同的封装解决方案,其可能需要额外的设计来处理封装中的差异(例如,不同的IR电压降)。

在实施方案中,铸造厂可能需要在半导体基板上制造某些“非逻辑”单元。这些单元不是集成电路本身的一部分,而是可以由铸造厂用来调整制造过程。铸造厂要求的单元可能具有严格的规则且可能取决于裸片尺寸,并且因此可能需要在完整实例的平面规划图中规划这些单元的放置,使得这些单元可以正确地定位在部分实例中。

图7示出了针对集成电路设计的另一考虑因素的实施方案:各种类型的排除区域(或排除区)。除了在右侧的部分实例、在顶部处的芯片3(其位置在完整实例中、分割线20B上方、由虚线34指示)和在底部处的芯片2(其位置在完整实例中、分割线20A上方、由点划线36指示),在图7中的左侧的是完整裸片18的完整实例(芯片1)。对于每个实例,芯片的拐角具有其中除了半导体基板表面的其他部分外不允许电路(或必须遵循更严格的设计规则)的排除区。可以定义拐角排除区,因为在半导体裸片的拐角上的机械应力可能大于在芯片的其他位置处的机械应力。拐角排除区由图7中的附图标号38所表示的交叉阴影区域指示。

因此,完整实例在其四个拐角中的每一个拐角处具有拐角排除区,以及沿着芯片侧面的“拐角”排除区,在与分割线20A-20B相邻的子区域的拐角处,其将成为针对部分实例的芯片的拐角而结束。另外的拐角排除区可以与完整实例的拐角排除区尺寸相同,或者如果拐角排除区的尺寸按整体裸片尺寸缩放,则可以是不同尺寸。

因此,方法还可以包括在半导体基板的相应拐角处定义多个排除区,其中根据要用于制造集成电路的制造工艺的机械要求从多个排除区排除电路部件。该方法还可以包括在与分割线相邻的第一子区域的拐角处定义附加的排除区,由此部分实例包括在其上形成有部分实例的半导体基板的相应拐角处的排除区。制造方法中的第一数据集可以包括在半导体基板的相应拐角处的多个排除区,其中根据要用于制造集成电路的制造工艺的机械要求从该多个排除区排除电路部件;并且第一数据集可以包括在与第二子区域相邻的第一子区域的拐角处的附加的排除区,由此部分实例包括在其上形成有部分实例的半导体基板的相应拐角处的排除区。

另外,集成电路(例如,包括完整实例)可以包括物理地布置在形成该集成电路的半导体基板的表面的第一区域内的第一多个电路部件;在半导体基板的相应拐角处的多个排除区,其中根据要用于制造集成电路的制造工艺的机械要求从该多个排除区排除电路部件;以及沿着半导体基板的一对名义平行边缘与相应的拐角分开的其他多个排除区,其中从其他多个排除区排除电路部件,并且其中该其他多个排除区与该多个排除区的尺寸大体相同。

图7还示出了集成电路的完整实例和部分实例上的C4凸块的允许位置,示出为图7中的双交叉阴影区域,附图标号40。由双交叉阴影区域40指示的区域之外的区域可能不是针对C4凸块的允许位置(例如,针对C4凸块的排除区)或者可能存在用于在那些区域中放置C4凸块的更严格的规则。因此,对于每个实例的每个边缘存在允许位置/排除区。也就是说,在完整裸片18的周边周围以及在分割线20A-20B的两侧可能存在C4排除区。因此,方法还可以包括沿着与第二子区域相邻的第一子区域的边缘定义第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。在制造方法中,第一数据集还可以包括沿着与第二子区域相邻的第一子区域的边缘的第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。在实施方案中,集成电路可以包括沿着多个排除区之间的线的第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。

图8是示出针对图2中所示的芯片3实施方案的电路部件10B和短线区域22的一个更详细的实施方案的框图。也可以提供电路部件10A提供类似的连接件,并且图3中的短线区域24可以与电路部件10A-10C类似。短线区域22可以包括终端,诸如用于电路部件10B的V

因此,在短线区域中终止的输入可以是延伸到短线区域并且被定向成与沿着其布置短线区域的集成电路的边缘相交。输入缺乏被配置为驱动集成电路内的导线的电路(例如,部分实例中不存在的电路部件在完整实例中驱动导线)。

在其他情况下,可能期望用来自去除的电路部件的输入代替本地输入。例如,用于测试的回环电路或环互连结构可以在部分实例中局部地完成回环/环。为了支持此类实例,接收电路部件(例如,电路部件10B)可以包括逻辑电路以在本地信号与来自去除的部件的输入之间进行选择。例如,在图8中,电路部件10B可以包括多个多路复用器(muxes)58和60。每个mux 58或60可以耦接到通常源自在部分实例中不存在的电路部件的输入线。输入线可以到达短线区域22,但是可以是无连接的。另选地,如果需要,输入线可以以二进制一或二进制零终止。如果浮接输入较长时期处于在电源与接地之间,则终止这样的输入可以防止其浮接并且防止其可能导致浪费电流。mux选择线也可以从短线区域22提供,并且可以以二进制0(V

因此,在该方法的实施方案中,完整实例可以包括第二子区域中的其他多个电路部件,该其他多个电路部件可以包括多个输出,该多个输出是第一子区域中的多个电路部件的多个输入。多个电路部件可以包括具有多个输入中的相应输入作为输入的多个多路复用器电路。该方法可以包括在短线区域中表示用于多个多路复用器电路的多个选择信号。该多个选择信号可以在短线区域内以二进制值终止,该二进制值选择除连接到多个输入的mux输入外的该多个多路复用器电路的不同的输入。在实施方案中,多个选择信号可以在第二子区域中以不同的二进制值终止。

在实施方案中,集成电路可以包括物理地布置在形成该集成电路的半导体基板的表面上的多个电路部件。多个该多个电路部件包括多个多路复用器电路,其中该多个多路复用器电路中的给定多路复用器电路具有第一输入线、第二输入线和选择控制线。集成电路还可以包括沿着表面的单个边缘的区域,其中:该区域是选择控制线的电源,第二输入线到达表面的该单个边缘并且未连接,并且该选择控制线电连接到该集成电路的供电线。在使用期间供电线上的电压对应于数字逻辑电平,该数字逻辑电平使得该多个多路复用器电路选择第一输入线作为该多个多路复用器电路的输出。

现在转到图9,示出了可以是芯片18的完整实例的一对集成电路76和78的一个实施方案的框图。针对集成电路76示出了分割线20A-20B,并且针对实施方案示出了集成电路76的某些附加细节。具体地,集成电路76可以包括多个网络切换70A-70H,该多个网络切换可以是集成电路76中的通信网络的一部分。通信网络可以是电路部件的示例,并且可以被配置为提供其他电路部件(例如,处理器、存储器控制器、外围设备等)之间的通信。

网络切换70A-70H可以使用任何拓扑结构彼此耦接,诸如环状、网状、星形等。当在网络切换70A-70H中接收到给定通信消息或分组时,网络切换70A-70H可以确定要在哪个输出上传输该分组以向其目的地移动该分组。方向可能取决于集成电路的哪个实例已经制造了网络切换。例如,如果制造了完整实例,那么给定网络切换诸如网络切换70E可以向上或向下传输分组,如图9所示(或者如果耦接到网络切换70E的另一电路部件(未示出)是分组的目标,则网络切换70E可以向该电路部件传输该分组)。然而,如果基于分割线20A形成部分实例,则网络切换70E可能不会向下传输分组,因为那里不存在接收电路。类似地,网络切换70F可能不会在该场景中向下传输分组。如果通过基于分割线20B形成部分实例,则网络切换70C和70D可能不在向下的方向上传输分组。

因此,网络切换70A-70H中的至少一些网络切换的操作可能取决于实例。可以存在多种方式来管理差异。例如,交换机的输入可以指定实例(由短线区域或针对完整实例的分割线20B以下的区域中的电路部件输出)。在所示实施方案中,路由表或其他可编程资源74可以包括在每个网络切换70A-70H中。路由表74可以基于原位的实例在初始化(例如,通过引导代码或其他固件)时编程。

类似地,各种实例可以具有不同数量的存储器控制器(例如,去除的子区域中的电路部件可以包括存储器控制器,并且剩余的子区域可能存在额外的存储器控制器)。存储器地址空间可以被映射到存储器控制器上,并且因此映射可以基于在给定完整实例或部分实例中实际存在的存储器控制器的数量而改变。承载存储器操作分组的网络切换70A-70H也可以使用可编程资源利用描述地址映射的数据来编程。可能需要知道地址映射以适当地操作的其他电路部件可以类似地具有可编程资源。

在所示实施方案中,一对集成电路76和78可以被配置为彼此通信并且如果其为一个集成电路裸片,则起作用。例如,每个集成电路76和78上的网络切换70A-70H可以被配置为通过裸片到裸片(D2D)接口电路72进行通信,以跨集成电路76和78形成一个通信互连。因此,源自任一集成电路裸片的分组可以具有在另一个集成电路裸片上的目的地,并且可以经由D2D接口电路72无缝地传输到目标,并且因此对系统中执行的软件基本上不可见。

由于集成电路的部分实例包括少于电路的完整实例,因此可以从部分实例中的每个部分实例去除的部件电路中的一个部件电路是D2D接口电路72。也就是说,D2D接口电路72可以在从部分实例中的每个部分实例去除的子区域中实例化(例如,在所示实施方案中的分割线20A下方)。

图10是示出针对支持完整实例和部分实例的集成电路的一个实施方案的设计和验证/验证方法的各部分的流程图。针对完整实例的设计数据库示出在图10的顶部中心处(附图标号80)。针对部分实例的设计数据库示出在完整实例的左侧和右侧(附图标号82和84)。除了如图10中所示的对应短线区域22和24,设计数据库82和84从设计数据库80提取针对形成那些集成电路的子区域的内容,如箭头86和88指示。

可以使用以下各项来分析数据库80、82和84:使用静态定时分析来验证设计满足定时要求(框90)、使用物理验证来验证设计满足各种物理设计规则(框92)以及使用电气验证来验证设计(以及用于每种设计的分组,其可能在完整实例与部分实例之间变化)满足电气要求,诸如电网稳定性、阻抗等(框94)。物理设计规则可以包括诸如器件和/或布线层中的布线之间的最小间距、器件尺寸等的特征。物理设计规则还可以包括如上所述的拐角排除、C4凸块排除等。另外,在实施方案中,由于来自在部分实例中没有连接的电路部件的输出,可能存在要处理的附加“天线”规则。

可以对各种验证步骤的结果进行审查和分类以用于设计变更(工程变更命令或ECO),可能预期该设计变更改善各种验证的后续运行中的结果(分类ECO框96、98和100)。可以在设计数据库80(箭头102、104和106)中实现ECO,而不管哪个实例导致ECO。因此,如果设计中所需的最坏情况校正由部分实例中的一个部分实例造成,则设计数据库80可以一定程度地被过度设计。在包括在部分实例的子区域中进行变更的情况下,在进行变更以更新部分实例之后,可以从设计数据库80中提取设计数据库82和84。

一旦完成各种验证(清洁框108、110和112),可以针对完整实例和部分实例(框114、116和118)执行流片,从而产生针对每个实例的数据集(框120、122和124)。

在各种实施方案中可能存在额外的分析和设计流程,但是类似地,由各种设计工作识别的任何ECO可以在完整实例设计数据库80中实现,并且随后提取到部分设计数据库82和84。

可能受到对集成电路设计的完整实例和部分实例的支持的影响的集成电路设计方法的另一方面是设计验证(DV)。DV通常包括测试集成电路设计或其一部分,诸如给定电路部件,以确保设计按预期操作并且满足针对设计的功能和/或性能要求。例如,DV可以包括定义测试台以促进设计并测量针对预期结果的操作。测试台可以包括例如描述刺激的另外的HDL代码。为了避免显著的返工和额外的资源以在设计的所有实例上执行DV,可以定义覆盖每个实例的可配置测试台环境。在部件级处,可以使用在实例之间复制芯片级差异来测试部件。

图11是示出用于芯片级DV的测试台布置的一个实施方案的框图。测试台可以包括测试顶层170,该测试顶层可以包括定义声明($DEFINE),该定义声明可以被选择为本示例中的芯片1(完整实例)、芯片2(部分实例)或芯片3(部分实例)。也就是说,对于给定模拟,可以将$DEFINE声明设置为被测试的实例(标签芯片1、芯片2或芯片3中的一者)。测试顶层170还可以包括被测设备(DUT)172(例如,在其部分实例和完整实例中的集成电路)和测试台(TB)174。

DUT 172可以包括集成电路的一部分,该集成电路包括在实例中的每个实例中(例如,对每个实例是通用的本示例中的电路部件10A-10B)。对于给定模拟,公共部分176可以无条件地包括在DUT 172中。取决于对给定模拟中哪个实例进行测试,可以有条件地包括三个附加部分中的一个附加部分。例如,正在测试芯片1(并且因此$DEFINE声明详述芯片1),可以包括其他电路部件10C-10D(附图标号178)。如果正在测试芯片2(并且因此$DEFINE声明详述芯片2),则可以包括电路部件10C和短线24(附图标号180)。如果正在测试芯片3(并且因此$DEFINE声明详述芯片3),则可以在最坏情况下包括短线22(附图标号182)。

测试台174可以基于$DEFINE声明类似地配置。测试台174可以包括对应于公共部分176(例如,针对公共部分176的刺激)的公共部分184。可以基于分别详述芯片1、芯片2和芯片3的$DEFINE声明选择性地包括其他部分184、186或188。可以包括分别针对对应部分178、180和182的刺激。也就是说,针对电路部件10C-10D的组合的刺激可以包括在部分186中;针对电路部件10C和短线24的组合的刺激可以包括在部分188中;并且针对短线22的刺激可以包括在部分190中。在实施方案中,由于短线22可以不包括任何有源电路,因此可以省略部分190。另选地,公共部分176中的操作差异可以在部分190中捕获。

因此,测试顶层170的相同总体设置允许模拟设计的任何实例,只需变更$DEFINE声明来选择设计。

图12示出了经由复制的电路部件级测试的示例。在示例中,芯片1示出在电路部件10C与电路部件10B之间具有某些输入/输出(例如,接口)。为了简单起见,电路部件10A和10D中的其他电路部件之间的并且由电路部件10B接收的其他接口并未在图12中示出。

因此,针对电路部件10B的测试布置可以包括DUT中的电路部件10B(附图标号192)。电路部件10B与电路部件10C之间的接口可以经由测试台194中的电路部件10C的模型来建模。模型可以是电路部件10C的行为模型。另选地,模型可以是电路部件10C的总线功能模型,其在界面上完全复制电路部件10C的操作,但可以省略许多内部操作。可以使用任何模型。可以复制测试布置以测试芯片3布置,例如,其中包括短线22以在接口上将源自电路部件10C的输入信号向上绑定和向下绑定到电路部件10B。复制的布置很多包括DUT 192和实例化短线22的向上绑定和向下绑定的测试台196。

在一个实施方案中,也可以修改设计集成(DI)。设计集成可以包括连接各种电路部件10A-10D的过程,提供可以允许电路部件10A-10D之间的正确通信的任何所需的“胶合逻辑”等。当集成电路的不同实例进行流片时,可以改变各种配置。例如,经由网络切换70A-70H的分组的路由(或包括在给定实例中的交换机的子集)可以取决于实例。因此,路由表74的编程可以基于实例而改变。设计的其他行为也可以改变,例如功率管理。保险丝可以用于识别实例,并且因此,如果没有在短线22或24中通过向上拉和向下拉来充分控制行为,则可以用于识别在其他电路部件10A-10D中对路由表74或各种配置寄存器的编程。保险丝可以是短线的一部分或者可以包括在电路部件10A-10D中,并且可以针对给定实例被选择性地熔断。

图13是示出用于集成电路的设计和制造方法的一个实施方案的流程图。然而,为了便于理解,框图以特定顺序示出,也可使用其他顺序。可以并行执行独立的块。

该方法可以包括在对应于集成电路设计的设计数据库中定义在半导体基板上制造时集成电路设计要占据的区域(框130)。该方法还可以包括根据需要定义一条分割线或多于一条分割线。分割线可以将区域划分成第一子区域和第二子区域,其中该第一子区域和该第二子区域的组合表示该集成电路的完整实例,并且其中该第一子区域和短线区域表示包括集成电路的部分实例,该部分实例包括比完整实例更少的电路部件(框132)。该方法还可以包括在设计数据库中表示包括集成电路的完整实例和部分实例两者中的多个电路部件在第一子区域中的物理位置(框134)。在实施方案中,该多个电路部件在第一子区域内的相对位置和该多个电路部件在第一子区域内的互连在完整实例和部分实例中保持不变。该方法还可以包括在设计数据库中表示包括在完整实例中但从部分实例中排除的其他多个电路部件在第二子区域中的物理位置(框136)。该方法还可以包括在设计数据库中的短线区域中定义针对原本横穿第一子区域与第二子区域之间的分割线的导线的终端,从而确保在部分实例中不存在第二子区域的情况下第一子区域中的该多个电路部件的正确操作(框138)。该方法还可以包括使用第一子区域和第二子区域产生针对完整实例的第一数据集(框140)。第一数据集可以定义用于制造完整实例的完整实例。该方法还可以包括使用第一子区域和短线区域产生针对部分实例的第二数据集,该第二数据集定义用于制造部分实例的部分实例(框142)。该方法还可以包括分别基于第一数据集和第二数据集制造完整实例和部分实例(框144)。

在实施方案中,短线区域可以不包括电路。例如,短线区域可以仅包括在半导体基板的表面区域上方的一个或多个金属化层中的布线。在实施方案中,第二子区域中的其他多个电路部件可以包括多个输出,该多个输出是第一子区域中的多个电路部件的多个输入。多个电路部件可以包括具有多个输入中的相应输入作为输入的多个多路复用器电路。该方法还可以包括在短线区域中表示用于多个多路复用器电路的多个选择信号。该多个选择信号可以在短线区域内以二进制值终止,该二进制值选择相比于多个输入连接到的输入的该多个多路复用器电路的不同的输入。该多个选择信号可以在第二子区域中以不同的二进制值终止。

在实施方案中,该方法还可以包括在半导体基板的相应拐角处定义多个排除区。可以根据要用于制造集成电路的制造工艺的机械要求从多个排除区排除电路部件。该方法可以更进一步包括在与分割线相邻的第一子区域的拐角处定义附加的排除区,由此部分实例包括在其上形成有部分实例的半导体基板的相应拐角处的排除区。

在实施方案中,该方法还可以包括沿着与第二子区域相邻的第一子区域的边缘定义第二排除区。可以从第二排除区排除受控塌缩芯片连接(C4)连接件。在实施方案中,该方法还可以包括在第一子区域中定义一个或多个第一模拟输入;以及在第二子区域中定义一个或多个第二模拟输入。该一个或多个模拟输入保持在第一子区域内,并且该一个或多个第二模拟输入保持在第二子区域内。在实施方案中,该方法可以包括在第一子区域中定义用于在第一子区域内分配时钟的一个或多个第一时钟树;以及在第二子区域中定义用于在第二子区域内分配时钟的一个或多个第二时钟树。该一个或多个第一时钟树可以在完整实例中与该一个或多个第二时钟树电隔离。在实施方案中,该方法还可以包括在设计数据库中定义第二子区域中的第二分割线。第二分割线可以将第二子区域划分为第三子区域和第四子区域,其中第三子区域与第一子区域相邻。第三子区域和第一子区域可以表示集成电路的第二部分实例。该方法还可以包括使用第一子区域、第三子区域和第二短线区域来产生针对第二部分实例的第三数据集。第三数据集可以定义用于制造第二部分实例的第二部分实例。

图14是示出用于制造集成电路的方法的一个实施方案的流程图。然而,为了便于理解,框图以特定顺序示出,也可使用其他顺序。可以并行执行独立的块。

在实施方案中,方法可以包括接收针对集成电路设计的完整实例的第一数据集(框150)。第一数据集可以定义用于制造完整实例的完整实例。完整实例可以包括第一多个电路部件,该第一多个电路部件物理地位于在半导体基板上由该完整实例占据的区域的第一子区域中;以及第二多个电路部件,该第二多个电路部件物理地位于在半导体基板上由该完整实例占据的区域的第二子区域中。该方法还可以包括接收针对集成电路设计的部分实例的第二数据集(框152)。该第二数据集可以定义用于制造部分实例的部分实例。该部分实例可以包括第一子区域中的第一多个电路部件,其中该第一多个电路部件在第一子区域内的相对位置和该第一多个电路部件在第一子区域内的互连在完整实例和部分实例中保持不变。该部分实例还可以包括与第一子区域相邻的短线区域,其中该短线区域包括针对原本将互连第一子区域和第二子区域中的部件的导线的终端,从而确保在该部分实例中不存在第二子区域的情况下第一子区域中的第一多个电路部件的正确操作。该方法还可以包括基于第一数据集制造集成电路的第一多个完整实例(框154);以及基于第二数据集制造集成电路的第二多个部分实例(框156)。

在实施方案中,短线区域不包括电路。例如,短线区域可以仅包括在半导体基板的表面区域上方的一个或多个金属化层中的布线。在实施方案中,第二子区域中的其他多个电路部件可以包括多个输出,该多个输出是第一子区域中的第一多个电路部件的多个输入;并且第一多个电路部件包括具有多个输入中的相应输入作为输入的多个多路复用器电路。短线区域还可以包括用于该多个多路复用器电路的多个选择信号。在实施方案中,该多个选择信号可以在短线区域内以二进制值终止,该二进制值选择相比于多个输入连接到的输入的该多个多路复用器电路的不同的输入。多个选择信号可以在完整实例中以不同的二进制值在第二子区域中终止。

在实施方案中,第一数据集可以包括在半导体基板的相应拐角处的多个排除区。可以根据要用于制造集成电路的制造工艺的机械要求从多个排除区排除电路部件。第一数据集还可以包括在与第二子区域相邻的第一子区域的拐角处的附加的排除区,由此部分实例包括在其上形成有部分实例的半导体基板的相应拐角处的排除区。在实施方案中,第一数据集还可以包括沿着与第二子区域相邻的第一子区域的边缘的第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。在实施方案中,第一数据集还可以包括第一子区域中的一个或多个第一模拟输入和第二子区域中的一个或多个第二模拟输入。该一个或多个第一模拟输入可以保持在第一子区域内;并且该一个或多个第二模拟输入保持在第二子区域内。在实施方案中,第一数据集还可以包括用于在第一子区域内分配时钟的一个或多个第一时钟树和用于在第二子区域内分配时钟的一个或多个第二时钟树,并且其中该一个或多个第一时钟树在完整实例中与该一个或多个第二时钟树电隔离。

计算机可读存储介质

现在转向图15,其展示了计算机可读存储介质800的一个实施方案的框图。一般来讲,计算机可访问存储介质可包括在使用期间能够被计算机访问以向计算机提供指令和/或数据的任何存储介质。例如,计算机可访问存储介质可包括诸如磁性或光学介质的存储介质,例如,盘(固定或可拆卸)、带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW或蓝光。存储介质还可包括易失性或非易失性存储器介质,诸如RAM(例如,同步动态RAM(SDRAM)、Rambus DRAM(RDRAM)、静态RAM(SRAM)等)、ROM或闪存存储器。存储介质可被物理地包括在存储介质将指令/数据提供至其的计算机内。另选地,存储介质可连接至计算机。例如,存储介质可通过网络或无线链路诸如网络附接存储装置而被连接至计算机。存储介质可通过外围接口诸如通用串行总线(USB)而被连接。通常,计算机可访问存储介质800可以非暂态方式存储数据,其中非暂态在该上下文中可指不通过信号传输指令/数据。例如,非暂态存储装置可为易失性的(并且响应于断电而可能会丢失所存储的指令/数据)或为非易失性的。

图15中的计算机可访问存储介质800可以存储表示集成电路的完整实例和集成电路的部分实例的数据库802、804和806。通常,数据库802、804和806可以是可以由程序读取并且直接或间接使用以制造包括实例的硬件的数据库。例如,数据库可以是诸如Verilog或VHDL的高级设计语言(HDL)中硬件功能的行为级别描述或寄存器传送级别(RTL)描述。可通过合成工具读取该描述,合成工具可合成该描述以产生包括来自合成库的门电路列表的网表。网表包括一组门电路,其还表示包括实例的硬件的功能。然后可放置并路由网表,以产生用于描述要应用到掩模的几何形状的数据集。然后可以在各种半导体制造步骤中使用掩模以生产对应于实例的半导体电路。另选地,根据需要,计算机可访问存储介质800上的数据库802、804和806可以是网表(具有或不具有合成库)或数据集。

虽然计算机可访问存储介质800存储实例的表示,但是其他实施方案可以根据需要携载实例的任何部分的表示。

计算机系统

接下来转向图16,其示出了系统700的一个实施方案的框图。在例示的实施方案中,系统700包括耦接到一个或多个外围设备704和外部存储器702的片上系统(SOC)706的至少一个实例。提供了电源(PMU)708,其向SOC 10供应供电电压以及向存储器702和/或外围设备704供应一个或多个供电电压。在一些实施方案中,可以包括SOC 706的多于一个实例(并且也可包括多于一个存储器702)。更具体地,SOC 706可以是本文描述的集成电路的任何实例(例如,完整或部分)。

根据系统700的类型,外围设备704可包括任何期望的电路。例如,在一个实施方案中,系统704可以是移动设备(例如,个人数字助理(PDA)、智能电话等),并且外围设备704可包括用于各种类型的无线通信的设备,诸如Wi-Fi、蓝牙、蜂窝、全球定位系统等。外围设备704还可包括额外存储装置,该额外存储装置包括RAM存储装置、固态存储装置或磁盘存储装置。外围设备704可包括用户接口设备,诸如显示屏,其包括触摸显示屏或多触摸显示屏、键盘或其它输入设备、麦克风、扬声器等。在其它实施方案中,系统700可为任何类型的计算系统(例如,台式个人计算机、膝上型电脑、工作站、网络机顶盒等)。

外部存储器702可包括任何类型的存储器。例如,外部存储器702可以为SRAM、动态RAM(DRAM)(诸如同步DRAM(SDRAM))、双倍数据速率(DDR、DDR2、DDR3等)SDRAM、RAMBUSDRAM、低功率版本的DDR DRAM(例如,LPDDR、mDDR等)等等。外部存储器702可以包括存储器设备可被安装到的一个或多个存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。另选地,外部存储器702可以包括以芯片上芯片或封装上封装具体实施被安装在SOC 706上的一个或多个存储器设备。

如图所示,系统700被展示为具有在广泛领域中的应用。例如,系统700可用作台式计算机710、膝上型计算机720、平板电脑730、蜂窝或移动电话740或电视750(或耦接到电视的机顶盒)的芯片、电路、部件等的一部分。还示出了智能手表和健康监测设备760。在一些实施方案中,智能手表可包括各种通用计算相关功能。例如,智能手表可提供对电子邮件、手机服务、用户日历等的访问。在各种实施方案中,健康监测设备可以是专用医疗设备或以其他方式包括专用的健康相关功能。例如,健康监测设备可监测用户的生命体征、跟踪用户与其他用户的接近度以用于流行病学社交距离的目的、联系人跟踪、在发生健康危机的情况下向紧急服务部门提供通信等。在各种实施方案中,上述智能手表可包括或可不包括一些或任何健康监测相关功能。还设想了其他可穿戴设备,诸如围绕颈部佩戴的设备、可植入人体中的设备、被设计成提供增强和/或虚拟现实体验的眼镜,等等。

系统700还可用作基于云的服务770的一部分。例如,先前提及的设备和/或其他设备可访问云端中的计算资源(即,远程定位的硬件和/或软件资源)。更进一步地,系统700可用于家庭的除先前提到的那些设备之外的一个或多个设备中。例如,家用电器可监测和检测值得注意的情况。例如,家中的各种设备(例如,冰箱、冷却系统等)可监测设备的状态,并且在检测到特定事件的情况下向房主(或例如维修机构)提供警报。另选地,恒温器可监测家中的温度,并且可基于由房主对各种情况的反应历史来自动化调整加热/冷却系统。图16中还示出了系统700对各种交通运输方式的应用。例如,系统700可用于飞机、火车、公共汽车、出租用汽车、私人汽车、从私人船只到游轮的水运船、(用于出租或私有的)小型摩托车等的控制和/或娱乐系统。在各种情况下,系统700可用于提供自动化引导(例如,自驾驶车辆)、一般系统控制等。这些任何许多其他实施方案都是可能的并且被设想到的。需注意,图16中所示出的设备和应用仅为例示性的,并非旨在进行限制。其他设备是可能的并且被设想到的。

***

本公开包括对“实施方案”或“实施方案”的组(例如,“一些实施方案”或“各种实施方案”)的引用。实施方案是所公开概念的不同具体实施或实例。对“实施方案”、“一个实施方案”、“特定实施方案”等的引用并不一定是指相同的实施方案。设想了大量可能的实施方案,包括具体公开的那些,以及落入本公开的实质或范围内的修改或替代。

本公开可讨论可由所公开的实施方案产生的潜在优点。并非所有这些实施方案的具体实施都将必然表现出任何或所有潜在优点。特定实施方式是否实现了优点取决于许多因素,其中一些因素在本公开的范围之外。事实上,存在许多原因导致落入权利要求范围内的具体实施可能不表现出任何所公开的优点中的一些或全部。例如,特定具体实施可包括在本公开的范围之外的其他电路,结合所公开的实施方案中的一个实施方案,该其他电路否定或减弱一个或多个所公开的优点。此外,特定具体实施(例如,具体实施技术或工具)的次优设计执行也可能否定或减弱所公开的优点。即使假设有技术的具体实施,优点的实现仍可取决于其他因素,诸如部署具体实施的环境情况。例如,提供给特定具体实施的输入可防止本公开中解决的一个或多个问题在特定场合发生,结果可能无法实现其解决方案的益处。考虑到本公开外部的可能因素的存在,本文所述的任何潜在优点都不应理解为是为了证明侵权行为而必须满足的权利要求限制。相反,此类潜在优点的识别旨在示出受益于本公开的设计者可用的一种或多种改进类型。永久性地描述此类优点(例如,陈述特定优点“可能出现”)并非旨在传达关于此类优点实际上是否可被实现的疑问,而是认识到此类优点的实现通常取决于附加因素的技术现实。

除非另行指出,否则实施方案是非限制性的。也就是说,所公开的实施方案并非旨在限制基于本公开起草的权利要求的范围,即使仅针对特定特征描述单个示例的情况下也是如此。本发明所公开的实施方案旨在为示例性的而非限制性的,而无需在本发明中进行任何相反的陈述。因此本申请意在允许涵盖所公开实施方案的权利要求、以及此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。

例如,本申请中的特征可以任何合适的方式组合。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地讲,参照所附权利要求,从属权利要求的特征在适当的情况下可与其他从属权利要求的特征组合,包括从属于其他独立权利要求的权利要求。类似地,在适当的情况下,可组合来自相应独立权利要求的特征。

因此,虽然所附从属权利要求可撰写成使得每个从属权利要求从属于单个其他权利要求,但也可设想附加从属关系。可设想符合本公开的从属特征的任何组合,并且这些组合可在本专利申请或另一专利申请中受权利要求书保护。简而言之,组合不限于所附权利要求中具体列举的那些。

在适当的情况下,还预期以一种格式或法定类型(例如,装置)起草的权利要求旨在支持另一种格式或法定类型(例如,方法)的对应权利要求。

***

因为本公开是法律文件,所以各种术语和短语可受到管理和司法解释的约束。特此给出公告,以下段落以及贯穿本公开提供的定义将用于确定如何解释基于本公开起草的权利要求。

除非上下文另有明确规定,否则对单数形式的项目的引用(即,前面有“一个”、“一种”或“该”的名词或名词短语)旨在表示“一个或多个”。因此,在不伴随上下文的情况下,对权利要求中的“项目”的引用并不排除该项目的附加实例。“多个”项目是指两个或更多个项目的集合。

本文使用术语“可以”用于允许的意义上(即,具有潜在可能的,能够的),而不是在强制意义上(即必须)。

术语“包含”和“包括”及其形式是开放式的,并且意指“包括但不限于”。

当在本公开中相对于选项列表使用术语“或”时,除非上下文另有提供,否则一般将理解为以包含性意义使用。因此,表述“x或y”等同于“x或y,或两者”,因此涵盖1)x但不是y,2)y但不是x,以及3)x和y两者。另一方面,短语诸如“x或y中的任一者,但不是两者都”使得清楚“或”以排他性意义使用。

表述“w、x、y或z,或它们的任何组合”或“...w、x、y和z中的至少一者”旨在涵盖涉及最多至该集合中元件总数的单个元件的所有可能性。例如,给定集合[w,x,y,z],这些短语涵盖集合中的任何单个元素(例如,w但不是x、y或z)、任何两个元素(例如,w和x,但不是y或z)、任何三个元素(例如,w、x和y,但不是z)以及所有四个元素。短语“...w、x、y和z中的至少一者”因此是指集合[w,x,y,z]中的至少一个元素,从而涵盖该元素列表中的所有可能的组合。该短语不应被解释为要求存在w的至少一个实例、x的至少一个实例、y的至少一个实例和z的至少一个实例。

在本公开中,各种“标签”可先于名词或名词短语。除非上下文另有提供,否则用于特征(例如,“第一电路”、“第二电路”、“特定电路”、“给定电路”等)的不同标签是指特征的不同实例。另外,除非另有说明,否则标签“第一”、“第二”和“第三”在应用于特征时并不暗示任何类型的排序(例如,空间、时间、逻辑等)。

短语“基于”或用于描述影响确定的一个或多个因素。此术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于B确定A”。此短语指定B是用于确定A的因素或者B影响A的确定。此短语并不排除A的确定也可基于某个其他因素诸如C。此短语也旨在覆盖A仅基于B来确定的实施方案。如本文所用,短语“基于”与短语“至少部分地基于”是同义的。

短语“响应于”和“响应”描述了触发效应的一个或多个因素。该短语不排除附加因素可影响或以其他方式触发效应的可能性,这些因素与指定因素联合使用或独立于指定因素。也就是说,效果可以仅仅响应于这些因素,或者可以响应于指定的因素以及其他未指定的因素。考虑短语“响应于B执行A”。该短语指定B是触发A的执行或触发A的特定结果的因素。该短语不排除执行A也可能响应于某些其他因素,诸如C。该短语也不排除执行A可响应于B和C而联合执行。此短语也旨在覆盖A仅响应于B而执行的实施方案。如本文所用,短语“响应”与短语“至少部分地响应于”是同义的。类似地,短语“响应于”与短语“至少部分地响应于”是同义的。

***

在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正被操作。因此,被描述或表述为“被配置为”执行某个任务的实体指代用于实施该任务的物理的事物,诸如设备、电路、具有处理器单元的系统和存储有可执行程序指令的存储器等。此短语在本文中不被用于指代无形的事物。

在一些情况下,各种单元/电路/部件在本文中可被描述为执行一组任务或操作。应当理解,这些实体“被配置为”执行那些任务/操作,即使没有具体指出。

术语“被配置为”并不旨在意指“可配置为”。例如,未编程的FPGA不会被认为是“被配置为”执行特定功能。然而,该未编程的FPGA可以“可配置为”执行该功能。在适当编程之后,FPGA然后可认为“被配置为”执行特定功能。

出于基于本公开的美国专利申请的目的,在权利要求中陈述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素不援引35U.S.C.§112(f)。如果申请人在基于本公开的美国专利申请的申请过程中想要援引112(f)部分,则其将使用“用于[执行功能]的装置”结构来表述权利要求的要素。

在本公开中可描述不同的“电路”。这些电路或“电路”构成硬件,该硬件包括各种类型的电路元件,诸如组合逻辑、时钟存储设备(例如,触发器、寄存器、锁存器等)、有限状态机、存储器(例如,随机存取存储器、嵌入式动态随机存取存储器)、可编程逻辑阵列等。电路可为定制设计的,或取自标准库。在各种实施方式中,电路可以视情况包括数字部件、模拟部件或两者的组合。某些类型的电路可通常被称为“单元”(例如,解码单元、算术逻辑单元(ALU)、功能单元、存储器管理单元(MMU)等)。此类单元也指电路或电路。

因此,在附图中示出并在本文中描述的所公开的电路/单元/部件和其他元件包括硬件元件,诸如前面段落中描述的那些硬件元件。在许多情况下,硬件元件在特定电路中的内部布置可通过描述该电路的功能来指定。例如,特定的“解码单元”可被描述为执行“处理指令的操作码并将该指令路由到多个功能单元中的一个或多个”的功能,这意味着解码单元“被配置为”执行该功能。对于计算机领域的技术人员而言,该功能规范足以暗示用于电路的一组可能的结构。

在各种实施方案中,如前述段落中所讨论的,电路、单元和由其被配置为实施的功能或操作定义的其他元件。相对于彼此的此类电路/单元/部件的布置以及它们进行交互的方式形成硬件的微架构定义,该硬件最终在集成电路中制造或被编程到FPGA中以形成微架构定义的物理具体实施。因此,微架构定义被本领域的技术人员认为是可导出许多物理具体实施的结构,所有这些物理具体实施均落入由微架构定义所描述的更广泛的结构中。即,具有根据本公开提供的微架构定义的技术人员可在没有过度实验的情况下并且利用普通技术人员的应用,通过以硬件描述语言(HDL)诸如Verilog或VHDL编码电路/单元/部件的描述来实现该结构。HDL描述常常以可显现为功能性的方式来表达。但是对于本领域的技术人员而言,该HDL描述是用于将电路、单元或部件的结构转换为下一级具体实施细节的方式。此类HDL描述可采用以下形式:行为代码(其通常为不可合成的)、寄存器传输语言(RTL)代码(其与行为代码相比通常为可合成的)、或结构代码(例如,指定逻辑门及其连接性的网表)。可针对为给定集成电路制造技术设计的单元库来顺序地合成HDL描述,并可出于定时、功率和其他原因而被修改,以获得被传输到工厂以生成掩模并最终产生集成电路的最终的设计数据库。一些硬件电路或其部分也可在示意图编辑器中被定制设计并与合成电路一起被捕获到集成电路设计中。该集成电路可包括晶体管和其它电路元件(例如,无源元件,诸如电容器、电阻器、电感器等),以及晶体管和电路元件之间的互连件。一些实施方案可实现耦接在一起的多个集成电路,以实现硬件电路,和/或可在一些实施方案中使用离散元件。另选地,HDL设计可被合成为可编程逻辑阵列诸如现场可编程门阵列(FPGA)并且可在FPGA中实现。一组电路的设计与这些电路的后续低级具体实施之间的这种解耦通常导致这样的情形:其中电路或逻辑设计者从来不指定超出对电路被配置为做什么的描述的用于低级具体实施的一组特定结构,因为该过程是在电路实施过程的不同阶段执行的。

可使用电路元件的许多不同低级组合来实现电路的相同规格的事实导致该电路的大量等效结构。如所指出的那样,这些低级电路具体实施可根据制造技术、被选择用于制造集成电路的铸造厂、为特定项目提供的单元库等的变化而变化。在许多情况下,通过不同设计工具或方法进行的产生这些不同具体实施的选择可以是任意的。

此外,对于给定实施方案,电路的特定功能规范的单个具体实施通常包括大量设备(例如,数百万个晶体管)。因此,该信息的剪切体积使得提供用于实现单个实施方案的低级结构的完整叙述是不切实际的,更不用说大量等同的可能具体实施。为此,本公开描述了使用工业中常用的功能简写的电路的结构。

本申请主题的实现包括但不限于以下示例:

方法示例:

1.一种方法,包括:

接收针对集成电路设计的完整实例的第一数据集,该第一数据集定义用于制造该完整实例的该完整实例,其中该完整实例包括第一多个电路部件,该第一多个电路部件物理地位于在半导体基板上由该完整实例占据的区域的第一子区域中;以及第二多个电路部件,该第二多个电路部件物理地位于在该半导体基板上由该完整实例占据的该区域的第二子区域中;

接收针对该集成电路设计的部分实例的第二数据集,该第二数据集定义用于制造该部分实例的该部分实例,其中该部分实例包括该第一子区域中的该第一多个电路部件,其中该第一多个电路部件在该第一子区域内的相对位置以及该第一多个电路部件在该第一子区域内的互连在该完整实例和该部分实例中保持不变,并且其中该部分实例还包括与第一子区域相邻的短线区域,其中该短线区域包括针对原本将互连第一子区域和第二子区域中的部件的导线的终端,从而确保在该部分实例中不存在该第二子区域的情况下该第一子区域中的该第一多个电路部件的正确操作;

基于该第一数据集制造该集成电路的第一多个该完整实例;以及

基于该第二数据集制造该集成电路的第二多个该部分实例。

2.根据示例1所述的方法,其中该短线区域不包括电路。

3.根据示例2所述的方法,其中该短线区域仅包括在半导体基板的表面区域上方的一个或多个金属化层中的布线。

4.根据示例1所述的方法,其中该第二子区域中的其他多个电路部件包括多个输出,该多个输出是该第一子区域中的该第一多个电路部件的多个输入,并且其中该第一多个电路部件包括多个多路复用器电路,该多个多路复用器电路具有该多个输入中的相应输入作为输入,并且该短线区域还包括针对该多个多路复用器电路的多个选择信号。

5.根据示例4所述的方法,其中该多个选择信号在短线区域内以二进制值终止,该二进制值选择相比于该多个输入连接到的输入的该多个多路复用器电路的不同的输入。

6.根据示例5所述的方法,其中该多个选择信号在该完整实例中以不同的二进制值在该第二子区域中终止。

7.根据示例1所述的方法,其中该第一数据集包括在该半导体基板的相应拐角处的多个排除区,其中根据要用于制造该集成电路的制造工艺的机械要求从该多个排除区排除电路部件;并且该第一数据集包括在与该第二子区域相邻的该第一子区域的拐角处的附加的排除区,由此该部分实例包括在其上形成有该部分实例的该半导体基板的相应拐角处的排除区。

8.根据示例1所述的方法,其中该第一数据集还包括沿着与该第二子区域相邻的该第一子区域的边缘的第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。

9.根据示例1所述的方法,其中该第一数据集还包括该第一子区域中的一个或多个第一模拟输入,其中该一个或多个第一模拟输入保持在该第一子区域内,并且其中该第一数据集还包括该第二子区域中的一个或多个第二模拟输入,其中该一个或多个第二模拟输入保持在该第二子区域内。

10.根据示例1所述的方法,其中该第一数据集还包括用于在该第一子区域内分配时钟的一个或多个第一时钟树,以及用于在该第二子区域分配时钟的一个或多个第二时钟树,并且其中该一个或多个第一时钟树在该完整实例中与该一个或多个第二时钟树电隔离。集成电路实例:

11.一种集成电路,包括:

多个电路部件,该多个电路部件物理地布置在形成该集成电路的半导体基板的表面上,其中多个该多个电路部件包括多个多路复用器电路,其中该多个多路复用器电路中的给定多路复用器电路具有第一输入线、第二输入线和选择控制线;以及

沿着该表面的单个边缘的区域,其中:

该区域是该选择控制线的电源,

该第二输入线到达该表面的该单个边缘且未连接,并且

该选择控制线电连接到该集成电路的供电线,其中在使用期间该供电线上的电压对应于数字逻辑电平,该数字逻辑电平使得该多个多路复用器电路选择该第一输入线作为该多个多路复用器电路的输出。

12.一种集成电路,包括:

第一多个电路部件,该第一多个电路部件物理地布置在形成该集成电路的半导体基板的表面的第一区域内;

在半导体基板的相应拐角处的多个排除区,其中根据要用于制造集成电路的制造工艺的机械要求从该多个排除区排除电路部件;以及

其他多个排除区,该其他多个排除区沿着该半导体基板的一对名义平行边缘与该相应拐角分开,其中从其他多个排除区排除电路部件,并且其中该其他多个排除区与该多个排除区的尺寸大体相同。

13.根据示例12所述的集成电路,还包括:

沿着该多个排除区之间的线的第二排除区,其中从该第二排除区排除受控塌缩芯片连接(C4)连接件。

14.根据示例12所述的集成电路,还包括:

该第一区域的第一子区域中的一个或多个第一模拟输入,其中该一个或多个第一模拟输入保持在该第一子区域内;以及

该第一区域的且与该第一子区域相邻的第二子区域中的一个或多个第二模拟输入,其中该一个或多个第二模拟输入保持在该第二子区域内。

15.根据示例12所述的集成电路,还包括:

用于在该第一区域的第一子区域内分配时钟的一个或多个时钟树;

以及

用于在该第二子区域内分配时钟的一个或多个第二时钟树;并且

其中该一个或多个第一时钟树与该一个或多个第二时钟树电隔离。

16.一种集成电路,包括:

第一多个电路部件,该第一多个电路部件物理地布置在形成该集成电路的半导体基板的表面的第一区域内;

第二多个电路部件,该第二多个电路部件物理地布置在形成该集成电路的该半导体基板的该表面的第二区域内;

该第一区域内的一个或多个第一模拟输入,其中该一个或多个第一模拟输入与该第一多个电路部件隔离;以及

在该第二区域内的一个或多个第二模拟输入,其中该一个或多个第二模拟输入与该第二多个电路部件隔离。

一旦充分了解了上面的公开,许多变型和修改对于本领域的技术人员而言将变得显而易见。本公开旨在使以下权利要求书被阐释为包含所有此类变型和修改。

技术分类

06120115627606