CN107798159B - 用于生成三维集成电路设计的方法 - Google Patents
用于生成三维集成电路设计的方法 Download PDFInfo
- Publication number
- CN107798159B CN107798159B CN201710735324.3A CN201710735324A CN107798159B CN 107798159 B CN107798159 B CN 107798159B CN 201710735324 A CN201710735324 A CN 201710735324A CN 107798159 B CN107798159 B CN 107798159B
- Authority
- CN
- China
- Prior art keywords
- design
- inter
- level
- 2dic
- tier
- 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
Links
- 238000013461 design Methods 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000005192 partition Methods 0.000 claims abstract description 57
- 239000002184 metal Substances 0.000 claims description 37
- 238000000638 solvent extraction Methods 0.000 claims description 26
- 238000004458 analytical method Methods 0.000 claims description 20
- 238000004519 manufacturing process Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 239000000872 buffer Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000012804 iterative process Methods 0.000 claims 1
- 238000013459 approach Methods 0.000 abstract description 7
- 239000000758 substrate Substances 0.000 description 10
- 235000012431 wafers Nutrition 0.000 description 8
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 6
- 239000010703 silicon Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开提供了用于生成三维集成电路设计的方法。用于生成3D集成电路(3DIC)的设计的方法包括从根据3DIC所需的设计标准生成的2D集成电路(2DIC)的设计的第一数据表示提取至少一个设计特征。基于提取的设计特征将3DIC的组件分区为组(每个组表示3DIC的一个层级)。2DIC设计的第二数据表示被生成,其包括多个相邻分区,每个分区包括3DIC设计的一个层级的组件组以及表示层级间通孔的位置的层级间通孔端口。每个分区的放置独立于由原始第一数据表示表示的2DIC中的相应组件的放置被确定。该方法允许2DIC EDA工具被用于设计3DIC。
Description
技术领域
本技术涉及集成电路领域。更具体地说,其涉及一种用于生成三维集成电路的设计的方法。
背景技术
人们对包括使用层级间通孔连接的多个层级主动元件和互连层的三维集成电路(3DIC)越来越感兴趣。3D集成可以提供改进的性能,因为在3DIC的不同层中连接设备的层级间通孔的信号传播延迟通常小于与在相同层级上链接不同设备的常规互连路径相关联的延迟。
发明内容
至少一些示例提供了一种用于根据预定的设计标准生成三维集成电路(3DIC)的设计的计算机实现的方法,三维集成电路包括通过层级间通孔连接的多个层级的主动元件;该方法包括:从根据预定的设计标准生成的二维集成电路(2DIC)的设计的第一数据表示提取至少一个设计特征,2DIC包括单个层级的主动元件;基于从第一数据表示提取的至少一个设计特征将3DIC的组件分区为多个组件组,每个组件组对应于多个层级中的一个层级;以及生成2DIC的设计的第二数据表示,其包括彼此相邻设置的多个分区,每个分区表示3DIC的相应层级并且包括相应层级的组件组和表示用于将相应层级连接到另一层级的层级间通孔的位置的层级间通孔端口,其中给定分区的组件组的放置独立于由第一数据表示表示的2DIC中的相应组件的放置被确定。
至少一些示例提供了一种存储计算机程序的非暂态记录介质,该计算机程序用于控制计算机执行上述方法。
至少一些示例提供了一种包括处理电路的装置,该处理电路用于执行上述方法。
结合附图阅读的以下示例的描述,本技术的其它方面、特征和优点将变得显而易见。
附图说明
图1示意性地示出了二维集成电路(2DIC)的示例;
图2示意性地示出了三维集成电路(3DIC)的示例;
图3是示出用于使用针对2DIC设计而设计的电子设计自动化(EDA)工具来生成3DIC的设计的方法的流程图;
图4示出了基于从2DIC的相应设计中提取的设计特征将组件分区成与3DIC的各个层级相对应的组的示例;
图5示出了确定一组组件在3DIC的一个层级上的临时放置并且识别层级间通孔的位置的示例;
图6示出了在3DIC设计的另一层级中识别层级间通孔的相应位置的示例;
图7示出了基于层级间通孔的位置来确定其他层级的临时放置的示例;
图8示出了在2DIC设计中固定层级间通孔的位置的示例,该2DIC设计包括彼此相邻设置的分区,每个分区表示3DIC的相应层级;
图9示出了利用虚拟互连连接层级间通孔的示例;
图10示出了将锚定单元放置在层级间通孔的位置处以用于在设计中将虚拟互连耦合到实际互连的示例;
图11示出了由2D形式的第二数据表示表示的3DIC设计的示例,可以对其进行时序分析从而针对时序要求来测试设计。
具体实施方式
图1示出了传统2D集成电路(2DIC)2的示例的横截面,其在半导体基板6上包括单个层级4的主动元件和互连。主动元件是可以控制电子流的元件,例如,晶体管或门。它们直接在基板6上形成。在主动层上方提供了用于在主动元件7之间提供水平连接(在X方向或Z方向上)的多层金属互连8和用于在互连层之间进行连接的通孔9。金属互连和通孔被在图1中标记为ILD0至ILD4b的层级间介电材料包围。图1标记X轴、Y轴和Z轴,其中Z轴对应于指向纸张的第三维。图1中未示出的是具有到C4凸块的连接的高级金属堆叠,用于向芯片提供信号和功率。应当理解,这些也可以被提供。图1示出了具有四个金属层M1-M4和用于在金属层之间形成连接的相应通孔V0-V3的集成电路堆叠的示例。在该示例中,金属互连层M1和M3在X方向中延伸,而M2和M4在Z方向中延伸。
相比之下,图2示出了3D集成电路10(3DIC)的示例,其包括在Y方向上层叠在一起的两个或多个层级14的主动元件和互连层。在这个示例中,存在被标记为“顶部”和“底部”的两层级。每个层级包括一层主动元件(晶体管)15和多个金属层M1至M4以及通孔层V0至V3。顶部层级和底部层级使用层级间通孔16连接,在此示例中,该层级间通孔16连接底部层级的最高互连层M4与顶部层级的最低互连层M1连接。此外,在该示例中,顶部层级和底部层级中的金属层M1和M3在X方向中延伸,而两个层级中的M2和M4在Z方向中布线。应当理解,相应金属层在两个层级中不一定在相同方向中延伸。此外,为了简洁起见,图中未示出用于功率和信号(输入/输出)传送到芯片的C4凸块。
有一系列可用于生产3DIC的技术。在一种技术中,两个或多个预制的晶粒(各自单独地被制造有相应主动元件和金属互连)可以在制造之后利用穿硅通孔(through siliconvias,TSV)结合在一起,该穿硅通孔被预制至晶粒中的一个或两个,从而在晶粒结合之后在晶粒之间提供层级间通信。使用这种方法,TSV相对较大(例如,直径约为10μm),以确保晶粒之间的充分对准,因为晶粒是分开制造然后再对准的,因此需要在晶粒之间的相对定位中留一些容差。
在更精细的技术中,在将结合的晶圆封装到晶粒中之前,单独的硅晶圆(各自分别被处理为包括主动元件和互连)可以通过晶圆与晶圆之间的结合而结合在一起。例如,这种方法可以使用直径在0.5-1μm范围内的较小直径层级间通孔。
另一种方法是使用连续处理技术,其中在一般的处理技术中,在单个基板上逐层地构建多层级的主动元件和互连。例如,初始基板可以被处理以提供第一层级的主动元件和互连,并且然后经处理的晶圆可以被薄的介电层覆盖。硅磊晶层然后在先前的介电层的顶部上生长,并且被处理以提供第二层级的主动元件和互连。或者,第二晶圆可以结合在先前的晶圆的顶部上,并且然后一部分第二晶圆可以在结合之后被切掉,从而在先前的晶圆的顶部留下薄的一层硅,其然后可以被处理以提供第二层级的主动元件和互连。无论哪种方式,因为第二层级的主动元件和互连是使用与初始层相同的制造设备处理的,所以其可以在高对准精度下被处理为下层,并且这意味着可以使用更窄的层级间通孔。例如,这种较窄的层级间通孔可以被称为整块层级间通孔(monolithic inter-tier vias,MIV),并且可以具有约100nm或更小的直径。在沉积第二层级的主动元件和互连后,可以添加进一步的全局互连层,并且然后可以将元件准备好以用于进一步封装到半导体晶粒中。
因此,可以使用各种3D集成技术,并且本技术可以与任何这些技术一起使用。通常,术语3DIC用于指包括使用层级间通孔连接的两个或多个层级的主动元件的任何集成电路。层级间通孔也可以有替代名称,例如穿硅通孔(TSV)或整块层级间通孔(MIV)。层级间通孔的尺寸可以如上所述在大小上变化,并且层级间通孔的大小和密度/间距可以影响电路设计可以以何种水平被分区为多个层级。针对使用相对大的层级间通孔的3DIC,这对于将大的宏块(例如,处理器核,高速缓存等)分区为单独层级是有用的。例如,在多核芯片上系统(SoC)设计中,一个处理器核心可能位于较高层级,而另一处理器核心位于较低层级。另一方面,利用较小层级间通孔(例如,用于连续处理技术的亚微米通孔),这可以使得单个处理器内的组件能够被分区为两个或多个层级。因此,层之间的分区可以处于整个处理核心的水平,或者处于标准单元的块、单独标准单元、或晶体管水平。
虽然图2示出了具有两个层级的示例,但是应当理解,本技术也可以应用于具有三个或更多个层级的3DIC。此外,图2示出了其中层级14面对背堆叠的示例,即底部层级的基板的正面(其上形成主动元件的基板侧面)面向顶部层级的基板的背面(其上不形成的主动元件的基板侧面)。在其他3DIC技术中,可以将层级面对面或背对背堆叠。例如,在面对面布置中,图2所示的顶部层级将围绕X轴翻转,使得实际上金属层M4_TOP最接近金属层M4_BOT。在背对背布置中,底部层级将围绕X轴翻转,使得各个基板的背面彼此面对(即在这种情况下,M1_BOT将最接近于M1_TOP)。因此,应当理解,本技术不限于如图2的示例所示的面对背堆叠。
集成电路的设计通常使用已知为在计算机上执行的电子设计自动化(EDA)工具的软件工具进行,因为集成电路设计变得越来越复杂(例如,它们可能具有数百万或数十亿个晶体管),所以人类设计者指定精确的晶体管水平布局通常是不实际的。EDA工具可以由标准单元库支持,该标准单元库提供了已知为“标准单元”的半导体组件的基本块的数据库,其可以并入到设计中。例如,标准单元定义可以指定要被包括在设计中以提供特定功能的晶体管和输入/输出连接的布局。当提供有设计标准(例如,设计要满足的约束或目标、由设计提供的功能、或要被包括的诸如逻辑门之类的组件的更详细规范)时,EDA工具可以从单元库选择单元以满足这些标准,确定这些单元的放置,并且执行布线以提供各个单元之间的连接从而提供所需的功能。然后可以对放置和布线设计进行测试,例如通过对设计进行时序分析来检查设计是否满足各种时序要求。例如,可以测试设计中的信号传播延迟,以检查数据信号相对于由设计传播的时钟信号是否有足够的时间达到设计的部分,从而避免建立或保持违规。如果设计满足其时序要求,则其可以被签署以用于生产,而如果设计失败,则可以修改设计,例如,包括额外缓冲器以延迟信号来满足时序要求。
然而,大多数现有EDA工具仅用于2DIC,并且不支持3DIC设计。提供定制的3DICEDA工具将是昂贵的,因为它需要大量额外的开发,这将是昂贵的。因此,可以期望重新使用现有的2DIC EDA工具来辅助3DIC的设计。一种方法可以是根据3DIC所需的设计标准简单地生成2DIC设计,并且然后将针对2DIC确定的位置简单地对半分割,其中在2DIC设计的一半中的元件放置在顶部层级上并且在2DIC设计的另一半中的元件放置在3DIC的底部层级。然而,针对2DIC电路确定的放置可能不是在3DIC的相应层级之间分区元件的最有效的方法,因为它不考虑3DIC的相应层级的特征(例如,与顶部层级相比,底部层级可能遭受更多热效应,因为顶部层级可能有更高效的散热),并且与较长(并且因此较慢)水平接线相反,不能考虑通过使用层级间通孔获得的潜在改良。而且,当分割为两个独立3D层级时,针对2DIC确定的放置可能不允许有效的层级间通孔连接,因为要求彼此连接的各个层级中的元件实际上可能在水平(X或Z)维度上相隔很远,因此尽管使用层级间通孔,但仍可能需要相对较长的水平接线。
图3是示出用于使用针对2DIC设计的EDA工具来生成3DIC的设计的方法的示例的流程图。该方法允许使用现有的2DIC工具,不仅用于生成3DIC设计,而且还执行时序分析来测试3DIC的设计,从而节省开发定制工具的成本。请注意,虽然生成的设计是针对3DIC,但是因为它使用2DIC EDA工具进行设计,所以通过该方法生成的设计的数据表示仍然是2D形式,其中3DIC设计使用2DIC设计中的多个相邻分区表示,其中每个分区表示3DIC设计的相应层级。然而,在3DIC的制造期间,可以基于由EDA工具输出的2DIC数据表示的相应分区指定的布局来制造设计的每个独立层级。
一般而言,该方法包括多个阶段,包括设计感知分区阶段20、层级间通孔规划阶段22、3D实现阶段24和可选的时序分析阶段26。在其他示例中,时序分析阶段26可以省略,因为可以在设计过程的稍后阶段使用单独的时序分析工具来验证设计。
在设计感知分区阶段20中,从根据满足最终3DIC设计所需的相同设计标准生成的2DIC的设计的第一数据表示提取至少一个设计特征。基于提取的设计特征,3DIC设计的组件被分区成多个组件组,每个组件组对应于3DIC设计的层级中的一个。然后,在层级间通孔规划阶段22和3D实现阶段24中,生成2DIC的设计的第二数据表示,其包括彼此相邻设置的多个分区,每个分区表示3DIC的相应层级并且包括在阶段20中针对相应层级分区的组件组。层级间通孔规划阶段22确定3DIC设计的每个层级的层级间通孔位置,并且3D实现阶段24然后基于在规划阶段22中设置的层级间通孔位置来确定每个相应分区中的组件组的放置。在阶段24确定的放置独立于由在分区阶段20中考虑的第一数据表示表示的原始2DIC中的相应组件的放置被确定。
这种方法与先前技术相比具有若干优点。因为相应2DIC设计的设计特征被提取并且被用来将3DIC的组件分区为与相应层级相对应的组,所以可以考虑以下因素来确定改进的分区,例如,设计的模块之间的连接性、识别设计中的与较不关键路径相比应优先的关键路径、或设计中的功能模块的热行为。在知道相应2DIC的特征的情形下将组件分区为层级之后,然后确定在给定层级中的组件的单独放置,其独立于原始2DIC中的相应组件的放置。因此,EDA工具不限于简单地将元件的组件留在如前面讨论的替代方法中它们在原始2DIC设计的相应部分中被放置的相同位置,而是可以将每个分区的组件组自由地放置在其中可以帮助改善性能(例如,通过减少彼此互相连接的模块之间的互连长度)的位置。
此外,通过将生成表示3DIC设计的分区的2DIC设计的第二数据表示的步骤拆分到层级间通孔规划阶段22和3D实现阶段24,这可以进一步提高最终放置的效率。层级间通孔规划阶段22可以最初生成与由设计感知分区阶段20中考虑的第一数据表示表示的2DIC相比具有较小面积的单个层级2DIC设计中的组件组的临时放置。然后可以使用该临时放置来识别层级间通孔的位置。在某些情况下,在层级间通孔规划阶段中可以放置和布线设计的不止一个层级,并且该过程可以是迭代的,其中确定两个或多个层级的临时放置,然后针对一个层级确定的放置基于从另一层级确定的放置提取的特征被调整,从而逐渐细化层级间通孔的位置,使得可以更有效地做出设计(例如,通过减少与某些关键路径相关联的处理延迟)。在规划阶段22中固定层级间通孔的位置之后,3D实现阶段24然后可以参考这些层级间通孔的固定位置来确定2DIC设计的每个分区的放置。因此,在阶段24中,这允许EDA工具参考固定层级间通过位置进一步细化给定层级中的组件的放置,而不受限于规划阶段22中的临时放置。例如,一旦已经固定层级间通孔位置,在规划阶段22考虑的临时放置可能不再是特定层级的最有效的放置(因为基于其他层级确定的层级间通孔位置的折衷可以使得更新给定层级的放置更为有效),由此通过在3D实现阶段24中确定新的放置,可以更有效地做出设计。
现在将更详细地描述图3所示的过程的每个阶段。
设计感知分区20
如图3所示,在设计感知分区阶段20中,根据满足最终3DIC设计所需的预定设计标准,在步骤30处实现2DIC设计。例如,设计标准可以指定设计要满足的设计约束或目标以及将要提供的设计的功能(例如,使用RTL定义的)。可以使用任何已知技术并且使用标准2DEDA工具来实现2D设计。因此,EDA工具生成表示2DIC的设计的第一数据表示。该2DIC包括与将要设计的整个3DIC相对应的功能,而不仅是单个层级。因此,由第一数据表示表示的2DIC设计的总面积通常将大于3DIC设计的最终面积。
在步骤32处,从2DIC设计的第一数据表示提取一个或多个设计特征,以用于引导将设计的组件分区为与3DIC设计的层级相对应的组。此外,在步骤34处,可以从RTL或用作到2D实现步骤30的输入的设计的功能行为的另一表示、或从在步骤30处创建的2D设计的数据表示提取指示各个组件(例如,设计模块或功能块)之间的连接数量的连接信息。在步骤36处,连接信息和在步骤32处提取的设计特征被用来将由RTL表示的3DIC的组件分区为例如两个或多个组件组(例如,两个层级3DIC设计的顶部组和底部组),每个组对应于3DIC设计的层级中的一个。
例如,在步骤32处提取的设计特征可以包括以下任一项:
1.在综合之后映射的门的逻辑功能。
2.设计中的网的大小(设计中信号扇出的指示,其可以用多少输入节点被提供至给定输出节点或取决于给定输出节点的输出的多少后续节点来表示)。
3.关键路径的时序信息和包括关键路径的功能块。
4.每个功能块的面积。
5.每对功能块之间的连接数量。
6.每个信号连接中的接线资源利用,例如,使用哪些金属互连层。
7.功能模块的热和活动(功耗)曲线。
使用从2D实现获得的设计信息知识,在步骤36处可以考虑设计特征将RTL分区为单独的组件组从而提供更有效的分区。此外,步骤36处的分区还可以考虑至少一个3DIC制造工艺约束,其限制了在实践中制造3DIC的方式。例如,处理约束可以限制可以被包括在3DIC设计的特定层级中的可用金属层的数量,或者可以指定放置在特定层级上的元件与将它们放置在不同的层级上时相比可能具有劣化的性能,由此通过将这些处理约束包括在分区决定中,可以提高组件到组的整体拆分。
例如,在步骤36处的分区可以旨在满足以下目的中的任一个或多个:
1.将具有多个关键时序路径的功能块放置在独立组/层级中。
2.在其间具有信号反馈的功能模块应当被放置在独立组/层。
3.最大化顶部组/层级与底部组/层级之间的连接数量。
4.向上遍历全局金属层(例如,M5及以上)的信号是分区的候选。针对底部层级中的网,如果存在与长线相关联的缓冲器,则将其放置在顶部层级(目的1-4全部利用层级间通孔连接可能快于层级内连接的属性)。
5.将具有高热/活动曲线的块放置在顶部层级(其中可以有更好的散热)。
6.将非关键路径放置在具有降级元件的层级中。
7.将大型网放置在具有更多金属层的层级中。
8.平衡顶部组/层级与底部组/层级的面积(确保更有效地利用电路面积,避免一个层级具有大的空面积由此使得整体面积减小)。
在某些情况下,分区可能旨在平衡这些目的中的若干目的。例如,分区可以基于实现多少目的和/或在多大程度上实现目的(例如,基于定性指示,例如是否已将具有高热曲线的元件放置在顶部层级上,或定量指示,例如有多少连接经过在顶部层级和底部层级之间)将分区质量得分分配给组件到组的给定拆分。该工具可以计算用于将组件分区为组的多个不同选项的分区质量得分,并且然后选择给出最高得分的分组。因为一些目的可能相互排斥,所以最终选择的分组可能是多个目的之间的折衷。
作为示例,图4示出了满足上述目的1、3和8的设计感知分区的情况。图4的部分A示出了给定设计的多个模块A至F,并且基于在步骤30处确定的设计的2D实现,识别出在模块A和B之间存在关键路径。同样,各个模块之间的连接数量被确定。这在部分A中使用编号的箭头作为示例说明。例如,模块F从模块E接收四个输入连接,而模块E从模块D接收一个连接。
因此,为了满足关键路径中涉及的块应该被放置在独立组/层级中的需求,块A和B被固定在不同的层级中,而其他块C到F可以被自由地分配给顶部组或底部组。在该示例中,通过将块D和F分配到顶部组并且将C和E分配给底部组,可以最大化跨过层级之间的时序路径的数量,同时针对每个层级保持平衡的电路面积。应当理解,在实际中,真实集成电路可以具有比六个多得多的模块。
确定分区的其他标准可以是检查两个以上模块的组之间的连接。例如,如果三个模块A,B和C连接如下:A→B→C,则模块A和C没有明确的连接,它们通过模块B隐式连接,因此考虑模块A和C的相对放置也可以是有用的。通过首先将中间模块B放置在一个或其他组中,然后使用它来引导应当将连接到B的模块A和C放置在何处,这可以产生更有效的分区。例如,模块B可以被分配给顶部组,而模块A和C可以被分配给底部组,使得从A到B的连接和从B到C的连接跨过层级之间。这利用了这样一个事实,即一般地,层级间通信通常将比在单个层级内水平延伸的接线更快。
上面的示例讨论了在模块水平将3DIC组件分区为组(其中每个模块对应于例如实现给定逻辑功能集合的一组标准单元),也可以在更细粒度水平对设计进行分区,例如,在标准单元或晶体管水平。因此,分区为组的组件也可以是标准单元或晶体管。
层级间通孔规划22
在层级间通孔规划阶段22中,确定3DIC设计的层级间通孔的位置。在步骤40处,针对新的2DIC设计确定针对层级中的给定层级在分区阶段20处确定的组件组的放置和布线,与在步骤30处由第一数据表示表示的原始2D设计相比,该新的2DIC设计使用较小芯片面积。例如,如果3DIC具有两个层级,则在步骤40处形成的2DIC设计可以使用原始2D芯片面积的50%,并且可以首先放置顶部层级或底部层级。例如,使用图4的示例中所示的模块A至F的分区,图5示出了使用分配给图4中的顶部组的组件A、D、F的组来确定顶部层级的临时放置的示例。该放置是临时放置,因为将在3D实现阶段24中再次确定顶部层级中的相应组件的实际放置。临时放置是为了固定层级间通孔位置而不是确定最后的芯片设计的目的做出的。在图3的步骤42处,顶部层级和底部层级之间的连接(层级间通孔)被建模为输入/输出(I/O)引脚44(参见图5)。然而,与其中I/O引脚端口将被放置在设计的外围的传统2D设计不同,在步骤42中,I/O引脚44被放置在设计的层级的组件A、D、F的驱动或接收单元46上方的位置处。
如图6所示,在图3的步骤48处,在步骤42处确定的层级间通孔位置44随后被用来设置与3DIC设计的相邻层级相对应的新设计中的相应层级间通孔位置50。其他层级被表示为独立的2DIC设计(不链接到首先放置的层级的设计),与在步骤30处实现的2DIC设计相比,同样具有减小的电路面积。如图6的示例所示,针对面对背3DIC技术,第二层级中的层级间通孔位置50的坐标通常将与在步骤42处确定的第一层级中的相应层级间通孔位置44相同。然而,这不是必要的。例如,针对面对面或背对背3DIC实现,一个层级可以相对于另一层级翻转,因此基本上针对一个层级确定的I/O端口位置可以在另一层级中成镜像,使得它们不再具有相同的坐标。
在一些实现方式中,放置和布线两个层级设计中的一个层级或具有两个层级以上的3DIC设计的一些层级就足够了。例如,剩余层级的层级间通孔位置可以简单地参考针对其所连接的其他层级确定的放置被固定。然而,这可能不会产生最有效的层级间通孔位置。
使用迭代方法可以实现更有效的设计。因此,在步骤48处,在已经固定层级间通孔位置50的情况下,EDA工具然后可以参考I/O端口50的固定位置(其建模针对另一层级已经确定的层级间通孔的位置)来放置和布线另一层级的组件。EDA放置工具倾向于将连接到I/O引脚的单元放置在引脚本身的物理位置附近以减少时序延迟,因此通过使用I/O引脚建模层级间通孔位置,这增加了连接到给定层级间通孔的组件靠近该通孔被放置的可能性。在图7的示例中,例如,实现了底部组,并且具有到顶部组的连接的功能模块B、C、E及其各自的标准单元被放置在相应的层级间通过位置附近。放置并且布线底部组后,可能会发现根据顶部组的放置固定的层级间通孔位置不允许最有效地放置底部组件。因此,可以使用从底部组的放置提取的特征来细化顶部组放置并且调整层级间通孔的位置。因此,如图3中的虚线52所示,该过程可以是迭代的,其中进行放置和布线每个层级的多次尝试,并且使用从一个层级的放置获得的特征来改进另一个层级的放置,最终到达层级间通孔的位置,其实现跨过所有层级的更有效的放置。
虽然图5至图7和图3示出了其中层级间通孔位置由顶部组开始确定的示例,但是也可以从底部组或任何其他层级开始,或者如所讨论的那样迭代地实现两个组。
在分开实现的每个层级包括其相应分区的组件组和固定的层级间通孔位置的情况下,如针对3D实现阶段24的图8所示,仅保留有关每个层级中的层级间通孔位置的信息,并且丢弃在规划阶段22中确定的临时放置信息的剩余部分。
3D实现24
在3D实现阶段24的步骤64中,在包括各自与设计的一个层级相对应的多个分区60(图8所示)的单个2DIC设计中,彼此相邻地实现3DIC的所有层级。例如,针对两个层级3DIC设计,由3D实现阶段24实现的设计表示的2DIC可以具有2:1的纵横比,其中每个层级的分区占据原始设计的50%的面积。类似地,如果存在三个或更多个层级,则纵横比可以是N:1,并且每个层级可以占据由步骤30处的第一数据表示表示的原始2DIC设计的面积的1/N。或者,针对一些设计,分区可以在两个维度上扩展(例如,4层级设计可以布置为2×2)。在层级之间创建硬分区,使得在分区阶段20中分配至给定层级的组件组(例如,单元、功能模块或门)被放置在2DIC设计的相应分区60中。如图8所示,在步骤66处,每个分区中的层级间通孔位置62首先在新分区的2D设计中被固定,再次由I/O端口建模。
如图9所示,在步骤68处,在不同分区60中的相应层级间通孔端口之间添加虚拟互连70从而建模相应层级间通孔。也就是说,针对3DIC的每个层级间通孔,相应分区中的相应层级间通孔端口通过虚拟互连链接。这些虚拟互连不用于实际设计中的布线,而是出于时序分析目的模拟层级间通孔。这允许2DIC时序分析工具用于测试以分区形式表示为2DIC设计的3DIC设计的时序要求,以避免需要特殊的3D时序分析工具。在时序分析期间,可以将与虚拟互连相关联的信号路径延迟设置为零,或设置为用于更准确显示与沿着层级间通孔传播的信号相关联的期望延迟的预定层级间通孔延迟量。
如图10所示,虚拟互连70可以使用高于2DIC设计中用于实际互连的最高互连金属层的金属层来实现。选择哪个金属层用作虚拟互连层可以取决于在步骤32处提取的设计特征。例如,如果根据在步骤30处实现的原始2D设计确定设计仅使用最高到金属层M6,则金属层M7和更高层可以用于虚拟互连70,以便在设计中不干扰实际互连的布线。
如图10所示,在图3的步骤72处,将锚定单元74放置在每个分区中的每个层级间通孔端口的位置处。锚定单元74用于将虚拟互连金属层(例如图10的示例中的M8)中的虚拟互连70耦合到较低互连金属层中的实际互连。例如,如图1或图2所示,给定的金属互连层通常使用通孔V0-V3直接连接到相邻的金属互连层,但不相邻层之间没有直接连接。例如,在图1中,金属互连层M2通过通孔V2连接到层M3并且通过通孔V1连接到层M1,但是层M1和M3之间没有直接连接。然而,当建模经过层级之间的层级间通孔16时,层级间通孔16可能需要当在分区的2D设计中表示时连接不在相邻层中的金属互连。例如,如图2所示,层级间通孔16将顶部层级的层M1中的金属互连连接到底部层级的层M4中的互连,因此当如图8至图11所示在分区的2DIC设计中模拟这些情形时,锚定单元74用于桥接间隙。
例如,图10示出了示例,其中在底部分区中锚定单元74将层M6中的实际信号线76简单地连接到层M8中的虚拟互连70,这里可以使用标准通孔,因此锚定单元74的输入和输出端口可以处于相同的水平(例如,M6)。然而,针对顶部分区,锚定单元74需要链接到耦合到虚拟接线70的层M6中的输入引脚和连接到实际互连78的层M1中的输出引脚,并且标准通孔V0-V3等将不实用,因为这可能干扰中间层中真实互连的布线。因此,锚定单元74模拟图2的示例中的层级间通孔16将通过半导体基板连接到第一金属互连层M1的事实。
锚定细胞74实际上是添加到由2DIC EDA工具使用的单元库中的新的虚拟单元,并且其具有以下性质:
·其逻辑功能是缓冲器单元的逻辑功能(即,单元的输出与其输入值相同);
·其在转换期间具有0输入到输出延迟和主动/泄漏功率;
·其输入引脚和输出引脚可以在不同的金属层上。
通过提供这样的锚定单元,可能传送到达最后金属层的在顶部层级中的层级间通孔信号,并且与虚拟互连70一起,这实现使用2DIC工具执行针对3DIC设计的时序分析。
此外,锚定单元可以用于在层级间通孔的位置周围施行禁用区域,以防止相邻单元被放置针对层级间通孔所需要被保持空白的区域中。这可以通过将锚定单元定义为具有对应于将被所使用的特定3DIC技术中的层级间通孔占用的面积的电路面积来完成。例如,2DIC EDA工具的标准单元库可以具有对应于如上所述具有不同直径的不同形式的层级间通孔的多个版本的锚定单元,并且然后适合于特定3DIC技术的锚定单元可以在设计要使用该技术制造的芯片时从库中被选择。
在图3的步骤80处,然后针对3DIC设计的所有层级同时执行新的放置和布线步骤,以将分配给每个层级的组件组放置和布线到其对应的2DIC设计的分区60中,同样参考固定的I/O端口位置和放置在每个I/O端口的位置处的锚定单元74执行放置,并且虚拟连接70链接对应于相同层级间通孔的相应I/O端口。最终放置和布线设计在图11中示意性地示出。注意,在步骤80处确定的放置和布线独立于在步骤30处确定的2D设计的原始放置和在规划阶段22中确定的临时放置两者。虽然在步骤80处确定的放置仍然可以与在步骤40或48处确定的放置相同,但是它不必是相同的,并且重新计算放置的自由允许参考固定的层级间通孔位置来确定改进的放置,例如以最小化设计中的信号传播时间。在步骤80处确定的放置和布线的2DIC设计由第二数据表示来表示,其然后被输出用于时序分析。
在时序分析阶段26中,在步骤82处,使用2DIC静态时序分析工具来测试设计是否满足其时序要求。在步骤84中,确定设计是否满足时序要求。如果存在任何时序违规(例如,建立或保持违规),则设计失败,并且在步骤86处,调整设计以消除那些时序违规。例如,可以通过在设计中的数据和/或时钟路径上添加附加缓冲器来消除时序违规。在某些情况下,设计的调整可能需要重复早期阶段20、22、24中的某些部分。调整设计以消除时序违规之后,然后重复步骤82的时序分析,并且时序分析循环步骤82至86,直到最终找到满足时序要求的设计,并且此时在步骤87处设计被签署。在步骤88处,以2DIC分区格式表示3DIC设计的第二数据表示然后可以用于控制3DIC本身的制造(尽管可以首先执行中间步骤以移除虚拟接线70并且在制造之前将锚定单元74转换到层级间通孔)。在实践中,制造通常可以由不同方与电子设计过程分开进行,因此例如在步骤80生成的第二数据表示可以被提供给制造商来控制制造设备。在3DIC设计的制造期间,可以基于为被定义为第二数据表示的2DIC设计的相应分区60指定的放置和布线来制造每个层。
总之,该技术至少具有以下优点:
·其允许使用2D EDA工具进行块水平和门水平3D实现。
·其可用于实现基于TSV、基于面对面和面对背晶圆结合或整块3D层级间通孔(VIA)设计。
·其允许芯片设计师引导设计分区。
·其可同时实现和提高多个层级的布局效率。
·其非常灵活,因为其允许在RTL水平实现任何分区方案。
在本申请中,词语“配置为...”用于表示装置的元件具有能够执行定义的操作的配置。在这种情况下,“配置”是指硬件或软件的互连的布置或方式。例如,设备可以具有提供定义的操作的专用硬件,或者可以对处理器或其他处理设备进行编程以执行功能。“配置为”并不意味着装置元件需要以任何方式进行更改,以便提供定义的操作。
虽然本文参考附图已经详细描述了本发明的说明性实施例,但是应当理解,本发明不限于这些精确实施例,并且本领域技术人员可以在不脱离由所附权利要求限定的本发明的范围和精神的情况下,在本发明中实现各种改变和修改。
Claims (17)
1.一种用于根据预定的设计标准生成三维集成电路(3DIC)的设计的计算机实现的方法,所述三维集成电路包括通过层级间通孔连接的多个层级的主动元件;所述方法包括:
从根据所述预定的设计标准生成的二维集成电路(2DIC)的设计的第一数据表示提取至少一个设计特征,所述2DIC包括单个层级的主动元件;
基于从所述第一数据表示提取的所述至少一个设计特征将所述3DIC的组件分区为多个组件组,每个组件组对应于所述多个层级中的一个层级;以及
生成2DIC的设计的第二数据表示,其包括彼此相邻设置的多个分区,每个分区表示所述3DIC的相应层级并且包括所述相应层级的组件组和表示用于将所述相应层级连接到另一层级的层级间通孔的位置的层级间通孔端口,其中给定分区的组件组的放置独立于由所述第一数据表示表示的所述2DIC中的相应组件的放置被确定,
其中,所述生成所述第二数据表示包括:
层级间通孔规划阶段,包括确定所述层级间通孔的位置,以及
3D实现阶段,包括基于在所述层级间通孔规划阶段中确定的所述层级间通孔的位置,来确定每个相应分区的组件组的放置;
其中,所述层级间通孔规划阶段包括:
针对所述多个层级中的至少一个层级确定与由所述第一数据表示表示的所述2DIC相比具有较小面积的单个层级2DIC设计中的相应组件组的临时放置,以及
使用针对所述至少一个层级确定的所述临时放置来识别所述层级间通孔的位置;并且
其中,所述3D实现阶段包括:
定义在所述2DIC的设计的所述第二数据表示中彼此相邻设置的所述多个分区;
在所述多个分区中的每个分区中,将所述层级间通孔端口放置在所述层级间通孔规划阶段中确定的所述层级间通孔的位置处;以及
参考所述层级间通孔端口的位置,对所述多个分区的组件组的进行放置和布线。
2.根据权利要求1所述的方法,其中,所述层级间通孔的位置由迭代过程确定,所述迭代过程包括确定所述层级中的两个或多个层级的临时放置并且根据从针对另一层级确定的临时放置提取特征来调整针对一个层级确定的临时放置。
3.根据权利要求1所述的方法,其中,在所述第二数据表示中,用于连接所述3DIC的两个层级的层级间通孔被表示为连接与所述两个层级相对应的所述2DIC的相应分区中的相应层级间通孔端口的虚拟互连。
4.根据权利要求3所述的方法,其中,由所述第二数据表示表示的所述2DIC包括多个互连金属层,并且所述虚拟互连被分配到高于在所述2DIC中用于实际互连的最高互连金属层的虚拟互连金属层。
5.根据权利要求4所述的方法,包括将锚定单元放置在与所述相应分区中的所述相应层级间通孔端口相对应的位置处,每个锚定单元将所述虚拟互连金属层中的虚拟互连耦合到较低互连金属层中的实际互连。
6.根据权利要求5所述的方法,其中,所述锚定单元具有缓冲器的逻辑功能。
7.根据权利要求5所述的方法,其中,所述2DIC的设计中由所述锚定单元占用的区域对应于所述3DIC中由层级间通孔占用的区域。
8.根据权利要求1所述的方法,包括执行时序分析以用于验证由所述第二数据表示表示的所述2DIC是否满足时序要求。
9.根据权利要求8所述的方法,其中,响应于所述时序分析确定所述2DIC将不满足所述时序要求,所述第二数据表示被更新以修改所述2DIC的设计,并且使用更新的第二数据表示重复所述时序分析。
10.根据权利要求3所述的方法,包括执行时序分析以用于验证由所述第二数据表示表示的所述2DIC是否满足时序要求,其中与所述虚拟互连相关联的路径延迟被设置为层级间通孔延迟量或零。
11.根据权利要求1所述的方法,其中,在所述分区步骤中分区的组件包括功能块或单元。
12.根据权利要求1所述的方法,其中,在所述分区步骤中分区的组件包括门。
13.根据权利要求1所述的方法,其中,从所述第一数据表示提取的所述至少一个设计特征包括以下至少一个的特征:
设计的组件的逻辑功能;
设计中的信号扇出;
设计中的关键路径;
设计的组件的区域;
设计的各个部件之间的连接;
在设计中使用了哪些金属互连层;
设计的组件的热性能;以及
设计的组件的功耗。
14.根据权利要求1所述的方法,其中,将所述组件分区为组件组还基于至少一个3DIC制造工艺约束。
15.根据权利要求1所述的方法,包括利用根据由所述第二数据表示表示的所述2DIC的相应分区的设计制造的所述3DIC的每个层级来制造所述3DIC。
16.一种存储计算机程序的非暂态记录介质,该计算机程序用于控制计算机执行权利要求1的方法。
17.一种包括处理电路的装置,该处理电路用于执行权利要求1的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/252,592 US10678985B2 (en) | 2016-08-31 | 2016-08-31 | Method for generating three-dimensional integrated circuit design |
US15/252,592 | 2016-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107798159A CN107798159A (zh) | 2018-03-13 |
CN107798159B true CN107798159B (zh) | 2023-11-17 |
Family
ID=61242804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710735324.3A Active CN107798159B (zh) | 2016-08-31 | 2017-08-24 | 用于生成三维集成电路设计的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10678985B2 (zh) |
KR (1) | KR102423040B1 (zh) |
CN (1) | CN107798159B (zh) |
TW (1) | TW201820185A (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678985B2 (en) * | 2016-08-31 | 2020-06-09 | Arm Limited | Method for generating three-dimensional integrated circuit design |
CN109920787B (zh) * | 2017-12-12 | 2021-05-25 | 中芯国际集成电路制造(北京)有限公司 | 互连结构的设计方法、装置及制造方法 |
US10599806B2 (en) | 2018-03-28 | 2020-03-24 | Arm Limited | Multi-tier co-placement for integrated circuitry |
US11127673B2 (en) * | 2018-08-20 | 2021-09-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Semiconductor device including deep vias, and method of generating layout diagram for same |
KR102282806B1 (ko) * | 2018-09-14 | 2021-07-27 | 시놉시스, 인크. | 엘모어 지연 시간 (edt) 기반 저항 모델 |
CN109885850B (zh) * | 2018-10-11 | 2023-01-24 | 中国科学院微电子研究所 | 一种局部寄存器的生成方法及生成系统 |
US10796976B2 (en) | 2018-10-31 | 2020-10-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Semiconductor device and method of forming the same |
US11270988B2 (en) * | 2020-01-20 | 2022-03-08 | Monolithic 3D Inc. | 3D semiconductor device(s) and structure(s) with electronic control units |
US11488939B2 (en) * | 2020-01-20 | 2022-11-01 | Monolithic 3D Inc. | 3D semiconductor devices and structures with at least one vertical bus |
US12021028B2 (en) * | 2020-01-20 | 2024-06-25 | Monolithic 3D Inc. | 3D semiconductor devices and structures with electronic circuit units |
CN112016259B (zh) * | 2020-08-31 | 2022-08-30 | 上海兆芯集成电路有限公司 | 电路及其配置方法 |
US11455454B2 (en) * | 2020-11-24 | 2022-09-27 | Arm Limited | Methods and apparatuses for concurrent coupling of inter-tier connections |
KR102291397B1 (ko) * | 2021-01-21 | 2021-08-20 | 노환승 | 인쇄회로기판 역설계 시스템 및 그 방법 |
US11436402B1 (en) | 2021-03-31 | 2022-09-06 | Cadence Design Systems, Inc. | Electronic design 3D mixed placement and unfolding |
US11693796B2 (en) * | 2021-05-31 | 2023-07-04 | Arm Limited | Multi-dimensional data path architecture |
US11775723B1 (en) * | 2021-06-30 | 2023-10-03 | Cadence Design Systems, Inc. | Methods, systems, and computer program products for efficiently implementing a 3D-IC |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060116798A (ko) * | 2006-03-15 | 2006-11-15 | 피디에프 솔루션즈, 인코포레이티드 | 제조가능성을 최적화하기 위한 집적 회로 디자인 |
US8959472B1 (en) * | 2013-09-27 | 2015-02-17 | Arm Limited | Considering compatibility of adjacent boundary regions for standard cells placement and routing |
CN105378918A (zh) * | 2013-07-16 | 2016-03-02 | 高通股份有限公司 | 使用单片三维(3d)集成电路(ic)(3dic)技术完成片上系统(soc) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW478255B (en) * | 2000-12-13 | 2002-03-01 | Via Tech Inc | Circuit static timing analysis method using generated clock |
US20050015740A1 (en) * | 2003-07-18 | 2005-01-20 | Mentor Graphics Corp. | Design for manufacturability |
US7312487B2 (en) * | 2004-08-16 | 2007-12-25 | International Business Machines Corporation | Three dimensional integrated circuit |
JP4398989B2 (ja) * | 2007-03-26 | 2010-01-13 | 株式会社東芝 | 三次元集積回路設計方法及び三次元集積回路設計装置 |
US8060843B2 (en) * | 2008-06-18 | 2011-11-15 | Taiwan Semiconductor Manufacturing Company, Ltd. | Verification of 3D integrated circuits |
US8146032B2 (en) | 2009-01-30 | 2012-03-27 | Synopsys, Inc. | Method and apparatus for performing RLC modeling and extraction for three-dimensional integrated circuit (3D-IC) designs |
US9021414B1 (en) * | 2013-04-15 | 2015-04-28 | Monolithic 3D Inc. | Automation for monolithic 3D devices |
US8832608B1 (en) * | 2013-06-17 | 2014-09-09 | Duke University | Retiming-based design flow for delay recovery on inter-die paths in 3D ICs |
US9483598B2 (en) * | 2015-02-09 | 2016-11-01 | Qualcomm Incorporated | Intellectual property block design with folded blocks and duplicated pins for 3D integrated circuits |
US10678985B2 (en) * | 2016-08-31 | 2020-06-09 | Arm Limited | Method for generating three-dimensional integrated circuit design |
-
2016
- 2016-08-31 US US15/252,592 patent/US10678985B2/en active Active
-
2017
- 2017-08-24 CN CN201710735324.3A patent/CN107798159B/zh active Active
- 2017-08-24 KR KR1020170107012A patent/KR102423040B1/ko active IP Right Grant
- 2017-08-30 TW TW106129487A patent/TW201820185A/zh unknown
-
2020
- 2020-04-29 US US16/861,286 patent/US11625522B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060116798A (ko) * | 2006-03-15 | 2006-11-15 | 피디에프 솔루션즈, 인코포레이티드 | 제조가능성을 최적화하기 위한 집적 회로 디자인 |
CN105378918A (zh) * | 2013-07-16 | 2016-03-02 | 高通股份有限公司 | 使用单片三维(3d)集成电路(ic)(3dic)技术完成片上系统(soc) |
US8959472B1 (en) * | 2013-09-27 | 2015-02-17 | Arm Limited | Considering compatibility of adjacent boundary regions for standard cells placement and routing |
Also Published As
Publication number | Publication date |
---|---|
KR20180025210A (ko) | 2018-03-08 |
US20200257841A1 (en) | 2020-08-13 |
US11625522B2 (en) | 2023-04-11 |
US20180060475A1 (en) | 2018-03-01 |
CN107798159A (zh) | 2018-03-13 |
US10678985B2 (en) | 2020-06-09 |
TW201820185A (zh) | 2018-06-01 |
KR102423040B1 (ko) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798159B (zh) | 用于生成三维集成电路设计的方法 | |
Das | Design automation and analysis of three-dimensional integrated circuits | |
US9064077B2 (en) | 3D floorplanning using 2D and 3D blocks | |
JP3737104B2 (ja) | プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法 | |
US10418354B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
Lim | Design for high performance, low power, and reliable 3D integrated circuits | |
US20150234971A1 (en) | Apportioning synthesis effort for better timing closure | |
KR102527749B1 (ko) | 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 | |
US11436402B1 (en) | Electronic design 3D mixed placement and unfolding | |
Kabir et al. | Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design | |
Zhu et al. | Design automation and test solutions for monolithic 3D ICs | |
US9721051B2 (en) | Reducing clock skew in synthesized modules | |
Jagtap et al. | A methodology for early exploration of TSV placement topologies in 3D stacked ICs | |
US9293450B2 (en) | Synthesis of complex cells | |
TW202414244A (zh) | 產生三維積體電路設計的方法 | |
Murali et al. | Heterogeneous 3d ics: Current status and future directions for physical design technologies | |
US20060136854A1 (en) | Method for placement of pipeline latches | |
Xie et al. | Design space exploration for 3D integrated circuits | |
Milojevic et al. | Pathfinding: A design methodology for fast exploration and optimisation of 3D-stacked integrated circuits | |
Chen et al. | Reshaping System Design in 3D Integration: Perspectives and Challenges | |
Deng et al. | 3-dimensional VLSI: A 2.5-dimensional Integration Scheme | |
Lienig et al. | Methodologies for Physical Design: Models, Styles, Tasks, and Flows | |
Berry et al. | IBM z15: Physical design improvements to significantly increase content in the same technology | |
Jenila et al. | Implementation of Routing-denser PnR Flow for an Efficient IC Block Level Design | |
Lim | Physical design for 3D ICs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |