用于验证存储电路的方法和计算机程序产品及计算设备与流程

专利查询2月前  29


本发明涉及芯片,具体涉及一种用于验证存储电路的方法和计算机程序产品及计算设备。


背景技术:

1、存储电路是芯片的重要组成部分,芯片运行的指令和数据,都需要在存储电路中存放。并且随着芯片计算速率的要求越来越高,存储电路的位置也离计算电路越来越近。如今直接在计算核心内部放置存储电路,以及使用片上存储,已经成为一种解决数据搬运问题的重要架构方案。芯片使用中,除了使用寄存器配置,部分的数据或者配置也可能会存放在对应的存储电路随机存取存储器空间(ram空间)中,在实际芯片使用时软件来进行动态内存分配,对存储空间进行分配和回收。

2、现有技术中的内存动态分配算法,大多是为了软件使用,重点在于存储空间的分配和回收,每次分配的要够用,用完了回收不要被无效占用,但是对于芯片验证来说,通常执行的命令和使用的数据较少,空间是够用的。重点应该在于根据芯片的构造,找出可能出问题的场景,并且根据这些场景来构造存储空间的分配和使用。比如特别构造空间跨两块实际的ram,或者构造地址不对齐的多块空间等。

3、为此,需要一种技术方案,能够更好地验证到边界和特殊地址,增加芯片验证的完备性,可以使地址空间的验证和功能验证结合,实现自动化的地址分配,增加验证的效率。


技术实现思路

1、本发明旨在提供用于验证存储电路的方法和计算机程序产品及计算设备,能够更好地验证到边界和特殊地址,增加芯片验证的完备性,可以使地址空间的验证和功能验证结合,实现自动化的地址分配,增加了验证的效率。

2、根据本发明的一方面,提供一种用于验证存储电路的方法,所述方法包括:

3、将芯片存储电路的地址空间分为多个地址块,包括:通过随机方式生成用于地址块的起始地址和块长度;

4、随机分配所述多个地址块中的至少一个地址块;

5、使用所分配的所述至少一个地址块对所述芯片存储电路进行功能验证仿真;

6、根据多次随机的结果收集地址块的起始地址和块长度的覆盖率,当所述覆盖率达到100%后则完成所述功能验证仿真。

7、根据一些实施例,将芯片存储电路的地址空间分为多个地址块,还包括:

8、使用所述随机约束,增加边界和/或特殊地址的权重,所述权重包括经验值。

9、根据一些实施例,所述随机约束根据所述芯片存储电路的边界和白盒测试点设定。

10、根据一些实施例,随机分配所述多个地址块中的至少一个地址块,包括:

11、对所述多个地址块进行乱序排列;

12、从乱序排列的所述多个地址块中顺序选取所述至少一个地址块。

13、根据一些实施例,在所分配的所述至少一个地址块上使用通用验证方法学的内存分配管理组件进行动态地址分配,自动化地控制地址的分配和回收。

14、根据一些实施例,使用所分配的所述至少一个地址块对所述芯片存储电路进行功能验证仿真,包括:

15、根据所述至少一个地址块的起始地址和块长度,设置所用到的实际芯片存储空间;

16、在所述实际芯片存储空间上进行用例测试。

17、根据一些实施例,所述实际芯片存储空间包括多块存储单元的组合、或直接由寄存器搭建,所述多块存储单元之间的边界和片选控制不同。

18、根据一些实施例,每个存储单元包括存储行,预定数量的存储单元存储组,预定数量的存储组构成存储块,所述芯片存储电路的边界包括所述存储行之间的边界、所述存储组之间的边界和/或所述存储块之间的边界。

19、根据本发明的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的方法。

20、根据本发明的另一方面,提供一种计算设备,包括:

21、处理器;以及

22、存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如上任一项所述的方法。

23、根据本发明的实施例,通过将地址空间分为多块,使用多块地址空间进行验证仿真,收集每次分配的地址空间的起始地址和空间大小的覆盖率,当覆盖率达到100%后完成相关功能的验证,实现自动化的地址分配。本发明能够更好地验证到边界和特殊地址,增加芯片验证的完备性,可以使地址空间的验证和功能验证结合,增加了验证的效率。

24、根据一些实施例,本发明实现动态内存分配,当应用程序请求内存时,由操作系统内核或运行时库自动分配适当大小的内存块,自动检测不再使用的对象并释放其占用的内存。

25、根据一些实施例,自动化的内存管理减少了手动管理所需的工作量,同时通过避免内存泄漏等问题提高了系统的性能。手动管理内存容易出错,如忘记释放内存、野指针、双释放等问题。自动化分配可以显著减少这类错误。

26、根据一些实施例,自动化内存管理简化了代码编写工作,使得开发人员能够更加专注于业务逻辑,更加灵活的进行资源管理,本发明使系统根据实际需求动态调整内存资源,更好地支持并发或多任务处理。

27、根据一些实施例,本发明可以对抗试图利用固定内存布局进行攻击的行为,增加了攻击者的难度,增强安全性。

28、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。



技术特征:

1.一种用于验证存储电路的方法,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,将芯片存储电路的地址空间分为多个地址块,还包括:

3.根据权利要求2所述的方法,其特征在于,所述随机约束根据所述芯片存储电路的边界和白盒测试点设定。

4.根据权利要求1所述的方法,其特征在于,随机分配所述多个地址块中的至少一个地址块,包括:

5.根据权利要求1所述的方法,其特征在于,还包括:

6.根据权利要求1所述的方法,其特征在于,使用所分配的所述至少一个地址块对所述芯片存储电路进行功能验证仿真,包括:

7.根据权利要求6所述的方法,其特征在于,所述实际芯片存储空间包括多块存储单元的组合、或直接由寄存器搭建,所述多块存储单元之间的边界和片选控制不同。

8.根据权利要求7所述的方法,其特征在于,每个存储单元包括存储行,预定数量的存储单元存储组,预定数量的存储组构成存储块,所述芯片存储电路的边界包括所述存储行之间的边界、所述存储组之间的边界和/或所述存储块之间的边界。

9.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。

10.一种计算设备,其特征在于,包括:


技术总结
本发明提供一种用于验证存储电路的方法和计算机程序产品及计算设备,所述方法包括:将芯片存储电路的地址空间分为多个地址块,包括:通过随机方式生成用于地址块的起始地址和块长度;随机分配所述多个地址块中的至少一个地址块;使用所分配的所述至少一个地址块对所述芯片存储电路进行功能验证仿真;根据多次随机的结果收集地址块的起始地址和块长度的覆盖率,当所述覆盖率达到100%后则完成所述功能验证仿真。根据本发明的技术方案,能够更好地验证到边界和特殊地址,增加芯片验证的完备性,可以使地址空间的验证和功能验证结合,实现自动化的地址分配,增加了验证的效率。

技术研发人员:钟仁骏,蔡权雄,牛昕宇
受保护的技术使用者:深圳鲲云信息科技有限公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)