一种基于UVM的哈希交织算法的验证方法与平台技术

技术编号:39417870 阅读:12 留言:0更新日期:2023-11-19 16:07
本发明专利技术涉及芯片设计技术领域,提供了一种基于UVM的哈希交织算法的验证方法与平台,通过依靠待测的哈希算法模块的规格协议创建参考模型,该参考模型保证了待测模块应有功能的正确性,通过对待测模块和参考模块输入相同的地址信息执行相同的功能,再将两者输出结果进行对比,从而对待测模块的各项功能的正确性进行验证;并且通过获取参考模型的输出地址信息并进行验证,从而对参考模型以及待测模块的规格协议的正确性进行验证,从而完成待测的哈希算法模块的正确性验证。算法模块的正确性验证。算法模块的正确性验证。

【技术实现步骤摘要】
一种基于UVM的哈希交织算法的验证方法与平台


[0001]本专利技术涉及芯片设计
,特别是涉及一种基于UVM的哈希交织算法的验证方法与平台。

技术介绍

[0002]现有技术中,验证哈希交织算法主要通过UVM(Universal Verification Methodology,通用验证方法学)的硬件描语言编写验证平台的方法,在FPGA硬件平台上运行进行功能验证;一方面该方法通常仅适合定向测试,难以通过各种不同的测试向量进行不定向测试,导致在需要大量功能需要进行验证的情境下,定向测试的效率较低且无法实现重用;另一方面,哈希交织算法的正确性主要通过全地址交织不粘连和交织均匀度两个指标来评判,以往的仿真资源无法承载内存中全地址如此庞大的数据量,因此难以判断全地址交织是否不发生粘连,并且传统的验证平台也无法统计交织均匀度,综上,目前对于哈希交织算法的验证大多不全面并且效率低下。
[0003]鉴于此,克服该现有技术所存在的缺陷是本
亟待解决的问题。

技术实现思路

