当前位置: 首页 > 专利查询>安徽大学专利>正文

一种基于UVM的卷积神经网络验证系统技术方案

技术编号:34564102 阅读:23 留言:0更新日期:2022-08-17 12:53
本发明专利技术公开了一种基于UVM的卷积神经网络验证系统,包括待测设计DUT使用基于待测卷积神经网络的硬件加速器;针对待测设计的接口模块,包含所有需要用到的待测设计接口信号的定义,用于待测设计与其他模块之间的数据通信;测试用例模块,用于创建不同的验证环境以及产生不同的测试激励;所述测试用例模块中例化的每个测试用例都继承自base_test类,根据所验功能点的不同配置相应的验证环境,以及配置不同的序列来产生符合协议规范的事务,以此形成不同的测试用例。上述系统只需少量修改就可以对不同结构层的卷积神经网络模型的硬件加速器验证平台进行重用,从而缩短了验证周期,提高了验证效率。高了验证效率。高了验证效率。

【技术实现步骤摘要】
一种基于UVM的卷积神经网络验证系统


[0001]本专利技术涉及集成电路设计
,尤其涉及一种基于UVM的卷积神经网络验证系统。

技术介绍

[0002]随着集成电路的不断发展,系统级芯片(System On Chip,SOC)设计规模不断扩大,SOC芯片内部集成的IP(Intellectual Property,知识产权)模块的数量也不断增加,因此在芯片开发环节对芯片验证的要求越来越高,验证平台的搭建也更加复杂。在如今大多数的集成电路设计公司中,芯片验证所需要的人力、时间在整个芯片研发过程中所占的比例高达70%,传统的定向测试平台是基于verilog语言,不仅不能够覆盖全部的待测功能点,而且不能在不同项目间重用,这大大降低了验证效率,增加了芯片研发的时间和成本。
[0003]卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,在计算机视觉、分类等领域上,都取得了当前最好的效果。在现代人工智能系统中,卷积神经网络得到了广泛应用,这给底层硬件带来了数据吞吐量和能效的挑战,通过可重配置各种卷积神经网络架构,片内外数据流的处理以及优化,整个系统可以有效提高效率。在目前主流的卷积神经网络硬件设计方式中,ASIC(Application Specific Integrated Circuit,专用集成电路)受到了越来越多的关注,ASIC是为实现特定要求而定制的芯片,在体积、功耗、可靠性等方面具有优势,通用性强、适配各种算法模型的硬件加速器可用于更多的物联网终端设备,但现有技术中并没有专门针对卷积神经网络功能的验证解决方案,这极大的影响了验证效率。

技术实现思路

