《Integration》:Multi-stage physical design parameter optimization for accurate and fast PPA convergence
编辑推荐:
•我们提出了一种新的物理设计优化框架,能够实现整个设计流程在性能、功耗和面积方面的快速且精确的优化。•我们设计了一种新型的多阶段物理设计优化流程,通过逐阶段精细调整参数,实现快速的性能、功耗和面积优化。•我们构建了基于图神经网络的预测模型,用于预测总负松弛度和线长,使得早期预测结
- •
我们提出了一种新的物理设计优化框架,能够实现整个设计流程在性能、功耗和面积方面的快速且精确的优化。
- •
我们设计了一种新型的多阶段物理设计优化流程,通过逐阶段精细调整参数,实现快速的性能、功耗和面积优化。
- •
我们构建了基于图神经网络的预测模型,用于预测总负松弛度和线长,使得早期预测结果能与最终实现的性能、功耗和面积指标准确对应。
- •
我们开发了一种高效的图提取方法,利用并行计算提升提取速度。
引言
找到合适的设计参数设置是影响芯片性能、功耗和面积的关键任务。然而,要找到能实现最佳性能、功耗和面积参数组合的方法需要大量时间,因为设计流程包含多个步骤,每一步都有许多需要优化的参数。为解决这一问题,近期有研究开始采用基于机器学习的设计空间优化方法。
为将设计空间优化方法引入物理设计领域,一些方法直接采用了用于人工智能应用的超参数调优工具。例如,AutoTuner [1]是一种使用传统超参数优化算法的工具,已被用于调整OpenROAD物理设计工具中的参数[2]。不过,这种方法在应用于物理设计领域时存在诸多问题,比如需要执行大量操作,且模型性能不佳。这些限制凸显出需要新的方法来满足物理设计优化领域的特殊需求。为应对这些挑战,已有几种物理设计优化系统被提出,代表性的有SynTunSys (STS) [3]、[4]和 [5]。这些系统虽然各有特点,但其优化流程都是按照多个步骤依次进行,每一步都有许多需要优化的参数。这样的流程会导致设计空间探索不足、内存占用过高,进而无法显著提升性能、功耗和面积指标。(更多内容将在2.2节中讨论。)
要优化整个物理设计流程,就需要采用有效的策略,将流程分解为多个可管理的阶段分别优化。FlowTuner [6]就是一种相关研究成果。但FlowTuner存在一个重大缺陷:它需要完整执行整个物理设计流程才能评估每个阶段的优化效果,因此会导致设计空间优化耗时过长。即便在逻辑放置或放置优化等早期阶段就调整了某些参数,FlowTuner仍需执行后续的布线等步骤,才能了解其对最终性能、功耗和面积指标的影响。这凸显出需要一种能够在不完整执行整个物理设计流程的情况下高效完成各阶段优化的方法。
针对这些问题,本研究提出了一种创新框架,能够解决上述所有难题,从而提升整个物理设计流程的性能、功耗和面积优化效果。该框架将物理设计流程分为多个独立阶段,便于更有条理地探索设计空间。同时,通过逐阶段优化,确保在布线完成后能够获得最佳的性能、功耗和面积指标,从而有效应对整体流程优化中的各种挑战。为实现这一目标,我们提出了两种策略的物理设计优化框架:(1)多阶段物理设计优化,通过分步优化来克服现有方法的缺陷,同时解决各阶段之间关联度不足的问题;(2)离线神经网络训练阶段,在每个设计阶段构建基于图神经网络的预测模型,用于预测与布线后指标更为相关的早期性能、功耗和面积数值。
总之,本研究的贡献包括:
- 1.
提出多阶段物理设计优化流程:该方法避免了将整个物理设计流程视为一个单一优化目标的弊端。它实现了协同优化,即在优化每个阶段时都会考虑其他阶段的影响,而非简单地将流程拆分为多个独立阶段进行顺序优化。在我们的物理设计优化流程的第二轮迭代中,系统会利用第一轮的优化结果进一步改进优化过程,从而根据后期阶段的优化成果来调整早期阶段的参数。
- 2.
构建离线基于图神经网络的性能、功耗和面积预测模型:这些模型包括用于特征提取的图结构构建、图神经网络,以及用于预测总负松弛度和线长的多层感知器。我们的多阶段物理设计优化方法利用这些基于图神经网络的模型,在早期就能预测与布线后指标高度相关的总负松弛度和线长数值。
- 3.
设计高效的图提取方法:由于我们的多阶段物理设计优化方法使用了基于图神经网络的预测模型,且每个设计阶段的电路结构都在不断变化,反复构建图结构会大幅增加特征提取的时间。这对于本身就因多次执行物理设计工具而耗时较长的设计空间优化来说是个严峻挑战。为解决这一问题,我们提出了利用并行计算提升图提取速度的方法。
章节要点
设计参数与目标指标
我们将物理设计流程的范围定义为从逻辑综合到布线优化的各个阶段。因为在先进工艺节点中,逻辑综合与其他设计阶段之间的相互作用愈发重要。我们将该流程分为四个阶段:逻辑综合与放置、放置优化、时钟树综合以及布线,具体如图2所示。表1列出了所使用的19个输入参数,以及需要优化的目标指标,包括总负松弛度、正负松弛度差、面积、功耗和线长。表中的蓝色加粗文字为
提出的多阶段物理设计优化框架
图2展示了我们设计的物理设计优化框架的整体流程。该框架由两个主要模块组成:(1)离线神经网络训练器,以及(2)多阶段物理设计优化引擎。在启动多阶段物理设计优化之前,离线神经网络训练器会为每个设计阶段准备神经网络,用于预测布线后的总负松弛度和线长。这一准备过程包括将早期设计阶段的输出转换为图结构表示,再训练结合图神经网络和其他技术的模型
实验设置
离线神经网络训练器和多阶段物理设计优化方法的详细实验设置如表3所示。我们在七个OpenCore [13]电路上对该框架进行了测试。实验中使用了ASAP 7纳米工艺的PDK和DK [14],逻辑综合采用 [15],而布局布线则使用 [16]。对于所有对比的优化流程,各阶段的运行时间限制分别为:逻辑综合与放置阶段100,放置优化阶段130,时钟树综合阶段130,布线阶段40。离线神经网络训练器则在配备相应硬件的服务器上运行
结论
本研究提出了一种多阶段物理设计优化框架,能够实现性能、功耗和面积指标的快速且精确优化。具体而言,我们实现了:(1)一种多阶段优化流程,将各个设计阶段有机结合,使得早期决策能够依据后期优化结果进行调整;(2)一种基于图神经网络的性能、功耗和面积预测模型,无需执行完整的后续流程即可实现早期的高精度评估;(3)一种高效的图提取方法,利用并行计算降低处理时间
利益冲突声明
作者声明不存在任何可能影响本文研究结果的已知利益冲突或个人关系。
Chanhee Jeon|Doyeon Won|Kyumyung Choi|Taewhan Kim