CN109933880A - 基于配置驱动的SoC原型验证用例提取模型建模方法 - Google Patents
基于配置驱动的SoC原型验证用例提取模型建模方法 Download PDFInfo
- Publication number
- CN109933880A CN109933880A CN201910169164.XA CN201910169164A CN109933880A CN 109933880 A CN109933880 A CN 109933880A CN 201910169164 A CN201910169164 A CN 201910169164A CN 109933880 A CN109933880 A CN 109933880A
- Authority
- CN
- China
- Prior art keywords
- soc
- prototype verification
- digraph
- state transition
- configuration driven
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了基于配置驱动的SoC原型验证用例提取模型建模方法,通过提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,记录功能模型中所有控制参数和操作工序的边集和跳转边集,最终得到功能模型的有向图结构。本发明一方面能够减少人为因素对验证用例提取的影响,另一方面利用有向图灵活的计算机数据结构,可以进一步开发自动化的验证用例提取方法,并提高验证用例提取的可靠性。
Description
技术领域
本发明涉及SoC验证领域,具体涉及基于配置驱动的SoC原型验证用例提取模型建模方法。
背景技术
目前,基于高度集成的规模和复杂的系统特性两大特点,SoC的设计与应用已经成为IC发展的主要热点。在复杂的SoC芯片设计中,为了确保设计的正确性,必须进行可靠的SoC功能验证。作为一种重要的功能验证手段,FPGA原型验证能够快速地实现SoC设计中的硬件模块,让软件模块在真正的硬件上高速运行,实现SoC设计的软硬件协同验证。FPGA原型验证以其极高的验证效率在SoC功能验证中发挥着越来越重要的作用,已成为了验证技术的研究重点。
在SoC FPGA原型验证中,验证工程师所面临的挑战就是如何确定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)、计数器清零操作(vcc)、计数器锁存操作(vcl)和测试脉冲产生操作(vtp),即Vp={vec,vcc,vcl,vtp},其中vp_init=vtp。
步骤2、基于Vc={vms,vfv},生成有向完全图的边集Ec={(vms,vfv),(vfv,vms)}。
步骤3、基于Vs={vcv}和Vp={vec,vcc,vcl,vtp},生成Esp={(vtp,vec),(vec,vcl),(vec,vcc),(vcc,vcl),(vcl,vcc),(vcl,vcv),(vcc,vcv)}。
步骤4、建立Ec_sp={(vms,vtp),(vfv,vtp)},则最终建立计数器模型Gcounter=(V,E),V=Vc∪Vs∪Vp,E=Ec∪Esp∪Ec_sp。其有向图结构如图2所示,其中为了方便画图,将Vc作为一个整体顶点与vtp连接,替代Ec_sp中的所有连接。
表1计数器的配置接口
地址 | 寄存器名 | 功能描述 |
0x800B0000 | 计数器计数值 | 记录计数器的计数值 |
0x800B0040 | 滤波设置寄存器 | 设置输入信号的滤波计数值 |
0x800B0048 | 清零锁存寄存器 | 配置计数器锁存和计数值清零 |
0x800B004C | 计数使能寄存器 | 使能计数器和滤波 |
0x800B0050 | 测试脉冲寄存器 | 测试模式下计数器输入信号 |
0x800B0054 | 模式寄存器 | 设置工作模式或测试模式 |
Claims (6)
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原型验证用例提取模型建模方法,其特征在于,步骤一中,功能模型为一个包含有向完全子图和其他有向子图的有向图的描述,其中有向完全子图定义了配置接口的结构,其他有向子图定义了工序状态之间的结构。
3.根据权利要求2所述的基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,配置接口为功能模型中的一个点,两个点之间的关系为两条方向相反的有向边,通过配置接口转换功能模型,从而确定两点间的数据流向,能够生成一个有向完全图。
4.根据权利要求3所述的基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,配置接口转换时采用冗余法。
5.根据权利要求1所述的基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,步骤二中,状态跳转为SoC功能从一个工序状态跳转到另一个工序状态,两个工序状态就构成了有序状态对,各个工序状态为功能模型中的一个点,两点之间的关系为一条有向边。
6.根据权利要求1所述的基于配置驱动的SoC原型验证用例提取模型建模方法,其特征在于,步骤二中,组成状态跳转边集Esp后,首先判断状态跳转边集Esp是否全部提取,若是,则进行下一步骤;若否,则继续提取所有状态跳转有向边(vx,vy)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910169164.XA CN109933880B (zh) | 2019-03-06 | 2019-03-06 | 基于配置驱动的SoC原型验证用例提取模型建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910169164.XA CN109933880B (zh) | 2019-03-06 | 2019-03-06 | 基于配置驱动的SoC原型验证用例提取模型建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933880A true CN109933880A (zh) | 2019-06-25 |
CN109933880B CN109933880B (zh) | 2022-10-11 |
Family
ID=66986531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910169164.XA Active CN109933880B (zh) | 2019-03-06 | 2019-03-06 | 基于配置驱动的SoC原型验证用例提取模型建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933880B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
CN102147829A (zh) * | 2011-03-29 | 2011-08-10 | 李姮乐 | 一种ic功能验证方法 |
CN106484972A (zh) * | 2016-09-26 | 2017-03-08 | 杭州杉石科技有限公司 | 一种基于uml的系统行为逻辑建模工具 |
-
2019
- 2019-03-06 CN CN201910169164.XA patent/CN109933880B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
CN102147829A (zh) * | 2011-03-29 | 2011-08-10 | 李姮乐 | 一种ic功能验证方法 |
CN106484972A (zh) * | 2016-09-26 | 2017-03-08 | 杭州杉石科技有限公司 | 一种基于uml的系统行为逻辑建模工具 |
Non-Patent Citations (2)
Title |
---|
殷燎等: "基于虚拟SoC平台的IP正交激励验证方法", 《计算机辅助设计与图形学学报》 * |
赵鹏等: "YH-PBDE的SoC系统建模与仿真技术研究", 《系统仿真学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109933880B (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247859B (zh) | 逻辑电路设计的验证方法、装置、电子设备及存储介质 | |
US7603643B2 (en) | Method and system for conducting design explorations of an integrated circuit | |
CN104657245B (zh) | 基于amba总线的模块级uvm验证平台的自动生成装置 | |
CN101231589B (zh) | 用于原位开发嵌入式软件的系统和方法 | |
CN104486169B (zh) | 可重用自动检测及随机验证系统和方法 | |
CN102521444A (zh) | 软硬件协同仿真/验证方法及装置 | |
CN105335548B (zh) | 一种用于ice的mcu仿真方法 | |
CN105573881B (zh) | 基于bfm快速验证大型互连芯片地址的方法及系统 | |
US20160149765A1 (en) | System and method for extracting protocol information from a simulation environment to analyze system behavior | |
US9015024B2 (en) | Enabling reuse of unit-specific simulation irritation in multiple environments | |
CN111624475A (zh) | 大规模集成电路的测试方法及系统 | |
Gayathri et al. | A SV-UVM framework for verification of SGMII IP core with reusable AXI to WB Bridge UVC | |
CN109933880A (zh) | 基于配置驱动的SoC原型验证用例提取模型建模方法 | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
CN105068908B (zh) | 一种用于kvm asic的功能验证平台的搭建方法 | |
CN114416460A (zh) | 分析基带性能的方法和仿真系统 | |
CN106202645B (zh) | 验证平台cpu参考模型设计方法与系统 | |
KR101683636B1 (ko) | 혼합회로 시뮬레이션 시스템 및 방법 | |
CN115983172B (zh) | 用于后仿真的方法和仿真平台 | |
JP6146224B2 (ja) | 判定方法、判定プログラム、および判定装置 | |
CN118297009B (zh) | 一种基于内嵌仿真验证的逻辑综合处理方法、装置及计算机可读存储介质 | |
CN114429051B (zh) | 数据流芯片的建模方法、装置、设备及介质 | |
CN113496107B (zh) | 一种可综合的cpu模型 | |
CN114169287A (zh) | 生成验证环境的连接示意图的方法、电子设备及存储介质 | |
Zheng et al. | An automatic software/hardware verification platform prototype for reconfigurable audio algorithm in media soc |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |