基于神经网络的高效指令测试序列生成方法及装置制造方法及图纸

技术编号:26170472 阅读:48 留言:0更新日期:2020-10-31 13:38
一种基于神经网络的指令测试序列生成方法,包括以下步骤:随机生成概率向量;根据所述概率向量通过指令生成器生成M种指令;将所述指令送入处理器硬件代码,得到处理器模块覆盖率;将所述多个概率向量作为输入,所述处理器模块覆盖率作为输出,训练神经网络;所述神经网络训练好之后,得到固定参数神经网络,将随机生成的概率向量输入所述固定参数神经网络中,判断所述固定参数神经网络的输出是否超过阈值;在所关注的处理器模块的对应输出均超过所述阈值的情况下,则选择对应的概率向量生成测试序列。本发明专利技术还提供了一种基于神经网络的指令测试序列生成装置。

【技术实现步骤摘要】
基于神经网络的高效指令测试序列生成方法及装置
本专利技术涉及处理器测试验证
,尤其涉及一种基于神经网络的高效指令测试序列生成方法及装置。
技术介绍
目前处理器验证工作越来越复杂,已经成为设计周期的瓶颈。约70%的时间用于验证。覆盖率是仿真验证完备性的一个重要指标,为0到100%。包括行覆盖率(line)表示硬件代码行执行的比例。条件覆盖率(conditions),表示条件语句真假都覆盖到的比例,分支覆盖率,表示ifelse等分支组合都检验到的比例,状态机覆盖率,表示状态机多少状态都达到了。总的覆盖率可以加权得到,覆盖率越高代表验证越完善。提升覆盖率水平已经成为验证工作的关键因素,但是覆盖率越高收敛较慢,需要很长时间周期才能达到较高的覆盖率。如何快速提高验证覆盖率成为关键性问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于神经网络的指令测试序列生成方法,以期部分地解决上述技术问题中的至少之一。为了实现上述目的,作为本专利技术的一方面,提供了一种基于神经网络的指令测试序列生成方法,包括以下步骤:随机生成概率向量;根据所述概率向量通过指令生成器生成M种指令;将所述指令送入处理器硬件代码,得到处理器模块覆盖率;将所述多个概率向量作为输入,所述处理器模块覆盖率作为输出,训练神经网络;所述神经网络训练好之后,得到固定参数神经网络,将随机生成的概率向量输入所述固定参数神经网络中,判断所述固定参数神经网络的输出是否超过阈值;在所关注的处理器模块的对应输出均超过所述阈值的情况下,则选择对应的概率向量生成测试序列。其中,所述指令生成器生成指令的具体过程包括:高celi(log2M)位概率向量的每一位概率生成对应二进制位的1,生成的celi(log2M)位二进制数表示不同指令,其中M代表指令种类数,celiA表示大于等于A的最小整数;从C++的存储整数元素的容器读出对应的实际MIPS操作码和功能码;概率向量的低26位概率值生成对应指令位的二进制1。其中,所述训练神经网络的过程包括:损失函数其中,是期望的覆盖率值,yi是神经网络输出值,N个模块;利用梯度下降方法,训练神经网络,更新网络参数。其中,所述概率向量的定义方式为所述概率向量每一位代表生成1的概率取0,0.1,0.2……1.0。作为本专利技术的另一方面,提供了一种基于神经网络的指令测试序列生成装置,所述装置包括神经网络训练模块和指令生成模块,其中,所述神经网络训练模块包括随机概率向量生成单元、指令生成器和待训练神经网络,用于训练神经网络;所述指令生成模块包括随机概率向量生成单元、固定参数神经网络、判决器和指令生成器,用于生成测试序列。作为本专利技术的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。基于上述技术方案可知,本专利技术的基于神经网络的指令测试序列生成方法相对于现有技术至少具有如下有益效果之一或其中的一部分:本专利技术利用神经网络建立指令生成器概率参数和各模块覆盖率之间的关系,神经网络对于分类,回归等问题拥有较高的准确率。对于不同模块,或多个模块,神经网络可以判别出有针对性的概率参数,判别过程不用生成指令并输入RTL进行仿真,节省大量时间。有针对性的概率参数生成所需指令,能更快达到较高覆盖率水平。附图说明图1是现有技术中的神经元结构示意图;图2是现有技术中的神经网络示意图;图3是本专利技术实施例中的基于神经网络的高效测试指令生成方法的流程图;图4是本专利技术实施例中MIPS的三种指令类型R(寄存器型),I(立即数型),J(跳转型)指令,以及用于生成95种指令的33位的概率向量;图5是本专利技术实施例中MIPS的ADD指令;图6是本专利技术实施例中的神经网络训练过程的流程示意图;图7是本专利技术实施例中的神经网络训练模块系统结构(95种指令为例)示意图;图8是本专利技术实施例中的高效指令生成过程的流程示意图;图9是本专利技术实施例中的高效指令生成模块系统结构(95种指令为例)示意图。具体实施方式处理器分为指令取值和预解码模块(fetch&preDec),指令分发模块(dispatch),跳转例外控制模块(BrExcp),算术运算模块(ALU),乘法模块(MUL),存储控制模块(LDST),地址转换模块(TLB),指令高速缓存模块(ICACHE)等模块,这些模块都分别有覆盖率数据,可以通过DVE等工具查看。神经网络在回归,分类中有很好的性能。如图1所示,神经元拥有线性参数w1,w2,…,wn,b和非线性函数f,所以神经网络可以解决线性不可分问题。如图2所示,神经网络分为输入层,输出层,若干隐层,每一层都可以学习到不同特征。指令生成器的概率参数对于生成的具体指令的比例有影响,具体指令比例对于处理器各模块的覆盖率有影响。例如算术类指令比例高,那么算术运算模块的覆盖率更高。本专利利用神经网络学习指令生成器概率参数与处理器各模块覆盖率之间的映射关系。以此来指导对于快速提升某几个关注模块的覆盖率,应该采取什么指令生成器概率参数,以加快关注模块的验证覆盖率提升。该神经网络为回归网络,即输出为具体数值,拟合具体的覆盖率值。本专利技术针对于提高处理器验证覆盖率的问题,提出一种基于神经网络的指令生成方法。仿真验证是对处理器施加激励如指令,与预期结果对比。验证是保证处理器功能正确的关键。验证的覆盖率是衡量验证完备性的重要指标。本专利技术通过神经网络建立指令生成器的概率参数与覆盖率之间的关系。能针对处理器几个不同模块生成针对性的指令进行仿真验证,更快达到更高覆盖率。具体的,本专利技术公开了一种基于神经网络的测试指令序列生成方法,如图3所示。其包括以下步骤:随机生成概率向量;根据所述概率向量通过指令生成器生成M种指令;将所述指令送入处理器硬件代码,得到处理器模块覆盖率;将所述多个概率向量作为输入,所述处理器模块覆盖率作为输出,训练神经网络;所述神经网络训练好之后,得到固定参数神经网络,将随机生成的概率向量输入所述固定参数神经网络中,判断所述固定参数神经网络的输出是否超过阈值;在所关注的处理器模块的对应输出均超过所述阈值的情况下,则选择对应的概率向量生成测试序列。为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。如图4所示,MIPS指令由32位组成,分为R(寄存器型),I(立即数型),J(跳转型)指令。高6位为操作码,操作码和功能码代表不同类型指令,低26位代表寄存器号,地址偏移,立即数,功能码等。本次共用95种类型的MIPS指令,也可以是任意类型数量M的指令。本文档来自技高网...

