基于自动化验证环境生成和运行功能模型的创建方法技术

技术编号:39498670 阅读:7 留言:0更新日期:2023-11-24 11:28
本申请涉及一种基于自动化验证环境生成和运行功能模型的创建方法,通过根据预设架构方案,构建若干功能模型;根据所述功能模型的输入

【技术实现步骤摘要】
基于自动化验证环境生成和运行功能模型的创建方法


[0001]本公开涉及数字验证
,尤其涉及一种基于自动化验证环境生成和运行功能模型的创建方法

装置和创建系统


技术介绍

[0002]DPU
是一个融合多领域
IP
的新领域芯片,包含
SOC

NVMe
控制器, OVS

VirtIO

TOE
等等技术,而这些技术当中有一些功能是相似的,或者是有前后级关系的

基于这种情况,用户希望验证工程师可以将一些功能进行一次编写调试,多处多次调用,节省验证工程师多次开发相同功能代码的时间的同时,还能保证调用该功能的验证环境的预期结果是一致的

[0003]目前,现在流行的验证方法学
——UVM
提供了一套通用的环境结构以及环境重用的方案
。UVM
中提供了以
agent
或者
env
为基础单元的复用方案

但是当芯片规模越来越大,研发团队决定采取
IP
化设计的方式来实现一颗大规模芯片时,复用的单元可能会很小也可能会很大,所以以
agent
或者
env 为基础单元的复用形式就显得不够方便:一是验证团队不一定会为每一个
IP 都提供一套验证环境去测试;二是实际操作中
IP
的开发和其他模块的环境开发可能是同步的,这样无法及时得到所需
IP
对应的
VIP
;三是对于一个较小的复用单元编写一套
agent
,会消耗额外的时间

[0004]另外,以现有的通用技术上来说,这些功能的开发调试,是配合整套验证环境的开发的

而整个芯片的研发是从架构工程师制定架构编写
HLD
开始的,搭建一套验证环境需要更详细
LLD
,也就是说通常一项验证任务的开始时间就已经落后了,如果此时该功能很复杂,或者算法很难调试的话,验证工作就更加落后了

[0005]用户更希望这些功能的调试能够在架构工程师编写
HLD
的时候就参与进去,先对架构工程师提出的方案进行模型开发,进行可行性测试

同时将这个模型代码重用到后面的验证环境中作为功能模型直接使用,这样就将整个验证任务的开始时间提前到了
HLD
的阶段,为后续的验证工作争取到了更多的时间

[0006]另外还有一种不推荐的环境复用方式是将另一套环境想要的代码复制过来,这种方式会带来一系列的负面问题,包括代码同步问题,可靠性问题,多种风格的代码融合在一起带来的可读性,维护问题等等

这种方式还需要被复制的环境要先于当前环境稳定

[0007]最后,即使用户在
HLD
阶段就对架构方案进行建模,编写了对应的模型,可以给后续环境使用了,但是实际
LLD
的详细设计过程中,可能定义的接口信号和模型并不会完全一致

这是因为由于个人经验和风格,以及理解的不同,导致重复工作,甚至返工

再者这种方式下,遇到架构更新时,需要通知到所有相关的验证工程师,带来额外工作量

如果通知不及时或者漏掉了某些验证工程师,还会因为信息同步不及时,导致环境没有更新,带来额外的
debug
成本


技术实现思路

[0008]为了解决上述问题,本申请提出一种基于自动化验证环境生成和运行功能模型的创建方法

装置和创建系统,以此

[0009]本申请一方面,提出一种基于自动化验证环境生成和运行功能模型的创建方法,包括如下步骤:
[0010]S100、
根据预设架构方案,构建若干功能模型;
[0011]S200、
根据所述功能模型的输入
/
输出数据结构,定义一与所述输入
/
输出数据结构相匹配的通用数据结构并保存至至少一个
package
中;
[0012]S300、
定义所述输入
/
输出数据结构与所述通用数据结构之间的接口转换函数;
[0013]S400、
将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换

