验证环境图形化的芯片验证方法与装置的制作方法

文档序号:6358149阅读:176来源:国知局
专利名称:验证环境图形化的芯片验证方法与装置的制作方法
技术领域
本发明涉及芯片设计流程中的EDA (Electronic Design Automation,电子设计自动化)验证领域,特别是涉及一种验证环境图形化的芯片验证方法与装置。
背景技术
目前,集成电路的功能验证约占整个芯片开发过程投入的60% -70%,是项目成功的关键之一,也是整个芯片设计流程中非常重要的部分。在集成电路芯片的设计中, 验证是芯片设计流程中最复杂、最耗时的环节之一,而且随着微电子技术的迅猛发展, ASIC (Application Specific Integrated Circuit,专用集成电路)的规模越来越大,通常一个芯片的规模在几百万门甚至几千万门左右,如此高的复杂度,给芯片验证带来了不小的挑战。在传统的芯片功能验证中,验证工程师需要开发大量的测试,通过人工方法来观测和检查芯片设计中的错误,但是当电路规模发展到一定程度时,这种方法显然已经不能再满足产品的要求。因此,如何快速搭建一个强大、高效、灵活、可扩展性好的芯片验证平台,对芯片设计中的复杂功能进行充分的验证,提高芯片验证的自动化程度,从而缩短总体产品开发时间,提高芯片验证的效率,成为芯片设计成功的关键因素之一。目前在业界存在的很多芯片验证平台都需要靠芯片测试人员手动书写测试用例, 并且通过牢记大量的命令行去运行所有的测试用例,对测试用例的管理和维护没有一个系统化的操作,非常不利于测试用例的回归测试,而且在测试用例运行完后,需要测试人员自己去查看和分析仿真结果,非常不方便。对于大型芯片的功能验证来说,上述因素使芯片的功能验证变得极其复杂和繁琐,从而延长芯片开发的周期,芯片验证的效率较低,且测试人员的操作成本较高。

