掌桥专利:专业的专利平台
掌桥专利
首页

一种全芯片仿真验证方法

文献发布时间:2023-06-19 12:05:39


一种全芯片仿真验证方法

技术领域

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

背景技术

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

发明内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

附图说明

图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,则需要执行的是从指定地址读取数据,调用总线模型.读(地址,数据)函数,获取读数据的值;最后判断是否需要做数据校验,如果是,则对读数据和配置数据进行比较,否则进入下个地址的操作;如果校验不成功,则重新从地址读取数据,直至校验成功,如果校验成功则进入下个地址操作。

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

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

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

相关技术
  • 一种全芯片仿真验证方法
  • 一种可视化计算机辅助芯片设计和仿真验证方法及系统
技术分类

06120113161866