FSMformer:一种高效的方向感知图变换器,用于门级网表中的状态寄存器检测

时间:2026年2月2日
来源:Integration

编辑推荐:

状态触发器检测方法在大规模网表中的应用。本文提出基于图Transformer的FSMformer方法,通过双向消息传递和方向感知线性注意力机制,同时提取电路结构和功能特征,显著提升检测准确率并降低计算复杂度。

广告
   X   

宗泰 李 | 梁 易 | 霍 李 | 米安 洛 | 泽宇 杨 | 韦东 徐
中国航天科技集团公司西安微电子技术研究所,中国西安

摘要

尽管使用第三方网表IP可以提高集成电路产品的质量并缩短开发周期,但同时也引入了潜在的安全漏洞。在顺序网表中识别状态寄存器是一种常用的技术,有助于工程师理解未知门级网表的控制逻辑。传统的基于图论的检测方法(如RELIC和FSMX-ultra)存在准确性低和计算复杂度高的问题。最近的基于图神经网络(GNN)的检测方法(如ReIGNN)也表现出有限的准确性,许多数据DFF被错误地分类为状态DFF。在本文中,我们提出了一种基于图变换器(Graph Transformer)的方法FSMformer,该方法利用双向消息传递作为局部模块,以及具有方向感知的线性快速注意力(direction-aware linear fast attention)作为全局模块,从而能够从顺序网表中同时提取结构和功能特征,从而实现对大规模网表中状态DFF的高效准确检测。根据实验结果,我们提出的FSMformer不仅优于现有的基于图论的方法FSMX-ultra和基于GNN的方法ReIGNN,也优于我们用于状态DFF检测的各种先进神经网络基线。

引言

现代集成电路的设计和制造依赖于涉及多个方的全球化供应链。虽然这种合作加速了产品开发周期,但也引入了潜在的安全风险。例如,工程师经常直接集成第三方网表IP,这可能导致安全威胁,如篡改攻击[1]、IP侵权[2]和硬件木马[3]。网表逆向工程(Netlist Reverse Engineering, RE)有助于用户理解未知门级网表的功能,是恢复供应商之间信任的常用方法[[4], [5], [6]]。网表RE分为组合逻辑RE和顺序逻辑RE。组合逻辑RE的任务包括边界检测和算术模块的功能识别[7],而顺序逻辑RE则专注于识别未知电路的控制逻辑。鉴于许多攻击和防御策略都围绕电路的控制路径展开,本文重点讨论顺序逻辑RE。
电路中的控制路径通常由有限状态机(Finite State Machines, FSMs)实现,这些 FSMs由形成状态寄存器的D触发器(Data Flip-Flops, DFFs)组成。因此,高效准确地检测状态寄存器有助于理解未知门级网表的功能[8]。然而,从包含数百万逻辑门的网表中提取状态寄存器并非易事,通常面临四个挑战:1)负责控制逻辑的状态DFF与用于数据存储的数据DFF混在一起;2)网表中逻辑门的规模限制了检测方法的准确性和运行效率;3)网表中可能存在结构类似于状态寄存器的算术逻辑模块;4)与可以使用模板匹配[9]或行为匹配[10]等技术检测的算术模块不同,状态寄存器通常用于控制不同的电路功能,使得这些方法不适用。
已经提出了许多检测网表中状态寄存器的方法,这些方法可以分为两类:基于图论的方法和基于GNN的方法。RELIC系列[[11], [12], [13]]作为典型的基于图论的方法,通过比较寄存器的输入电路(fan-in circuits)的相似性来区分状态寄存器和数据寄存器。然而,这种方法需要为每个单独的网表探索不同的配置参数,计算成本较高,仅适用于小规模网表。其他基于图论的研究[[14], [15], [16], [17], [18], [19]]根据反馈路径的存在来确定状态寄存器。在反馈路径存在的基础上,开发了各种技术来提高检测准确性,例如进一步根据寄存器的输出是否连接到控制信号来进行过滤。然而,这些方法的准确性仍然不足。尽管与RELIC系列相比,它们在执行速度和网表大小方面有所改进,但仍然无法处理大规模网表。
在过去五年中,GNN已被广泛应用于与网表相关的任务[[20], [21], [22], [23]],使得使用GNN检测状态寄存器成为可能。ReIGNN [24]将状态寄存器的检测表述为一个二分类问题,即在状态DFF和数据DFF之间进行分类,并首次将GNN应用于此任务,实现了更短的推理时间和处理大规模网表的能力。然而,ReIGNN的真正阳性率仍然不足,大量数据DFF被错误地分类为状态DFF,导致较高的假阳性率。因此,ReIGNN需要后处理来纠正这些错误分类。此外,所有上述状态寄存器检测方法——无论是基于图论的还是基于GNN的——除了RELIC-FUN——都没有考虑网表的功能特征。即使在RELIC-FUN中,也只考虑了输入电路中4个可行片内的布尔函数匹配。我们在第III.A节中概述了现有的状态寄存器检测方法。
限制GNN性能的主要问题是过度平滑(over-smoothing)[25]和过度压缩(over-squashing)[26]。在网表的背景下,这意味着GNN只能提取子电路级别的特征,无法捕捉逻辑门之间的长距离依赖关系。图变换器(Graph Transformers, GTs)[27]利用变换器的注意力机制,能够有效捕捉这种长距离依赖关系。然而,注意力的计算复杂度与图中节点的数量成二次方关系,使得GTs不适合处理大规模图。我们尝试将GTs [28,29]应用于网表,发现当逻辑门数量超过6K时,在具有64 GB RAM的系统上会发生内存错误——这远远低于实际网表的规模。为了使GTs能够应用于大规模图,一些研究专注于简化注意力计算以降低计算复杂度[[30], [31], [32], [33], [34], [35], [36], [37], [38]],而其他研究则旨在通过基于拓扑的采样策略[39], [40], [41], [42]降低硬件要求。我们在第III.D节中进行了详细讨论。然而,迄今为止,还没有公开的研究将GTs应用于识别状态DFF。此外,无论是基于自适应的方法还是基于采样的方法,都忽略了顺序网表作为有向循环图的固有特性,从而无法完全捕捉它们的结构和功能特征。
在本文中,我们提出了一种基于GT的方法FSMformer,它结合了局部模块和全局模块,同时提取顺序网表的结构和功能特征,从而实现对大规模网表中状态DFF的高效准确检测。具体来说,我们的贡献有三个方面。
  • 1)
    数据集:目前没有公开可用的用于寄存器检测任务的网表数据集。我们收集了10个常用功能块的RTL实现,并通过逻辑综合生成了专门的网表数据集。每个网表在保持其功能的同时进行了全局结构修改。此外,我们开发了一个名为PyNetlist2的网表处理工具,以促进顺序网表转换为图表示。数据集和PyNetlist2都将在指定的网站上开源[43]。
  • 2)
    局部模块:FSMformer使用定制的GNN作为局部模块来生成逻辑门的局部表示。考虑到顺序网表本质上是有向循环图而非无向图,因此定制的GNN是一个双向消息传递神经网络,可以同时提取网表的功能和结构特征。双向消息传递利用与电路中信号传播方向一致的前向消息传递来增强对网表功能的理解,以及反向消息传递来补充对网表结构的理解。
  • 3)
    全局模块:FSMformer使用基于变换器的架构作为全局模块来生成逻辑门的全局表示。全局模块不仅捕捉网表中的长距离依赖关系,还减轻了局部模块中存在的过度平滑和过度压缩问题。为了克服传统注意力机制在网表可扩展性方面的限制,全局模块采用了线性注意力机制,显著降低了计算复杂度。为了捕捉信号从主输入(Primary Inputs, PIs)到主输出(Primary Outputs, POs)的传播特性,我们采用了多量子位磁位置嵌入(Multiple-Q Magnetic Positional Embedding, PE)来增强全局模块对信号传输方向的感知,从而提高其对网表功能的理解。
