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

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

An efficient cache system verification method for multi-core risc-v processor

【技术实现步骤摘要】
一种高效多核RISC-V处理器的Cache系统验证方法
本专利技术涉及仿真验证算法领域,更具体地说,涉及一种高效多核RISC-V处理器的Cache系统验证方法。
技术介绍
以通用CPU为核心的多核处理器对于现代信息社会的重要性不言而喻,而当下新兴的AI、5G和IoT等热门应用对通用计算处理核心又提出了新的要求,不仅要求能提供高性能的计算能力,而且还要求产品能够快速升级。而传统通用CPU的设计和研发目前是已分别被国外的Intel和ARM架构垄断,这两个通用核架构的优点是经过了多年的发展,已经具备了成熟的软硬开发生态,但其缺点也很明显——这两者都是商业公司的作品,成熟的IP资源并不对外免费释放,要想获取并在其基础上进行定制和升级,需要支付昂贵的授权费。在上述背景下加州大学伯克利分校在2011年提出了新一代开放RISC-V指令集。RISC-V最大的特点是简洁、开放和可扩展,用户可在其精简的基础指令集上根据应用需求自定义扩展。在当下火热的基于RISC-V国产化处理器进程中,目前学术界和产业界绝大多数工作都集中在基于RISC-V的扩展和异构集成等设计领域,而很少有工作关注面向RISC-V的高效处理器验证。其实随着处理器芯片设计规模不断增大,缩短研发周期的要求不断提高,对于高效处理器验证技术的需求也越来越强烈。具体为了降低访存延迟,现在的多核处理器系统中都采用层次化的存储组织方式,即每个处理器核中都有各自私有的Cache,用于缓存主存中的数据。故在多核系统中,即使共享内存空间,但每个处理器核在进行访存操作时,都只在各自的Cache中完成,此时如果没有专门的一致性维护模块,那就会出现数据一致性的问题。为了实现多核访存的一致性,目前业内普遍的解决方案是在多核系统中再引入专门的Cache一致性维护模块。传统多核Cache系统的功能验证主要基于随机激励,虽然随机激励很多时候能够帮助发现一些设计缺陷。但由于随机的不可控性造成输入激励空间的冗余和不均匀覆盖,而且待验证设计规模越大,这种不均匀性越严重。因此对于多核Cache系统的验证,如何在保证验证覆盖率的基础上实现激励空间无冗余均匀覆盖已经成为研究的热点与难点。中国专利申请,申请号CN201811636603.5,公开日2019年5月1日,公开了一种激励空间无冗余均匀覆盖的多核互联总线验证方法,属于芯片仿真验证领域。针对现有技术中存在的处理器验证的输入激励空间的冗余和不均匀覆盖的问题,该专利技术提供了一种激励空间无冗余均匀覆盖的多核互联总线验证方法,首先建立基于有向二分图的多核互联总线模块抽象激励模型;然后采用EP等价类划分算法将原本扁平无序的激励空间转换成了3层的激励空间树;接着采用优化深度优先ODFT算法对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列;最后通过总线协议相关的BusSti(LeafNode)转换函数将每个叶子节点转换成实际总线互联的输入激励。它可以实现在保证验证覆盖率的基础上实现激励空间无冗余均匀覆盖。
技术实现思路
1.要解决的技术问题针对现有技术中存在的多核RISC-V处理器中Cache系统仿真验证随机激励中存在的Cache验证难扩展、激励空间冗余和不均匀覆盖的问题,本专利技术提供了一种高效多核RISC-V处理器的Cache系统验证方法,它可以实现在保证验证覆盖率的基础上实现激励空间无冗余均匀覆盖。2.技术方案本专利技术的目的通过以下技术方案实现。一种高效多核RISC-V处理器的Cache系统验证方法,包括下述步骤:步骤1、建立基于有向二分图(DirectedBipartiteGraph,DBG=<DVh,DVs,DE>)的多核RISC-V处理器Cache系统抽象模型;其中主点集DVh中的点与能发起Cache写操作的RISC-V核一一对应;从点集DVs中的点与能发起Cache读操作的RISC-V核一一对应;DVh中顶点vwi到DVs中顶点vri之间存在有向边eij=<vwi,vrj>的充要条件是vri对应RISC-V核发起的读操作结果来自vwi对应RISC-V核发起的写操作。步骤2、采用层次化等价类划分算法将原本无序的RISC-V处理器Cache激励空间转换成有序的4层树状空间。其中层次化等价类划分算法分为4个子步骤,其中第一步为对整个空间进行划分,得到的每个一级子空间内的具有相同的写操作RISC-V核数;第二步为对一级子空间进一步划分,得到的每个二级子空间内具有相同的发起写操作的RISC-V核集合;第三步为对二级子空间进一步划分,得到的每个三级子空间内具有相同的读操作RISC-V核子集;第四步为对三级子空间进一步划分,得到的每个四级子空间内具有确定的各RISC-V核间Cache变量读写对应关系。步骤3、采用广度优先算法对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列。步骤4、采用RISC-V核相关的riscv(LeafNode)转换函数将每个叶子节点转换成实际RISC-V核的测试指令包。进一步的,步骤一中的多核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核发起的写操作。更进一步的,步骤2的等价类划分算法分为以下四个步骤:步骤2.1、对整个多核Cache操作构成的激励空间进行划分,得到的每个一级子空间的发起Cache写操作的RISC-V核数相同;步骤2.2、对一级子空间进行划分,得到的每一个二级子空间具有相同的写操作RISC-V核;步骤2.3、对二级子空间进行划分,得到的每一个三级子空间具有相同的读操作RISC-V核;步骤2.4、对三级子空间进行划分,得到的每一个四级子空间具有确定的RISC-V核间Cache变量读写对应关系。更进一步的,步骤3中遍历激励空间树的算法为广度优先算法,具体包括以下步骤:步骤3.1、首先对记录已被遍历节点信息的数据结构Dead(root)函数、Searched(SSi,j,k)函数、Searched(SSi,j)函数、Searched(SSi)函数、Dead(SSi,j,k)函数、Dead(SSi,j)函数和Dead(SSi)函数进行初始化,初始值都为0;步骤3.2、执行CycInc(i)函数,i从0开始递增,直到Dead(SSi)函数返回0后判断Searched(SSi)函数的值,如果为0,则将j、k、l都设为1,获取叶子节点SSi,j,k,l后跳到步骤3.5;如果为1,则跳到步骤3.3本文档来自技高网
...

