CN109033580A - 一种应用于三维集成电路的层分配方法 - Google Patents

一种应用于三维集成电路的层分配方法 Download PDF

Info

Publication number
CN109033580A
CN109033580A CN201810759490.1A CN201810759490A CN109033580A CN 109033580 A CN109033580 A CN 109033580A CN 201810759490 A CN201810759490 A CN 201810759490A CN 109033580 A CN109033580 A CN 109033580A
Authority
CN
China
Prior art keywords
layer
integrated circuit
dimensional
space
integrated circuits
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.)
Pending
Application number
CN201810759490.1A
Other languages
English (en)
Inventor
高文超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China University of Mining and Technology Beijing CUMTB
Original Assignee
China University of Mining and Technology Beijing CUMTB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China University of Mining and Technology Beijing CUMTB filed Critical China University of Mining and Technology Beijing CUMTB
Priority to CN201810759490.1A priority Critical patent/CN109033580A/zh
Publication of CN109033580A publication Critical patent/CN109033580A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

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)
  • Architecture (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种应用于三维集成电路的层分配方法,首先建立三维集成电路的布局空间和芯片模型;基于所建立的布局空间进行三维空间的总体布局,得到集成电路单元在三维空间的均匀分布;将空间均匀分布的集成电路单元分配在所建立芯片模型的每个芯片层上;在完成层分配之后,采取二维整体优化方法进一步优化线长,以减小线长和每层的重叠,完成三维集成电路的整体布局。上述方法可以尽可能地继承三维优化结果,保护解空间,从而得到较好的线长结果、TSVs数量和运行时间,满足集成电路的高精度需求。

Description

一种应用于三维集成电路的层分配方法
技术领域
本发明涉及集成电路技术领域,尤其涉及一种应用于三维集成电路的层分配方法。
背景技术
随着信息时代的极快发展,作为计算机组成的硬件部分已然成为信息社会更快发展的一个瓶颈,虽然芯片的集成度越来越高,但也是由于集成度的急剧增长带来了芯片设计领域的重要难题。在近十年里,芯片的制造工艺也已经从2002年的130nm级,发展到了现在的22nm级,集成电路制造工艺的不断发展也带来了许多新的问题,芯片中互连线宽的缩小和互连线长度的增加导致了线上延迟的不断增大,影响了芯片性能。
为了进一步降低互连延迟,提高芯片性能,在芯片设计与制造工艺中,出现了三维集成电路(3D IC,Three-dimensional integrated circuit)的概念。三维集成电路的所有器件分布在不同的器件层,并通过垂直互连将多层器件集成在同一个芯片中。由于器件层间的距离很小(通常是微米级),相对于二维芯片,三维芯片可以有效的缩短器件之间的距离,避免绕线,从而降低连线复杂度以及拥挤度。同时三维芯片能够有效的提高晶体管集成度,降低芯片面积和功耗,通过在不同器件层上实现不同类型的电路(数字电路/模拟电路/IP模块),可实现多种功能器件及电路系统的集成。
三维布局的最终目的是将单元分布到不同芯片层上,总体布局得到的结果是单元在三维空间的分布,单元的位置在空间是连续的,而最终需要将单元分布到离散的各个芯片层上。而现有技术中的三维布局手段得到的布局结果质量不高,缺少必要的物理位置信息,很难保证层分配的结果,无法满足集成电路的高精度需求。
发明内容
本发明的目的是提供一种应用于三维集成电路的层分配方法,该方法可以尽可能地继承三维优化结果,保护解空间,从而得到较好的线长结果、TSV数量和运行时间,满足集成电路的高精度需求。
本发明的目的是通过以下技术方案实现的:
一种应用于三维集成电路的层分配方法,所述方法包括:
步骤1、首先建立三维集成电路的布局空间和芯片模型;
步骤2、基于所建立的布局空间进行三维空间的总体布局,得到集成电路单元在三维空间的均匀分布;
步骤3、将空间均匀分布的集成电路单元分配在所建立芯片模型的每个芯片层上;
步骤4、在完成层分配之后,采取二维整体优化方法进一步优化线长,以减小线长和每层的重叠,完成三维集成电路的整体布局。
由上述本发明提供的技术方案可以看出,上述方法可以尽可能地继承三维优化结果,保护解空间,从而得到较好的线长结果、TSV数量和运行时间,满足集成电路的高精度需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供应用于三维集成电路的层分配方法流程示意图;
图2为本发明实施例所提供最小代价流网络的示意图;
图3为本发明实施例所举出的线网分解的示意图;
图4为本发明实施例所举出的实例中二层及三层三维布局结果示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
下面将结合附图对本发明实施例作进一步地详细描述,如图1所示为本发明实施例提供应用于三维集成电路的层分配方法流程示意图,所述方法包括:
步骤1、首先建立三维集成电路的布局空间和芯片模型;
在步骤1的实施过程中,假设三维集成电路的布局空间是一个立方体空间,其中立方体空间的z方向高度由用户来指定;
每个集成电路单元假设为一个小立方体,所有集成电路单元具有同样的z方向高度,这个高度是立方体空间的z方向高度与芯片层数的比值。
步骤2、基于所建立的布局空间进行三维空间的总体布局,得到集成电路单元在三维空间的均匀分布;
在该步骤中,具体采用非线性规划统一建模方法,将集成电路单元的非线性线长目标与集成电路单元的分布目标统一成为非线性目标函数;
再利用非线性规划法求解该非线性目标函数的最小值,得到所述集成电路单元的空间位置分布。
举例来说,首先将一个电路表示为超图H=(V,E),V={v1,v2,...,vn}表示单元,E={e1,e2,...,en}表示超边,布局区域R,层数K。
本发明实施例所举的方法是将每个单元ci∈V放置到特定层的某个合适的位置,在尽量减少单元重叠的情况下,使总的线长和TSV的数量最小。每个单元位置用三元组(xi,yi,zi)表示,说明第i个单元被放置在zi∈{1,2,...,K}层,它的中心在(xi,yi)∈R。
该方案的求解目标是最小化总线长和TSV数目,并受到无重叠的限制。
s.t non-overlap constrants
用传统的半周长模型来计算线长,一个网络e的线长可以表示成:
因为确切的TSV的位置在全局布局的过程中是无法确定的,而TSV的数目是确定的,可以用一个类似于中线长表示的方法来估算TSV的数目v(e):
参数α用来实现线长l(e)和TSV数目v(e)之间的平衡。
步骤3、将空间均匀分布的集成电路单元分配在所建立芯片模型的每个芯片层上;
在该步骤中,具体是采用最小代价流的方式将集成电路单元分布在每个芯片层上,其中,最小代价流是指给定一个从发点到收点的流,使它的费用最小,同时满足各边流量不大于弧的容量,各点进出流量总和相等等约束,层分配问题可以看作是个最小代价流问题。如图2所示为本发明实施例所提供最小代价流网络的示意图,图中:所有的单元可以看作是发点,所有的层可以看成是收点,单元ci分配到层p上可以看作是一条弧,每条弧上都标有它的代价(像ci,p),这是表示把单元ci分配到第p层上需要的代价,用TSVs的数目作为代价函数来控制TSVs的数目,同时保持每一层上的单元面积相对平衡,当最小代价流网络确定时,层分配步骤也就完成了。
所采用的层分配方法具体为:
首先将所有集成电路单元按垂直坐标排序,得到单元列表{c1,c2,...,cn},此处zi-1≤zi≤zi+1;其中,Zi表示第i个单元的层数;
遍历每个集成电路单元ci{xi,yi,zi},找到离ci最近的层p;
分别计算每个集成电路单元ci分配到层j的代价costi,j,(p-1<j<p+1);
另外,假如当前p层单元的面积AOj超过p层的最大面积ATj,将给当前单元和层之间的代价增加一个很大的值,来避免将ci分到层p;在本实施例中,假如AOj+ai>ATj,则costj=costj+106
再用最小代价流的方法找到具有最小代价的层k,将所述集成电路单元ci分配到所找到的层k。
步骤4、在完成层分配之后,采取二维整体优化方法进一步优化线长,以减小线长和每层的重叠,完成三维集成电路的整体布局。
该步骤中,具体采取二维整体优化方法进一步优化线长的过程包括2D线长优化、线网分解以及每层芯片的详细布局,其中:
所述2D线长优化是在详细布局之前对集成电路单元的最优位置进行计算,将集成电路单元的位置进行微小移动;
所述线网分解是将三维布局转换到各个层上的二维详细布局,使得各层的详细布局独立且互不干扰,举例来说:
为了保证各层上的详细布局是独立进行的,需要对连接不同层单元的线网进行处理,如图3所示为本发明实施例所举出的线网分解的示意图,图中:线网是个四端线网,其中,两个单元在同一芯片层,两个单元在另外的芯片层,为了切断不同层间的单元连接,将线网分解为两个三端线网,新生成的单元被看作接焊块,固定在芯片层上,位置不可移动。
层分配后单元保持总体布局之后的位置,不希望后续的详细布局过程会破坏总体布局得到的单元之间的相对位置,因此选取线网的中心位置作为新生成的接焊块的位置,目的是使得详细布局后,单元的位置靠近接焊块的位置,从而不会对总体布局后的结果造成很大的影响。其中,线网的中心位置选取线网包含的所有单元的x,y方向坐标的平均值。
另外,在总体布局阶段,单元可以被安排在布局区内的任何地方,通常不会考虑行以及site的位置,因此对总体布局来说,单元的位置在数值上是连续的,但是在详细布局阶段,必须将单元的最终位置确定,所以单元都必须和行中的site对齐。整个布局区可以看作是被行和site划分成了网格,单元的位置已经变成了离散的形式。这里可以将总体布局之后的单元安放到site上这一过程称之为布局格式化,在布局格式化以后,后续过程对单元的移动全部都基于site的位置,即单元总是跟site对齐,并且不会超出布局区。
每个单元都有一个总体布局之后的位置,对于单元i有初始位置(x,y),布局区中每个site位置是固定的,在格式化单元i的时候,找到一个离i最近的site,将i安放到该site中,显然如果i最初的位置就是某个site的位置的话,那么不需要移动i就可以将i格式化,即采用就近原则来格式化单元,这样遍历每个单元,使得所有单元都被格式化。上述布局格式化的目的就是要将单元对齐到site上,并且建立site与单元之间的索引,以便快速的查询到site上的单元;同时为后续的操作提供接口,使得后续的移动单元操作只能在site上进行,并且会维持site与单元之间的索引。
下面以具体的实例对上述层分配方法的应用进行详细说明,这里测试用例选用IBM-PLACE,详细情况见下表1所示,所有实验都运行在Intel Xeon 3.0GHz CPU,6GB内存的Linux服务器上,如图4所示为本发明实施例所举出的实例中二层及三层三维布局结果示意图。
表1测试用例说明
例子 单元数目 线网数目
ibm01 12282 11507
ibm03 22207 21621
ibm04 26633 26163
ibm06 32185 33354
ibm07 45135 44394
ibm08 50977 47944
ibm09 51746 50393
ibm13 81508 83806
ibm15 158244 161196
在实验中,设定不同的层数并用上述三维解析式布局算法进行布局,结果见下表2所示,第一列是选取的9个例子,第二列是平面模式的结果,二层、三层、四层布局的线长结果、TSVs数量和运行时间在第三到十一列,从表中可以看出随着层数的增长,总的线长减少,TSVs的数量和运行时间都会增加,具体实现中,四层模式比二层线长减少44%,TSVs增加24%,时间增加64%。
表2不同层数的三维集成电路布局结果
然后用四层模式的三维集成电路布局算法对比现有技术中的一些三维布局算法,结果见下表3所示,本发明相比第一种方法来说,线长结果减少了2%,TSVs数量减少了7%;相比第二种方法来说,虽然TSVs数量增加了34%,但是线长结果优化了14%,运行时间也减少了10%,由此证明了本发明实施例所述方法的有效性。
表3与现有技术中三维布局算法对比
值得注意的是,本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
由此可见,本发明实施例所提供的层分配方法能够尽可能地继承三维优化结果,保护解空间,对比当前其他三维布局算法,能够得到较好的线长结果、TSVs数量和运行时间,满足集成电路的高精度需求。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (5)

1.一种应用于三维集成电路的层分配方法,其特征在于,所述方法包括:
步骤1、首先建立三维集成电路的布局空间和芯片模型;
步骤2、基于所建立的布局空间进行三维空间的总体布局,得到集成电路单元在三维空间的均匀分布;
步骤3、将空间均匀分布的集成电路单元分配在所建立芯片模型的每个芯片层上;
步骤4、在完成层分配之后,采取二维整体优化方法进一步优化线长,以减小线长和每层的重叠,完成三维集成电路的整体布局。
2.根据权利要求1所述应用于三维集成电路的层分配方法,其特征在于,在步骤1的实施过程中:
假设三维集成电路的布局空间是一个立方体空间,其中立方体空间的z方向高度由用户来指定;
每个集成电路单元假设为一个小立方体,所有集成电路单元具有同样的z方向高度,这个高度是立方体空间的z方向高度与芯片层数的比值。
3.根据权利要求1所述应用于三维集成电路的层分配方法,其特征在于,在步骤2的实施过程中:
采用非线性规划统一建模方法,将集成电路单元的非线性线长目标与集成电路单元的分布目标统一成为非线性目标函数;
再利用非线性规划法求解该非线性目标函数的最小值,得到所述集成电路单元的空间位置分布。
4.根据权利要求1所述应用于三维集成电路的层分配方法,其特征在于,所述步骤3所采用的层分配方法具体为:
首先将所有集成电路单元按垂直坐标排序,得到单元列表{c1,c2,...,cn},此处zi-1≤zi≤zi+1;其中,Zi表示第i个单元的层数;
遍历每个集成电路单元ci{xi,yi,zi},找到离ci最近的层p;
分别计算每个集成电路单元ci分配到层j的代价costi,j,(p-1<j<p+1);
再用最小代价流的方法找到具有最小代价的层k,将所述集成电路单元ci分配到所找到的层k。
5.根据权利要求1所述应用于三维集成电路的层分配方法,其特征在于,在步骤4中,采取二维整体优化方法进一步优化线长的过程包括2D线长优化、线网分解以及每层芯片的详细布局,其中:
所述2D线长优化是在详细布局之前对集成电路单元的最优位置进行计算,将集成电路单元的位置进行微小移动;
所述线网分解是将三维布局转换到各个层上的二维详细布局,使得各层的详细布局独立且互不干扰。
CN201810759490.1A 2018-07-11 2018-07-11 一种应用于三维集成电路的层分配方法 Pending CN109033580A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810759490.1A CN109033580A (zh) 2018-07-11 2018-07-11 一种应用于三维集成电路的层分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810759490.1A CN109033580A (zh) 2018-07-11 2018-07-11 一种应用于三维集成电路的层分配方法

Publications (1)

Publication Number Publication Date
CN109033580A true CN109033580A (zh) 2018-12-18

Family

ID=64641306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810759490.1A Pending CN109033580A (zh) 2018-07-11 2018-07-11 一种应用于三维集成电路的层分配方法

Country Status (1)

Country Link
CN (1) CN109033580A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027274A (zh) * 2019-12-18 2020-04-17 京微齐力(北京)科技有限公司 一种三维芯片布局的方法
CN111710644A (zh) * 2020-05-20 2020-09-25 西南科技大学 一种基于硅通孔的三维集成电路布局方法
CN112800706A (zh) * 2021-04-08 2021-05-14 南京集成电路设计服务产业创新中心有限公司 一种快速查找表线长模型可微化方法
WO2021164268A1 (zh) * 2020-02-17 2021-08-26 福州大学 考虑总线和非总线线网的层分配方法
CN113836861A (zh) * 2021-09-27 2021-12-24 福州大学 一种高质量的规避slew违规的层分配方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821745A (zh) * 2008-07-30 2010-09-01 新思科技有限公司 用于有助于3d ic布局的方法和系统
CN102955877A (zh) * 2012-08-16 2013-03-06 清华大学 针对tsv互联的三维集成电路时钟拓扑结构产生方法
US20130097574A1 (en) * 2011-10-18 2013-04-18 National Taiwan University Method of analytical placement with weighted-average wirelength model
CN103324773A (zh) * 2012-11-13 2013-09-25 北京工业大学 3D集成电路中TSV的Trench沟道布局方法
CN103500240A (zh) * 2013-09-04 2014-01-08 深圳先进技术研究院 对硅通孔进行动态规划布线的方法
CN103678817A (zh) * 2013-12-20 2014-03-26 清华大学 基于三维重聚的三维现场可编程门阵列的分层设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821745A (zh) * 2008-07-30 2010-09-01 新思科技有限公司 用于有助于3d ic布局的方法和系统
US20130097574A1 (en) * 2011-10-18 2013-04-18 National Taiwan University Method of analytical placement with weighted-average wirelength model
CN102955877A (zh) * 2012-08-16 2013-03-06 清华大学 针对tsv互联的三维集成电路时钟拓扑结构产生方法
CN103324773A (zh) * 2012-11-13 2013-09-25 北京工业大学 3D集成电路中TSV的Trench沟道布局方法
CN103500240A (zh) * 2013-09-04 2014-01-08 深圳先进技术研究院 对硅通孔进行动态规划布线的方法
CN103678817A (zh) * 2013-12-20 2014-03-26 清华大学 基于三维重聚的三维现场可编程门阵列的分层设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高文超等: "应用于三维集成电路解析式布局的层分配算法", 《计算机应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027274A (zh) * 2019-12-18 2020-04-17 京微齐力(北京)科技有限公司 一种三维芯片布局的方法
CN111027274B (zh) * 2019-12-18 2023-08-22 京微齐力(北京)科技有限公司 一种三维芯片布局的方法
WO2021164268A1 (zh) * 2020-02-17 2021-08-26 福州大学 考虑总线和非总线线网的层分配方法
CN111710644A (zh) * 2020-05-20 2020-09-25 西南科技大学 一种基于硅通孔的三维集成电路布局方法
CN111710644B (zh) * 2020-05-20 2022-01-04 西南科技大学 一种基于硅通孔的三维集成电路布局方法
CN112800706A (zh) * 2021-04-08 2021-05-14 南京集成电路设计服务产业创新中心有限公司 一种快速查找表线长模型可微化方法
CN113836861A (zh) * 2021-09-27 2021-12-24 福州大学 一种高质量的规避slew违规的层分配方法
CN113836861B (zh) * 2021-09-27 2024-04-05 福州大学 一种高质量的规避slew违规的层分配方法

Similar Documents

Publication Publication Date Title
CN109033580A (zh) 一种应用于三维集成电路的层分配方法
US8689164B2 (en) Method of analytical placement with weighted-average wirelength model
JP3564295B2 (ja) セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体
US7930669B2 (en) Stage mitigation of interconnect variability
JPH04211154A (ja) 半導体集積回路のレイアウト方法
US9910951B2 (en) Mitigating wire capacitance in an integrated circuit
CN105307397A (zh) 一种电路板曝光方法及装置
CN115983189B (zh) 一种自适应网格的模拟集成电路版图布线方法及系统
US20050138593A1 (en) Semiconductor integrated circuit having diagonal wires, semiconductor integrated circuit layout method, and semiconductor integrated circuit layout design program
CN112131774B (zh) 用于集成电路三棱柱网格剖分的混合阶有限元方法及装置
CN107391137A (zh) 电子地图显示方法、装置和系统
CN116362194A (zh) 布线资源预分配方法、装置、计算设备及存储介质
Sarrafzadeh et al. Single-layer global routing
CN113919266B (zh) 可编程器件的时钟规划方法、装置、电子设备及存储介质
CN116522854B (zh) 多供电系统的集成电路仿真模型生成与计算方法及系统
CN112989749A (zh) 一种集成电路版图布线中引脚访问方法及装置
CN108304261A (zh) 一种基于6D-Torus网络的作业调度方法和装置
US10936784B2 (en) Planning method for power metal lines
Zhu et al. Floorplanning for 3D-IC with Through-Silicon via co-design using simulated annealing
US6978433B1 (en) Method and apparatus for placement of vias
WO2021169302A1 (zh) 先进制程下最小化时延和溢出的通孔柱感知层分配器
CN103116663B (zh) 填充冗余金属的方法及冗余金属填充模式查找表建立方法
US8949762B1 (en) Computer-based modeling of integrated circuit congestion and wire distribution for products and services
Prakash et al. Simultaneous optimization of the area, wirelength and TSVs in a 3D IC design
Toyonaga et al. A new approach of fractal-dimension based module clustering for vlsi layout

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181218