待测设计SM3模块的验证方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-10-09 15:07:07
本发明涉及计算机,特别是涉及一种待测设计sm3模块的验证方法、一种待测设计sm3模块的验证装置、一种电子设备以及一种可读存储介质。
背景技术:
1、随着芯片集成度的不断提高,芯片制造技术的不断发展,芯片的门级数量不断提高,在前期的芯片设计过程中更加容易引入未知错误,因此验证工作变得更加重要和艰巨,导致验证工作在整个前期周期中的占比时间越来越长,甚至可以达到70%以上,使得验证成为集成电路设计中的主要瓶颈。
2、传统的验证方法学及其相关技术已经不能满足日益增长的验证需求,结构上缺乏层次化设计,导致不同设计项目中的迁移性和可重用性都较差,不利于工程师将主要精力投放在仿真场景的构建上,延长了项目的开发周期。
3、现有的sm3(国产哈希加密算法)加密模块的验证方法中,主要是通过verilog语言搭建验证平台的方案,编写各种定向的验证激励,搭建定向的验证情景。这种方法的验证平台可重用性低,对新的模型进行验证时又要重新搭建,验证效率低下并且繁琐。
技术实现思路
1、本发明实施例所要解决的技术问题是提供一种待测设计sm3模块的验证方法、装置、电子设备及可读存储介质,以便解决验证平台可重用性地低,对新的模型进行验证时又要重新搭建,验证效率低下并且繁琐的问题。
2、为了解决上述问题,本发明提供了一种待测设计sm3模块的验证方法,包括:
3、根据待测设计sm3模块的测试用例配置和随机种子,产生所述待测设计sm3模块的多个功能点对应的测试序列;
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模块的功能点进行验证,为测试用例构造验证场景提供了更加灵活的方式,提高了验证开发的可重用性和兼容性,继而提高了验证效率。
本文地址:https://www.jishuxx.com/zhuanli/20241009/307680.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表