本发明涉及电路标准单元训练,特别涉及一种基于多模态数据的电路标准单元预训练方法。
背景技术:
1、在芯片的反向工程中,大规模电路分析对于芯片的理解和设计起着重要的作用,其内容包括电路模块的提取分类、芯片版图的布局布线等等。电路由标准单元构成,电路分析需要先对标准单元进行特征构建和建模。然而,标准单元种类繁多,各家厂商的命名规则不尽相同,给标准单元的特征构建带来了巨大的挑战。
2、传统的类别特征存在明显缺陷。若只关注大类,那么同类型标准单元的各个变种将无法区分;若将不同的变种当作独立的类别,那么变种之间就失去了相关性。
3、本发明利用标准单元的多模态数据,通过大规模图神经网络模型和自然语言模型的自监督训练,为下游模型提供高质量的表征向量,提高下游模型的预测性能。首先,标准单元的类别可以由名称推断,相似功能的标准单元具有相同的前缀;其次,其逻辑表达式或真值表描绘了标准单元的运算逻辑,从本质上确定了功能;另外,相似的标准单元具有相似的内部拓扑结构,可以用图数据结构加以刻画。因此,标准单元的特征构建可以利用标准单元的多模态数据,综合其名称、逻辑表达式、真值表和内部拓扑结构,挖掘出其本质特点。特别地,本发明使用图神经网络模型对标准单元的物理结构做嵌入表征,使用自然语言模型对名称、管脚、逻辑表达式和真值表做嵌入表征。通过表征的融合、真值表的输出预测、名称和逻辑表达式的互译等多个自监督任务,实现标准单元的预训练,并提供标准单元的表征向量供下游任务使用。
技术实现思路
1、本发明目的是:提供一种基于多模态数据的电路标准单元预训练方法,通过大规模图神经网络模型和自然语言模型的自监督训练,为下游模型提供高质量的标准单元表征向量,提高下游模型的预测性能。
2、本发明的技术方案是:
3、一种基于多模态数据的电路标准单元预训练方法,包括步骤:
4、s1、预处理标准单元多模态数据集,构建预训练数据;
5、s2、设计图神经网络模型和自然语言模型结构;
6、s3、使用预处理的数据集做自监督训练;
7、s4、在所有标准单元上做模型推断,得到表征向量。
8、优选的,步骤s1具体包括:
9、s1-1、对标准单元的名称和管脚进行解析;其中,名称按字符分割,每个字符加上统一的前缀,构成标准单元名称的词汇表;每个管脚名称前加上统一的前缀,构成管脚的词汇表;
10、s1-2、对逻辑表达式进行解析;识别逻辑词汇,以及括号、逻辑运算符,构成逻辑表达式的词汇表;识别表达式中的管脚名称,加上管脚前缀;
11、s1-3、对真值表进行解析;将输入值转换为矩阵;将0、1输出值看作字符并加上统一的前缀,成为2个词构成的布尔词汇表;
12、s1-4、将以上s1-1~s1-3中的名称词汇表、管脚词汇表、逻辑表达式词汇表和布尔词汇表合并成1个词汇表,并对词做编号;将名称、管脚、逻辑表达式、真值表输出中的词替换成编号,完成数据集中字符的向量化操作;
13、s1-5、为图神经网络模型构建标准单元的管脚特征矩阵和管脚邻接矩阵;
14、步骤s1-4构建了自然语言模型的预训练数据,s1-5构建了图神经网络模型的自监督预训练数据。
15、优选的,所述步骤s2具体包括:
16、构建一个由图神经网络模型和自然语言模型组成的大模型;
17、每个标准单元是一个图;管脚是图中的节点,管脚之间的电路连接是图中的边;图神经网络模型由输入层、图传播层和输出层构成;输入层将标准单元管脚的类别特征向量转化为嵌入向量;图传播层使用图神经网络模块;经过图传播层的信息传递后,输出层产出的是每个管脚的聚合表征向量;
18、自然语言模型由两个生成式子模块构成,生成式子模块中选用的生成模型不限。
19、优选的,所述两个生成式子模块采用bart生成模型;
20、第1个bart生成模型的作用是生成逻辑表达式,由1个encoder和1个decoder组成;encoder使用双向注意力机制,输入的是标准单元名称的词编号向量和管脚的图神经网络表征向量,输出的是每个词的隐状态向量;decoder使用单向注意力机制,输入的是encoder的输出向量,输出的是预测的逻辑表达式;
21、第2个bart生成模型的作用是预测真值表的输出值,由1个encoder和1个decoder组成;encoder使用双向注意力机制,输入的是第1个bart encoder的最后一层隐状态的均值向量以及真值表的输入值,输出的是每个真值表输入值的最后一层隐状态向量;decoder使用单向注意力机制,输入的是encoder输出向量,输出的是预测的真值表输出值。
22、优选的,所述步骤s3具体包括:
23、自监督训练的损失函数由3个子损失函数相加构成;其中,第1个损失函数是预测的逻辑表达式和真实表达式的差异;第2个损失函数是预测的真值表输出值和真实输出值的差异;第3个损失函数是图神经网络通过遮盖和预测方式得到的自监督损失;
24、将训练数据分为训练集、验证集和测试集;选出验证集上bleu指标最高的模型并保存。
25、优选的,所述步骤s4具体包括:
26、加载步骤s3保存的bleu指标最高的模型,对所有标准单元做推断得到表征向量;首先,对于每个标准单元,将管脚类别特征向量和邻接矩阵输入图神经网络,得到管脚的表征向量;接着,在第1个bart生成模型的encoder中输入名称的词编号向量和管脚的图神经网络表征向量,提取其最后一层隐状态的均值向量,作为该标准单元的表征向量,并保存。
27、本发明的优点是:
28、本发明利用标准单元的多模态数据,通过大规模图神经网络模型和自然语言模型的自监督训练,为下游模型提供高质量的标准单元表征向量,提高下游模型的预测性能。
1.一种基于多模态数据的电路标准单元预训练方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于多模态数据的电路标准单元预训练方法,其特征在于,步骤s1具体包括:
3.根据权利要求2所述的基于多模态数据的电路标准单元预训练方法,其特征在于,所述步骤s2具体包括:
4.根据权利要求3所述的基于多模态数据的电路标准单元预训练方法,其特征在于,所述两个生成式子模块采用bart生成模型;
5.根据权利要求4所述的基于多模态数据的电路标准单元预训练方法,其特征在于,所述步骤s3具体包括:
6.根据权利要求5所述的基于多模态数据的电路标准单元预训练方法,其特征在于,所述步骤s4具体包括: