一种全芯片仿真验证方法与流程

专利2022-05-09  77


本发明涉及soc芯片领域,具体是在片上系统(soc)芯片设计开发过程中的全芯片仿真验证方法。



背景技术:

在片上系统(soc)芯片设计开发过程中,需要对全芯片的功能及性能进行仿真验证,随着芯片规模的增加,全芯片(wholechip)验证环境更改测试用例时需要重新编译环境的方式,随着片上系统涵盖的模块和子系统(sub_system)越来越多,给验证工作和验证环境带来很大的冲击。



技术实现要素:

针对现有技术的缺陷,本发明提供一种全芯片仿真验证方法,通过配置文件的方式读入所有的配置信息,从而实现修改仿真配置不需要重新编译仿真环境,并简化配置流程,缩短仿真时间,提高验证效率。

为了解决所述技术问题,本发明采用的技术方案是:一种全芯片仿真验证方法,包括以下步骤:

s01)、设置配置文件,配置文件包括地址、数据、读写标志、总线类型以及读数据检查标志,地址是指读操作或者写操作的寄存器配置地址,数据在写操作时表示指定地址写入的配置值,在读操作时表示读数据的期望值,总线类型用于指定总线类型,用于不同总线类型的寄存器配置及存储读写,读数据检查标志表示在读操作时是否进行数据检查;

s02)、解析函数读入并解析出配置文件中的信息,根据配置信息,依次对指定地址进行操作;

s03)、验证环境更改测试用例时,无需重新编译环境,根据测试用例修改配置文件,然后重复步骤s02。

进一步的,解析函数解析配置文件的具体过程为:

s21)、判断配置文件是否能够正常打开,如果文件存在且能够正常打开,获取配置信息;

s22)、对总线类型进行判断,如果总线类型是总线0,则使用对应的总线模型进行接下来的操作,否则使用其他总线模型进行接下来的操作;

s23)、选定总线类型后,再对读写标志进行判断,如果写标志为1,则执行向指定的地址写入配置数据,调用总线模型和写函数,然后执行,如果读标志为1,则执行从指定地址读取数据,调用总线模型和读函数,获取读数据的值;

s24)、针对读操作,判断是否需要做数据检验,如果是,则对读数据和配置进行比较,否则进入下个地址的操作;如果校验不成功,则重新从地址读取数据,直至校验成功,如果校验成功则进入下个地址操作。

进一步的,所述解析函数为init_cfg。

进一步的,步骤s21中,按行获取配置信息。

进一步的,总线类型不是总线0时,所述总线类型为amba总线。

本发明的有益效果:本方法区别于现有全芯片(wholechip)验证环境更改测试用例需要重新编译环境的方式,通过一次编译就能够完成所有测试用例的仿真,能够大幅缩减验证的人力资源和时间成本,同时减少硬件仿真资源的占用,从而大大提高验证效率。另外,本方案还适用于多名验证人员协作验证的场景,只需要一名工程师完成环境编译,其余协同验证人员就可以通过只修改配置文件的方式进行验证工作,减少了交互的时间成本,并可以有效避免验证环境不统一带来的问题,从而实现验证效率的有效提升。

附图说明

图1为片上系统芯片验证平台架构图;

图2为配置文件的示意图;

图3为解析函数解析配置文件的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

本实施例公开一种全芯片仿真验证方法,用于片上系统(soc)芯片设计开放过程中。如图1所示,为片上系统芯片验证平台架构图,其中片上系统(soc)为需要进行芯片级验证的待测设计(dut),top_cfg_reg文件为包含配置信息的配置文件,函数init_cfg通过获取并解析配置文件,生成初始化流程中的配置。即实现仿真环境编译一次后,只需要通过修改配置文件就可以实现不同测试点的仿真的目的。

本实施例所述方法主要包括两部分:配置文件和解析函数。

配置文件按照指定的格式填写,如图2所示,其中包含了地址(address)、数据(data)、读写标志(rw)、配置总线类型(bfm)以及读数据是否需要做检查标志(check)。其中,地址是指读或者写操作的寄存器配置地址;数据在写操作时(rw=1)想指定地址写入的配置值,在读操作时(rw=0)时读数据的期望值;总线类型包含但不限于amba总线,分别用于不同总线类型的寄存器配置及存储读写;读数据检查标志是指在读操作时是否进行数据检查,当需要进行读检查时,将读数据与配置的data值进行比较,该功能常用于一些状态寄存器检查。

