论文标题:Towards Next-Generation Logic Synthesis: A Scalable Neural Circuit Generation Framework
论文概览
逻辑综合(Logic Synthesis, LS)是芯片设计流程中承上启下的关键环节,对芯片设计的效率和质量都具有重要影响。具体来说,逻辑综合旨在生成精准满足给定功能要求(如由电路输入输出对构成的功能真值表)的最优逻辑电路图,是 NP 难问题。为了求解该问题,传统方法主要依赖于硬编码启发式规则,易陷入次优解。
引言
DNAS 倾向于生成大量的跨层连接,导致网络表达能力受限。
神经网络结构与电路固有结构存在较大偏差,显著降低了 DNAS 的搜索效率。
不同输入输出示例数据的学习难度差异显著,现有方法难以学习难例输入输出对。
为系统性地解决这些挑战,作者提出了一种新颖的正则化三角形电路网络生成框架(T-Net),实现了完全准确且可扩展的电路生成。此外,他们还提出了一种由强化学习辅助的演化算法,以实现高效且有效的电路优化。在四个电路评测标准数据集中,实验表明他们的方法能够精确生成多达 1200 节点规模的电路,且其性能显著优于国际逻辑综合竞赛 IWLS 2022 和 2023 中冠亚军方案。
背景与问题介绍
逻辑电路生成介绍
逻辑电路图(And-Inverter Graph, AIG)是逻辑电路的一种表示方式。AIG 为有向无环图,图中的节点代表与逻辑门,图中的边代表逻辑门间的连线,连线上可以添加非门。逻辑电路的大小为 AIG 中的节点数,在逻辑功能不变的情况下,节点数越少表示电路结构越紧凑,这将有助于后续的芯片设计优化。
逻辑电路生成方法将电路的完整输入输出对组合,即功能真值表,建模为训练数据集,并利用机器学习模型自动从数据集中学习生成逻辑电路图 [1,2,3]。在电路设计的实际应用中,要求设计精准满足功能要求的电路结构,因此生成的逻辑电路图必须在训练集上达到 100% 的准确率。
基于 DNAS 的电路生成介绍
神经网络架构搜索(Differential Neural Network Architecture Search, DNAS)[4] 近期被用于生成逻辑电路图 [2,3]。这类方法将一个 L 层,每层 K 个神经元的神经网络建模为 AIG,其中神经元视为逻辑门,神经元之间的连接视为逻辑门之间的电路连接,神经元可以连接到更浅层的任意神经元。对于一个参数化的神经网络,每个神经元都固定执行与逻辑运算,而神经元之间的连接参数是可学习的。
为了能够使用梯度下降法训练网络结构,现有方法会执行 2 种连续化操作:1. 神经元的逻辑运算用等价的可微方式计算,例如 a 与 b 用 a⋅b 代替 [5]。2. 将离散的网络连接方式参数化,并在前向传播时使用 gumbel-softmax [6] 对连接进行连续化和采样。
在训练期间,真值表的每一行输入 - 输出对都作为训练数据输入网络,通过梯度下降法训练连接参数。在测试期间,每个节点的输入根据参数只选择一条连接,从而将网络离散化,模拟实际的逻辑电路。
动机实验 ——DNAS 难以准确生成电路
为了进一步分析产生上述挑战的原因,作者进行了详细的实验。
方法介绍
多标签数据变换:提高可扩展性
随着输入位数的增多,真值表的长度呈指数型增长。为了解决扩展性挑战,作者设计了基于香农定理的多标签训练数据变换。香浓定理证明了一个逻辑函数可以通过一个分解变量分解成两个子函数:
由于真值表是逻辑函数的对偶表示,他们通过以下两步完成数据变换:首先选定一个输入变量,通过固定它的值为 0 或 1,将真值表分解为 2 个长度减半的子表。接着将 2 个子表并列起来,每个输入组合的输出数量翻倍。
通过将真值表合并生成,网络可以学习到更多可复用的结构,从而减少最终的电路节点数。多标签数据变换可以不断减少真值表的输入位数,从而降低学习难度,加速电路生成。
三角形网络结构:减小搜索空间
为了使网络结构更好地适配电路特性,作者设计了三角形的网络结构。具体来说,更宽的底层结构增强了网络的表达能力,而细长的顶层结构减少了利用率低的冗余节点,减小了搜索空间,加速了收敛。同时,实验证明了这种窄顶结构也能有效加速具有大量输出的电路生成。
正则化损失函数:精确生成电路
本论文的方法包含跨层连接正则化和布尔难度识别损失函数两部分。对于跨层连接,作者对可学习的连接分布参数施加权重正则化,鼓励网络连接更临近层的节点。对于较难学习的输入 - 输出示例,他们在损失函数中为这些示例施加更大的权重,以在训练后期加速收敛。
同时,本论文的框架还包含电路优化部分。作者在强化学习优化算子序列调优的基础上,结合了演化算法和 agent 重启技术,避免陷入局部最优解,实现快速有效的电路优化。更多细节可见原文第 5 章节。
实验介绍
本论文实验的数据集包括 4 类开源电路数据集,节点数规模高达 1200,输入、输出数量最高为 16、63 位。实验包含 4 个部分:1. 在多个电路上评估本论文电路生成和优化方法的准确性和电路性能。2. 评估本论文生成方法针对电路大小的可扩展性。3. 通过消融实验展示本论文方法各部分的效用。4. 验证本论文方法对超参数的鲁棒性。作者在以下内容中详细介绍实验 1,其余实验请参见原论文的第 6 章节。
电路生成准确率
电路综合效果
图 4. 作者提出的电路生成及优化框架效果显著优于开源逻辑综合工具 ABC 中的电路生成算子。
参考文献
[3] Peter Belcak, et al. Neural combinatorial logic circuit synthesis from input-output examples. International conference on machine learning NeurIPS Workshop, 2022.
[4] Hanxiao Liu, et al. Darts: Differentiable architecture search. International conference on machine learning ICLR 2019.
[5] Felix Petersen, et al. Deep differentiable logic gate networks. International conference on machine learning NeurIPS, 2022.
[6] Eric Jang, Shixiang Gu, and Ben Poole. Categorical reparameterization with gumbel-softmax. International conference on machine learning ICLR, 2017.
作者:机器之心
链接:https://juejin.cn/post/7433627148608454695
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
