首页> 中国专利> 一种系统级芯片的验证平台及其验证方法

一种系统级芯片的验证平台及其验证方法

摘要

本申请公开了一种系统级芯片的验证平台及验证方法,该方法包括:通用验证方法学测试实例生成约束的随机参数和随机控制并将其存储于总线功能模型的存储区域;软件测试实例通过中央处理器单元从所述存储区域读取所述随机参数和随机控制配置系统级芯片的测试;将所述软件测试实例的执行状态信息存储于所述存储区域;所述通用验证方法学测试实例读取所述执行状态信息,根据所述执行状态信息调整生成随机参数和随机控制的约束条件以排除已测场景,并将所述执行状态信息转换成覆盖率数据用于覆盖率分析。

著录项

  • 公开/公告号CN113868987A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 澜至电子科技(成都)有限公司;

    申请/专利号CN202010621116.2

  • 发明设计人 毛惠敏;李顺林;

    申请日2020-06-30

  • 分类号G06F30/33(20200101);G06F115/08(20200101);

  • 代理机构31266 上海一平知识产权代理有限公司;

  • 代理人徐迅;成春荣

  • 地址 610200 四川省成都市双流区东升街道成都芯谷产业园集中区内

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本发明一般涉及仿真验证技术领域,特别涉及一种系统级芯片的验证平台及其验证方法。

背景技术

SoC(System on Chip,系统级芯片)技术是指将中央处理器单元(CPU)和输入输出(I/O)外设、存储器以及其他功能外设集成到一块芯片上。SoC技术可以有效减小产品面积,提高产品的性能,降低产品的功耗,提高产品的可靠性,因此得到了广泛的应用。但是由于芯片的造价高昂,为了保证SoC芯片的功能和性能,在芯片流片前,需要进行大量充足的验证。

现有技术中的SoC芯片验证的一种方式为:通过CPU执行测试模式,要求在CPU上运行软件程序,由软件程序来配置被测对象,控制激励的产生,协调仿真的进行,但在软件层面这些是无法做到随机的。因此只能进行直接测试,即给被测对象固定的配置,给被测对象固定的激励,对被测对象进行固定流程的测试。这样为达到测试覆盖率,就需要花费大量的时间来构建大量的直接测试,影响了仿真进度。同时,有些场景的直接测试是极难、甚至无法手工构建的,这就影响了测试覆盖率的提高。而且,由于软件程序无法对验证平台进行动态控制,所以每次启动一种验证平台配置的仿真,就需要重新编译一次,影响了仿真的效率。

发明内容

本发明的目的在于提供一种系统级芯片的验证平台及其验证方法,实现软件层面的约束随机仿真,提高软件代码的执行覆盖率。

本申请的一实施方式中公开了一种系统级芯片的验证平台,包括:与总线相连的总线功能模型单元,所述总线功能模型单元中设置有存储区域,中央处理器单元通过所述总线访问所述存储区域,通用验证方法学测试实例直接访问所述存储区域。其中,所述通用验证方法学测试实例生成约束的随机参数和随机控制并将其存储于所述存储区域,软件测试实例通过所述中央处理器单元读取所述随机参数和随机控制并配置系统级芯片的测试,并且,所述软件测试实例的执行状态信息通过所述中央处理器单元存储于所述存储区域并被所述验证方法学测试实例读取。

在一优选例中,所述执行状态信息包括以下的一种或其任意组合:所述软件测试用例是否运行成功,运行过程中是否存在错误及其错误内容,运行过程中被测的所述系统级芯片的反馈,及软件代码的执行覆盖率。

在一优选例中,所述系统级芯片包括中央处理器单元、多个IP内核模块和总线,每个所述IP内核模块分别连接至所述总线,所述中央处理器单元连接至所述总线。

在一优选例中,所述总线功能模型单元与一个IP内核模块通过选择开关连接所述总线,所述总线功能模型单元与该IP内核模块的接口协议相同并符合所述总线的接口协议。

在一优选例中,所述总线功能模型单元具有符合所述总线协议的接口并直接连接所述总线。

在一优选例中,所述通用验证方法学测试用例读取所述执行状态信息,根据所述执行状态信息调整生成随机参数和随机控制的约束条件以排除已测场景,并将所述执行状态信息转换成覆盖率数据用于覆盖率分析。

本申请的另一实施方式中还公开了一种系统级芯片的验证方法,包括:

通用验证方法学测试实例生成约束的随机参数和随机控制并将其存储于总线功能模型的存储区域;

软件测试实例通过中央处理器单元从所述存储区域读取所述随机参数和随机控制并配置系统级芯片的测试;

将所述软件测试实例的执行状态信息存储于所述存储区域;

所述通用验证方法学测试实例读取所述执行状态信息,根据所述执行状态信息调整生成随机参数和随机控制的约束条件以排除已测场景。

在一优选例中,该方法还可以包括将所述执行状态信息转换成覆盖率数据用于覆盖率分析。

本发明通过总线功能模型单元的存储区域,在软件层面实现了约束的随机测试,同时可以收集软件测试用例的执行状态信息以实现覆盖率分析,确保达到测试覆盖率要求。

附图说明