[0014]作为本申请的一种可选实施方案,可选地,在步骤
S100
中,所述根据预设架构方案,构建若干功能模型,包括:
[0015]S110、
设定数据结构建立条件;
[0016]S120、
根据所述数据结构建立条件,建立统一模型接口的数据结构,其中,所述数据结构包括:用于验证环境各组件和功能模型之间通信的事务性数据结构,以及,用于验证环境和
DUT
之间通信用的接口性数据结构;
[0017]S130、
将所述数据结构保存至不同的
package


[0018]作为本申请的一种可选实施方案,可选地,在步骤
400
中,所述将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换,包括:
[0019]S411、
通过
transaction
预先构造预期事务性数据;
[0020]S421、
调用第一数据结构,将所述事务性数据通过第一数据结构输入至对应的功能模型,并通过该功能模型将数据处理成满足预设条件的需求数据;
[0021]S431、
调用第二数据结构,将所述功能模型处理得到的需求数据通过第二数据结构转换成接口性数据,并经由
sequence
送入
driver。
[0022]作为本申请的一种可选实施方案,可选地,在步骤
400
中,所述将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换,还包括:
[0023]S412、
通过
driver
接收由
sequence
转发的
transaction

[0024]S422、
预设判断条件,对所述
transaction
的激励进行分析判断,判断所述激励是以接口性数据结构存在还是事务性数据结构存在:
[0025]若是存在接口性数据,则将接口性数据按时序驱动到
DUT

[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于自动化验证环境生成和运行功能模型的创建方法,其特征在于,包括如下步骤:
S100、
根据预设架构方案,构建若干功能模型;
S200、
根据所述功能模型的输入
/
输出数据结构,定义一与所述输入
/
输出数据结构相匹配的通用数据结构并保存至至少一个
package
中;
S300、
定义所述输入
/
输出数据结构与所述通用数据结构之间的接口转换函数;
S400、
将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换
。2.
根据权利要求1所述的基于自动化验证环境生成和运行功能模型的创建方法,其特征在于,在步骤
S100
中,所述根据预设架构方案,构建若干功能模型,包括:
S110、
设定数据结构建立条件;
S120、
根据所述数据结构建立条件,建立统一模型接口的数据结构,其中,所述数据结构包括:用于验证环境各组件和功能模型之间通信的事务性数据结构,以及,用于验证环境和
DUT
之间通信用的接口性数据结构;
S130、
将所述数据结构保存至不同的
package

。3.
根据权利要求2所述的基于自动化验证环境生成和运行功能模型的创建方法,其特征在于,在步骤
400
中,所述将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换,包括:
S411、
通过
transaction
预先构造预期事务性数据;
S421、
调用第一数据结构,将所述事务性数据通过第一数据结构输入至对应的功能模型,并通过该功能模型将数据处理成满足预设条件的需求数据;
S431、
调用第二数据结构,将所述功能模型处理得到的需求数据通过第二数据结构转换成接口性数据,并经由
sequence
送入
driver。4.
根据权利要求3所述的基于自动化验证环境生成和运行功能模型的创建方法,其特征在于,在步骤
400
中,所述将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换,还包括:
S412、
通过
driver
接收由
sequence
转发的
transaction

S422、
预设判断条件,对所述
transaction
的激励进行分析判断,判断所述激励是以接口性数据结构存在还是事务性数据结构存在:若是存在接口性数据,则将接口性数据按时序驱动到
DUT
;若是不存在接口性数据,则调用第五数据结构,通过第五数据结构将所述
transaction
中包含的事务性数据转换成接口性数据,并将接口性数据按时序驱动到
DUT。5.
根据权利要求3所述的基于自动化验证环境生成和运行功能模型的创建方法,其特征在于,在步骤
400
中,所述将所述功能模型配置在预设的自动化验证环境中,并根据所述数据结构类型,调用所述接口转换函数,完成不同所述功能模型之间的格式转换,还包括:
S431、
通过
RM
接收
agent
转发的
transaction

S432、
调用第三数据结构,通过第三数据结构将所述
transaction
中包含的接口性数据转换成对应功能模型需要的事务性数据,并输送至所述功能模型,...

【专利技术属性】
技术研发人员:俞晓东
申请(专利权)人:益思芯科技上海有限公司
类型:发明
国别省市:

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

1