本发明涉及芯片验证,具体涉及一种验证算术逻辑单元的方法及计算设备。
背景技术:
1、算术逻辑单元(alu)作为计算机的核心部件,alu的输入是要进行操作的数据(称为操作数)以及来自控制单元的指令代码,用来指示进行哪种运算。它的输出即为运算结果。在uvm验证框架下,高效可靠的验证环境已经成为验证迭代进度的关键因素。现有验证过程中,通过随机操作数,再比对运算结果进行判断该alu的功能是否正常。
2、现有的验证方法是直接随机输入数据,而真正使用的数据是转换后的浮点数,这样很容易会造成输入的浮点数随机不充分、特定数据很难随机到等问题。而且当alu的输入数据格式不同时,需要进行不同输入格式的匹配,比对结果的时候也容易造成精度损失,从而导致比对失败,浪费时间定位环境问题,造成验证工作繁杂且不容易收敛。
3、为此,需要一种技术方案,能够提高算术逻辑单元的验证效率。
技术实现思路
1、本申请旨在提供用于验证算术逻辑单元的方法及计算设备,能够减少精度损失,提高验证效率。
2、根据本申请的一方面,提供一种验证算术逻辑单元的方法,包括:
3、生成验证环境,根据测试需求继承于验证环境而生成各组测试实例,所述验证环境包括参考模型;
4、根据所述测试需求,在预定约束的数据范围内以比特位形式随机出预定位的随机比特数;
5、通过格式转换函数将所述随机比特数转换为所需类型的操作数;
6、将所述操作数提供至算术逻辑单元;
7、将所述算术逻辑单元的输出数据存储为比特数;
8、将所述比特数与所述参考模型运算出的结果进行逐位比对以对算术逻辑单元进行验证。
9、根据一些实施例,在预定约束的数据范围内以比特位形式随机出预定位的随机比特数,包括:在所述数据范围产生平均分布、指数衰落或钟型分布的随机数。
10、根据一些实施例,所述随机数的产生通过硬件验证语言systemverilog约束。
11、根据一些实施例,所述测试实例由测试用例根据具体需求配置调用。
12、根据一些实施例,在预定约束的数据范围内以比特位形式随机出预定位的随机比特数,包括:通过限制条件、随机边界和/或随机权重来实现随机。
13、根据一些实施例,前述方法还包括:根据所述算术逻辑单元支持的数据类型预先构造相应的格式转换函数。
14、根据一些实施例,所述操作数包括整数、浮点数、布尔值、字符串中的一种或多种。
15、根据一些实施例,通过调整不同比特位的随机概率随机出预定位的随机比特数。
16、根据一些实施例,所述验证算术逻辑单元利用所述操作数执行双目运算和/或单目运算。
17、根据本申请的另一方面,提供一种计算设备,包括:
18、处理器;以及
19、存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。
20、根据本申请的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
21、根据示例实施例,通过比特形式使输入的操作数随机成另一比特,在达到充分随机的目的同时,可以使得输入的操作数更加接近实际情况,从而降低结果的误差和偏差;所述算术逻辑单元的输出以比特形式进行比对,减少精度的损失,提高验证效率。另外,根据本申请的技术方案,操作数可支持整数、浮点数、布尔值、字符串中的一种或多种,应用上可具有通用性。
22、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
1.一种验证算术逻辑单元的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在预定约束的数据范围内以比特位形式随机出预定位的随机比特数,包括:
3.根据权利要求2所述的方法,其特征在于,所述随机数的产生通过硬件验证语言约束。
4.根据权利要求1所述的方法,其特征在于,所述测试实例由测试用例根据具体需求配置调用。
5.根据权利要求1所述的方法,其特征在于,在预定约束的数据范围内以比特位形式随机出预定位的随机比特数,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:根据所述算术逻辑单元支持的数据类型预先构造相应的格式转换函数。
7.根据权利要求1所述的方法,其特征在于,所述操作数包括整数、浮点数、布尔值、字符串中的一种或多种。
8.根据权利要求1所述的方法,其特征在于,所述验证算术逻辑单元利用所述操作数执行双目运算和/或单目运算。
9.根据权利要求1所述的方法,其特征在于,在预定约束的数据范围内随机出以比特位形式随机出预定位的随机比特数,包括:通过调整不同比特位的随机概率随机出预定位的随机比特数。
10.一种计算设备,其特征在于,包括: