本发明专利技术实施例提供了待测设计SM3模块的验证方法、装置、设备及存储介质。方法包括:根据待测设计SM3模块的测试用例配置和随机种子,产生多个功能点对应的测试序列,驱动器通过序列发生器从序列中请求测试序列,发送到待测设计SM3模块,输出端监控器接收第一结果数据,发送给比较器,输入端监控器将测试序列发送给SM3参考模型,根据测试序列进行功能仿真,得到第二结果数据,发送给比较器,对第一结果数据和第二结果数据进行比较,得到验证结果,使得利用一系列针对待测设计SM3模块的通用验证组件,来对待测设计SM3模块的功能点进行验证,为测试用例构造验证场景提供了更加灵活的方式,提高了验证开发的可重用性和兼容性,继而提高了验证效率。
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种待测设计sm3模块的验证方法、一种待测设计sm3模块的验证装置、一种电子设备以及一种可读存储介质。
技术介绍
1、随着芯片集成度的不断提高,芯片制造技术的不断发展,芯片的门级数量不断提高,在前期的芯片设计过程中更加容易引入未知错误,因此验证工作变得更加重要和艰巨,导致验证工作在整个前期周期中的占比时间越来越长,甚至可以达到70%以上,使得验证成为集成电路设计中的主要瓶颈。
2、传统的验证方法学及其相关技术已经不能满足日益增长的验证需求,结构上缺乏层次化设计,导致不同设计项目中的迁移性和可重用性都较差,不利于工程师将主要精力投放在仿真场景的构建上,延长了项目的开发周期。
3、现有的sm3(国产哈希加密算法)加密模块的验证方法中,主要是通过verilog语言搭建验证平台的方案,编写各种定向的验证激励,搭建定向的验证情景。这种方法的验证平台可重用性低,对新的模型进行验证时又要重新搭建,验证效率低下并且繁琐。
技术实现思路
1、本专利技术实施例所要解决的技术问题是提供一种待测设计sm3模块的验证方法、装置、电子设备及可读存储介质,以便解决验证平台可重用性地低,对新的模型进行验证时又要重新搭建,验证效率低下并且繁琐的问题。
2、为了解决上述问题,本专利技术提供了一种待测设计sm3模块的验证方法,包括:
3、根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列;</p>4、驱动器通过序列发生器从序列中请求所述测试序列,将请求到的所述测试序列通过接口组件发送到所述待测设计sm3模块;
5、输出端监控器接收所述待测设计sm3模块的输出的第一结果数据,将所述第一结果数据发送给比较器;
6、输入端监控器通过所述接口组件得到发送给所述待测设计sm3模块的测试序列,并将所述测试序列发送给sm3参考模型;
7、所述sm3参考模型根据所述测试序列进行功能仿真,得到模拟sm3算法相对应的第二结果数据,将所述第二结果数据发送给所述比较器;
8、所述比较器对所述第一结果数据和第二结果数据进行比较,得到所述待测设计sm3模块的多个功能点的验证结果。
9、可选地,所述测试用例配置包括数据边界配置和数据长度边界配置,所述根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列包括:
10、针对各个功能点,产生对应的随机种子;
11、根据所述数据边界配置和数据长度边界配置,以及所述随机种子,生成随机的测试序列;
12、根据所述数据边界配置和数据长度边界配置,生成数据边界对应的测试序列和数据长度边界对应的测试序列;
13、将生成的所述测试序列放入序列库中。
14、可选地,所述将生成的所述测试序列放入序列库中包括:
15、将所述数据边界对应的测试序列和数据长度边界对应的测试序列靠前排序,将所述随机的测试序列靠后进行随机排序;
16、将排序后的测试序列放入所述序列库中。
17、可选地,在所述将排序后的测试序列放入所述序列库中之前,所述方法还包括:
18、在排序后的测试序列中,对于不同的功能点对应的测试序列之间随机添加复位对应的测试序列。
19、本专利技术还提供了一种待测设计sm3模块的验证装置,包括:
20、序列产生模块,用于根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列;
21、序列请求模块,用于驱动器通过序列发生器从序列中请求所述测试序列,将请求到的所述测试序列通过接口组件发送到所述待测设计sm3模块;
22、结果接收模块,用于输出端监控器接收所述待测设计sm3模块的输出的第一结果数据,将所述第一结果数据发送给比较器;
23、序列发送模块,用于输入端监控器通过所述接口组件得到发送给所述待测设计sm3模块的测试序列,并将所述测试序列发送给sm3参考模型;
24、功能仿真模块,用于所述sm3参考模型根据所述测试序列进行功能仿真,得到模拟sm3算法相对应的第二结果数据,将所述第二结果数据发送给所述比较器;
25、结果比较模块,用于所述比较器对所述第一结果数据和第二结果数据进行比较,得到所述待测设计sm3模块的多个功能点的验证结果。
26、可选地,所述测试用例配置包括数据边界配置和数据长度边界配置,所述序列产生模块包括:
27、种子产生子模块,用于针对各个功能点,产生对应的随机种子;
28、第一序列生成子模块,用于根据所述数据边界配置和数据长度边界配置,以及所述随机种子,生成随机的测试序列;
29、第二序列生成子模块,用于根据所述数据边界配置和数据长度边界配置,生成数据边界对应的测试序列和数据长度边界对应的测试序列;
30、序列存储子模块,用于将生成的所述测试序列放入序列库中。
31、可选地,所述序列存储子模块包括:
32、排序单元,用于将所述数据边界对应的测试序列和数据长度边界对应的测试序列靠前排序,将所述随机的测试序列靠后进行随机排序;
33、序列存储单元,用于将排序后的测试序列放入所述序列库中。
34、可选地,所述装置还包括:
35、序列添加模块,用于在所述将排序后的测试序列放入所述序列库中之前,在排序后的测试序列中,对于不同的功能点对应的测试序列之间随机添加复位对应的测试序列。
36、本专利技术实施例还公开了一种电子设备,其特征在于,包括处理器;
37、存储器,用于存放计算机程序,当计算机程序由所述处理器执行时,使得所述处理器实现如上所述的方法步骤。
38、本专利技术实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本专利技术实施例中一个或多个所述的方法。
39、依据本专利技术实施例,通过根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列,驱动器通过序列发生器从序列中请求所述测试序列,将请求到的所述测试序列通过接口组件发送到所述待测设计sm3模块,输出端监控器接收所述待测设计sm3模块的输出的第一结果数据,将所述第一结果数据发送给比较器,通过输入端监控器通过所述接口组件得到发送给所述待测设计sm3模块的测试序列,并将所述测试序列发送给sm3参考模型,所述sm3参考模型根据所述测试序列进行功能仿真,得到模拟sm3算法相对应的第二结果数据,将所述第二结果数据发送给所述比较器,所述比较器对所述第一结果数据和第二结果数据进行比较,得到所述待测设计sm3模块的多个功能点的验证结果,使得利用一系列针对待测设计sm3模块的通用验证组件,来对待测设计sm3模本文档来自技高网
...
【技术保护点】
1.一种待测设计SM3模块的验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述测试用例配置包括数据边界配置和数据长度边界配置,所述根据待测设计SM3模块的测试用例配置和随机种子,产生所述待测设计SM3模块的多个功能点对应的测试序列包括:
3.根据权利要求2所述的方法,其特征在于,所述将生成的所述测试序列放入序列库中包括:
4.根据权利要求3所述的方法,其特征在于,在所述将排序后的测试序列放入所述序列库中之前,所述方法还包括:
5.一种待测设计SM3模块的验证装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,所述测试用例配置包括数据边界配置和数据长度边界配置,所述序列产生模块包括:
7.根据权利要求6所述的装置,其特征在于,所述序列存储子模块包括:
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-4中一个或多个所述的待测设计SM3模块的验证方法。
...
【技术特征摘要】
1.一种待测设计sm3模块的验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述测试用例配置包括数据边界配置和数据长度边界配置,所述根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列包括:
3.根据权利要求2所述的方法,其特征在于,所述将生成的所述测试序列放入序列库中包括:
4.根据权利要求3所述的方法,其特征在于,在所述将排序后的测试序列放入所述序列库中之前,所述方法还包括:
5.一种待测设计sm3模块的验证装置...
【专利技术属性】
技术研发人员:田广帅,王朋宇,
申请(专利权)人:龙芯中科技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。