[0004]本专利技术的目的是提供一种基于UVM的卷积神经网络验证系统,所述系统按照UVM(Universal Verification Methodology,通用验证方法学)中的机制,量化验证进度,确保各功能模块的验证完备性,只需少量修改就可以对不同结构层的卷积神经网络模型的硬件加速器验证平台进行重用,从而缩短了验证周期,提高了验证效率。
[0005]本专利技术的目的是通过以下技术方案实现的:
[0006]一种基于UVM的卷积神经网络验证系统,所述系统包括待测设计DUT、针对所述待测设计的接口模块、测试用例模块base_test、验证环境,其中:
[0007]所述待测设计DUT使用基于待测卷积神经网络的硬件加速器;
[0008]针对所述待测设计的接口模块,具体包括主机接口、从机接口、控制接口、卷积核接口和寄存器接口,所述接口模块包含所有需要用到的待测设计接口信号的定义,用于所述待测设计与其他模块之间的数据通信;
[0009]测试用例模块base_test,用于创建不同的验证环境以及产生不同的测试激励;
[0010]所述测试用例模块中例化的每个测试用例都继承自base_test类,根据所验功能点的不同配置相应的验证环境,以及配置不同的序列sequence来产生符合协议规范的事务
transaction,以此形成不同的测试用例;
[0011]其中,所述验证环境按照待测卷积神经网络硬件加速器的验证需求来搭建,用于对所述待测设计中卷积、激活、池化、全连接的功能层、基地址和数据偏移的数据流控制功能进行验证。
[0012]由上述本专利技术提供的技术方案可以看出,上述系统按照UVM中的机制,量化验证进度,确保各功能模块的验证完备性,只需少量修改就可以对不同结构层的卷积神经网络模型的硬件加速器验证平台进行重用,从而缩短了验证周期,提高了验证效率。
附图说明
[0013]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0014]图1为本专利技术实施例提供的基于UVM的卷积神经网络验证系统的结构示意图;
[0015]图2为本专利技术实施例寄存器模型的示意图。
具体实施方式
[0016]下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,这并不构成对本专利技术的限制。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0017]如图1所示为本专利技术实施例提供的基于UVM的卷积神经网络验证系统的结构示意图,所述系统包括待测设计DUT、针对所述待测设计的接口模块、测试用例模块base_test、验证环境,其中:
[0018]所述待测设计DUT(Design Under Test)使用基于待测卷积神经网络的硬件加速器;
[0019]针对所述待测设计的接口模块,具体包括主机接口、从机接口、控制接口、卷积核接口和寄存器接口,所述接口模块包含所有需要用到的待测设计接口信号的定义,用于所述待测设计与其他模块之间的数据通信;具体实现中,各个接口在top_tb中实例化待测设计时可以直接使用,通过config_db机制传递到各个层级的组件中,在驱动器中通过virtual interface将接口的内容封装起来使用;
[0020]测试用例模块base_test,用于创建不同的验证环境以及产生不同的测试激励;
[0021]所述测试用例模块中例化的每个测试用例都继承自base_test类,根据所验功能点的不同配置相应的验证环境(environment,env),以及配置不同的序列sequence来产生符合协议规范的事务transaction,以此形成不同的测试用例;
[0022]其中,所述验证环境按照待测卷积神经网络硬件加速器的验证需求来搭建,用于对所述待测设计中卷积、激活、池化、全连接的功能层、基地址和数据偏移的数据流控制功能进行验证。
[0023]具体实现中,所述验证环境包括主机代理、从机代理、控制代理、卷积核代理、寄存
器代理、参考模型和计分板组件;其中,当存在多图层时,需要例化对应的数据输入输出以及卷积核的通道数量;
[0024]所述主机代理用于发送随机有符号数数据,模拟图像数据传递到所述待测设计;具体来说,主机代理中的主机驱动器根据序列中uvm_send宏发送经过实例化的事务,用seq_item_port.get_next_item的方式获取寄存器的配置信息产生相应数量的数据,将数据由虚拟接口传递到待测设计,同时主机监视器将检测到的事务通过uvm_analysis_port传递到参考模型,待测设计接收数据之前需要确保协议握手成功,为加快仿真速度和优化验证组件功能,因此在数据请求信号和响应信号握手成功后,产生随机数直接发送到虚拟接口;
[0025]所述从机代理用于接收所述待测设计的运算结果数据,并将运算结果数据传递到计分板组件进行地址和数据的比对;
[0026]所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM的卷积神经网络验证系统,其特征在于,所述系统包括待测设计DUT、针对所述待测设计的接口模块、测试用例模块base_test、验证环境,其中:所述待测设计DUT使用基于待测卷积神经网络的硬件加速器;针对所述待测设计的接口模块,具体包括主机接口、从机接口、控制接口、卷积核接口和寄存器接口,所述接口模块包含所有需要用到的待测设计接口信号的定义,用于所述待测设计与其他模块之间的数据通信;测试用例模块base_test,用于创建不同的验证环境以及产生不同的测试激励;所述测试用例模块中例化的每个测试用例都继承自base_test类,根据所验功能点的不同配置相应的验证环境,以及配置不同的序列sequence来产生符合协议规范的事务transaction,以此形成不同的测试用例;其中,所述验证环境按照待测卷积神经网络硬件加速器的验证需求来搭建,用于对所述待测设计中卷积、激活、池化、全连接的功能层、基地址和数据偏移的数据流控制功能进行验证。2.根据权利要求1所述基于UVM的卷积神经网络验证系统,其特征在于,所述验证环境包括主机代理、从机代理、控制代理、卷积核代理、寄存器代理、参考模型和计分板组件;其中,当存在多图层时,需要例化对应的数据输入输出以及卷积核的通道数量;所述主机代理用于发送随机有符号数数据,模拟图像数据传递到所述待测设计;所述从机代理用于接收所述待测设计的运算结果数据,并将运算结果数据传递到计分板组件进行地址和数据的比对;所述控制代理用于验证硬件触发卷积的方式,通过虚拟接口将待测设计触发卷积的信号置为有效,以此来验证设计中的功能点;所述卷积核代理用于配置卷积核的权重信息,目的是产生随机的权重数据,用于卷积层的计算;所述寄存器代理用于配置寄存器,所述寄存器代理与寄存器连接时使用前门访问的方式进行连接,其中,测试用例是通过配置寄存器的值来触发卷积;各个代理中都包含了驱动器、监视器和序列发生器,其中:所述驱动器用于向所述序列发生器申请测试事务对象,并将申请的测试事务对象驱动到所述待测设计的端口上;所述监视器用于收集所述待测设计端口上的数据,并将收集的数据转换成事务传送给后续的参考模型和计分板组件进行处理;所述序列发生器用于启动序列,然后将测试事务对象发送给所述驱动器。3.根据权利要求2所述基于UVM的卷积神经网络验证系统,其特征在于,所述测试用例模块中例化的每个测试用例的运行都由所述待测设计发出请求信号,再从主机驱动器中发出确认信号,并例化每层的read_channel_transaction产生不同的随机数,分别由读数据通道接口传...

【专利技术属性】
技术研发人员:蔺智挺陈琳吴秀龙彭春雨赵强卢文娟
申请(专利权)人:安徽大学
类型:发明
国别省市:

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

1