CN101373492A - 三维芯片热通孔和性能优化的空白区重分配方法 - Google Patents

三维芯片热通孔和性能优化的空白区重分配方法 Download PDF

Info

Publication number
CN101373492A
CN101373492A CNA2008101058678A CN200810105867A CN101373492A CN 101373492 A CN101373492 A CN 101373492A CN A2008101058678 A CNA2008101058678 A CN A2008101058678A CN 200810105867 A CN200810105867 A CN 200810105867A CN 101373492 A CN101373492 A CN 101373492A
Authority
CN
China
Prior art keywords
module
area
heat
pin
req
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.)
Granted
Application number
CNA2008101058678A
Other languages
English (en)
Other versions
CN101373492B (zh
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.)
Tsinghua University
Wuxi Research Institute of Applied Technologies of Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN2008101058678A priority Critical patent/CN101373492B/zh
Publication of CN101373492A publication Critical patent/CN101373492A/zh
Application granted granted Critical
Publication of CN101373492B publication Critical patent/CN101373492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

三维芯片热通孔和性能优化的空白区重分配方法,其特征在于,依次含有以下步骤:计算每个格子所需要的热通孔数目;把对热通孔数目的需求转化为对空白区的需求;建立基本拓扑逻辑约束和空白区分配约束以及目标函数,建立芯片线长优化的线性规划模型;建立微体系结构下芯片性能的优化模型;设立权重,进行热通孔数目,线长和性能的多目标优化模型;用单纯型法求解各个模型,求得在性能优化条件下热通孔数目及其最佳分配区域。在芯片性能保持不变的前提下,可减少14%-65%的热通孔数目。

Description