[0004]本专利技术要解决的技术问题是需要提供一种验证全面的哈希算法模块的验证方法。
[0005]第一方面,一种基于UVM的哈希交织算法的验证方法,包括:预先根据待测模块的规格协议创建参考模型,并对所述参考模型和待测模块进行预设功能定义;向所述参考模型和待测模块同步下发地址信息;所述参考模型和待测模块根据所述预设功能定义对所述地址信息进行相应的计算处理,得到所述预设功能下参考模型的处理结果和待测模块的处理结果;根据所述参考模型的处理结果验证待测模块的规格协议的正确性;将所述预设功能下所述参考模型的处理结果和所述待测模块的处理结果进行对比,验证所述待测模块的预设功能的正确性。
[0006]优选的,所述根据所述参考模型的处理结果验证待测模块的规格协议的正确性,具体包括:判断所述参考模型的处理结果的全地址交织是否发生粘连,以及获取参考模型的处理结果的交织均匀度;当所述参考模型的处理结果的全地址交织未发生粘连,并且参考模型的处理结果的交织均匀度大于或者等于预设交织均匀度时,所述参考模型的规格协议正确;当所述参考模型的处理结果的全地址交织发生粘连,或者参考模型的处理结果的交织均匀度小于预设交织均匀度时,所述参考模型的规格协议错误。
[0007]优选的,所述判断所述参考模型的处理结果的全地址交织是否发生粘连,具体包括:
将所述参考模型的处理结果存储至队列中,并判断队列中是否存在重复的地址信息,当存在时,则所述参考模型的处理结果的全地址交织发生粘连,当不存在时,则所述参考模型的处理结果的全地址交织未发生粘连。
[0008]优选的,所述获取参考模型的处理结果的交织均匀度,具体包括:获取参考模型的处理结果中所有地址信息的对应落点的内存位置,从而得到每个内存对应存储地址信息的数量,进而得到所述交织均匀度。
[0009]优选的,所述对所述参考模型和待测模块进行预设功能定义,具体包括:将多个第一类型功能作为第一测试用例,单个第二类型功能作为第二测试用例,所述第一测试用例采用不定向测试,所述第二测试用例采用定向测试,并且通过设置约束保证测试用例中所有功能的测试覆盖率。
[0010]第二方面,一种基于UVM的哈希交织算法的验证平台,使用所述的基于UVM的哈希交织算法的验证方法,包括:地址序列、参考模型、配置生成器、待测模块和计分板,其中:所述配置生成器分别同所述参考模型和所述待测模块相连,所述配置生成器用于预先对所述参考模型和待测模块进行预设功能定义;所述地址序列同所述参考模型和所述待测模块分别相连,所述地址序列用于向所述参考模型和所述待测模块发送相同的地址信息,所述参考模型和所述待测模块用于根据所述预设功能定义对所述地址信息进行相应的计算处理,得到所述预设功能下参考模型的处理结果和待测模块的处理结果;所述计分板同所述参考模型和所述待测模块分别相连,所述计分板用于接收预设功能下来自参考模型和待测模块的处理结果,并将两个所述处理结果进行对比,验证所述待测模块的预设功能的正确性。
[0011]优选的,所述参考模型具体包括:选区单元、交织单元、重分区单元和越界检查单元,其中:所述选区单元、交织单元、重分区单元和越界检查单元依次相连;所述选区单元用于接收来自所述地址序列的地址信息,并将所述地址信息分为线性地址信息和交织地址信息,所述线性地址信息发送至所述重分区单元,所述交织地址信息发送至所述交织单元;所述交织单元用于对所述交织地址信息进行哈希处理,并将哈希处理后的交织地址信息发送至所述重分区单元;所述重分区单元用于将接收到的地址信息进行落点分配,将不同地址信息的落点定义为相应的内存中;所述越界检查单元用于存储接收到的地址信息于队列中,判断队列中是否存在重复的地址信息,并将所有地址信息根据定义的落点发送至相应的内存中。
[0012]优选的,所述参考模型还包括:覆盖仓单元,其中:所述覆盖仓单元同所述重分区单元相接,所述覆盖仓用于获取参考模型的处理结果中所有地址信息的对应落点的内存位置,从而得到每个内存对应存储地址信息的数量,进而得到所述交织均匀度。
[0013]优选的,所述地址序列和所述待测模块之间还设置有主代理,所述主代理具体包括:序列发生器、驱动、输入接口和输入监视器,其中:
所述序列发生器、驱动和输入接口依次相接,所述序列发生器同所述地址序列相接,所述输入接口同所述待测模块以及输入监视器分别相接,所述输入监视器同所述参考模型相接;所述序列发生器用于接收来自地址序列的地址信息,并将地址信息进行存储,待所述驱动需要地址信息时,将地址信息发送至所述驱动;所述驱动用于接收来自序列发生器的地址信息,并将所述地址信息进行格式转换,将转换后的地址信息发送至输入接口;所述输入接口用于将接收到的地址信息发送至所述待测模块,所述待测模块根据所述功能定义对所述地址信息进行相应的计算处理;所述输入监视器用于提取所述输入接口中的地址信息并发送至所述参考模型,保证参考模型和待测模块接收到的地址信息一致。
[0014]优选的,所述待测模块和计分板之间还设置有从代理,所述从代理具体包括:输出接口和输出监视器,其中:所述输出接口同所述待测模块以及输出监视器分别相接,所述输出监视器同所述计分板相接;所述输出接口用于接收来自待测模块的处理结果;所述输出监视器用于提取所述输出接口中的处理结果,并将所述处理结果发送至所述计分板中。
[0015]本专利技术提供了一种基于UVM的哈希交织算法的验证方法与平台,通过依靠待测的哈希算法模块的规格协议创建参考模型,该参考模型保证了待测模块应有功能的正确性,通过对待测模块和参考模块输入相同的地址信息执行相同的功能,再将两者输出结果进行对比,从而对待测模块的各项功能的正确性进行验证;并且通过获取参考模型的输出地址信息并进行验证,对参考模型以及待测模块的规格协议的正确性进行验证,从而相对全面的完成待测的哈希算法模块的正确性验证。
附图说明
[0016]为了更清楚地说明本专利技术实施例的技术方案,下面将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM的哈希交织算法的验证方法,其特征在于,包括:预先根据待测模块的规格协议创建参考模型,并对所述参考模型和待测模块进行预设功能定义;向所述参考模型和待测模块同步下发地址信息;所述参考模型和待测模块根据所述预设功能定义对所述地址信息进行相应的计算处理,得到所述预设功能下参考模型的处理结果和待测模块的处理结果;根据所述参考模型的处理结果验证待测模块的规格协议的正确性;将所述预设功能下所述参考模型的处理结果和所述待测模块的处理结果进行对比,验证所述待测模块的预设功能的正确性。2.根据权利要求1所述的基于UVM的哈希交织算法的验证方法,其特征在于,所述根据所述参考模型的处理结果验证待测模块的规格协议的正确性包括:判断所述参考模型的处理结果的全地址交织是否发生粘连,以及获取参考模型的处理结果的交织均匀度;当所述参考模型的处理结果的全地址交织未发生粘连,并且参考模型的处理结果的交织均匀度大于或者等于预设交织均匀度时,所述参考模型的规格协议正确;当所述参考模型的处理结果的全地址交织发生粘连,或者参考模型的处理结果的交织均匀度小于预设交织均匀度时,所述参考模型的规格协议错误。3.根据权利要求2所述的基于UVM的哈希交织算法的验证方法,其特征在于,所述判断所述参考模型的处理结果的全地址交织是否发生粘连包括:将所述参考模型的处理结果存储至队列中,并判断队列中是否存在重复的地址信息,当存在时,则所述参考模型的处理结果的全地址交织发生粘连,当不存在时,则所述参考模型的处理结果的全地址交织未发生粘连。4.根据权利要求2所述的基于UVM的哈希交织算法的验证方法,其特征在于,所述获取参考模型的处理结果的交织均匀度包括:获取参考模型的处理结果中所有地址信息的对应落点的内存位置,从而得到每个内存对应存储地址信息的数量,进而得到所述交织均匀度。5.根据权利要求1至4中任一项所述的基于UVM的哈希交织算法的验证方法,其特征在于,所述对所述参考模型和待测模块进行预设功能定义包括:将多个第一类型功能作为第一测试用例,单个第二类型功能作为第二测试用例,所述第一测试用例采用不定向测试,所述第二测试用例采用定向测试,并且通过设置约束保证测试用例中所有功能的测试覆盖率。6.一种基于UVM的哈希交织算法的验证平台,使用如权利要求1至5中任一项所述的基于UVM的哈希交织算法的验证方法,其特征在于,包括:地址序列、参考模型、配置生成器、待测模块和计分板,其中:所述配置生成器分别同所述参考模型和所述待测模块相连,所述配置生成器用于预先对所述参考模型和待测模块进行预设功能定义;所述地址序列同所述参考模型和所述待测模块分别相连,所述地址序列用于向所述参考模型和所述待测模块发送相同的地址信息,所述参考模型和所述待测模块用于根据所述预设功能定义对所述地址信息进行相应的计算处理,得到所述预设功能下参...

【专利技术属性】
技术研发人员:黄文超何颖黄宇浩陈明
申请(专利权)人:芯动微电子科技武汉有限公司
类型:发明
国别省市:

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

1