发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种验证环境图形化的芯片验证方法与装置,能够实现芯片验证的图形化操作和管理,降低了测试人员的学习成本,大大缩短了芯片验证的周期,提高了芯片验证的效率。本发明提供的验证环境图形化的芯片验证方法,包括以下步骤A、新建测试用例, 按照功能测试点进行分组,通过图形化的方式自动生成芯片验证所需的输入文件,并进行仿真器的参数配置;B、运行测试用例,直接与仿真器交互,并将仿真器的编译和仿真信息通过图表的形式显示;C、观察测试结果,如果通过测试,则进行下一个测试用例的验证;如果发现错误用例,则待完成代码的修改后,再进行回归测试。在上述技术方案中,步骤A中所述进行仿真器的参数配置包括(1)选择所调用的仿真器的种类;(2)选择是否需要进行编译、仿真、以及是否需要清除之前产生的编译和仿真文件;(3)确定需要产生波形文件时,选择需要产生波形文件的模块和波形文件的类型; (4)选择是否需要产生性能分析文件和覆盖率统计文件;( 配置随机种子数。
在上述技术方案中,步骤A中所述输入文件包括验证环境的配置、测试场景和测试用例。在上述技术方案中,步骤C中所述回归测试的实现流程包括以下步骤选择需要进行回归测试的测试用例,配置仿真器的参数;运行所选择的测试用例,并观测所述测试用例的运行情况。在上述技术方案中,步骤C中所述测试结果包括测试用例的运行结果,通过或者失败、网络运行情况、端口带宽流量、代码覆盖率统计结果和功能覆盖率统计结果。本发明提供的验证环境图形化的芯片验证装置,包括测试用例管理模块,用于对所有测试用例进行列表和分组管理,以及提供回归测试功能;测试用例生成模块,用于通过图形化的方式自动生成芯片验证所需的输入文件;测试用例输出模块,用于通过图表的形式显示测试用例的输出信息。在上述技术方案中,所述测试用例管理模块包括单个测试用例管理单元和回归测试用例管理单元,所述单个测试用例管理单元用于对单个测试用例进行列表和分组管理; 所述回归测试用例管理单元用于对需要进行回归测试的测试用例进行管理。在上述技术方案中,所述测试用例输出模块包括输出文件分析单元,所述输出文件分析单元用于解析仿真器产生的输出文件,将仿真信息经过处理后通过图表的形式显示出来,并得到报告,以及提供信息过滤功能;所述仿真信息包括仿真时间、仿真结果的类型、以及被测芯片与芯片验证环境的发包内容、个数的比对信息。在上述技术方案中,所述测试用例输出模块还包括性能分析单元,所述性能分析单元用于将芯片验证产生的包括网络运行情况、端口带宽流量的性能分析文件,通过图表的形式显示出来。在上述技术方案中,所述测试用例输出模块还包括覆盖率分析单元,所述覆盖率分析单元用于将仿真输出的测试用例的代码覆盖率统计结果和功能覆盖率统计结果,通过表格的形式显示出来。本发明提供了一种芯片验证的图形化集成工作环境,硬件测试人员可以通过图形界面系统产生测试用例、管理测试用例,以及查看测试用例运行后输出的仿真结果、性能统计结果和覆盖率分析结果,并且可以保证主图形界面的架构能够复用于不同的芯片设计。与现有技术相比,本发明的优点如下(1)本发明实现了芯片验证的图形化操作和管理,降低了测试人员的学习成本,大大缩短了芯片验证的周期,提高了芯片验证的效率。因为传统的芯片验证需要测试人员手工书写测试用例,测试人员必须学习新的验证语言,并且需要牢记大量的测试命令,这在测试用例开发阶段就占用了大量的时间,而本发明提供了一种直观的图形界面方式,测试人员只需要进行一些简单的勾选和配置,就可以完成测试用例的开发和运行。与传统的芯片验证相比,本发明不仅省去了测试人员学习新的验证语言的时间,而且芯片验证的过程也变得简单直观,因此测试人员的学习成本和测试开销降低了,芯片验证的周期缩短了,芯片验证的效率得到明显提高。(2)传统的验证方式不利于测试人员观测测试用例的输出结果,例如传统验证方式根本没有对网络状态和各端口带宽流量分配的分析,而且必须人工观察覆盖率文件,本发明提供的直观的图形界面方式,使测试人员可以直观的观测到测试用例的输出结果,例如仿真信息、性能分析和覆盖率统计结果。(3)传统的回归测试需要测试人员手工书写测试用例文件列表来完成,应用本发明,测试人员只需要在测试用例管理模块进行测试用例的选择,就可以完成回归测试,简化了操作。


图1为本发明实施例中芯片验证方法的流程图;图2为本发明实施例中芯片验证装置的结构框图。图中1-测试用例管理模块,11-单个测试用例管理单元,12-回归测试用例管理单元,2-测试用例生成模块,3-测试用例输出模块,31-输出文件分析单元,32-性能分析单元,33-覆盖率分析单元。
具体实施例方式下面结合附图及实施例对本发明作进一步的详细描述。参见图1所示,本发明实施例中验证环境图形化的芯片验证方法,其基本流程有两条分支一条是针对单个测试用例,另一条就是回归测试,即发现错误用例后,完成了对旧代码的修改,需要重新测试多个或者所有的测试用例,确认该修改没有引入新的错误或者导致其他代码产生错误。两条分支是相互交叉执行的,当测试单个用例错误时,就需要在修改代码后进行回归测试。单个测试用例的实现流程如下步骤101 新建一个测试用例,按照功能测试点和功能模块进行分组。步骤102 通过图形化的方式自动生成芯片验证所需的输入文件,输入文件包括验证环境的配置、测试场景和测试用例。配置测试用例的测试环境,主要包括验证环境的输入激励。步骤103 进行验证环境的仿真器的参数配置,具体包括(1)选择所调用的仿真器的种类,默认类型为VCS ;(2)选择是否需要进行编译、仿真、以及是否需要清除之前产生的编译和仿真文件,默认情况为全部选择;(3)确定需要产生波形文件时,选择需要产生波形文件的模块和波形文件的类型, 默认情况为产生所有模块的波形文件,波形类型为vpd ;(4)选择是否需要产生性能分析文件和覆盖率统计文件,默认情况为全部产生;(5)配置随机种子数,默认为1。步骤104 所有输入文件配置完成后,运行测试用例,本发明实施例的图形界面系统将直接与仿真器交互,并在运行过程中,将仿真器的编译和仿真信息,通过图表的形式显示在图形界面上。步骤105 运行完成后,利用输出文件分析、性能分析和覆盖率分析来观察测试结果,测试结果包括测试用例的运行结果,通过或者失败、网络运行情况、端口带宽流量、代码覆盖率统计结果和功能覆盖率统计结果。如果发现错误用例,则待完成代码的修改后,再进行回归测试。
步骤106 如果通过测试,则进行下一个测试用例的验证。回归测试的实现流程如下步骤201 若发现错误用例,修改完代码后进行回归测试;步骤202 选择需要进行回归测试的多个或者所有测试用例;步骤203 配置仿真器的参数;步骤204 运行步骤202中选择的所有测试用例;步骤205 观测所有测试用例的运行情况,对回归测试的结果进行分析;步骤206 继续收敛直到验证完成。参见图2所示,本发明实施例提供的验证环境图形化的芯片验证装置,包括测试用例管理(RM, Regression Manager)模块 1、测试用例生成(TCG,Test Case Generator) 模块2和测试用例输出模块3。测试用例管理模块1,用于对所有测试用例进行列表和分组管理,以及提供回归测试功能。测试用例管理模块1包括单个测试用例管理单元11和回归测试用例管理单元12, 其中,单个测试用例管理单元11用于对单个测试用例进行列表和分组管理;回归测试用例管理单元12用于对需要进行回归测试的测试用例进行管理。测试用例生成模块2,用于通过图形化的方式自动生成芯片验证所需的输入文件, 例如环境配置、测试场景、测试用例等等。测试用例输出模块3,用于通过图表的形式显示测试用例的输出信息。测试用例输出模块3包括输出文件分析(RFP,Report File Parser)单元31、性能分析(PA, Performance analyzer) 32 禾口(CA, Coverage analyzer) 33,胃中,ft 出文件分析单元31用于解析仿真器产生的各种输出文件,将仿真信息经过处理后通过图表的形式显示出来,并得到详细的报告,以及提供信息过滤功能;所述仿真信息包括仿真时间、仿真结果的类型、以及被测芯片与芯片验证环境的发包内容、个数的比对信息。性能分析单元32用于将芯片验证产生的包括网络运行情况、端口带宽流量的性能分析文件,通过图表的形式显示出来。覆盖率分析单元33用于将仿真输出的测试用例的代码覆盖率统计结果和功能覆盖率统计结果,通过表格的形式显示出来。本发明实施例的原理详细阐述如下测试用例管理模块1,用于管理所有建立的测试用例,根据功能测试点和功能模块进行分组。该模块主要包括两部分单个测试用例管理单元11和回归测试用例管理单元 12,一部分是对单个测试用例的管理,另一部分是回归测试用例的管理。单个测试用例管理单元呈表格状,表头内容依次为测试用例-测试组-测试功能点-测试用例描述。回归测试用例管理单元12按照测试用例的分组呈树状结构,依次是组-测试点-测试用例。测试人员可以勾选需要进行测试的用例。回归测试运行完成后,回归测试用例管理单元12可以在树状结构的根节点后显示总的运行结果,例如,总的代码覆盖率统计结果和总的功能覆盖率统计结果;总的运行时间;进行回归测试的具体时间,格式为年月日时分秒。全部通过则会标志绿色通过,只要有一个用例失败,则会标志红色。然后在每个测试用例节点后显示单个用例的运行结果,例如,代码覆盖率统计结果和功能覆盖率统计结果,以及单个测试用例的运行时间和进行回归测试的具体时间,还
7有测试用例的备注信息。测试用例生成模块2,提供验证环境所需要的输入配置文件,具体包括(1)与驱动程序的接口,直接通过所述接口利用软件方式配置寄存器;(2)收发包内容和个数配置;(3)整体验证环境参数的配置,例如寄存器的参数,系统延时时间等。测试用例输出模块3,提供测试用例的输出信息,包括输出文件分析单元31、性能分析单元32和覆盖率分析单元33。输出文件分析单元31,将仿真信息经过处理后通过表格的形式显示出来,包括仿真时间、仿真的结果类型(普通信息,告警,错误,详细信息)以及比对信息,即被测芯片的发包内容、个数与芯片验证环境的发包内容、个数是否匹配。性能分析单元32,将产生的性能分析文件,主要包括网络运行情况,例如端口带宽流量的分配等,通过图表的方式显示出来。性能分析文件可以选择产生或者不产生。覆盖率分析单元33,通过表格的方式将测试用例的代码覆盖率统计结果和功能覆盖率统计结果显示出来。代码覆盖率统计结果,即测试芯片设计代码的逻辑条件、状态和翻转的遍历完整性;功能覆盖率统计结果,即检查设计功能的遍历完整性。覆盖率分析文件也可以选择产生或者不产生。本发明实施例中仿真器和芯片验证环境之间的关系如下假设验证环境是测试仪表,则仿真器是测试仪表的电源,测试仪表是需要仿真器才能运行的,因此cadence的EDA 工具和本发明实施例所解决的技术问题是完全不同的。本发明实施例中图形界面系统和验证环境之间的关系如下传统的验证环境通常采用HDL(Hardware Description Language,硬件描述语言)、HVL进行开发,所有测试用例和输出报告都是文本代码。而图形界面系统是将测试用例的编写和输出报告的分析的人工操作,编制成了方便适用的⑶I (Graphic User hterface)软件界面,能够提高测试人员使用验证环境的效率。如果把这种图形界面的验证环境视为一个测试仪表,则图形界面是软件,传统的部分验证环境是硬件。图形界面本身其实是可以当做一个独立的系统的,因为无论采用何种HDL、HVL来实现传统的验证环境,都可以利用界面系统简化人工开发工作,自动生成代码,工具脚本等。本发明实施例中的图形界面包括六大面板主菜单、管理面板、运行面板、环境输入面板、环境输出面板和状态栏,下面分别进行说明。1、主菜单位于整个图形界面的最上方,为用户提供一些图形界面的基本操作,例如测试用例的新建、保存、复制、粘贴、关闭等等,以及改变整个图形界面的窗口排列模式, 添加所需要的环境变量和仿真工具的参数配置等操作。2、管理面板位于整个图形界面的最右边,主要有两个子页面,一个是TestCase 页面,主要提供单个测试用例的操作,例如新建、删除和编辑等;另一个是Regression页面,主要负责回归测试的集合设定和测试用例的分组功能,收集所有通过的测试用例以及所有测试用例运行的正确结果,作为每次回归测试的参考。3、运行面板位于整个图形界面的上方,运行测试用例,主要提供一些运行参数的设定功能,如波形设置、仿真结果的调试等级(方便查看调试信息)设置,退出仿真的最大错误数设置,还有性能统计的使能设置等。另外,该面板还可以显示每个测试用例的运行阶段,如编译、仿真和最后结果,通过或者失败。4、环境输入面板实现本发明实施例中的测试用例生成功能;位于所述的整个图形界面的中间部分,是图形界面中比较重要的一个部分,主要是针对每个测试用例的单独定制。环境输入面板主要包括三个子页面(1) stimulus页面,主要负责配置一些测试用例的输入激励,如每种激励流的个数、类型和内容,以及在某个时间内执行的动作等等;O) testbench页面,用户可以在该页面完成测试平台工作模式的配置,主要是配置一些平台固定的参数,针对不同的子系统,参数有所不同;(3) DUV页面,主要针对寄存器的配置和查询。有两种输入方式,一种是直接对寄存器表格中的寄存器进行配置;一种是通过软件驱动的方式配置,默认为驱动方式。5、环境输出面板实现本发明实施例中的输出文件分析、性能分析和覆盖率分析功能;位于整个图形界面的下方,主要包含一些仿真编译信息的输出,验证环境信息的输出,性能统计信息的输出以及覆盖率信息的输出。环境输出面板主要分为四个子页面(l)build页面,该页面显示了仿真器编译和仿真过程的相关输出信息,通过颜色标识错误和告警关键字,以及信息过滤功能,快速定位错误,从而排查出错原因;(2)output页面,该页面主要是显示仿真输出的结果,同样可以对不同的仿真信息进行快速定位和信息过滤,并且可以查看标识为DEBUG级别信息的详细内容;(3) performance页面,主要是以图表的方式来显示仿真输出的一些性能结果,例如,吞吐率、带宽利用率等等,有利于测试人员进行分析;(4) coverage页面,测试人员可以在该页面查看代码覆盖率统计结果和功能覆盖率统计结果。6、状态栏位于所述的整个图形界面的最下方,主要显示测试用例运行的时间进度、运行结果等信息,如PASS和FAIL。测试人员应用图形界面进行芯片验证的具体操作主要包括以下四个步骤a、进行环境配置,测试人员需要在主菜单中设置环境变量路径、选择EDA仿真工具以及设置一些仿真参数,如是否需要产生波形、覆盖率和性能分析文件等;b、提供输入文件,包括验证计划的导入和测试用例的定制。验证计划的导入,是在主菜单中选择导入命令,然后导入验证计划表;测试用例的定制则需要先在管理面板处新建一个测试用例,然后在所述环境输入面板的stimulusJestbench和DUV三个子页面中分别完成激励配置、寄存器的配置和平台工作模式的配置;C、运行测试用例,测试人员可以根据运行情况点击运行面板中的RUN/STOP按钮, 使测试用例运行或者停止;d、查看仿真输出结果,在环境输出面板的四个子页面处可以查看仿真结果、性能分析结果和覆盖率统计结果。针对不同的芯片设计,本发明实施例中图形界面的架构在主体上不用大的修改, 可以保证菜单栏、运行面板、管理面板和状态栏的复用,只需修改环境输入面板上的三个子页面,主要是一些子系统的划分、验证环境参数的修改以及激励配置内容的修改。
9
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种验证环境图形化的芯片验证方法,其特征在于包括以下步骤A、新建测试用例,按照功能测试点进行分组,通过图形化的方式自动生成芯片验证所需的输入文件,并进行仿真器的参数配置;B、运行测试用例,直接与仿真器交互,并将仿真器的编译和仿真信息通过图表的形式显不;C、观察测试结果,如果通过测试,则进行下一个测试用例的验证;如果发现错误用例, 则待完成代码的修改后,再进行回归测试。
2.如权利要求1所述的验证环境图形化的芯片验证方法,其特征在于步骤A中所述进行仿真器的参数配置包括(1)选择所调用的仿真器的种类;(2)选择是否需要进行编译、仿真、以及是否需要清除之前产生的编译和仿真文件;(3)确定需要产生波形文件时,选择需要产生波形文件的模块和波形文件的类型;(4)选择是否需要产生性能分析文件和覆盖率统计文件;(5)配置随机种子数。
3.如权利要求1所述的验证环境图形化的芯片验证方法,其特征在于步骤A中所述输入文件包括验证环境的配置、测试场景和测试用例。
4.如权利要求1所述的验证环境图形化的芯片验证方法,其特征在于步骤C中所述回归测试的实现流程包括以下步骤选择需要进行回归测试的测试用例,配置仿真器的参数;运行所选择的测试用例,并观测所述测试用例的运行情况。
5.如权利要求1至4中任一项权利要求所述的验证环境图形化的芯片验证方法,其特征在于步骤C中所述测试结果包括测试用例的运行结果,通过或者失败、网络运行情况、 端口带宽流量、代码覆盖率统计结果和功能覆盖率统计结果。
6.一种验证环境图形化的芯片验证装置,其特征在于包括测试用例管理模块(1),用于对所有测试用例进行列表和分组管理,以及提供回归测试功能;测试用例生成模块0),用于通过图形化的方式自动生成芯片验证所需的输入文件;测试用例输出模块(3),用于通过图表的形式显示测试用例的输出信息。
7.如权利要求6所述的验证环境图形化的芯片验证装置,其特征在于所述测试用例管理模块(1)包括单个测试用例管理单元(11)和回归测试用例管理单元(12),所述单个测试用例管理单元(11)用于对单个测试用例进行列表和分组管理;所述回归测试用例管理单元(12)用于对需要进行回归测试的测试用例进行管理。
8.如权利要求6所述的验证环境图形化的芯片验证装置,其特征在于所述测试用例输出模块C3)包括输出文件分析单元(31),所述输出文件分析单元(31)用于解析仿真器产生的输出文件,将仿真信息经过处理后通过图表的形式显示出来,并得到报告,以及提供信息过滤功能;所述仿真信息包括仿真时间、仿真结果的类型、以及被测芯片与芯片验证环境的发包内容、个数的比对信息。
9.如权利要求6中任一项权利要求所述的验证环境图形化的芯片验证装置,其特征在于所述测试用例输出模块C3)还包括性能分析单元(32),所述性能分析单元(3 用于将芯片验证产生的包括网络运行情况、端口带宽流量的性能分析文件,通过图表的形式显示出来。
10.如权利要求6至9中任一项权利要求所述的验证环境图形化的芯片验证装置,其特征在于所述测试用例输出模块(3)还包括覆盖率分析单元(33),所述覆盖率分析单元 (33)用于将仿真输出的测试用例的代码覆盖率统计结果和功能覆盖率统计结果,通过表格的形式显示出来。
全文摘要
本发明公开了一种验证环境图形化的芯片验证方法与装置,涉及芯片设计流程中的EDA验证领域,方法包括步骤新建测试用例,按照功能测试点进行分组,通过图形化的方式自动生成芯片验证所需的输入文件,并进行仿真器的参数配置;运行测试用例,直接与仿真器交互,并将仿真器的编译和仿真信息通过图表的形式显示;观察测试结果,如果通过测试,则进行下一个测试用例的验证;如果发现错误用例,则待完成代码的修改后,再进行回归测试。本发明能实现芯片验证的图形化操作和管理,不仅省去了测试人员学习新的验证语言的时间,而且芯片验证的过程也变得简单直观,因此降低了测试人员的学习成本,大大缩短了芯片验证的周期,提高了芯片验证的效率。
文档编号G06F17/50GK102156784SQ201110095739
公开日2011年8月17日 申请日期2011年4月18日 优先权日2011年4月18日
发明者杜明鲜, 林子, 柏帆, 袁博浒 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1