三维芯片热通孔和性能优化的空白区重分配方法
技术领域
三维芯片热通孔和性能优化的空白区分配方法属于集成电路计算机辅助设计领域,尤其涉及布图规划后处理领域。
背景技术
随着芯片设计需求的提高与制造工艺的发展,为了进一步降低互连线延迟,,提高芯片性能,“三维芯片”的设计技术应时而生,并逐步成为集成电路设计领域的研究热点。三维芯片设计是将多层器件层集成到同一个芯片中,形成一种多个二维芯片的垂直叠放结构。利用芯片之间的垂直互连,三维芯片结构能够有效地缩短器件之间的互连线长度,避免水平面上的绕线,从而降低连线复杂度以及拥挤度。此外,三维芯片也能够有效地提高晶体管的集成度,降低芯片的面积和功耗。通过在不同器件层实现不同类型的电路模块,设计师可以把光电器件等功能器件和硅集成电路集成在一起,形成新的功能系统。但是,三维芯片的设计却面临着诸多的挑战,其中的一个严重挑战是它带来的热问题。在深亚微米工艺下,由于芯片集成度的迅速增加,芯片单位面积上功耗密度也飞速增长,从而使得热优化问题成为当前集成电路设计中非常重要的研究热点。而三维芯片由于自身具有的多器件层结构,导致相同工艺下单位面积上的功耗密度成倍增长,同时由于器件层之间介质的低导热性,使得三维芯片相对于传统二维芯片,热问题进一步加剧。局部区域温度过高形成的热点hotspot会严重影响芯片的可靠性。采取有效措施来降低三维芯片的片上温度和消除热点已成为三维芯片设计的核心技术。
就物理设计阶段而言,目前的热优化主要集中在布图规划和布线阶段。然而实验结果表明,这些方法很难把芯片上的最高温度降低到一个满意的水平,热点依然存在。通过插入热通孔,则可以明显改善芯片的温度场分布和降低片上最高温度。热通孔是一种特殊的穿越器件层的金属通孔,它能够促进上层芯片层的器件产生的热量向下层芯片层传导。不过,在当前的工艺下,热通孔的制造费用昂贵。同时,芯片层之间的通孔具有较大的物理尺寸,插入过多的热通孔必然导致布线资源的减少。所以,热通孔插入方法的使用受到一定的限制。
人们针对此问题,已经提出了一些解决办法。例如建立热通孔优化问题的非线性规划模型,然后此问题被简化为垂直和水平方向上两个独立的子问题来求解。单元级的热通孔规划方法则将热通孔规划作为一个布局后处理过程来实现,同时该方法假定热通孔只能放置在某些预先指定的处于单元行之间的区域中。也有部分方法在布图规划过程中集成热通孔的优化问题,但是在大多数布图规划方案中,最高温度约束经常得不到满足。这是因为在这些布图规划方案中,尽管经过空白区重分配,热点区域仍然缺乏足够的空白区域来插入足够的热通孔。同时在目前所有这些热通孔优化方法中,没有一种算法能够考虑芯片性能即芯片每秒执行的指令数目的优化。热通孔数目优化和性能优化的空白区重分配问题可以简单描述为:
给定一个多层垂直叠放的芯片布图以及相关的模块信息和线网信息,我们要在此布图基础上,不改变模块之间的相对位置而进行空白区域重新分配,使得插入比较少的热通孔就可以满足温度约束,同时总线长或者芯片性能即每秒执行的指令数目没有明显恶化。
发明内容
本发明的目的在于提出一种比迄今为止该领域的其它方法更为稳定、高效,且能够在布图规划过程中减少三维芯片热通孔数目和优化芯片性能的工业工具。一般而言,温度比较高的热点区域需要插入比较多的热通孔,而热点区域往往堆积了大量的电路模块,这就使得热通孔因为空白区不足而无法插入到热点区域。所以,很多时候尽管整个芯片的空白区域充足,但是却没有能够得到有效地利用。在设计过程中,我们可以在热通孔插入之前,先进行空白区的重新分配,使得需要热通孔数目较多的热点区域能够有更多的空白区,而需要较少通孔数目的低温区域可以分配较少的空白区或者不分配空白区。
本发明的特征在于,它是在计算机中依次按照以下步骤实现的:
步骤(1),初始化
输入三维芯片的初始布图信息,利用热阻模型计算每个格子tile所需要的热通孔数目VNtile,其中包括温度最高的格子所需要的热通孔数目;
步骤(2),按照以下步骤把对热通孔的需求转化为对空白区的需求,根据格子tile和模块block之间的覆盖情况,把格子tile所需要的空白区域面积转化为模块所需要的空白区域面积:
步骤(2.1),定义模块blocki和格子tilej之间的重叠面积area_budgetij
Δx=min(xj+wj,xi+wi)-max(xj,xi)
Δy=min(yj+hj,yi+hi)-max(yj,yi)
步骤(2.2),把格子需求的热通孔数目转移到覆盖该格子tile的模块block i上,格子tile j的空白区转移到block i的部分的大小为reqij,该reqij为格子j的热通孔重分配的面积大小占总的重分配面积的百分比:
req ij = VN j * via _ area * area _ budget ij Σ i area _ budget ij
其中,via_area是每个热通孔的横截面积;
其次,在模块中,确定:只有与格子tile有相交的边界才参与到每个格子tile中空白区的分配问题,并依据下式计算分配给模块的该相交边界的对应的空白区的大小:
left_reqij=reqij*Δy/(Δx+Δy)
bottom_reqij=reqij*Δx/(Δx+Δy)
其中,模块左边界与格子相交时,用left_reqij表示,
模块下边界与格子相交时,用bottom_reqij表示
步骤(2.3),对每个格子tile都进行每个模块最终空白区需求大小的计算,用LAi,RAi,TAi和BAi分别代表模块i的四个方向的空白区域需求量:
LA i = Σ for all tile j left _ req ij , BA i = Σ for all tile j bottom _ req ij
TA i = Σ for all tile j top _ req ij , RA i = Σ for all tile j right _ req ij
其中,right_reqij分给模块i右边界的面积
      top_reqij分给模块i上边界的面积