【技术保护点】
1.一种高效多核RISC-V处理器的Cache系统验证方法,包括以下步骤:/n步骤1、建立基于有向二分图的多核RISC-V处理器Cache系统抽象模型;/n步骤2、采用等价类划分算法将原本无序的RISC-V处理器Cache激励空间转换成有序的4层激励空间树;/n步骤3、对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列;/n步骤4、采用RISC-V核相关的riscv转换函数将每个叶子节点转换成实际RISC-V核的测试指令包。/n

【技术特征摘要】
1.一种高效多核RISC-V处理器的Cache系统验证方法,包括以下步骤:
步骤1、建立基于有向二分图的多核RISC-V处理器Cache系统抽象模型;
步骤2、采用等价类划分算法将原本无序的RISC-V处理器Cache激励空间转换成有序的4层激励空间树;
步骤3、对激励空间树的叶子节点集进行遍历,得到包含高层次激励信息的无冗余全覆盖叶子节点序列;
步骤4、采用RISC-V核相关的riscv转换函数将每个叶子节点转换成实际RISC-V核的测试指令包。


2.根据权利要求1所述的一种高效多核RISC-V处理器的Cache系统验证方法,其特征在于:步骤一中的多核RISC-V处理器Cache系统抽象模型为有向二分图模型DBG=<BVh,BVs,BE>,其中主点集DVh中的点与能发起Cache写操作的RISC-V核一一对应;从点集DVs中的点与能发起Cache读操作的RISC-V核一一对应,DE为有向边集。


3.根据权利要求2所述的一种高效多核RISC-V处理器的Cache系统验证方法,其特征在于:有向边集DE为主点集DVh中顶点vwi到从点集DVs中顶点vri的有向边eij=<vwi,vrj>的集合,有向边集DE存在的充要条件是vri对应RISC-V核发起的读操作结果来自vwi对应RISC-V核发起的写操作。


4.根据权利要求1所述的一种高效多核RISC-V处理器的Cache系统验证方法,其特征在于:步骤2的等价类划分算法分为以下四个步骤:
步骤2.1、对整个多核Cache操作构成的激励空间进行划分,得到的每个一级子空间的发起Cache写操作的RISC-V核数相同;
步骤2.2、对一级子空间进行划分,得到的每一个二级子空间具有相同的写操作RISC-V核;
步骤2.3、对二级子空间进行划分,得到的每一个三级子空间具有相同的读操作RISC-V核;
步骤2.4、对三级子空间进行划分,得到的每一个四级子空间具有确定的RISC-V核间Cache变量读写对应关系。


5.根据权利要求1所述的一种高效多核RISC-V处理器的Cache系统验证方法,其特征在于:步骤3中遍历激励空间树的算法为广度优先算法,具体包括以下步骤:
步骤3.1、首先对记录已被遍历节点信息的数据结构Dead(root)函数、Searched(SSi,j,k)函数、Searched(SSi,j)函数、Searched(SSi)函数、Dead(SSi,j,k)函数、Dead(SSi,j)函数和Dead(SSi)函数进行初始化,初始值都为0;
步骤3.2、执行CycInc(i)函数,i从0开始递增,直到Dead(SSi)函数返回0后判断Searched(SSi)函数的值,如果为0,则将j、k、l都设为1,获取叶子节点SSi,j,k,l后跳到步骤3.5...

【专利技术属性】
技术研发人员:李丽程开丰傅玉祥何书专
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1