解析函数通过读入配置文件,并根据配置信息,依次对指定地址进行操作。工作流程如图3所示,首先判断配置文件是否能够正常打开;如果文件存在且正确打开,按行获取配置信息;然后对总线类型进行判断,如果是使用总线0,则使用对应的总线模型进行接下来的操作,否则使用其他总线模型进行接下里的操作(包含但不限于amba总线);选定总线类型后,再对读写标志进行判断,如果写标志为1,则需要执行的操作是向指定的地址写入配置数据,调用总线模型.写(地址,数据)函数并执行,如果读标志为1,则需要执行的是从指定地址读取数据,调用总线模型.读(地址,数据)函数,获取读数据的值;最后判断是否需要做数据校验,如果是,则对读数据和配置数据进行比较,否则进入下个地址的操作;如果校验不成功,则重新从地址读取数据,直至校验成功,如果校验成功则进入下个地址操作。

验证环境更改测试用例时,无需重新编译环境,根据测试用例修改配置文件,然后使用解析函数解析配置文件,根据配置信息进行相应操作即可。

至此,通过上述流程可以实现对所有配置的操作,从而实现仿真环境编译一次,通过修改配置文件的方式进行不同测试用例的仿真,达到节省仿真时间,大大提高验证效率的目的。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。


技术特征:

1.一种全芯片仿真验证方法,其特征在于:包括以下步骤:

s01)、设置配置文件,配置文件包括地址、数据、读写标志、总线类型以及读数据检查标志,地址是指读操作或者写操作的寄存器配置地址,数据在写操作时表示指定地址写入的配置值,在读操作时表示读数据的期望值,总线类型用于指定总线类型,用于不同总线类型的寄存器配置及存储读写,读数据检查标志表示在读操作时是否进行数据检查;

s02)、解析函数读入并解析出配置文件中的信息,根据配置信息,依次对指定地址进行操作;

s03)、验证环境更改测试用例时,无需重新编译环境,根据测试用例修改配置文件,然后重复步骤s02。

2.根据权利要求1所述的全芯片仿真验证方法,其特征在于:解析函数解析配置文件的具体过程为:

s21)、判断配置文件是否能够正常打开,如果文件存在且能够正常打开,获取配置信息;

s22)、对总线类型进行判断,如果总线类型是总线0,则使用对应的总线模型进行接下来的操作,否则使用其他总线模型进行接下来的操作;

s23)、选定总线类型后,再对读写标志进行判断,如果写标志为1,则执行向指定的地址写入配置数据,调用总线模型和写函数,然后执行,如果读标志为1,则执行从指定地址读取数据,调用总线模型和读函数,获取读数据的值;

s24)、针对读操作,判断是否需要做数据检验,如果是,则对读数据和配置进行比较,否则进入下个地址的操作;如果校验不成功,则重新从地址读取数据,直至校验成功,如果校验成功则进入下个地址操作。

3.根据权利要求1所述的全芯片仿真验证方法,其特征在于:所述解析函数为init_cfg。

4.根据权利要求2所述的全芯片仿真验证方法,其特征在于:步骤s21中,按行获取配置信息。

5.根据权利要求2所述的全芯片仿真验证方法,其特征在于:总线类型不是总线0时,所述总线类型为amba总线。

技术总结
本发明公开一种全芯片仿真验证方法,本方法首先设置配置文件,配置文件包括地址、数据、读写标志、总线类型以及读数据检查标志;然后使用解析函数读入并解析出配置文件中的信息,根据配置信息,依次对指定地址进行操作;验证环境更改测试用例时,无需重新编译环境,根据测试用例修改配置文件,然后重新解析执行相应的操作即可。本发明通过配置文件的方式读入所有的配置信息,从而实现修改仿真配置不需要重新编译仿真环境,并简化配置流程,缩短仿真时间,提高验证效率。

技术研发人员:王克涛;李风志;姚香君
受保护的技术使用者:山东华芯半导体有限公司
技术研发日:2021.04.29
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7877.html

最新回复(0)