步骤(3),建立各个优化对象的线性规划的约束和目标:
步骤(3.1),按照下式建立几何位置约束,防止同层模块重合和移出芯片边界:
如果模块i在模块i+1的左边:xi+wi≤xi+1
如果模块i在模块i+1的右边:xi+1+wi+1≤xi
如果模块i在模块i+1的上方:yi+hi≤yi+1
如果模块i在模块i+1的下方:yi+1+hi+1≤yi
同时,为防止模块移出原有布图的边界,建立如下约束:
xi≥0,yi≥0,xi+wi≤W,yi+hi≤H
步骤(3.2),建立空白区分配的约束关系和目标函数:
设,Li为模块i左边界空白区的宽度
Ri为模块i右边界空白区的宽度
Ti为模块i上边界空白区的高度
Bi为模块i下边界空白区的高度
li,ri是与Li,Ri对应的最终分配的空白区宽度
ti,bi是与Ti,Bi对应的最终分配的空白区高度
则,空白区重分配的目标函数为:
min Σ i ∈ M { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) }
同时,新的几何约束关系为:
如果模块i在模块i+1的左边:xi+wi+ri≤xi+1-li+1
如果模块i在模块i+1的右边:xi+1+wi+1+ri+1≤xi-li
如果模块i在模块i+1的上方:yi+hi+ti≤yi+1-bi+1
如果模块i在模块i+1的下方:yi+1+hi+1+ti+1≤yi-bi
芯片的面积约束为:
xi≥li,yi≥bi,xi+wi+ri≤W,yi+hi+ti≤H
步骤(3.3),用最小约束矩形的半周长HPWL表示芯片线长,建立芯片线长的线性规划模型:
设,xn max,xn min,yn max,和yn min代表线网n的最小包围矩形的四个边界
(xi pin,yi pin)为模块i的连线端口的坐标,
则,通过建立以下约束:
x pin i ≥ x min n , x pin i ≤ x max n
y pin i ≥ y min n , y pin i ≤ y max n
x pin i = x i + w i / 2 , y pin i = y i + h i / 2
按照下式来优化芯片的线长:
min Σ n ∈ N ( x max n - x min n + y max n - y min n )
步骤(3.4),建立微体系结构小的芯片性能优化模型:
设某条路径集合g的时钟周期数为cycleg,信号衰减系数为cg,Φ为时钟周期,模块k的内部时延为latk,再引入中间变量vxij和vyij:
x pin i - x pin j ≤ vx ij , - x pin i + x pin j ≤ vx ij
y pin i - y pin j ≤ vy ij , - y pin i + y pin j ≤ vy ij
则按照下式来优化芯片的性能:
min Σ g ( c g * cycle g )
s . t . Σ ( i , j ) ∈ p { K * ( vx ij + vy ij ) } + Σ k ∈ p lat k ≤ Φ * cycle g
步骤(4),按照下式进行多目标的优化:
min α*TV+β*WL+λ*P
where TV = Σ i ∈ M β i { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) }
WL = Σ n ∈ N ( x max n - x min n + y max n - y min n )
P = Σ g ( c g * cycle g )
α,β,λ是权重值,可以按照α+β+λ=1来设定;
步骤(5),用单纯形方法求解步骤(3)建立的线性规划问题,最终可以得到热通孔数目减少和性能优化的布图。
试验说明:本发明分配了三维芯片中的空白区域,有效地减少了热通孔的数目,减少的热通孔数目比例在65%与14%之间,同时芯片的性能指标即每秒执行的指令数目也保持基本不变。
附图说明
图1模块的表示和芯片区域的表示。
图2格子tile和模块区域block的覆盖情况。
图3空白区重分配方法的流程图。
图4模块区域block对空白区域的需求。
图5线网n的最小包围矩形bounding box。
图6GSRC测试用例n100空白区重新分配前后的顶层布图结果:
a:分配空区前的布图
b:分配空区后的布图。
具体实施方式
它建立了三维芯片热通孔数目优化和芯片性能优化的线性规划模型,该模型能够有效地重新分配芯片的空区来减少热通孔的数目。此外,它还能同时完成包括面积、线长、热通孔数目以及芯片性能在内的多个目标的优化。它含有以下过程:
1.计算三维芯片对热通孔的需求情况,包括每个格子tile所需要的通孔数目VNtile
2.把对热通孔数目的需求转化为对空白区域的需求:根据格子tile和模块block之间的覆盖情况把格子tile所需要的空区面积转化为block所需要的空区面积。此空区在本发明中被认定为矩形区域。设xi,yi表示模块i的左下角的坐标,wi,hi分别为模块i的宽和高,模块的表示如附图1所示。
(1).如附图2所示,先定义block i和tile j之间的重合面积area_budgetij:
Figure A200810105867D00091
             Δx=min(xj+wj,xi+wi)-max(xj,xi)
其中:                                                           (2)
            Δy=min(yj+hj,yi+hi)-max(yj,yi)
(2).把格子tile需求的热通孔数目转换到覆盖到该格子的模块block i上:
req ij = VN j * via _ area * area _ budget ij Σ i area _ budget ij
其中,VNj是tile j需要的热通孔数目,Via_area是每个热通孔的横截面积,reqij表示tile j的空区转移到block i的百分比大小。
空区区域从格子转移到模块之后,每个模块边界接受的空白区域大小确定规则是:哪条边与tile j有相交,则该边就参与到空白区的分配,否则不分配。在图2中,block i的左边界和下边界与tile j相交,所以此空区就只分配给模块区域的左边界和下边界,具体大小由如下公式确定:
left_reqij=reqij*Δy/(Δx+Δy)
                                                (4)
bottom_reqij=reqij*Δx/(Δx+Δy)
其中,left_reqij是分给左边界的面积,
bottom_reqij是分给下边界的面积
(3).然后对每个tile都进行1和2的计算过程,就可以得到每个模块的最终的空白区需求大小,用LAi,RAi,TAi和BAi分别代表模块i的四个方向的空白区域需求量:
LA i = Σ for all tile j left _ req ij , BA i = Σ for all tile j bottom _ req ij
                                            (5)
TA i = Σ for all tile j top _ req ij , RA i = Σ for all tile j right _ req ij
其中,right_reqij分给右边界的面积,
top_reqij分给上边界的面积
3.建立各个优化对象的线性规划约束和目标。
(1).建立基本的拓扑逻辑约束,防止模块的重合
在初始布局中,同层的模块之间没有重合,我们由相关的布图表示方法可以得到模块
之间的几何位置关系,然后建立如下线性约束:
xi+wi≤xi+1  如果模块i在模块i+1的左边
xi+1+wi+1≤xi  如果模块i在模块i+1的右边
yi+hi≤yi+1    如果模块i在模块i+1的上方         (6)
yi+1+hi+1≤yi   如果模块i在模块i+1的下方
同时,防止模块超出原有布图的边界,可以增加如下约束:
xi≥0,yi≥0,xi+wi≤W,yi+hi≤H             (7)
W,H分别表示原有布图区域的宽和高
(2).建立空白区分配的约束关系和目标函数
设Ri为模块i右边界空白区的宽度
  Ti为模块i上边界空白区的高度
  Bi为模块i下边界空白区的高度
  li,ri是与Li,Ri对应的最终分配的空白区宽度
  ti,bi是与Ti,Bi对应的最终分配的空白区高度空白区分配的目标函数为以下形式:
min Σ i ∈ M { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) } - - - ( 8 )
约束关系(6)修改为:
xi+wi+ri≤xi+1-li+1  如果模块i在模块i+1的左边
xi+1+wi+1+ri+1≤xi-li 如果模块i在模块i+1的右边
yi+hi+ti≤yi+1-bi+1  如果模块i在模块i+1的上方         (9)
yi+1+hi+1+ti+1≤yi-bi 如果模块i在模块i+1的下方芯片的面积约束为:
xi≥li,yi≥bi,xi+wi+ri≤W,yi+hi+ti≤H  (10)
(3).建立芯片线长即用最小约束矩形的半周长HPWL表示的线性规划模型设xn max,xn min,yn max和yn min代表线网n的最小包围矩形bounding box的四个边界,(xi pinyi pin为模块i的连线端口的坐标。通过以下约束:
x pin i ≥ x min n , x pin i ≤ x max n
y pin i ≥ y min n , y pin i ≤ y max n - - - ( 11 )
x pin i = x i + w i / 2 , y pin i = y i + h i / 2
来优化如下目标(12),就可以优化芯片的线长:
min Σ n ∈ N ( x max n - x min n + y max n - y min n ) - - - ( 12 )
(4).建立微体系结构下的芯片性能优化模型
设某条路径集合g的时钟周期数为cycleg,信号衰减系数为cg,Φ为时钟周期,模块k的内部时延为latk,则我们引入中间变量vxij和vyij:
x pin i - x pin j ≤ vx ij , - x pin i + x pin j ≤ vx ij
y pin i - y pin j ≤ vy ij , - y pin i + y pin j ≤ vy ij - - - ( 13 )
来优化如下目标(14),就可以优化芯片的性能:
min Σ g ( c g * cycle g )
                                               (14)
s . t . Σ ( i , j ) ∈ p { K * ( vx ij + vy ij ) } + Σ k ∈ p lat k ≤ Φ * cycle g
4.整合各个目标,设置合适的权重,进行多目标的同时优化。
各个目标的加权相加,就可以得到我们的多目标优化方法:
min  α*TV+β*WL+λ*P
where TV = Σ i ∈ M β i { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) }
WL = Σ n ∈ N ( x max n - x min n + y max n - y min n ) - - - ( 15 )
P = Σ g ( c g * cycle g )
其中:TV代表空白区
WL代表HPWL表示的线长
P代表微体系结构下的处理器性能
5.使用线性规划程序包得到优化结果
总结起来,我们的方法就是建立(6)(7)(11)(13)的约束,求解目标函数(15)。利用求解线性规划问题的单纯形方法,我们可以解决所建立的模型,从而最终减少热通孔的数目,同时保持其他目标的优化。
在以上建模过程中,计算热通孔数目的需求分布是利用了当前广为使用的热阻模型,另外,求解线性规划问题的单纯形方法是目前广为使用的方法,不属于本专利申请的内容。下面只是针对本发明所需要的内容做简单介绍。在热阻模型中,整个三维芯片在水平方向被离散化成二维的格子栈(Tile Stack)阵列;一个格子栈(Tile Stack)是由一系列的格子(Tile)垂直叠放在一起形成,每个格子(Tile)对应于一层芯片上的出于网格中的热源;这些格子栈(Tile Stack)之间通过水平的热阻抗连接起来,而格子栈(Tile Stack)内部各格子(Tile)之间通过垂直的热阻抗连接,从而形成一个类似于电路网络的结构。对于上述热阻抗网络,Tile之间的热阻抗Rij等效为电路中的电阻值;各个Tile网格点上的功耗密度Pi可以等效为电路中的电流源;而Tile网格点上的温度值Ti则可等效为电路中的电压值。这样我们就得到了下面公式所示的热阻抗网络求解温度的线性方程组
R 11 · · · R 1 m · · · · · · · · · · · R m 1 · · · R mm P 1 · · · P mm = T 1 · · · T m - - - ( 16 )
在我们的方法中,我们给出各个模块的功耗值P以及温度约束T,就可以得到芯片的热阻分布,从而得到各个tile的热通孔的需求情况,然后从步骤1开始依次进行。
单纯形法用来求解线性规划问题。单纯形法的一般解题步骤可归纳如下:
(1)把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
(2)若基本可行解不存在,即约束条件有矛盾,则问题无解。
(3)若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。
(4)按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善)即得到问题的最优解。
(5)若迭代过程中发现问题的目标函数值无界,则终止迭代。
在我们的方法中,我们根据前面所描述的步骤依次建立约束和目标,然后把这些约束和优化目标作为初始输入,利用单纯型方法就得到最终各个模块的位置和最终的优化结果。
本发明能够针对不同的初始的布图规划,有效实现空白区域的重新分配,大大减少了最终需要的热通孔数目,并且也优化了总线长和芯片性能。接下来的试验过程中,温度约束设定为77℃。首先,不考虑性能优化,我们对国际基准测试电路实例GSRC中n100做实例进行热通孔数目的优化,它依次有如下步骤:
1.获取初始布图,用热阻模型计算热通孔的需求分布情况
用模拟退火算法得到一个n100的4层三维芯片初始布图,然后用热阻模型计算该初始布图的温度分布和热通孔数目的需求分布情况。
注:模拟退火算法不属于本专利申请的内容,在此不详述。
2.读入初始布图信息,包括模块信息,网表信息和热通孔的需求分布情况。
n100一共有100个模块,885条线网。芯片的每层被化分为30*30的tile阵列。该初始布图需要的热通孔数目一共是18151个,其中温度最高的tile需要的热通孔数目为1896。
3.格子tile的热通孔需求转化为模块区域block的空白区需求。
转换之后,温度最高的模块所需要的空白区面积为2238um2.
4.建立各个线性约束和目标
(1).建立位置约束,防止模块重合和移出芯片边界
按照公式(9)和(10),共建立几何位置约束1200条。
(2).建立线长的线性优化模型
按照公式(12),共建立885个线长目标,累加得到总线长目标
(3).空白区分配的约束和目标,按照公式(8),共建立起100个空白区优化的目标函数
5.形成最终多目标的优化函数。
设α=0.99999999,β=0.00000001,λ=0得到本此试验的目标函数:
0.99999999*TV+0.00000001*WL
其中,TV如(15)所定义,WL如(15)定义
6.把以上所建立的约束和多目标函数代入线性规划程序包,即可求解。
现在我们同时考虑性能的优化,以微处理器alpha21264为测试用例。它的前四个步骤同n100试验的前四个步骤一样。产生的初始布图如下表:
测试用例
Name      Layer#        Freq.(GHz)       Tmax(℃)       bips
Alpha_1   3             1                161.57         0.97
Alpha_2   3             2                296.16         1.80
Alpha_3   4             1                227.08         0.82
Alpha_4   4             1                204.70         0.97
Alpha_5   4             2                383.42         1.80
Alpha_6   4             3                560.12         2.29
Avg.                                                    1
其中,Bips即billion instructions per second表示每秒运行的指令数目,以十亿条为一个基本单位。
现在我们实施性能的建模:
1.Alpha 21264有16个路径集合group,所以本阶段的目标共为16个代数式的叠加。此外,它共有87条信号传递路径,因此引入87个约束在公式(13)中。
2.设α=0.99999999,β=0,λ=0.00000001,得到本次试验的最终目标函数:
0.99999999*TV+0.00000001*P
根据所建立的约束,我们给出了实验结果。图5是GSRC测试用例n100空白区重新分配前后的顶层布图结果,图6是GSRC测试用例n200空白区重新分配前后的热通孔插入情况。
N100的实验结果
表一
测试用例  初始温度T(℃)    无空白区分配         含空白区重分配
                           Tmax     T-via        WL     Tmax      T-via      WL     Cpu
                           (℃)     #           (um)    (℃)     #          (um)   (s)
