首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种高效多核RISC-V处理器的Cache系统验证方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京宁麒智能计算芯片研究院有限公司

摘要:本发明公开了一种多核RISC‑V处理器的Cache系统验证方法,涉及仿真验证算法领域。针对现有技术中存在的多核RISC‑V处理器中Cache系统仿真验证随机激励中存在的Cache验证难扩展、激励空间冗余和不均匀覆盖的问题,本发明提供了一种多核RISC‑V处理器的Cache系统验证方法,本方法首先建立基于有向二分图的多核RISC‑V处理器中Cache系统抽象模型;然后采用层次化等价类划分算法将原本无序的RISC‑V处理器Cache激励空间转换成有序的4层树状空间;接着采用广度优先算法对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列;最后通过RISC‑V核相关的riscv转换函数将每个叶子节点转换成RISC‑V核的测试指令,本发明可以实现在保证验证覆盖率的基础上实现激励空间无冗余均匀覆盖。

主权项:1.一种高效多核RISC-V处理器的Cache系统验证方法,包括以下步骤:步骤1、建立基于有向二分图的多核RISC-V处理器Cache系统抽象模型;步骤2、采用等价类划分算法将原本无序的RISC-V处理器Cache激励空间转换成有序的4层激励空间树;等价类划分算法分为以下四个步骤:步骤2.1、对整个多核Cache操作构成的激励空间进行划分,得到的每个一级子空间的发起Cache写操作的RISC-V核数相同;步骤2.2、对一级子空间进行划分,得到的每一个二级子空间具有相同的写操作RISC-V核;步骤2.3、对二级子空间进行划分,得到的每一个三级子空间具有相同的读操作RISC-V核;步骤2.4、对三级子空间进行划分,得到的每一个四级子空间具有确定的RISC-V核间Cache变量读写对应关系;步骤3、对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列;遍历激励空间树的算法为广度优先算法,具体包括以下步骤:步骤3.1、首先对记录已被遍历节点信息的数据结构Deadroot函数、SearchedSSi,j,k函数、SearchedSSi,j函数、SearchedSSi函数、DeadSSi,j,k函数、DeadSSi,j函数和DeadSSi函数进行初始化,初始值都为0;步骤3.2、执行CycInci函数,i从0开始递增,直到DeadSSi函数返回0后判断SearchedSSi函数的值,如果为0,则将j、k、l都设为1,获取叶子节点SSi,j,k,l后跳到步骤3.5;如果为1,则跳到步骤3.3;步骤3.3、执行CycIncj函数,j从0开始递增,直到DeadSSi,j函数返回0后判断SearchedSSi,j函数的值,如果为0,则将k、l都设为1,获取叶子节点SSi,j,k,l后跳到步骤3.5;如果为1,则跳到步骤3.4;步骤3.4、执行CycInck函数,k从0开始递增,直到DeadSSi,j,k函数返回0后判断SearchedSSi,j,k函数的值,如果为0,则将l设为1;如果为1,则l加1,获取叶子节点SSi,j,k,l后跳到步骤3.5;步骤3.5、通过RISC-V核相关的riscv转换函数将叶子节点SSi,j,k,l转换成RISC-V核的测试指令包后更新Deadroot函数、SearchedSSi,j,k函数、SearchedSSi,j函数、SearchedSSi函数、DeadSSi,j,k函数、DeadSSi,j函数和DeadSSi函数的值;步骤3.6、判断Deadroot函数的值,如果为0,则跳到步骤3.2;如果为1,则遍历完成;步骤4、采用RISC-V核相关的riscv转换函数将每个叶子节点转换成实际RISC-V核的测试指令包;riscv转换函数的实现步骤如下:步骤4.1、初始Cache变量地址A设为Cache空间的首地址,初始锁变量地址SA设为UnCache空间的首地址;步骤4.2、从叶子节点LeafNode的主点集中提取出一个主点vwi,生成一个对Cache变量A的写操作单元WU,其中的地址A为步骤4.1中的Cache变量地址,写数据D为随机数据,并从顶部将WU对应指令序列加入vwi对应RISC-V核的测试指令包RCTIP队列中;步骤4.3、通过Cache系统有向二分图激励模型的有向边集获得每个主点vwi对应的从点集合BSvwi={vri1…vrin},对其中每一个从点vrij都生成一个对步骤4.2中的Cache变量A的读操作单元RU,其中的地址A和预期数据D与步骤4.2中相同,并从尾部将RU对应指令序列加入vrij对应RISC-V核的测试指令包队列中;步骤4.4、对Cache变量地址A加1,并判断叶子节点LeafNode的主点集是否已被完全遍历,若没有则回到步骤4.2,否则进入下一步;步骤4.5、生成一个同步单元SU,从尾部将SU对应指令序列加入所有RISC-V核的测试指令包队列,且结束时对锁变量地址SA加1,生成新的同步变量SA;步骤一中的多核RISC-V处理器Cache系统抽象模型为有向二分图模型DBG=BVh,BVs,BE,其中主点集DVh中的点与能发起Cache写操作的RISC-V核一一对应;从点集DVs中的点与能发起Cache读操作的RISC-V核一一对应,DE为有向边集;有向边集DE为主点集DVh中顶点vwi到从点集DVs中顶点vri的有向边eij=vwi,vrj的集合,有向边集DE存在的充要条件是vri对应RISC-V核发起的读操作结果来自vwi对应RISC-V核发起的写操作;FooMC的激励有向二分图模型三元素分别为DVh={CoreA,CoreB}、DVs={CoreA,CoreB}和DE={CoreA,CoreA,CoreA,CoreB,CoreB,CoreA}其中DE中的元素表示该多核系统在某时刻存在两个Cache变量的并发读写,这里记为V1和V2,其中一个是内核CoreA发起变量V1的写操作,然后内核CoreA和CoreB后续发起了V1的读操作;另一个是内核CoreB发起变量V2的写操作,然后内核CoreA后续发起了V2的读操作。

全文数据:

权利要求:

百度查询: 南京宁麒智能计算芯片研究院有限公司 一种高效多核RISC-V处理器的Cache系统验证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。