一种制造技术

技术编号:39566151 阅读:10 留言:0更新日期:2023-12-03 19:17
本发明专利技术涉及指令级验证技术领域,具体提供了一种

【技术实现步骤摘要】
一种RISC

V向量指令集功能验证的测试用例生成系统及方法


[0001]本专利技术涉及指令级验证
,具体涉及一种
RISC

V
向量指令集功能验证的测试用例生成系统及方法


技术介绍

[0002]随着
CPU
复杂度的提高,集成电路的规模也在不断变大,这对
CPU
系统级的验证提出了越来越高的要求

指令集功能验证作为系统级验证中非常重要的一环,其主要目的是对目标指令集进行定向测试或随机测试,从而验证
CPU
对指令集的兼容性,即该
CPU
能否准确无误的执行每条指令

近几年
RISC

V
指令集越来越受到人们的关注,该指令集凭借精简的指令设计

高效的执行等优点成为了现代
CPU
设计的主流指令集之一,模块化的设计理念将该指令集根据应用场景分为一个基本指令集和多个扩展指令集,其中
RISC

V
向量扩展
(
下称
RVV)
指令集主要面向人工智能

大数据等高性能高并发处理场景

[0003]该扩展指令集基于单指令多数据的数据级并行架构,将
64、128
等位的向量寄存器的数据拆分为多个
8、16
等位的向量,然后将若干个向量进行并行地计算<br/>。
由于
RISC

V
向量扩展指令数量庞大,且配置参数较多,指令的执行又有相关性等原因,在
CPU
系统级验证时若手动编写每条向量扩展指令的测试用例效率较低


技术实现思路

[0004]为了克服上述缺陷,本专利技术提出了一种
RISC

V
向量指令集功能验证的测试用例生成系统及方法

[0005]第一方面,提供一种
RISC

V
向量指令集功能验证的测试用例生成系统,所述
RISC

V
向量指令集功能验证的测试用例生成系统包括:所述系统包括:测试用例生成控制模块

场景构建模块和多个参考模型模块;
[0006]所述测试用例生成控制模块,用于设置向量指令测试参数,将所述测试参数发送至场景构建模块,将接收的源操作数组对象发送至参考模型模块,并将接收的源操作数组对象和接收的目的操作数组对象拼接,得到测试用例;
[0007]所述场景构建模块,用于基于所述测试参数生成源操作数组对象,并将源操作数组对象发送至测试用例生成控制模块;
[0008]所述参考模型模块,用于基于所述源操作数组对象生成目的操作数组对象,并将目的操作数组对象发送至测试用例生成控制模块

[0009]优选的,所述向量指令测试参数包括:指令名称

元素宽度

向量寄存器组合和是否进行掩码操作

[0010]优选的,所述场景构建模块具体用于:
[0011]将所述测试参数代入预先构建的场景函数,得到源操作数组对象;
[0012]获取测试参数中指令名称对应的向量指令类型;
[0013]基于向量指令对应的向量指令类型和操作对象确定该向量指令对应的计算类型;
[0014]将所述源操作数组对象发送至所述向量指令对应的计算类型对应的参考模型模块;
[0015]其中,每一类向量指令计算类型配置一个用于实现该类指令运算的参考模型模块

[0016]进一步的,所述预先构建的场景函数包括:随机测试场景函数

遍历向量寄存器测试场景函数

源目寄存器编号重叠测试场景函数
、0|1
翻转测试场景函数

特殊值测试场景函数

指令相关性测试场景函数

旁路设计测试场景函数
、AVL
改变测试场景函数
、vta

vma
的置位测试场景函数
、vstart
寄存器功能测试场景函数

异常测试场景函数

[0017]优选的,所述测试用例生成控制模块

场景构建模块和多个参考模型模块之间的通用接口为自定义的数组对象群

[0018]优选的,所述自定义的数组对象群包括,源操作数组对象

目的操作数组对象

源寄存器数组对象