n100      330.52           76.84    18151       73283   77.05    16353      70211  3.9
n100      406.06           84.42    16700       73639   76.97    12699      68713  3.8
n200      374.78           76.92    20423       159020  77.07   19035      162830 15.6
n200      378.80           76.91    20205       156146  76.94   16028      159670 16.4
n300      405.77           76.89    23214       243682  77.13   17363      243682 33.7
n300      405.70           77.15    23259       268837  76.92   23154      246811 32.8
Avg.                                1           1             0.86       0.98
其中:n200含有200个模块和1585条线网,n300含有300个模块和1893条线网。Tmax表示插入热通孔之后的芯片最高温度,T-via表示所需的热通孔的数目,WL表示总线长。最后一栏cpu表示整个线性规划程序的运行时间,Avg.表示各个指标的平均值。
Alplha 21264的实验结果
表三
测试用例     无空区分配                 有空区分配的情况
                                        仅仅优化热通孔                 热通孔和性能同时优化
             Tmax        bips  T-via#   Tmax       bips     T-via#     Tmax     bips       T-via#
             (℃)                       (℃)                           (℃)
Alpha_1      77.11       0.97  12332    77.12      0.87     6207       77.01    0.97       8248
Alpha_2      104.80      1.80  246407   77.96      1.80     59136      77.01    1.96       63904
Alpha_3      77.01       0.82  18319    76.98      0.78     10592      76.86    0.82       10229
Alpha_4      77.10       0.97  20957    76.80      0.82     7490       76.97    0.89       7876
Alpha_5      103.72      1.80  323890   77.07      1.77     68155      77.08    1.93       84409
Alpha_6      141.73      2.29  524949   97.29      1.81     158720     97.36    2.15       203194
Avg.                     1     1                   0.91     0.35                1.01       0.4
本发明所述的针对热通孔和性能优化的空白区重分配算法有以下几个优点:
(1).将热驱动和性能优化的空白区分配过程建模为线性规划问题,方便同时进行多目标的优化,同时能够缩短优化时间;
(2).利用布图结果中的空白区分配,实现对芯片温度和性能的优化,有利于后继设计的顺利完成;
(3).具有工业应用价值,可以用于集成电路设计过程中:可以作为布图规划的后处理过程进一步改善结果。

Claims (1)

1.三维芯片热通孔和性能优化的空白区重分配方法,其特征在于,它是在计算机中依次按照以下步骤实现的:
步骤(1),初始化
输入三维芯片的初始布图信息,利用热阻模型计算每个格子tile所需要的热通孔数目VNtile,其中包括温度最高的格子所需要的热通孔数目;
步骤(2),按照以下步骤把对热通孔的需求转化为对空白区的需求,根据格子tile和模块block之间的覆盖情况,把格子tile所需要的空白区域面积转化为模块所需要的空白区域面积:
步骤(2.1),定义模块block i和格子tile j之间的重叠面积area_budgetij
Δx=min(xj+wj,xi+wi)-max(xj,xi)
Δy=min(yj+hj,yi+hi)-max(yj,yi)
步骤(2.2),把格子需求的热通孔数目转移到覆盖该格子tile的模块block i上,格子tilej的空白区转移到block i的部分的大小为reqij,该reqij为格子j的热通孔重分配的面积大小占总的重分配面积的百分比:
req ij = VN j * via _ area * area _ budget ij Σ i area _ budget ij
其中,via_are a是每个热通孔的横截面积;
其次,在模块中,确定:只有与格子tile有相交的边界才参与到每个格子tile中空白区的分配问题,并依据下式计算分配给模块的该相交边界的对应的空白区的大小:
left_reqij=reqij*Δy/(Δx+Δy)
bottom_reqij=reqij*Δx/(Δx+Δy)
其中,模块左边界与格子相交时,用left_reqij表示,
      模块下边界与格子相交时,用bottom_reqij表示
步骤(2.3),对每个格子tile都进行每个模块最终空白区需求大小的计算,用LAi,RAi,TAi和BAi分别代表模块i的四个方向的空白区域需求量:
LA i = Σ for all tile j left _ req ij , BA i = Σ for all tile j bottom _ req ij
TA i = Σ for all tile j top _ req ij , RA i = Σ for all tile j right _ req ij
其中,right_reqij分给模块i右边界的面积
      top_reqij分给模块i上边界的面积