【技术保护点】
1.一种基于神经网络的指令测试序列生成方法,其特征在于,包括以下步骤:/n随机生成概率向量;/n根据所述概率向量通过指令生成器生成M种指令;/n将所述指令送入处理器硬件代码,得到处理器模块覆盖率;/n将所述多个概率向量作为输入,所述处理器模块覆盖率作为输出,训练神经网络;/n所述神经网络训练好之后,得到固定参数神经网络,将随机生成的概率向量输入所述固定参数神经网络中,判断所述固定参数神经网络的输出是否超过阈值;/n在所关注的处理器模块的对应输出均超过所述阈值的情况下,则选择对应的概率向量生成测试序列。/n

【技术特征摘要】
1.一种基于神经网络的指令测试序列生成方法,其特征在于,包括以下步骤:
随机生成概率向量;
根据所述概率向量通过指令生成器生成M种指令;
将所述指令送入处理器硬件代码,得到处理器模块覆盖率;
将所述多个概率向量作为输入,所述处理器模块覆盖率作为输出,训练神经网络;
所述神经网络训练好之后,得到固定参数神经网络,将随机生成的概率向量输入所述固定参数神经网络中,判断所述固定参数神经网络的输出是否超过阈值;
在所关注的处理器模块的对应输出均超过所述阈值的情况下,则选择对应的概率向量生成测试序列。


2.根据权利要求1所述的指令测试序列生成方法,其特征在于,所述指令生成器生成指令的具体过程包括:
高celi(log2M)位概率向量的每一位概率生成对应二进制位的1,生成的celi(log2M)位二进制数表示不同指令,其中M代表指令种类数,celiA表示大于等于A的最小整数;
从C++的存储整数元素的容器读出对应的实际MIPS操作码和功能码;
概率向量的低26位概率值生成对应指令位的二进制1。


3.根据权利要求1所述的指令测试序列生成方法,其特征在于,所述训练神经网络的过程包括:
损失函数
其中,是期望的覆盖率值,yi是神经网络输出值,N个模块;
利用梯度下降方法,训练神经网络,更新网络参数。


4.根据权利要求1所述的指令测试序列生成方法,其特征在于,所述概率向量的定义方式为所述概率向量每一位代表生成1的概率取0,0.1,0.2……1.0。


...

【专利技术属性】
技术研发人员:王培鑫梁利平王志君管武洪钦智刘光宇
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1