当前位置: 首页 > 专利查询>南京大学专利>正文

一种多核SoC中DMA模块的功能验证方法技术

技术编号:22329990 阅读:81 留言:0更新日期:2019-10-19 12:15
本发明专利技术涉及了一种多核SoC中DMA模块的功能验证方法,具体步骤为:首先建立基于有向二分图的多核SoC中DMA模块抽象配置模型;然后采用等价类划分算法将原本扁平无序的配置空间转换成了三层的配置空间树;接着采用深度优先算法对配置空间树的叶子节点集进行遍历,得到包含高层次配置信息的无冗余全覆盖叶子节点序列;最后通过内核相关的DMACfg转换函数将每个叶子节点转换成实际DMA的配置信息。有益效果:本发明专利技术的证方法可以在保证完备的功能覆盖率基础上最小化验证配置激励集。

【技术实现步骤摘要】
一种多核SoC中DMA模块的功能验证方法
本专利技术属于仿真验证算法领域,尤其涉及一种多核SoC中DMA模块的功能验证方法。
技术介绍
在经典vonNeumann计算机体系结构中,I/O与主存Memory之间要想进行数据的交互,则必须通过内核中转。当要传输的数据量很大时,上述传输方式的低效率就很明显,因为在整个数据传输过程中内核都无法处理其它事务。而在如今的大数据时代,硬盘、网络、GPU等I/O设备与主存Memory之间大量数据的传输已成为必不可少的需求。为了解决上述问题,从IBM-PC开始几乎所有的SoC(系统级芯片)中都引入了DMA模块,用以实现I/O与主存Memory之间的直接快速数据交互,从而空出内核资源,用以处理其它事务,最大化提高运算效率。但是为了内核能控制数据流,每次DMA的数据搬运都必须首先由内核对DMA进行相应的配置启动,然后DMA负责按照配置信息进行具体的数据传输工作,传输结束后DMA再以中断方式通知内核。随着摩尔定律下SoC中处理器数目和IO规模的不断增长,与之伴随的是验证复杂度的增加。据统计目前大规模SoC的70%左右研发成本需要用于功能验证。传统功能验证主要基于随机配置,虽然随机配置很多时候能够帮助触发一些Corner的设计缺陷。但其弊端也很明显,其中最大的问题是输入配置空间的冗余和不均匀覆盖,而且待验证设计规模越大,这种不均匀性越严重。因此对于多核SoC中必不可少的DMA模块的验证,如何在保证验证覆盖率的基础上实现配置空间无冗余均匀覆盖已经成为研究的热点与难点。
技术实现思路
本专利技术的目的在于克服现有多核SoC中DMA模块仿真验证随机配置的不足,提供一种配置空间无冗余均匀覆盖的配置生成策略,在保证验证覆盖率的基础上实现配置空间无冗余均匀覆盖,具体由以下技术方案实现:所述多核SoC中DMA模块的功能验证方法,包括下述步骤:步骤1)建立基于有向二分图的多核SoC中DMA模块抽象配置模型;步骤2)采用等价类划分算法将原本扁平无序的配置空间转换成三层的配置空间树;步骤3)对配所述置空间树进行深度优先遍历,得到包含高层次配置信息的叶子节点序列后,再通过内核DMACfg转换函数将每个叶子节点转换成DMA模块的配置信息。所述的多核SoC中DMA模块的功能验证方法的进一步设计在于,所述步骤1)的多核SoC中DMA模块抽象配置模型为有向二分图模型DBG=<DVh,DVs,DE>,其中主点集DVh中的点与配置启动DMA的内核一一对应;从点集DVs中的点与DMA启动传输的数据通道一一对应;并且,设定满足DVh中顶点vhi到DVs中顶点vsi之间存在有向边eij=<vhi,vsj>的充要条件是vhi对应内核能够通过配置DMA启动对vsi对应数据通道的数据传输,DE表示双像函数。所述的多核SoC中DMA模块的功能验证方法的进一步设计在于,步骤2)中的配置空间划分采用层次化等价类划分算法,包括如下步骤:步骤2-1)对整个配置空间进行划分得到一级子空间,每个一级子空间内的配置具有相同的活跃内核数;步骤2-2)对一级子空间进一步划分得到二级子空间,每个二级子空间内的配置具有相同的发起DMA配置的CPU内核集合;步骤2-3)对二级子空间进一步划分得到三级子空间,每个三级子空间内的配置具有确定的内核和每个内核启动的源/目的数据通道对应关系。所述的多核SoC中DMA模块的功能验证方法的进一步设计在于,所述步骤3)中所述DMACfg转换函数首先对叶子节点中包含的主点集DVh进行遍历以得到活跃CPU内核;再对于每一个活跃CPU内核vhi,通过双像函数DE获得对应的两个从点像其中第一个像表示源数据通道,第二个像表示目的数据通道;接着随机设置包含有对应源数据通道内的起始地址SAddr、对应目的数据通道内的起始地址DAddr及搬运长度length的细节信息;最后通过CPU内核与DMA模块间配置总线的底层写驱动函数将上述配置信息写入DMA内部寄存器,完成DMA的配置启动。本专利技术的有益效果第一,本专利技术的多核SoC中DMA模块的功能验证方法是一个独立于具体DMA内部结构的可扩展验证策略。该策略先将DMA的配置抽象成数学模型,然后基于模型进行抽象配置生成,最后才通过SoC实现相关的转换函数生成实际的DMA配置信息。第二,本专利技术的多核SoC中DMA模块的功能验证方法能够实现配置空间的无冗余均匀覆盖。由于该策略通过抽象和等价类划分的方法将原本扁平化的配置空间转换成了层次化树状配置空间,然后通过结构化的遍历算法确保特定覆盖率下配置空间的无冗余均匀覆盖。综上所述,本专利技术可以有效地解决传统基于随机的多核SoC中DMA验证难扩展,冗余及死角等不均匀覆盖的问题,有着良好的实际应用价值。附图说明图1为两核SoC中的DMA模块结构图。图2为DMA的有向二分图模型。图3为DMA的配置空间树DCST。图4为不同配置方案下行覆盖率与配置数的关系示意图。具体实施方式下面结合附图和具体实施方式,对本专利技术进行详细的说明。图1所示是一个示例两核SoC中的DMA模块FooDMA,该系统中只有两个内核CoreA和CoreB,可能的数据通道有3个,分别为UART控制器、VGA控制器与主存Memory。其中能够通过DMA进行直接数据搬运的通道为UART控制器与主存Memory间、VGA控制器与主存Memory间。首先构建FooDMA的抽象配置模型DBG=<DVh,DVs,DE>,具体抽象规则如下:1)主点集DVh:每个可发起配置的内核抽象成顶点后构成的集合;2)从点集DVs:每个数据通道抽象成顶点后构成的集合;3)有向边集DE:DVh中顶点vhi到DVs中顶点vsi之间存在有向边eij=<vhi,vsj>的充要条件是vhi对应的内核配置信息可以启动DMA对vsi对应数据通道的数据传输。按照上述规则,FooDMA的配置有向二分图模型如图2,其三元素分别为DVh={CoreA,CoreB}、DVs={Memory,UART,VGA}和得到DBG模型后,接着用层次化等价类划分算法对所有可能的<内核,数据通道>间驱动事务排列组合构成的DMA配置空间(DCS,DMAConfigurationSpace)进行划分,以将原扁平化的配置空间转换成结构化的DMA配置空间树(DCST,DMAConfigurationSpaceTree)。在介绍划分算法之前,先定义3个重要的参数。1)NHC(NumberofHostCores):SoC中所有可以向DMA发配置的CPU核数目,即DDBG中集合DVh的基,即NHC=|DVh|;2)NDC(NumberofDataChannels):DMA支持的所有数据通道的数目,即DDBG中集合DVs的基,即NDC=|DVs|;3)NAHC(NumberofActiveHostCores):当下系统活跃的CPU核数,即DIBS中集合的基,即显然有下面的关系:NAHC≤NHC(1)层次化等价类划分算法分3步,具体流程如下:第一层:对整个DMA配置空间进行划分,划分的依据是每个子集的NAHC数(即活跃主核数)相同。根据式(1),DCS可被划分成NHC个子集,即EP(DCS)={DS1,DS2…DS本文档来自技高网...

【技术保护点】
1.一种多核SoC中DMA模块的功能验证方法,其特征在于,包括下述步骤:步骤1)建立基于有向二分图的多核SoC中DMA模块抽象配置模型;步骤2)采用等价类划分算法将原本扁平无序的配置空间转换成三层的配置空间树;步骤3)对配所述置空间树进行深度优先遍历,得到包含高层次配置信息的叶子节点序列后,再通过内核DMACfg转换函数将每个叶子节点转换成DMA模块的配置信息。

