基于配置驱动的SoC原型验证用例提取模型建模方法技术

技术编号:21454259 阅读:27 留言:0更新日期:2019-06-26 04:52
本发明专利技术公开了基于配置驱动的SoC原型验证用例提取模型建模方法,通过提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,记录功能模型中所有控制参数和操作工序的边集和跳转边集,最终得到功能模型的有向图结构。本发明专利技术一方面能够减少人为因素对验证用例提取的影响,另一方面利用有向图灵活的计算机数据结构,可以进一步开发自动化的验证用例提取方法,并提高验证用例提取的可靠性。

【技术实现步骤摘要】
基于配置驱动的SoC原型验证用例提取模型建模方法
本专利技术涉及SoC验证领域,具体涉及基于配置驱动的SoC原型验证用例提取模型建模方法。
技术介绍
目前,基于高度集成的规模和复杂的系统特性两大特点,SoC的设计与应用已经成为IC发展的主要热点。在复杂的SoC芯片设计中,为了确保设计的正确性,必须进行可靠的SoC功能验证。作为一种重要的功能验证手段,FPGA原型验证能够快速地实现SoC设计中的硬件模块,让软件模块在真正的硬件上高速运行,实现SoC设计的软硬件协同验证。FPGA原型验证以其极高的验证效率在SoC功能验证中发挥着越来越重要的作用,已成为了验证技术的研究重点。在SoCFPGA原型验证中,验证工程师所面临的挑战就是如何确定SoC功能的输入模式,即验证用例,并判断SoC输出的功能正确性。其中,验证用例的确定是通过验证工程师对设计规范的理解转换完成的。转换过程中的这种人为因素,都是不确定性和不可重复性的来源,从而也将导致验证结果的不可靠。
技术实现思路
本专利技术的目的在于克服上述不足,提供基于配置驱动的SoC原型验证用例提取模型建模方法,能够有效降低验证用例转换过程的不确定性,为自动化的验证用例提取建立基础。为了达到上述目的,本专利技术包括以下步骤:步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc,标记状态参数顶点集合为Vs,标记操作工序参数顶点集合为Vp,并记第一个操作工序参数为vp_init;步骤二,生成控制参数的有向完全图的边集Ec,Ec=Vc×Vc;根据状态参数顶点集合为Vs和操作工序参数顶点集合为Vp,提取所有状态跳转有向边(vx,vy),组成状态跳转边集Esp,其中vx,vy∈Vs∪Vp;步骤三,根据Ec和Esp,建立Ec和Esp之间的边集为Ec_sp,其中(vx,vp_init)∈Ec_sp,最终得到功能模型的有向图结构G=(V,E),V=Vc∪Vs∪Vp,E=Ec∪Esp∪Ec_sp。步骤一中,功能模型为一个包含有向完全子图和其他有向子图的有向图的描述,其中有向完全子图定义了配置接口的结构,其他有向子图定义了工序状态之间的结构。配置接口为功能模型中的一个点,两个点之间的关系为两条方向相反的有向边,通过配置接口转换功能模型,从而确定两点间的数据流向,能够生成一个有向完全图。配置接口转换时采用冗余法。步骤二中,状态跳转为SoC功能从一个工序状态跳转到另一个工序状态,两个工序状态就构成了有序状态对,各个工序状态为功能模型中的一个点,两点之间的关系为一条有向边。步骤二中,组成状态跳转边集Esp后,首先判断状态跳转边集Esp是否全部提取,若是,则进行下一步骤;若否,则继续提取所有状态跳转有向边(vx,vy)。与现有技术相比,本专利技术通过提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,记录功能模型中所有控制参数和操作工序的边集和跳转边集,最终得到功能模型的有向图结构。本专利技术一方面能够减少人为因素对验证用例提取的影响,另一方面利用有向图灵活的计算机数据结构,可以进一步开发自动化的验证用例提取方法,并提高验证用例提取的可靠性。附图说明图1为本专利技术的流程图;图2为本专利技术实施例中计算器的示意图;图3为本专利技术实施例中计数器模型的有向图。具体实施方式下面结合附图对本专利技术做进一步说明。参见图1,本专利技术包括以下步骤:步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc,标记状态参数顶点集合为Vs,标记操作工序参数顶点集合为Vp,并记第一个操作工序参数为vp_init;步骤二,生成控制参数的有向完全图的边集Ec,Ec=Vc×Vc;根据状态参数顶点集合为Vs和操作工序参数顶点集合为Vp,提取所有状态跳转有向边(vx,vy),组成状态跳转边集Esp,其中vx,vy∈Vs∪Vp,组成状态跳转边集Esp后,首先判断状态跳转边集Esp是否全部提取,若是,则进行下一步骤;若否,则继续提取所有状态跳转有向边(vx,vy);步骤三,根据Ec和Esp,建立Ec和Esp之间的边集为Ec_sp,其中(vx,vp_init)∈Ec_sp,最终得到功能模型的有向图结构G=(V,E),V=Vc∪Vs∪Vp,E=Ec∪Esp∪Ec_sp。SoC最主要的系统特性就是集成了处理器(CPU或DSP)单元。顾名思义,处理器是一个SoC的运算核心和控制核心,通过运算判读SoC各功能模块的工作状态,通过控制发出各功能模块的工作控制信号,从而实现了SoC的系统功能特性。这些运算和控制的接口均由各个功能模块的配置寄存器提供,包括状态寄存器和控制寄存器。因此,将SoC这种工作模式定义为基于配置驱动的SoC系统工作机制。当通过配置驱动发起了SoC系统工作后,SoC各个功能模块依据既定设计的工序(状态机)进行跳转,最终达到工作成功或工作失败的状态。这种状态跳转是有序的,任何未知跳转都意味着功能设计存在缺陷。根据上述基于配置驱动的SoC系统工作机制的定义,下面从配置接口和状态跳转两个方面对验证用例转换过程提出操作规则。1、配置接口转换;根据用户的操作习惯,在没有特殊说明的情况下,SoC功能的配置顺序在状态跳转之前是任意的。然而,不同的SoC设计工程师对功能设计规范都会有自己的理解实现,即一个自己思维方式的配置顺序,并按这个顺序进行设计代码的编写和仿真。同时,不同的SoC验证工程师也会有各自的理解实现,并据此进行验证和确认。这种各自的理解实现都会给SoC设计和验证带入人为因素,从而大大增加了设计和验证的不可靠性。针对这种情况,在配置接口转换时采用冗余法进行转换,规定任意配置顺序均可实现,即在所有配置接口中,任意两个均可互换执行顺序。进一步将这种转换置于模型图中建模,便可将各个配置接口看作模型图中的一个点,两点之间的关系看作两条方向相反的边。从而,配置接口转换模型就可生成一个有向完全图。2、状态跳转转换;与配置接口顺序不同,状态跳转是由固定的算法流程指定的,转换顺序是固定的。状态跳转就是指SoC功能从一个工序状态跳转到另一个工序状态。两个工序状态就构成了有序状态对。与配置接口转换建模同理,将各个工序状态看作模型图中的一个点,两点之间的关系看作一条方向有方向的边。从而,状态跳转转换模型就可生成一个有向图。因此,下面给出SoC功能模型结构的定义:一个SoC功能模型结构可以用一个包含有向完全子图的有向图进行描述,其中有向完全子图定义了配置接口的结构,其他有向子图定义了工序状态之间的结构。实施例:参见图3,以自主研发的某款SoC集成的计数器为建模对象,对本实施例的实施过程进行描述。计数器单元实现32位计数功能,对外部输入方波信号进行计数。在对输入信号采样前,计数器对输入信号进行了滤波处理。计数器单元采用APB总线接口协议集成于APB总线上。计数器设计结构如图2所示,包含的配置接口如表1所示。步骤1、提取顶点集合V:根据配置接口定义,控制参数顶点包括模式选择参数(vms)和滤波值参数(vfv),即Vc={vms,vfv};状态参数包括计数器计数值参数(vcv),即Vs={vcv};工作工序参数包括计数器使能操作(vec)、计数器清零操作(本文档来自技高网...

【技术保护点】
1.基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,包括以下步骤:步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc,

【技术特征摘要】
1.基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,包括以下步骤:步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc,标记状态参数顶点集合为Vs,标记操作工序参数顶点集合为Vp,并记第一个操作工序参数为vp_init;步骤二,生成控制参数的有向完全图的边集Ec,Ec=Vc×Vc;根据状态参数顶点集合为Vs和操作工序参数顶点集合为Vp,提取所有状态跳转有向边(vx,vy),组成状态跳转边集Esp,其中vx,vy∈Vs∪Vp;步骤三,根据Ec和Esp,建立Ec和Esp之间的边集为Ec_sp,其中(vx,vp_init)∈Ec_sp,最终得到功能模型的有向图结构G=(V,E),V=Vc∪Vs∪Vp,E=Ec∪Esp∪Ec_sp。2.根据权利要求1所述的基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,步骤一中,功能模型为一个包含有向完全子图和其他有向子图的有向图的描述,其中有向完全子图定...

【专利技术属性】
技术研发人员:宁宁游军许辉勇高宜楠
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西,61

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

1