步骤(3),建立各个优化对象的线性规划的约束和目标:
步骤(3.1),按照下式建立几何位置约束,防止同层模块重合和移出芯片边界:
如果模块i在模块i+1的左边:xi+wi≤xi+1
如果模块i在模块i+1的右边:xi+1+wi+1≤xi
如果模块i在模块i+1的上方:yi+hi≤yi+1
如果模块i在模块i+1的下方:yi+1+hi+1≤yi
同时,为防止模块移出原有布图的边界,建立如下约束:
xi≥0,yi≥0,xi+wi≤W,yi+hi≤H
步骤(3.2),建立空白区分配的约束关系和目标函数:
设,Li为模块i左边界空白区的宽度
    Ri为模块i右边界空白区的宽度
    Ti为模块i上边界空白区的高度
    Bi为模块i下边界空白区的高度
    li,ri是与Li,Ri对应的最终分配的空白区宽度
    ti,bi是与Ti,Bi对应的最终分配的空白区高度
则,空白区重分配的目标函数为:
min Σ i ∈ M { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) }
同时,新的几何约束关系为:
如果模块i在模块i+1的左边:xi+wi+ri≤xi+1-li+1
如果模块i在模块i+1的右边:xi+1+wi+1+ri+1≤xi-li
如果模块i在模块i+1的上方:yi+hi+ti≤yi+1-bi+1
如果模块i在模块i+1的下方:yi+1+hi+1+ti+1≤yi-bi
芯片的面积约束为:
xi≥li,yi≥bi,xi+wi+ri≤W,yi+hi+ti≤H
步骤(3.3),用最小约束矩形的半周长HPWL表示芯片线长,建立芯片线长的线性规划模型:
设,xn max,xn min,yn max,和yn min代表线网n的最小包围矩形的四个边界
(xi pin,yi pin)为模块i的连线端口的坐标,
则,通过建立以下约束:
x pin i ≥ x min n , x pin i ≤ x max n
y pin i ≥ y min n , y pin i ≤ y max n
x pin i = x i + w i / 2 , y pin i = y i + h i / 2
按照下式来优化芯片的线长:
min Σ n ∈ N ( x max n - x min n + y max n - y min n )
步骤(3.4),建立微体系结构小的芯片性能优化模型:
设某条路径集合g的时钟周期数为cycleg,信号衰减系数为cg,Φ为时钟周期,模块k的内部时延为latk,再引入中间变量vxij和vyij:
x pin i - x pin j ≤ vx ij , - x pin i + x pin j ≤ vx ij
y pin i - y pin j ≤ vy ij , - y pin i + y pin j ≤ vy ij
则按照下式来优化芯片的性能:
min Σ g ( c g * cycle g )
s . t . Σ ( i , j ) ∈ p { K * ( vx ij + vy ij ) } + Σ k ∈ p lat k ≤ Φ * cycle g
步骤(4),按照下式进行多目标的优化:
min α*TV+β*WL+λ*P
where TV = Σ i ∈ M β i { h i ( L i - l i ) + h i ( R i - r i ) + w i ( T i - t i ) + w i ( B i - b i ) }
WL = Σ n ∈ N ( x max n - x min n + y max n - y min n )
P = Σ g ( c g * cycle g )
α,β,λ是权重值,可以按照α+β+λ=1来设定;
步骤(5),用单纯形方法求解步骤(3)建立的线性规划问题,最终可以得到热通孔数目减少和性能优化的布图。
CN2008101058678A 2008-05-04 2008-05-04 三维芯片热通孔和性能优化的空白区重分配方法 Expired - Fee Related CN101373492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101058678A CN101373492B (zh) 2008-05-04 2008-05-04 三维芯片热通孔和性能优化的空白区重分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101058678A CN101373492B (zh) 2008-05-04 2008-05-04 三维芯片热通孔和性能优化的空白区重分配方法

Publications (2)

Publication Number Publication Date
CN101373492A true CN101373492A (zh) 2009-02-25
CN101373492B CN101373492B (zh) 2010-11-10

Family

ID=40447653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101058678A Expired - Fee Related CN101373492B (zh) 2008-05-04 2008-05-04 三维芯片热通孔和性能优化的空白区重分配方法

Country Status (1)

Country Link
CN (1) CN101373492B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103376740A (zh) * 2012-04-11 2013-10-30 通用汽车环球科技运作有限责任公司 解决与控制混合动力系统关联的线性约束函数的分层删减方法
CN103560097A (zh) * 2013-11-20 2014-02-05 中国科学院深圳先进技术研究院 一种三维芯片中的布线路径优化方法
CN103678817A (zh) * 2013-12-20 2014-03-26 清华大学 基于三维重聚的三维现场可编程门阵列的分层设计方法
CN104598670A (zh) * 2014-12-23 2015-05-06 浪潮电子信息产业股份有限公司 一种解决fpga保持时间不满足的方法
CN108363897A (zh) * 2018-05-16 2018-08-03 佛山市顺德区中山大学研究院 一种基于模拟退火的三维集成电路分层方法及装置
CN112800706A (zh) * 2021-04-08 2021-05-14 南京集成电路设计服务产业创新中心有限公司 一种快速查找表线长模型可微化方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103376740A (zh) * 2012-04-11 2013-10-30 通用汽车环球科技运作有限责任公司 解决与控制混合动力系统关联的线性约束函数的分层删减方法
CN103376740B (zh) * 2012-04-11 2017-05-24 通用汽车环球科技运作有限责任公司 解决与控制混合动力系统关联的线性约束函数的分层删减方法
CN103560097A (zh) * 2013-11-20 2014-02-05 中国科学院深圳先进技术研究院 一种三维芯片中的布线路径优化方法
CN103560097B (zh) * 2013-11-20 2016-04-27 中国科学院深圳先进技术研究院 一种三维芯片中的布线路径优化方法
CN103678817A (zh) * 2013-12-20 2014-03-26 清华大学 基于三维重聚的三维现场可编程门阵列的分层设计方法
CN103678817B (zh) * 2013-12-20 2017-05-31 清华大学 基于三维重聚的三维现场可编程门阵列的分层设计方法
CN104598670A (zh) * 2014-12-23 2015-05-06 浪潮电子信息产业股份有限公司 一种解决fpga保持时间不满足的方法
CN104598670B (zh) * 2014-12-23 2019-03-12 浪潮电子信息产业股份有限公司 一种解决fpga保持时间不满足的方法
CN108363897A (zh) * 2018-05-16 2018-08-03 佛山市顺德区中山大学研究院 一种基于模拟退火的三维集成电路分层方法及装置
CN112800706A (zh) * 2021-04-08 2021-05-14 南京集成电路设计服务产业创新中心有限公司 一种快速查找表线长模型可微化方法

Also Published As

Publication number Publication date
CN101373492B (zh) 2010-11-10

Similar Documents

Publication Publication Date Title
Sechen VLSI placement and global routing using simulated annealing
US5808901A (en) Similarity-extraction force-oriented floor planner
CN101373492A (zh) 三维芯片热通孔和性能优化的空白区重分配方法
Deng et al. Interconnect characteristics of 2.5-D system integration scheme
US6611951B1 (en) Method for estimating cell porosity of hardmacs
US6532572B1 (en) Method for estimating porosity of hardmacs
Rakha et al. Generative urban modeling: a design work flow for walkability-optimized cities
Areibi et al. Effective memetic algorithms for VLSI design= genetic algorithms+ local search+ multi-level clustering
CN105354873A (zh) 用于多孔介质三维重构的模式密度函数模拟算法
CN100405379C (zh) 一个快速的集成电路可布性分析方法
CN106980730A (zh) 基于直接求解技术的vlsi标准单元布局方法
Ho et al. Crosstalk-and performance-driven multilevel full-chip routing
CN102063536A (zh) 基于模式匹配的电源/地线网络与布图规划的协同设计方法
CN115859899A (zh) 一种多驱动能力的集成电路标准单元版图迁移的方法
Ying et al. An analytical approach to floorplanning for hierarchical building blocks layout (VLSI)
CN103838897A (zh) 一种集成电路版图验证的层次化天线检查方法
He et al. Simultaneous buffer and interlayer via planning for 3D floorplanning
CN112989749A (zh) 一种集成电路版图布线中引脚访问方法及装置
Hanchate et al. A linear time algorithm for wire sizing with simultaneous optimization of interconnect delay and crosstalk noise
US20080134105A1 (en) Apparatus, method and program for designing integrated circuit
Zhu et al. Floorplanning for 3D-IC with Through-Silicon via co-design using simulated annealing
CN114021217A (zh) 自动生成数据中心内机柜排布方案的方法
CN107169190A (zh) 一种寄生参数提取方法
US6609238B1 (en) Method of control cell placement to minimize connection length and cell delay
Hashimshony et al. Transforming an adjacency matrix into a planar graph

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TSINGHUA UNIVERSITY

Effective date: 20131210

Owner name: WUXI APPLICATION TECHNOLOGY RESEARCH INSTITUTE OF

Free format text: FORMER OWNER: TSINGHUA UNIVERSITY

Effective date: 20131210

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100084 HAIDIAN, BEIJING TO: 214072 WUXI, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20131210

Address after: 214072 Jiangsu Province Road DiCui Binhu District of Wuxi City No. 100, No. 1 building, 530 floor 12

Patentee after: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

Patentee after: Tsinghua University

Address before: 100084 Haidian District 100084-82 mailbox Beijing

Patentee before: Tsinghua University

DD01 Delivery of document by public notice

Addressee: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice

Addressee: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

Document name: Notification of Termination of Patent Right

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101110

Termination date: 20140504

EXPY Termination of patent right or utility model