实验结果:与现有的基于图论的最先进方法FSMX-ultra相比,我们提出的FSMformer在状态DFF检测的准确性上提高了14%。与现有的基于GNN的最先进方法ReIGNN相比,FSMformer在状态DFF检测的准确性上提高了3.13%。此外,几种先进的GNN和GTs首次被应用于状态寄存器检测作为基线模型。实验结果表明,FSMformer是唯一在状态DFF和数据DFF上都取得高准确性的模型。此外,我们进行了消融研究以验证双向消息传递、全局线性注意力和多量子位磁位置嵌入的有效性。
本文的其余部分组织如下。第II节介绍了本研究涉及的基本概念。第III节讨论了现有的状态寄存器检测方法及其局限性、网表表示方法及其相应约束、有向GNN的当前研究现状以及大规模图挑战下的GTs最新进展。第IV节详细介绍了我们提出的方法。第V节描述了验证我们方法优越性的实验结果。最后,第VI节总结了本文。

章节片段

图是一种用于描述节点之间连接的数据结构,通常定义为2元组G=(E,V,其中表示节点集,V表示表示节点之间连接的边集。图也可以用邻接矩阵表示,其中0和1表示相应节点之间是否存在连接。根据节点之间的连接是否有方向,图可以分为有向图和无向图。

现有技术及其局限性

工作[14]是第一个基于“具有反馈路径的寄存器被分类为状态寄存器”这一原理来识别状态寄存器的工作。在[14]的基础上,工作[15]通过利用“状态寄存器的输出更可能作为控制信号(例如多路复用器的使能信号)”这一观察结果进一步细化了检测。工作[16]通过移除FSM的输出逻辑来减少目标网表的复杂性。常见的局限性是

状态寄存器检测的任务描述

受到ReIGNN的启发,本研究将状态寄存器检测问题表述为一个节点分类任务。与将网表视为无向图的ReIGNN不同,我们提出了一种名为FSMformer的新颖有向图变换器,它将网表建模为有向图。FSMformer有两个目标:1)提高未见网表中状态DFF检测的准确性;2)降低在未见网表中将数据DFF错误分类为状态DFF的概率,即减少假阳性。

设置和指标

执行环境。在创建网表数据集时,我们使用Design Compiler进行RTL到网表的逻辑综合,标准单元库采用65 nm SMIC技术。所有生成的网表都使用Formality进行形式验证,以确保布尔功能一致性。我们使用名为PyNetlist2的网表分析工具将顺序网表转换为有向循环图。该工具的前身PyNetlist1在我们的先前工作DAGNN-RE中介绍过

结论

在本文中,我们提出了一种基于图变换器的状态寄存器检测方法FSMformer。FSMformer能够在大规模网表中快速准确地分类状态DFF和数据DFF。该模型结合了双向消息传递机制作为局部模块和具有方向感知的线性变换器作为全局模块,从而同时提取网表的结构和功能特征。

利益冲突声明

作者声明他们没有已知的竞争财务利益或个人关系可能影响本文报告的工作。

致谢

本项工作得到了中国航天科技集团公司研发项目(授权号:2023718)的支持。所有作者均已批准手稿的最终版本以供发表。我们衷心感谢AMD的Subhajit Dutta Chowdhury提供了ReIGNN的源代码,并在复现ReIGNN过程中提供了宝贵的解决方案。

生物通微信公众号
微信
新浪微博


生物通 版权所有