CN109933880B - 基于配置驱动的SoC原型验证用例提取模型建模方法 - Google Patents

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

Info

Publication number
CN109933880B
CN109933880B CN201910169164.XA CN201910169164A CN109933880B CN 109933880 B CN109933880 B CN 109933880B CN 201910169164 A CN201910169164 A CN 201910169164A CN 109933880 B CN109933880 B CN 109933880B
Authority
CN
China
Prior art keywords
state
directed
soc
configuration
modeling method
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.)
Active
Application number
CN201910169164.XA
Other languages
English (en)
Other versions
CN109933880A (zh
Inventor
宁宁
游军
许辉勇
高宜楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201910169164.XA priority Critical patent/CN109933880B/zh
Publication of CN109933880A publication Critical patent/CN109933880A/zh
Application granted granted Critical
Publication of CN109933880B publication Critical patent/CN109933880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

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

Description

基于配置驱动的SoC原型验证用例提取模型建模方法
技术领域
本发明涉及SoC验证领域,具体涉及基于配置驱动的SoC原型验证用例提取模型建模方法。
背景技术
目前,基于高度集成的规模和复杂的系统特性两大特点,SoC的设计与应用已经成为IC发展的主要热点。在复杂的SoC芯片设计中,为了确保设计的正确性,必须进行可靠的SoC功能验证。作为一种重要的功能验证手段,FPGA原型验证能够快速地实现SoC设计中的硬件模块,让软件模块在真正的硬件上高速运行,实现SoC设计的软硬件协同验证。FPGA原型验证以其极高的验证效率在SoC功能验证中发挥着越来越重要的作用,已成为了验证技术的研究重点。
在SoC FPGA原型验证中,验证工程师所面临的挑战就是如何确定SoC功能的输入模式,即验证用例,并判断SoC输出的功能正确性。其中,验证用例的确定是通过验证工程师对设计规范的理解转换完成的。转换过程中的这种人为因素,都是不确定性和不可重复性的来源,从而也将导致验证结果的不可靠。
发明内容
本发明的目的在于克服上述不足,提供基于配置驱动的SoC原型验证用例提取模型建模方法,能够有效降低验证用例转换过程的不确定性,为自动化的验证用例提取建立基础。
为了达到上述目的,本发明包括以下步骤:
步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc
Figure BDA0001987344980000021
标记状态参数顶点集合为Vs
Figure BDA0001987344980000022
标记操作工序参数顶点集合为Vp
Figure BDA0001987344980000023
并记第一个操作工序参数为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
Figure BDA0001987344980000024
最终得到功能模型的有向图结构G=(V,E),V=Vc∪Vs∪Vp,E=Ec∪Esp∪Ec_sp
步骤一中,功能模型为一个包含有向完全子图和其他有向子图的有向图的描述,其中有向完全子图定义了配置接口的结构,其他有向子图定义了工序状态之间的结构。
配置接口为功能模型中的一个点,两个点之间的关系为两条方向相反的有向边,通过配置接口转换功能模型,从而确定两点间的数据流向,能够生成一个有向完全图。
配置接口转换时采用冗余法。
步骤二中,状态跳转为SoC功能从一个工序状态跳转到另一个工序状态,两个工序状态就构成了有序状态对,各个工序状态为功能模型中的一个点,两点之间的关系为一条有向边。
步骤二中,组成状态跳转边集Esp后,首先判断状态跳转边集Esp是否全部提取,若是,则进行下一步骤;若否,则继续提取所有状态跳转有向边(vx,vy)。
与现有技术相比,本发明通过提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,记录功能模型中所有控制参数和操作工序的边集和跳转边集,最终得到功能模型的有向图结构。本发明一方面能够减少人为因素对验证用例提取的影响,另一方面利用有向图灵活的计算机数据结构,可以进一步开发自动化的验证用例提取方法,并提高验证用例提取的可靠性。
附图说明
图1为本发明的流程图;
图2为本发明实施例中计算器的示意图;
图3为本发明实施例中计数器模型的有向图。
具体实施方式
下面结合附图对本发明做进一步说明。
参见图1,本发明包括以下步骤:
步骤一,提取功能模型的所有控制参数、状态参数和操作工序作为有向图的顶点,组成顶点集合V;标记控制参数顶点集合为Vc
Figure BDA0001987344980000031
标记状态参数顶点集合为Vs
Figure BDA0001987344980000032
标记操作工序参数顶点集合为Vp
Figure BDA0001987344980000033
并记第一个操作工序参数为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
Figure BDA0001987344980000034
最终得到功能模型的有向图结构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
Figure FDA0001987344970000011
标记状态参数顶点集合为Vs
Figure FDA0001987344970000012
标记操作工序参数顶点集合为Vp
Figure FDA0001987344970000013
并记第一个操作工序参数为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
Figure FDA0001987344970000014
最终得到功能模型的有向图结构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)。
CN201910169164.XA 2019-03-06 2019-03-06 基于配置驱动的SoC原型验证用例提取模型建模方法 Active CN109933880B (zh)

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 CN109933880A (zh) 2019-06-25
CN109933880B true 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)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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的系统行为逻辑建模工具

Also Published As

Publication number Publication date
CN109933880A (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
JP2017033562A (ja) 安全重視ソフトウェア開発のためのモデルベース技術および過程のためのシステムおよび方法
CN109189619B (zh) I2c总线兼容性测试方法、系统、存储介质及设备
CN112613259B (zh) 片上系统后仿真方法、装置及电子设备
WO2014180106A1 (zh) 一种基于活动图模型的系统行为仿真方法
CN103279846A (zh) 一种基于bim模型的工程验收方法和系统
CN113051855A (zh) 用于片上系统芯片验证的方法、系统及验证平台
CN113569524A (zh) 芯片设计中基于综合网表提取时钟树的方法及应用
CN115470748A (zh) 一种芯片仿真加速方法、装置、电子设备及存储介质
CN109933880B (zh) 基于配置驱动的SoC原型验证用例提取模型建模方法
CN105573881B (zh) 基于bfm快速验证大型互连芯片地址的方法及系统
US20160149765A1 (en) System and method for extracting protocol information from a simulation environment to analyze system behavior
CN111338948B (zh) 形式化验证系统
CN102255965A (zh) 一种基于粗糙集bp神经网络的多传感器融合物联网试验平台
US8065641B2 (en) Automatically creating manufacturing test rules pertaining to an electronic component
US9372772B1 (en) Co-verification—of hardware and software, a unified approach in verification
CN102609571A (zh) 一种自动化ip验证平台
CN109710562A (zh) 一种基于selectmap的可配置且高速的fpga配置电路及实现方法
CN113673189A (zh) 基于dut替代模型的验证方法、装置、设备及介质
JP2005510787A (ja) 応答器による多様環境テスト
CN108363567B (zh) 一种基于数据库的验证平台激励器自动化生成方法
JP2005510787A5 (zh)
CN114169287B (zh) 生成验证环境的连接示意图的方法、电子设备及存储介质
CN111427565A (zh) 形式化验证方法
JP6146224B2 (ja) 判定方法、判定プログラム、および判定装置
CN114475710B (zh) 一种基于图形组态的设备状态显示方法、设备及存储介质

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