技术特征:
1.一种用于ai推理芯片的芯片验证方法,用于rtl模型验证以及emulation和silicon验证,其特征在于,所述方法包括:获取测试用例数据包,所述测试用例数据包包括结构索引数据和预定条数的层数据,所述层数据包括寄存器配置数据、推理数据、训练权重数据和操作指令数据;从所述测试用例数据包中提取所述结构索引数据,所述结构索引数据包括寄存器配置数据、推理数据、训练权重数据和操作指令数据的地址信息;解析所述测试用例数据包,获得层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据;根据层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据控制ai推理芯片的ai加速引擎执行操作指令,其中所述寄存器配置数据用于配置所述ai加速引擎的寄存器,所述推理数据用于所述ai加速引擎的输入,所述训练权重数据用于配置运行在所述ai推理芯片的ai加速引擎上的神经网络;将ai加速引擎的执行结果与参考结果数据进行比较,获得验证结果。2.根据权利要求1所述的芯片验证方法,其特征在于,所述测试用例数据包还包括所述参考结果数据。3.根据权利要求1所述的芯片验证方法,其特征在于,所述推理数据包括图像数据、音频数据或视频数据。4.根据权利要求1所述的芯片验证方法,其特征在于,所述层数据的条数对应于运行在所述ai推理芯片的ai加速引擎的神经网络的层数。5.根据权利要求1所述的芯片验证方法,其特征在于,所述操作指令数据采用预定长度的编码格式,包括指令类型字段,用于指示操作指令的类型,指令类型包括寄存器配置指令、发送中断指令、接收中断指令以及读取寄存器指令。6.根据权利要求5所述的芯片验证方法,其特征在于,所述操作指令数据还包括至少一个指令参数字段,用于提供操作指令的指令参数。7.根据权利要求1所述的芯片验证方法,其特征在于,所述根据层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据控制ai推理芯片的ai加速引擎执行操作指令的步骤包括:将寄存器配置数据、推理数据、训练权重数据和操作指令数据导入system verilog测试平台;将训练权重数据和推理数据写入rtl模型的内存中;根据操作指令数据和uvm虚拟序列,向rtl模型实现的ai加速引擎加载激励。8.根据权利要求7所述的芯片验证方法,其特征在于,所述uvm虚拟序列用于根据操作指令调用对应于配置寄存器指令的uvm序列、对应于发送中断指令的uvm序列、对应于接收中断指令的uvm序列、和/或对应于读取寄存器指令的uvm序列。9.根据权利要求1所述的芯片验证方法,其特征在于,所述根据层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据控制ai推理芯片的ai加速引擎执行操作指令的步骤包括:将结构索引数据、寄存器配置数据、训练权重数据、推理数据和操作指令数据写入硬件内存中;
mcu固件根据操作指令数据调用相应的指令函数,将激励加载到ai加速引擎。10.根据权利要求9所述的芯片验证方法,其特征在于,所述指令函数包括对应于配置寄存器指令的指令函数、对应于接收中断指令的指令函数、和/或对应于读取寄存器指令的指令函数。11.一种用于ai推理芯片的芯片验证装置,用于rtl模型验证以及emulation和silicon验证,其特征在于,所述装置包括:获取模块,用于获取测试用例数据包,所述测试用例数据包包括结构索引数据和预定条数的层数据,所述层数据包括寄存器配置数据、推理数据、训练权重数据和操作指令数据;提取模块,用于从所述测试用例数据包中提取所述结构索引数据,所述结构索引数据包括寄存器配置数据、推理数据、训练权重数据和操作指令数据的地址信息;解析模块,用于解析所述测试用例数据包,获得层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据;控制模块,用于根据层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据控制ai推理芯片的ai加速引擎执行操作指令,其中所述寄存器配置数据用于配置所述ai加速引擎的寄存器,所述推理数据用于所述ai加速引擎的输入,所述训练权重数据用于配置运行在所述ai推理芯片的ai加速引擎上的神经网络;比较模块,用于将ai加速引擎的执行结果与参考结果数据进行比较,获得验证结果。12.根据权利要求11所述的芯片验证装置,其特征在于,所述测试用例数据包还包括所述参考结果数据。13.根据权利要求11所述的芯片验证装置,其特征在于,所述推理数据包括图像数据、音频数据或视频数据。14.根据权利要求11所述的芯片验证装置,其特征在于,所述层数据的条数对应于运行在所述ai推理芯片的ai加速引擎的神经网络的层数。15.根据权利要求11所述的芯片验证装置,其特征在于,所述操作指令数据采用预定长度的编码格式,包括指令类型字段,用于指示操作指令的类型,指令类型包括寄存器配置指令、发送中断指令、接收中断指令以及读取寄存器指令。16.根据权利要求15所述的芯片验证装置,其特征在于,所述操作指令数据还包括至少一个指令参数字段,用于提供操作指令的指令参数。17.根据权利要求11所述的芯片验证装置,其特征在于,所述控制模块包括:导入模块,用于将寄存器配置数据、推理数据、训练权重数据和操作指令数据导入system verilog测试平台;第一写入模块,用于将训练权重数据和推理数据写入rtl模型的内存中;第一激励加载模块,用于根据操作指令数据和uvm虚拟序列,向rtl模型实现的ai加速引擎加载激励。18.根据权利要求17所述的芯片验证装置,其特征在于,所述uvm虚拟序列用于根据操作指令调用对应于配置寄存器指令的uvm序列、对应于发送中断指令的uvm序列、对应于接收中断指令的uvm序列、和/或对应于读取寄存器指令的uvm序列。19.根据权利要求11所述的芯片验证装置,其特征在于,所述控制模块包括:
第二写入模块,用于将结构索引数据、寄存器配置数据、训练权重数据、推理数据和操作指令数据写入硬件内存中;第二激励加载模块,用于根据操作指令数据调用相应的指令函数,将激励加载到ai加速引擎。20.根据权利要求19所述的芯片验证装置,其特征在于,所述指令函数包括对应于配置寄存器指令的指令函数、对应于接收中断指令的指令函数、和/或对应于读取寄存器指令的指令函数。21.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,使所述处理器执行根据权利要求1至10中任一项所述的芯片验证方法。22.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器执行权利要求1至10中任一项所述方法。23.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使所述处理器执行权利要求1至10中任一项所述方法。
技术总结
本申请提供一种用于AI推理芯片的芯片验证方法、装置、设备及介质。芯片验证方法包括:获取测试用例数据包;从测试用例数据包中提取结构索引数据;解析测试用例数据包,获得层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据;根据层数据中的寄存器配置数据、推理数据、训练权重数据以及操作指令数据控制AI推理芯片的AI加速引擎执行操作指令;将AI加速引擎的执行结果与参考结果数据进行比较,获得验证结果。根据本申请的芯片验证方法使用通用的测试用例数据包实现RTL模型验证和硬件模型验证,从而提高了芯片验证的工作效率。效率。效率。
技术研发人员:郭力 贺秋丽 张桂芳
受保护的技术使用者:瀚博半导体(上海)有限公司
技术研发日:2022.11.17
技术公布日:2022/12/19