【技术特征摘要】
1.一种多核SoC中DMA模块的功能验证方法,其特征在于,包括下述步骤:步骤1)建立基于有向二分图的多核SoC中DMA模块抽象配置模型;步骤2)采用等价类划分算法将原本扁平无序的配置空间转换成三层的配置空间树;步骤3)对配所述置空间树进行深度优先遍历,得到包含高层次配置信息的叶子节点序列后,再通过内核DMACfg转换函数将每个叶子节点转换成DMA模块的配置信息。2.根据权利要求1所述的多核SoC中DMA模块的功能验证方法,其特征在于:所述步骤1)的多核SoC中DMA模块抽象配置模型为有向二分图模型DBG=<DVh,DVs,DE>,其中主点集DVh中的点与配置启动DMA的内核一一对应;从点集DVs中的点与DMA启动传输的数据通道一一对应;并且,设定满足DVh中顶点vhi到DVs中顶点vsi之间存在有向边eij=<vhi,vsj>的充要条件是vhi对应内核能够通过配置DMA启动对vsi对应数据通道的数据传输,DE表示双像函数。3.根据权利要求1所述的多核SoC中DMA模块的功能验证方法,其特征在于:步骤2...

【专利技术属性】
技术研发人员:李丽董英雷程开丰赵毅峰徐瑾沈思睿杨一博
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1