一种基于深度学习的信号映射方法及计算机存储介质与流程

文档序号:33005889发布日期:2023-01-18 03:58阅读:18来源:国知局
一种基于深度学习的信号映射方法及计算机存储介质与流程

1.本发明涉及数字逻辑产品仿真领域,尤其涉及一种基于深度学习的信号映射方法及计算机存储介质。


背景技术:

2.等价性验证是形式化验证的一种,是指从数学上完备地证明或验证电路的实现方案是否实现了电路设计所描述的功能。等价性验证多用于底层电路之间的功能一致性验证,例如综合前后rtl级与门级之间的验证等。随着集成电路规模的快速增长使得验证的难度越来越大,传统的模拟和仿真的方法暴露出耗时长,验证覆盖率低等缺点。相比于传统方法,等价性验证采用的数学上的方法,将实现电路和参考电路直接进行比较,不需要开发测试向量,可以大量缩短验证时间,且验证覆盖率可达到100%。
3.要验证两个组合电路等价,可以通过构造它们输出的miter电路(共用输入信号,输出用异或门相连),然后利用sat solver(可满足性问题求解器)对miter电路进行结算,如果sat solver找不出一组输入使得miter电路的输出为1,则证明这两个电路等价。对于时序电路,需要将电路沿着寄存器切分成多个组合逻辑块,并将分割后的组合逻辑块一一映射起来并创建miter电路,然后使用sat solver进行求解。
4.要确保时序电路的等价性验证的正确性,首先要确保分割后组合逻辑块的输入输出信号映射正确。关于信号的映射,最简单的映射方式就是通过名字映射,但是在综合前后电路的等价性验证中,综合工具往往会按照一定的规则对寄存器和信号的名字进行修改,直接的信号名字符串对比无法正确的映射信号。并且由于技术保密等原因,无从得知综合工具具体的修改寄存器和信号名称的规则。而在进行等价性验证时,需要采用信号名称对单个电路实例进行查询和验证,因此,需要得知综合工具的信号映射规则,才能获得综合工具中的电路实例的信号名称。因此,研发出一种获取综合工具的信号映射规则的方法显得尤为重要。


技术实现要素:

5.本发明的目的是针对上述现有技术中无法获取综合工具的信号映射规则的技术问题,提供一种可以快速模拟信号映射规则的基于深度学习的信号映射方法。
6.本发明实施例中,提供了一种基于深度学习的信号映射方法,其包括:
7.采用验证综合工具的信号名映射数据作为训练样本对机器翻译深度学习模型进行训练,得到信号预测模型,所述信号名映射数据包括输入至验证综合工具的源信号名和经过综合工具映射后的信号名;
8.采用所述信号预测模型进行预测,根据输入的源信号名得出映射后的信号名。
9.本发明实施例中,所述机器翻译深度学习模型采用seq2seq模型。
10.本发明实施例中,在机器翻译深度学习模型进行训练之前,还包括:
11.对训练用的信号名进行如下预处理:
12.统计信号名中各种互异字符的个数以及每个字符出现的次数;
13.根据统计将得到的互异字符按照出现次数进行排序并从0开始编号,构建字典表;
14.对训练用的信号名进行一位有效编码;
15.对一位有效编码后的信号名进行降维,得到信号名的特征矩阵。
16.本发明实施例中,所述seq2seq模型包括编码器和解码器,所述编码器用于将源信号名转换为一个文本向量,所述解码器用于根据所述文本向量预测出映射后的信号名。
17.本发明实施例中,所述解码器包括嵌入层、多个rnn卷积层和一个预测层,所述嵌入层用于将输入的字符映射至向量空间,所述预测层采用softmax神经网络,所述预测层用于根据每一个rnn卷积层产生的隐状态对下一个字符进行预测。
18.本发明实施例中,对所述机器翻译深度学习模型的训练过程如下:
19.编码器将输入的信号名映射至向量空间,并经过多个rnn卷积层转换为一个文本向量,然后将所述文本向量输入至解码器;
20.解码器的第一个rnn卷积层根据输入的文本向量产生一个隐状态,然后所述预测层的softmax神经网络将这个隐状态从字典表中映射出第一个词y^1,然后,自第二个卷积层开始进行如下迭代:
21.解码器的预测层以设定的概率p对解码器的n个卷积层根据上一个预测词y^
n-1
产生的隐状态对第n个词y^n进行预测,并以1-p的概率采用上一个正确词y
n-1
对y^n进行预测;
22.当达到迭代退出条件时,退出迭代并采用交叉熵作为损失函数来计算损失。
23.本发明实施例中,解码器的预测层根据卷积层的输出的隐状态进行预测时,输出一个v维向量,每一维的值就代表字典表中一个词的概率,其中,v为字典表中字符的数量。
24.本发明实施例中,采用交叉熵作为损失函数时,解码器总体的损失的计算方式如下:
[0025][0026]
其中,表示所述预测层中的softmax神经网络根据第i个卷积层的输出进行预测时,输出的v维向量中正确的词的概率,n为总共参与迭代的rnn卷积层的层数。
[0027]
本发明实施例中,采用所述信号预测模型根据输入的源信号名得出映射后的信号名,其过程包括:
[0028]
输入源信号名,经过解码器转化为一个文本向量,并将所述文本向量输入至编码器;
[0029]
编码器的第一个卷积层根据输入的文本向量,对第一个字符y^1进行预测,选择输出序列得分最大的k个y^1进入第二个卷积层,自第二个卷积层开始进行如下迭代:
[0030]
预测出的第n-1个字符输入至解码器的第n个卷积层中,解码器的预测层根据第n个卷积层的输出的隐状态,对第n个词y^n进行预测,并计算这一层预测时所有可能的输出序列的得分,并保留得分最大的k条序列并作为下一层预测的输入;
[0031]
当达到迭代退出条件时,退出迭代并采用得分最高的输出序列作为输出预测的信号名,
[0032]
其中,输出序列的得分的计算方式如下:。
[0033][0034]
表示经过n个卷积层后输出序列的总得分,表示第i步预测结果的概率。
[0035]
本发明实施例中,还提供了一种计算机存储介质,其存储有计算机代码,所述计算机代码在被处理器执行时,实现上述的基于深度学习的信号映射方法。
[0036]
与现有技术相比较,在本发明的基于深度学习的信号映射方法中,采用验证综合工具的信号名映射数据作为训练样本对机器翻译深度学习模型进行训练,得到信号预测模型,仅通过大量信号名映射数据就可以获得正确映射信号的方法,解决了在没有各种验证综合工具对信号名的重命名规则的情况下,形式验证过程中信号映射的问题,便于验证调试。
附图说明
[0037]
图1是本发明实施例的基于深度学习的信号映射方法的流程图。
[0038]
图2是本发明实施例中对深度学习模型进行训练的示意图。
[0039]
图3是本发明实施例中采用训练好的深度学习模型进行信号映射的示意图。
具体实施方式
[0040]
如图1所示,本发明实施例中,提供了一种基于深度学习的信号映射方法,其包括步骤s1-s3。下面分别进行说明。
[0041]
步骤s1:获取验证综合工具的信号名映射数据作为训练样本并进行预处理。
[0042]
需要说明的是,对于集成电路验证综合工具来说,其信号映射规则通常是保密的,但是进行验证综合时,其根据输入的源信号名修改后输出的信号名是可见的。例如,使用vivado验证综合工具进行验证综合时,memory的寄存器q端信号名综合前后分别为u_mem.ram[2][3]和u_mem.ram_reg_r1_0_3_0_3.mem_b[5]。因此,可以据此,对要模拟信号映射规则的验证综合工具,采集大量的样本数据,这些样本数据包括输入至验证综合工具的源信号名和经过综合工具映射后的信号名。
[0043]
进一步地,还需要对训练用的信号名样本数据进行如下预处理:
[0044]
统计信号名中各种互异字符的个数以及每个字符出现的次数;
[0045]
根据统计将得到的互异字符按照出现次数进行排序并从0开始编号,构建字典表;
[0046]
对训练用的信号名进行一位有效编码(one-hot编码);
[0047]
对一位有效编码后的信号名进行降维,得到信号名的特征矩阵。
[0048]
步骤s2:采用验证综合工具的信号名映射数据作为训练样本对机器翻译深度学习模型进行训练,得到信号预测模型。
[0049]
由于验证综合工具对信号名称的映射是按照一定的规则进行的,其过程就类似一个翻译的过程,因此我们可以使用机器翻译中常用的深度学习模型对信号通过名字来进行映射。本实施例中,所述机器翻译深度学习模型采用seq2seq模型。
[0050]
seq2seq模型包括编码器(encoder)和解码器(decoder),所述编码器用于将源信
号名转换为一个文本向量(contextvector),所述解码器用于根据所述文本向量预测出映射后的信号名。
[0051]
所述编码器包括嵌入层(embedding)多个rnn(循环神经网络)卷积层,用于将输入的信号名转换为一个文本向量。所述解码器包括一个嵌入层、多个rnn卷积层和一个预测层(projection),所述预测层采用softmax神经网络,所述预测层用于根据与其相连的每一个rnn卷积层的输出对下一个字符进行预测。需要说明的是,在所述编码器和解码器中,所述嵌入层用于将输入或预测产生的字符映射至向量空间,并输入至与其相连的rnn卷积层中。
[0052]
如图2所示,本发明实施例中,对所述机器翻译深度学习模型的训练过程如下:
[0053]
编码器将输入的信号名映射至向量空间,并经过多个rnn卷积层转换为一个文本向量,然后将所述文本向量输入至解码器;
[0054]
输入一个表示开始运算的特殊字符《start》,解码器的第一个rnn卷积层根据输入的文本向量产生一个隐状态,然后所述预测层的softmax神经网络将这个隐状态从字典表中映射出第一个词y^1,然后,自第二个卷积层开始进行如下迭代:
[0055]
解码器的预测层以设定的概率p对解码器的n个卷积层根据上一个预测词y^
n-1
产生的隐状态对第n个词y^n进行预测,并以1-p的概率采用上一个正确词y
n-1
对y^n进行预测;
[0056]
当达到迭代退出条件(即第n+1个卷积层输出字符《end》)时,退出迭代并采用交叉熵作为损失函数来计算损失。
[0057]
需要说明的是,《start》《end》是字典中的自定义的两个特殊的词,用于表示数据的开头和结尾,每一个训练数据的开头和结尾都有这两个特殊字符。预测时每一层softmax输出的v维向量中概率最大的那个词就是预测的词,如果概率最大的那个词正好就是《end》结束符,那么就退出迭代。在由《start》预测出第一个词y^1时,然后生成一个0-1之间的随机数a1,如果随机数a1大于设置的计划采样率p,那么就采用正确的词y1预测y^2,如果a1《=p,则采用y^1预测y^2。预测出y^2之后,又重新生成一个0-1之间的随机数a2,如果a2》p,则采用正确的词y2预测y^3,如果a2《=p,则采用y^2预测y^3。预测出y^3之后,又生成一个0-1之间的随机数,
……
,依次类推,每一步都这样操作直至结束。
[0058]
本发明实施例中,解码器的预测层根据卷积层的输出的隐状态进行预测时,输出一个v维向量,每一维的值就代表字典表中一个词的概率,其中,v为字典表中字符的数量。预测层在进行预测时从中选出概率最大的词作为预测结果y^i,计算损失函数时不选概率最大的那个,选v维向量中正确答案yi对应的概率p(yi)。具体地,本发明实施例中,采用交叉熵作为损失函数时,解码器总体的损失的计算方式如下:
[0059][0060]
其中,表示所述预测层中的softmax神经网络根据第i个卷积层的输出进行预测时,输出的v维向量中正确的词的概率,n为总共参与迭代的rnn卷积层的层数。
[0061]
需要说明的是,输入上一步预测结果y^i和输入上一步的正确答案yi进行预测,会使当前这一步预测层输出的v维向量不同,对应的这一步的预测结果y^
i+1
就有可能不同,计算得到的损失就不同。一般来说输入上一步正确答案进行预测,这一步的预测更有可能预测对,全部采用上一步正确答案来进行训练的话容易过度收敛,导致训练出来的模型只对
训练集中的数据预测效果好,对训练集以外的数据,预测效果差。反之,如果全部采用上一步的预测结果来进行训练,则有可能产生训练时间长,误差爆炸,不收敛的问题。因此本发明采用两种方法混合训练的方式,可以提升训练的效果。
[0062]
步骤s3:采用所述信号预测模型进行预测,根据输入的源信号名得出映射后的信号名。
[0063]
如图3所示,本发明实施例中,采用所述信号预测模型根据输入的源信号名得出映射后的信号名,其过程包括:
[0064]
输入源信号名,经过解码器转化为一个文本向量,并将所述文本向量输入至编码器;
[0065]
输入一个表示开始运算的特殊字符“start”,编码器的第一个卷积层根据输入的文本向量,对第一个字符y^1进行预测,选择输出序列得分最大的k个y^1进入第二个卷积层,自第二个卷积层开始进行如下迭代:
[0066]
预测出的第n-1个字符输入至解码器的第n个卷积层中,解码器的预测层根据第n个卷积层的输出的隐状态,对第n个词y^n进行预测,并计算这一层预测时所有可能的输出序列的得分,并保留得分最大的k条序列并作为下一层预测的输入;
[0067]
当达到迭代退出条件(即第n+1个卷积层输出字符《end》)时,退出迭代并采用得分最高的输出序列作为输出预测的信号名,
[0068]
其中,输出序列的得分的计算方式如下:。
[0069][0070]
表示经过n个卷积层后输出序列的总得分,表示第i步预测结果的概率。
[0071]
需要说明的是,当解码器预测出第一个字符y^1后,此时没有标准答案y1可供参考,只能继续将y^1作为下一步的输入,直至输出结束字符《end》。预测时采用束搜索(beam search)的方式,设定一个大小为k的候选集,解码器在每一步都计算这一步所有可能的输出序列的得分,并保留得分最大的k条序列并作为下一步的输入,重复上述过程直至结束,最终输出得分最高的序列,可以减少计算量,提高解码速度。
[0072]
本发明实施例中,还提供了一种计算机存储介质,其存储有计算机代码,所述计算机代码在被处理器执行时,实现上述的基于深度学习的信号映射方法。
[0073]
综上所述,在本发明的基于深度学习的信号映射方法中,采用验证综合工具的信号名映射数据作为训练样本对机器翻译深度学习模型进行训练,得到信号预测模型,仅通过大量信号名映射数据就可以获得正确映射信号的方法,解决了在没有各种验证综合工具对信号名的重命名规则的情况下,形式验证过程中信号映射的问题,便于验证调试。
[0074]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1