一种面向多核处理器的存储器测试激励生成方法及系统
- 国知局
- 2024-07-31 19:53:20
本发明涉及芯片设计,具体涉及一种面向多核处理器的存储器测试激励生成方法及系统。
背景技术:
1、多核处理器的存储器设计是芯片研发的一项重要内容,基于ip复用的soc设计方法大大降低了设计复杂,但系统集成正确性、ip配置的正确性,是保障芯片实现功能和性能的关键。随着处理器结构多核化、众核化发展,多核处理器显著提升了系统的数据处理能力,同时也对存储器的带宽提出了更高的要求。如图1所示的一款16核soc处理器,采用cmp结构,包括了处理器核(core)、cache、片上网络(network on chip,noc)、目录(directorycontrol unit,dcu)、存储器(memory control unit,mcu)。图1中,core是cpu核,完成指令的调度与执行;cache是高速缓存,1个core专用一个cache;noc是片上互连网络,提供cache之间、cache和cpu外部存储器之间的信息报文交换;dcu是目录,记录16个cache中数据块的副本使用情况,完成各个cache之间数据一致性的维护;mcu是存储控制器和外接dram,实现存储器的读写访问控制。为满足多核soc处理器对存储高带宽、大容量等需求,存储器通常是分布式多通道,支持多核的并行访存。多核处理器存储器的验证非常重要,如何自动产生有效的测试激励,提高验证效率,加快覆盖验证的功能点。
2、模拟验证方法一直是业界常见的验证手段。测试激励主要来源是人工书写,耗费大量的时间和人力成本;大规模测试激励集合是随机激励,存在大量冗余激励,覆盖功能点重合,或者无效测试激励,有效随机激励自动生成技术,是目前随机测试生成技术研究的热点。因此,如何实现面向多核处理器的存储器测试激励生成以消除冗余激励、覆盖功能点重合或者无效测试激励的问题,进而提高测试效率,已成为一项亟待解决的关键技术问题。
技术实现思路
1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向多核处理器的存储器测试激励生成方法及系统,本发明旨在面向多核处理器实现有监督地生成存储器测试激励,以最少的冗余测试激励尽快覆盖不同的覆盖功能点,减少测试时间。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种面向多核处理器的存储器测试激励生成方法,包括下述步骤:
4、s101,针对多核处理器存储器的测试特征进行免疫进化算法的抗体符号编码,包括将测试激励定义为包含f个基因的抗体,其中f为多核处理器中处理器核数量,基因包括由处理核对存储器的e种访问特征构成的e个基因片段;
5、s102,随机生成m个表示测试激励的抗体作为免疫进化算法初代的种群;
6、s103,对种群进行免疫进化算法的变异操作、交叉操作中的至少一种以更新种群;
7、s104,判断是否满足预设的结束条件,若不满足预设的结束条件,则跳转步骤s103以继续进化迭代以更新种群;否则,将最后得到的种群中的抗体作为生成的测试激励输出。
8、可选地,步骤s101中处理核对存储器的e种访问特征包括发出请求的处理器核编号、发出请求的存储器编号、接受的请求的目录编号、请求指令类型编号、访存地址与第一个请求地址相同还是随机地址,缓冲cache打开还是关闭共六种访问特征。
9、可选地,步骤s103中变异操作包括:
10、s201,根据变异概率进行变异操作生成新抗体;
11、s202,计算新抗体与种群中其他抗体的差异性;
12、s203,将差异性和预设的阈值进行比较,若差异性小于阈值,则新抗体为非自我数据,将该新抗体删除,跳转步骤s201重新进行变异操作;否则,新抗体为自我数据,将新抗体加入重组种群。
13、可选地,步骤s201中变异概率的计算函数表达式为:
14、
15、上式中,pm为变异概率,generation为当前的进化迭代次数,maxgeneration为预设的最大进化迭代次数,pm(max)为当前进化的变异概率最大值,pm(min)为当前进化的变异概率最小值。
16、可选地,步骤s103中交叉操作包括:
17、s301,根据交叉概率进行变异操作生成新抗体;
18、s302,计算新抗体与种群中其他抗体的差异性;
19、s303,将差异性和预设的阈值进行比较,若差异性小于阈值,则新抗体为非自我数据,将该新抗体删除,跳转步骤s201重新进行交叉操作;否则,新抗体为自我数据,将新抗体加入重组种群。
20、可选地,步骤s301中交叉概率的计算函数表达式为:
21、
22、上式中,pc为交叉概率,generation为当前的进化迭代次数,maxgeneration为预设的最大进化迭代次数,pc(max)为当前进化的交叉概率最大值,pc(min)为当前进化的交叉概率最小值。
23、可选地,所述差异性的函数表达式为:
24、
25、上式中,euclideandistancetk为新抗体tk与种群中其他抗体的差异性,e表示组成基因的片段总数,f表示组成抗体的基因数目,gentk(a,b)为新抗体tk的第a个基因第b个基因片段的符号编码,gentl(a,b)为种群中其他抗体tl的第a个基因第b个基因片段的符号编码,tl=1,2,…,m,m为种群数目。
26、可选地,步骤s104中预设的结束条件为迭代次数等于预设的最大迭代次数,或者更新后的种群出现亲和度大于等于设定阈值ε的抗体,其中亲和度的计算函数表达式为:
27、
28、上式中,fitness表示更新后的种群亲和度,n表示测试激励覆盖的功能点总数,wj表示第j个功能点的权重系数,wj为0表示第j个功能点不需要统计覆盖,covtm[j]为抗体tm对第j个功能点的覆盖率,且covtm[j]的计算函数表达式如下:
29、covtm[j]=covtm[1,j]|covtm[2,j]|covtm[3,j]|...|covtm[i,j]|...|covtm[f,j],
30、上式中,covtm[1,j]~covtm[f,j]分别表示抗体tm中的第1个~第f个基因是否覆盖功能j,f为抗体tm中包含的基因数量,covtm[1,j]~covtm[f,j]中的任意元素covtm[i,j]取值为1或0,取值为1表示第i个基因覆盖了功能j,取值为0表示第i个基因没有覆盖功能j。
31、此外,本实施例还提供一种面向多核处理器的存储器测试激励生成系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述面向多核处理器的存储器测试激励生成方法。
32、此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述面向多核处理器的存储器测试激励生成方法。
33、和现有技术相比,本发明主要具有下述优点:本发明面向多核处理器的存储器测试激励生成方法是基于免疫进化算法,针对多核处理器存储器的测试特征,进行免疫进化算法的抗体符号编码,创建测试激励的随机初代种群,根据选择概率交叉、变异概率产生的新的抗体,若新抗体差异性小于阈值,则重新进行交叉或变异操作,从而实现有监督的生成进化的种群,直至达到最大进化代数或种群的亲和度值大于等于设定阈值。本发明面向多核处理器的存储器测试激励生成方法基于免疫进化算法有监督地生成存储器测试激励,能够挖掘功能覆盖与激励输入之间的关系以指导产生有效的随机测试激励,在减少冗余测试激励的同时尽快提高功能点覆盖率,减少测试时间,相比于手动构造激励,极大地缩短了验证工作周期,大幅度降低了人力成本;并且相比伪随机测试,减少冗余测试,提高了验证效率,由此验证工作人员可以投入更多的精力在调测试、监视、检查器的完善以及新项目上,大大加快了芯片验证的流程。
本文地址:https://www.jishuxx.com/zhuanli/20240731/184531.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。