一种基于滑动窗口和离散差分进化算法的3D布局优化方法技术

技术编号:37162914 阅读:10 留言:0更新日期:2023-04-06 22:29
本发明专利技术涉及集成电路技术领域,具体的说是一种基于滑动窗口和离散差分进化算法的3D布局优化方法。在进行优化时,首先读入电路网表、当前两个Die的尺寸以及标准单元的规格,然后进行优化。对比传统的各种2D布局优化算法,本发明专利技术能够有效处理3D芯片布局问题。通过滑动窗口策略在Top和Bottom两个Die中交替的滑动窗口,针对3D堆叠技术中两个面对面的Die的放置提供了一个有效的解决方案,且通过离散差分进化算法来进一步优化放置结果,通过不断地重新组合Cells的放置顺序来获得最优的布局方案。在连接终端的布局问题中,网格化预处理方案能够以O(n)的时间复杂度完成跨Die的Nets与连接终端的一一对应过程,能够有效处理大规模集成电路的布局优化问题。电路的布局优化问题。电路的布局优化问题。

【技术实现步骤摘要】
一种基于滑动窗口和离散差分进化算法的3D布局优化方法


[0001]本专利技术涉及一种基于滑动窗口和离散差分进化算法的3D布局优化方法,属于集成电路


技术介绍

[0002]集成电路产业遵循着摩尔定律,以18个月晶体管数量增加一倍同时成本维持不变的准则,快速蓬勃发展。近年来,集成电路的特征尺寸已经缩减到了10nm这一级别甚至以下,单张芯片中甚至集成了上亿数量的晶体管。随着特征尺寸不断变小,材料的物理极限是晶体管的进一步集成不得不面临的困难。传统的芯片由于只考虑了在二维芯片横向上的排布问题,性能已经渐渐趋于饱和,因此3D芯片堆叠技术应运而生。根据堆叠方法,当前3D芯片堆叠技术主要有三种形式:芯片与芯片的堆叠,芯片与圆片的堆叠,圆片与圆片的堆叠,3D堆叠技术的在出现使得集成电路中布局布线部分中的连线长度大大缩减。
[0003]但多个裸片(Die)之间的布局及布线问题逐渐成为了影响3D IC性能的主要因素之一。传统的一些布局算法在处理2D布局问题中取得不错的效果,如:
[0004]1)基于时钟树的布局优化方法。根据时钟树中门控单元和时序单元的连接关系来对所有标准单元(std ce l l s)进行放置,但忽略了布局之后布线的长度等问题。
[0005]2)基于启发式搜索的布局优化方法。如模拟退火方法,其能够很好的获得划分结果的全局最优,但往往需要大量时间来迭代直至收敛。
[0006]3)基于强化学习的布局优化方法。强化学习是近年被用作布局优化算法中,能够在较短时间内获得一个较优秀的结果,但事先需要大量真实数据来训练模型。
[0007]尽管以上技术以不同的方式实现了2D布局问题中标准单元的放置,但这些传统的布局布线是二维的,只考虑了X轴和Y轴两个方向。而在3D芯片中,需要考虑面对面的两个堆叠芯片之中的布局,且现有的EDA软件不支持三维的布局布线。因此如何实现3D IC中布局布线的设计成为了亟需解决的问题。
[0008]有鉴于此特提出本专利技术。

技术实现思路

[0009]本专利技术的目的就在于为了解决上述问题而提供一种基于滑动窗口和离散差分进化算法的3D布局优化方法,有效的处理3D芯片布局问题。其中的滑动窗口策略在Top和Bottom两个Die中交替的滑动窗口,在此基础上,通过离散差分进化算法跳出局部最优并向着全局最优收敛的能力,通过不断地重新组合Ce l l s的放置顺序来获得最优的布局方案。
[0010]本专利技术通过以下技术方案来实现上述目的,一种基于滑动窗口和离散差分进化算法的3D布局优化方法,在进行优化时,首先读入电路网表(Net l i st)、当前两个Die的尺寸、标准单元的规格,然后进行优化时,包括以下步骤:
[0011]步骤一、判断当前Die是否能够划分,当为否时,进行跳转至步骤八,在为是时,进
行下一步;
[0012]步骤二、划分当前Di e,生成9个子Die;
[0013]步骤三、根据网表构建无向加权图;
[0014]步骤四、将无向加权图划分为多个社团;
[0015]步骤五、以滑动窗口策略将不同社团中的Nets分别放置入不同子Di e;
[0016]步骤六、使用离散差分进化算法对布局结果进行优化;
[0017]步骤七、根据Nets与子Di e的对应关系,生成子网表,且生成子网表后,进行返回步骤一,进行重新判断;
[0018]步骤八、网格化预处理所有连接终端可能出现的位置,当步骤一中判断为否时,进行跳转;
[0019]步骤九、为所有跨Die的连接贪心的选择最近的连接终端位置,并放置连接终端。
[0020]进一步的,在步骤一中,当前Die在3D芯片布局问题中同时包括TopDi e和BottomDi e,依据当前Di e的宽度与最大标准单元的宽度,判断当前Di e是否能够划分为多个子Die,若当前Die的宽度大于最大标准单元宽度的三倍,执行步骤二,否则完成全局布局,执行步骤八。其中,当前Di e除了最初数据读入中的原始Die之外,还有包括上一层迭代中划分出的多个子Die。在步骤二中,将当前Top和Bottom两个Di e按宽度分别分为三个区域,对划分出的三个区域,按当前Top和Bottom两个Die中行(Row)的规格进行三分化,以最终获得9个Top子Di e和9个Bottom子Die。在步骤三中,网表中通常列出了不同Ce l l s中不同引脚(Pi n)的连接关系,并以一个网(Net)表示,每个Net说明了两个及以上Ce l l s中Pi n的连接关系。以Net为基本单位,并将其构建成节点,若两个Net中含有一个相同的Ce l l,则认为这两个节点有一条连接关系,并为两节点边的权值加一,最终构成了无向有权图G={V,E,W},其中V={v1,v2,

,v
n
}表示网表中n个Nets构成的节点的集合,E={(v
i
,v
j
)|v
i
∈V,v
j
∈V,and i≠j}表示边的集合,且W={w
ij
}表示节点vi和vj之间边的权值的集合。在步骤四中,在得到一个无向加权图之后,连接较为密切的节点意味着这些Net具有更为紧密的连接关系。使用社团检测算法Louvai n将无向加权图划分为多个社团,每个社团中的节点连接十分密切,而各个社团之间的连接较为稀疏。将原本无序的Net l i st划分为了多个关系密切的社团,社团中的Ce l l s放在较近的位置,从而减少了布局后的布线长度,且在步骤五中,以滑动窗口策略的思想来将每一个Ce l l合理的放入子Die,窗口在TopDie和BottomDie中交替滑动,合理利用芯片布局3D特性并优化最终的布局线长。
[0021]进一步的,在步骤六中,在滑动窗口策略的初步放置完成之后,进一步对放置结果进行优化,采用离散差分进化算法来对放置顺序进行优化,其具体优化分为两部分:
[0022]A、首先是在9个子Di e中的放置顺序,每一个子Die中已放置的Ce l l都有与其他子Die中的Ce l l存在有连接关系,从{0,1,2,3,4,5,6,7,8}九个数中找到一个最优的排列顺序,使宏观放置后的最终线长最短,在求得最短的宏观放置顺序后,预放置所有Ce l l,并得到每一个子Die中对应放置Nets信息。
[0023]B、然后当前子Die中所有Ce l l s的放置顺序,在得到子Die与对应Nets的信息后,以每一个Ce l l的放置顺序编码,求得在当前子Die中使得最终线长最短的所有Ce l l s的最佳放置顺序。
[0024]进一步的,在步骤七中,在每一轮迭代中会产生9个子Die和子Di e中放置的所有
Nets,根据9个子Die与其所放置的Nets的对应关系,生成9个子网表,产生的所有子Die与子网表均置入下一阶段迭代继续优化。在步骤八中,连接终端Termi na l负责为跨Die的Nets提供连接通道本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在进行优化时,首先读入电路网表(Netlist)、当前两个Die的尺寸、标准单元的规格,然后进行优化时,包括以下步骤:步骤一、判断当前Die是否能够划分,当为否时,进行跳转至步骤八,在为是时,进行下一步;步骤二、划分当前Die,生成9个子Die;步骤三、根据网表构建无向加权图;步骤四、将无向加权图划分为多个社团;步骤五、以滑动窗口策略将不同社团中的Nets分别放置入不同子Die;步骤六、使用离散差分进化算法对布局结果进行优化;步骤七、根据Nets与子Die的对应关系,生成子网表,且生成子网表后,进行返回步骤一,进行重新判断;步骤八、网格化预处理所有连接终端的位置,当步骤一中判断为否时,进行跳转;步骤九、为所有跨Die的连接贪心的选择最近的连接终端位置,并放置连接终端。2.根据权利要求1所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤一中,当前Die在3D芯片布局问题中同时包括TopDie和BottomDie,依据当前Die的宽度与最大标准单元的宽度,判断当前Die是否能够划分为多个子Die,若当前Die的宽度大于最大标准单元宽度的三倍,执行步骤二,否则完成全局布局,执行步骤八。3.根据权利要求2所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤二中,将当前Top和Bottom两个Die按宽度分别分为三个区域,对划分出的三个区域,按当前Top和Bottom两个Die中行(Row)的规格进行三分化,以最终获得9个Top子Die和9个Bottom子Die。4.根据权利要求3所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤三中,网表中通常列出了不同Cells中不同引脚(Pin)的连接关系,并以一个网(Net)表示,每个Net说明了两个及以上Cells中Pin的连接关系,以Net为基本单位,并将其构建成节点,若两个Net中含有一个相同的Cel l,则认为这两个节点有一条连接关系,并为两节点边的权值加一,最终构成一个无向有权图G={V,E,W}。5.根据权利要求4所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤四中,在得到一个无向加权图之后,连接较为密切的节点意味着这些Net具有更为紧密的连接关系,使用社团检测算法Louvain将无向加权图划分为多个社团,每个社团中的节点连接十分密切,而各个社团之间的连接较为稀疏。6.根据权利要求5所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤六中,在滑动窗口策略的初步放置完成之后,进一步对放置结果进行优化,采用离散差分进化算法来对放置顺序进行优化,其具体优化分为两部分:A、首先是在9个子Die中的放置顺序,每一个子Die中已放置的Cell都有与其他子Die中的Cell存在有连接关系,从{0,1,2,3,4,5,6,7,8}九个数中找到一个最优的排列顺序,使宏观放置后的最终线长最短,在求得最短的宏观放置顺序后,预放置所有Cel l,并得到每一个子Die中对应放置Nets信息;B、然后当前子Die中所有Cells的放置顺序,在得到子Die与对应Nets的信息后,以每一
个Cell的放置顺序编码,求得在当前子Die中使得最终线长最短的所有Cells的最佳放置顺序。7.根据权利要求6所述的一种基于滑动窗口和离散差分进化算法的3D布局优化方法,其特征在于:在步骤七中,在每一轮迭代中会产生9个子Die和子Die中放置的所有Nets,根据9个子Die与其所放置的Nets的对应关系,生成9个子网表,产生的所有子Die与子网表均置入下一阶段迭代继续优化,在步骤八中,连接终端Terminal负责为跨Die的Nets提供连接通道,以每个连接终端需要的空间为单位,网格化Die中的所有区域,在步...

【专利技术属性】
技术研发人员:刘静陈玺元赵宏
申请(专利权)人:西安电子科技大学广州研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1