参考以下附图描述本申请的非限制性和非穷举性实施例,其中除非另有说明,否则相同的附图标记在各个附图中指代相同的部分。

图1示出了本申请一实施例中系统级芯片的验证平台的示意图。

图2示出了本申请另一实施例中系统级芯片的验证平台的示意图。

图3示出了本申请一实施例中系统级芯片的验证方法的流程图。

具体实施方式

现在将描述本申请的各个方面和示例。以下描述提供了用于彻底理解和实现这些示例的描述的具体细节。然而,本领域技术人员将理解,可以在没有许多这些细节的情况下实践本申请。

另外,可能未详细示出或描述一些众所周知的结构或功能,以便简明扼要并避免不必要地模糊相关描述。

部分概念的说明:

IP内核模块:IP(Intellectual Property)内核模块是一种预先设计好的甚至已经过验证的具有某种确定功能的部件,供芯片设计人员集成选用,SoC内一般集成有多个IP内核模块。

覆盖率:覆盖率是度量测试完整性的一个手段,是测试有效性的一个度量。覆盖率等于至少被执行一次的项目数/项目的总数。

UVM:Universal Verification Methodology,通用验证方法学

BFM:Bus Function Model,总线功能模型。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

本申请的第一实施方式中公开了一种系统级芯片的验证平台,图1示出了本实施例中的验证平台100的示意图。该验证平台100包括:待测设计110和仿真环境120。待测设计110包括需要验证的系统级芯片,通过仿真环境120对系统级芯片110的功能进行测试。该待验证的系统级芯片包括中央处理器单元(CPU)、多个IP内核模块(例如,IP

在一实施例中,所述总线功能模型单元具有符合所述总线的协议并直接连接所述总线,例如,高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)协议,开放式内核协议(Open Core Protocol,OCP)等。在一实施例中,所述通用验证方法学测试实例直接访问所述总线功能模型单元中的存储区域。在一实施例中,所述总线功能模型单元中设置有存储区域121,应当理解,通过寄存器或关联数组等方式实现所述存储区域。中央处理器单元可以通过总线访问存储区域121,通用验证方法学测试实例直接访问存储区域121,用于向存储区域121中写入或读取数据。通过在仿真环境中增加总线功能模型单元作为软件程序与验证平台之间信息交互的桥梁,实现了软件层面的约束随机仿真。

本实施例中,所述通用验证方法学测试实例生成约束的随机参数和随机控制,并将随机参数和随机控制存储于所述存储区域121,软件测试实例通过所述中央处理器单元读取所述随机参数和随机控制并配置系统级芯片的测试,具体地,用所述随机参数配置被测系统级芯片,并按照所述随机控制的流程测试被测系统级芯片。通用方法学测试用例产生的约束随机参数、约束随机控制,动态地传入BFM的存储区域,由运行在CPU上的软件程序读走后,软件程序就可以动态地配置被测对象、动态地协调整个仿真,从而实现SoC的约束随机测试,提高SoC的验证覆盖率,加速SoC的验证收敛。

并且,所述软件测试实例的执行状态信息通过所述中央处理器单元存储于所述存储区域并被所述验证方法学测试实例读取。在一实施例中,所述软件测试用例的执行状态信息包括以下的一种或其任意组合:所述软件测试用例是否运行成功,运行过程中是否存在错误及其错误内容,运行过程中被测系统级芯片的反馈,及软件代码的执行覆盖率(例如,软件代码被执行过的行号等)。通用方法学测试用例能实时了解软件程序的运行状态,并可以对验证平台做出相应调整,实现了软件程序动态地控制验证平台。

在一实施例中,所述通用验证方法学测试用例读取所述执行状态信息并将所述执行状态信息转换成覆盖率数据,最终在覆盖率分析工具中以图表的形式显示出来,从而可以直观了解软件程序的执行覆盖率,以便增加直接测试用例来直接测试未覆盖点,从而达到覆盖率目标。

图2示出了另一实施例中的验证平台200的示意图,该验证平台200与验证平台100基本相同,区别在于:所述总线功能模型单元与一个IP内核模块IP

本申请的另一实施方式中还公开了一种系统级芯片的验证方法,图3示出了本实施例中验证方法的流程图。该方法包括:

步骤S301,通用验证方法学测试实例生成约束的随机参数和随机控制并将其存储于总线功能模型的存储区域。

步骤S303,软件测试实例通过中央处理器单元从所述存储区域读取所述随机参数和随机控制并配置系统级芯片的测试,具体地,用所述随机参数配置被测的系统级芯片,并按照所述随机控制的流程测试被测的所述系统级芯片。

步骤S305,将所述软件测试实例的执行状态信息存储于所述存储区域。

步骤S307,所述通用验证方法学测试实例读取所述执行状态信息,并根据所述执行状态信息调整生成随机参数和随机控制的约束条件以排除已测场景。

在一个实施例中,所述验证方法还可以包括将所述执行状态信息转换成覆盖率数据用于覆盖率分析。对于未被覆盖的测试点,可以通过增加直接测试,从而达到测试覆盖率的要求。

本申请中,通过总线功能模型单元的存储区域,在软件层面实现了约束随机测试,同时可以收集软件程序的执行状态信息,实现动态控制验证平台,加速覆盖率收敛。

需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本说明书提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号