目的寄存器数组对象

掩码操作数组对象;数组对象采用标准库中的
ndarray
数组对象进行搭建

[0019]进一步的,所述参考模型模块具体用于:基于数组对象群,调用所述向量指令对应的计算类型对应的参考模型模块中的运算函数进行计算,得到目的操作数组对象

[0020]进一步的,所述向量指令对应的计算类型包括:整型的向量与向量计算

整型的向量与标量计算

整型的向量与立即数计算

整型的向量访存

浮点的向量与向量计算

浮点的向量与标量计算

浮点的向量与立即数计算

整型的向量与向量掩码计算

整型的向量与标量掩码计算

整型的向量与立即数掩码计算

整型的向量掩码访存

浮点的向量与向量掩码计算

浮点的向量与标量掩码计算

浮点的向量与立即数掩码计算

特殊指令掩码操作

[0021]第二方面,提供一种
RISC

V
向量指令集功能验证的测试用例生成方法,所述
RISC

V
向量指令集功能验证的测试用例生成方法包括:
[0022]测试用例生成控制模块设置向量指令测试参数,将所述测试参数发送至场景构建模块,将接收的源操作数组对象发送至参考模型模块,并将接收的源操作数组对象和接收的目的操作数组对象拼接,得到测试用例;
[0023]场景构建模块基于所述测试参数生成源操作数组对象,并将源操作数组对象发送至测试用例生成控制模块;
[0024]参考模型模块基于所述源操作数组对象生成目的操作数组对象,并将目的操作数组对象发送至测试用例生成控制模块

[0025]优选的,所述向量指令测试参数包括:指令名称

元素宽度

向量寄存器组合和是否进行掩码操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
RISC

V
向量指令集功能验证的测试用例生成系统,其特征在于,所述系统包括:测试用例生成控制模块

场景构建模块和多个参考模型模块;所述测试用例生成控制模块,用于设置向量指令测试参数,将所述测试参数发送至场景构建模块,将接收的源操作数组对象发送至参考模型模块,并将接收的源操作数组对象和接收的目的操作数组对象拼接,得到测试用例;所述场景构建模块,用于基于所述测试参数生成源操作数组对象,并将源操作数组对象发送至测试用例生成控制模块;所述参考模型模块,用于基于所述源操作数组对象生成目的操作数组对象,并将目的操作数组对象发送至测试用例生成控制模块
。2.
如权利要求1所述的系统,其特征在于,所述向量指令测试参数包括:指令名称

元素宽度

向量寄存器组合和是否进行掩码操作
。3.
如权利要求1所述的系统,其特征在于,所述场景构建模块具体用于:将所述测试参数代入预先构建的场景函数,得到源操作数组对象;获取测试参数中指令名称对应的向量指令类型;基于向量指令对应的向量指令类型和操作对象确定该向量指令对应的计算类型;将所述源操作数组对象发送至所述向量指令对应的计算类型对应的参考模型模块;其中,每一类向量指令计算类型配置一个用于实现该类指令运算的参考模型模块
。4.
如权利要求3所述的系统,其特征在于,所述预先构建的场景函数包括:随机测试场景函数

遍历向量寄存器测试场景函数

源目寄存器编号重叠测试场景函数
、0|1
翻转测试场景函数

特殊值测试场景函数

指令相关性测试场景函数

旁路设计测试场景函数
、AVL
改变测试场景函数
、vta

vma
的置位测试场景函数
、vstart
寄存器功能测试场景函数

异常测试场景函数
。5.
如权利要求1所述的系统,其特征在于,所述测试用例生成控制模块

场景构建模块和多个参考模型模块之间的通用接口为自定义的数组对象群
。6.
如权利要求1...

【专利技术属性】
技术研发人员:王冬升何益百张拥军张光达黄安文万众徐叶茂顾凯
申请(专利权)人:中国人民解放军军事科学院国防科技创新研究院
类型:发明
国别省市:

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

1