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

一种基于后处理的端到端强化学习混合尺度布局方法

文献发布时间:2024-01-17 01:15:20


一种基于后处理的端到端强化学习混合尺度布局方法

技术领域

本发明涉及自动化芯片设计技术领域,更具体地,涉及一种基于后处理的端到端强化学习混合尺度布局方法。

背景技术

芯片布局的目标是将宏元件和标准元件放置到芯片板上,要求满足密度以及拥塞等约束的同时优化PPA(性能、功耗、面积)目标。求解布局问题的传统算法通常包括基于启发式算法、遗传算法、蒙特卡罗采样或者基于力导向的优化算法。然而,这些算法在时间效率和对具体布局问题的设计复杂度上都具有瓶颈,并且无法有效释放现有人工智能领域飞速发展的硬件算力。

近年来,基于强化学习的智能布局算法逐渐被提出,通过卷积神经网络及图神经网络对状态空间建模,实现了较好的拟合效果。例如,端到端强化学习布局模型输入包括各个元件的大小以及元件之间的连接关系(即网表图),对每个元件进行贯序决策,通过策略网络模块(卷积神经网络和图神经网络)分别得到粗细粒度不同的全局嵌入特征与结点嵌入特征,将两个网络得到的特征向量融合,最终预测出当前时刻元件可能的放置位置的概率分布。目前的端到端强化学习布局模型包括谷歌和DeepPlace等。

经分析,已有的端到端强化学习布局模型都默认每个宏元件均占据一个网格单元,然而,在混合尺度布局背景下,宏元件之间往往存在较大的尺寸差异,即布局过程中没有考虑宏元件实际大小这一已知信息,从而导致布局结果存在比较严重的元件重叠问题,影响了实际线长等指标,进而最终影响了芯片的性能。

发明内容

本发明的目的是克服上述现有技术的缺陷,提供一种基于后处理的端到端强化学习混合尺度布局方法。该方法包括以下步骤:

针对目标元件在芯片上的布局问题,构建端到端的强化学习布局模型,其中,所述强化学习布局模型包含策略网络和后处理模块,所述目标元件包含宏元件和标准元件;

利用所述策略网络实现所有宏元件的整体布局;

所述后处理模块以减小元件间重叠面积为目标,对所有目标元件一起进行贴边后处理,得到所有目标元件的布局结果;

利用设定的奖励函数计算所述布局结果对应的奖励值,并周期地更新策略网络,直到满足设定的优化目标。

与现有技术相比,本发明的优点在于,针对宏元件尺寸差异较大的混合尺度布局场景,设计了包含后处理模块的端到端强化学习布局模型,在智能体整体布局结束后对所有元件一起进行后处理,从而通过引入尽量贴边摆放的先验知识,在减小布局结果重叠面积的同时优化了元件规整度等指标。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是根据本发明一个实施例的基于后处理的端到端强化学习混合尺度布局方法的流程图;

图2是根据本发明一个实施例的基于后处理的端到端强化学习混合尺度布局方法的总体框架图;

图3是根据本发明一个实施例的基于后处理的端到端强化学习混合尺度布局方法的整体仿真流程图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

参见图1和2所示,所提供的基于后处理的端到端强化学习混合尺度布局方法包括以下步骤:

步骤S110,针对宏元件和标准元件的布局问题,构建端到端的强化学习布局模型,该强化学习布局模型包含后处理模块。

在本发明中,采用强化学习方法将宏元件(如SRAM)和标准元件(如逻辑门,包括NAND、NOR)放置到芯片板上,从而优化芯片的功率、性能和面积(PPA)等,同时遵守布局密度和布线拥塞等限制。

所设计的端到端强化学习布局模型除了策略网络外,还额外包含了后处理模块。总体而言,策略网络按顺序放置宏元件,进而结合后处理模块生成标准元件的放置,并且在后处理过程中也将进一步调整优化宏元件的位置。

在本发明所提供的强化学习方法中,将芯片上的布局区域作为环境。状态是网表在芯片画布上的每个可能的部分放置,即将布局区域内宏元件的布局情况作为状态。对于给定的当前要放置的宏元件,可用动作是离散画布空间(网格单元)中可以放置该宏元件的所有位置的集合,该位置集合不违反对密度或阻塞等的任何硬性限制。奖励是指某个状态下采取行动的奖励。

步骤S120,针对待放置的所有宏元件,利用策略网络实现宏元件的整体布局。

混合尺度的宏元件布局策略学习目标是学会一个策略π,这样它可以根据给定的网表图及元件大小等信息做出布局决策,即依次决定宏元件的摆放位置。例如,策略网络包括一个卷积神经网络得到布局图像的全局特征向量,一个图卷积网络处理网表图抽取出的图结构,得到网表图的局部嵌入特征。然后,拼接两个特征向量来完成宏元件布局。

在一个实施例中,针对宏元件的布局,采用的奖励函数是线长、拥塞和密度的负加权总和。权重可用于探索各指标之间的权衡。

步骤S130,以减小元件间重叠面积为目标,对所有元件一起进行贴边后处理,得到所有元件的布局结果。

为了缓解中间布局结果中的元件重叠问题,以及提高元件规整度,特别地提出了后处理算法将传统方法中尽量贴边摆放的先验知识融合到强化学习布局框架中,即引入后处理模块参与到整个端到端学习过程中,如图2所示。当宏元件整体布局结束后,结合后处理模块对所有元件一起进行贴边后处理,以优化布局结果重叠面积。

步骤S140,根据后处理得到的布局结果估计得到线长和拥塞指标,并反馈给智能体,通过近端策略优化算法周期地更新策略网络。

在该步骤中,利用设定的总体奖励函数计算布局结果对应的奖励值,并周期地更新策略网络,直到满足设定的优化目标。

综上,本发明首先通过智能体依次决定每个宏元件的摆放位置,当宏元件整体布局结束后对所有元件一起进行后处理,根据布局结果估计得到线长和拥塞指标反馈给智能体并更新策略网络,得到下一步迭代的智能体。具体包括:(1)对于当前时刻的宏元件,根据策略网络模块(卷积神经网络和图神经网络)分别得到粗细粒度不同的全局嵌入特征与结点嵌入特征,将两个网络得到的特征向量融合,预测出元件可能的放置位置的概率分布;(2)当宏元件整体布局结束后,对所有元件一起进行贴边后处理,优化布局结果重叠面积;(3)根据后处理得到的布局结果估计得到线长和拥塞指标并反馈给智能体,通过(ProximalPolicy Optimization,近端策略优化)周期地更新策略网络。

为清楚起见,图3示意了所提供的基于后处理的端到端强化学习混合尺度布局方法的仿真流程,包括以下步骤:

步骤S31,读取待布局电路的元件数据。

例如,通过数据预处理模块接收描述待布局电路中元件及网表图信息的数据文件,将提取出的状态保存到计算机内存中,以供强化学习布局模型处理。

步骤S32,选择当前时刻将放置的元件。

例如,构建一个空白棋盘网格,初始化结果列表,选择一个待放置的宏元件。

步骤S33,调用策略网络预测元件的位置概率。

例如,通过策略网络预测元件的放置位置,并检验结果是否有效。若所选位置已被占用,则搜索得到替代的放置位置,同时选择下一个待放置元件。

步骤S34,判断是否所有宏元件已放置。

当还有宏元件未被放置,回到步骤S33,否则进入步骤S35。

步骤S35,运行后处理算法调整元件位置并计算偏移损失。

运行后处理算法的过程包括:对于每个宏元件,计算其边界到最近元件的距离(如果没有元件则计算到芯片板边界的距离);将元件朝距离最近的邻居方向移动,直到与另一个元件发生重叠或者靠近芯片板边界;分别计算每个元件在横向以及纵向上的移动距离,将所有移动距离的平方和作为偏移损失加入到奖励函数中。

步骤S36,调用基于梯度的布局优化算法并计算奖励值。

例如,运行基于梯度的布局优化算法DREAMPlace读取结果列表中的宏元件位置,经过迭代优化后完成标准元件的放置。根据完整布局结果计算得到本次的奖励值(包括偏移损失),适当更新选择智能体动作的策略,当训练未结束回到步骤S32,训练到达设定的轮数则完成训练。

为进一步验证本发明的效果,在ISPD-2005这一具体数据集上进行了测试了,一共包含8个不同的电路,总元件数从20万到200万不等。实验结果表明,相比于不使用后处理方法的现有基线模型,本发明所获得的芯片布局结果,平均重叠面积减小了2.14,元件规整度提升了2.67倍,并且总线长指标上也有0.2%的减小。

综上所述,相对于现有技术,本发明具有以下优势:

1)本发明首次在端到端强化学习布局模型中提出了基于传统布局器贴边摆放的后处理方法,从而减小了布局结果的重叠面积,并同时优化了元件规整度等指标。

2)本发明将计算后处理算法的偏移损失作为奖励函数的一部分,从而将强化学习智能体与后处理算法进行有机结合,提升了芯片布局的总体性能。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++、Python等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

技术分类

06120116082622