CN112270149A - 验证平台自动化集成方法、系统及电子设备和存储介质 - Google Patents
验证平台自动化集成方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN112270149A CN112270149A CN202011109465.2A CN202011109465A CN112270149A CN 112270149 A CN112270149 A CN 112270149A CN 202011109465 A CN202011109465 A CN 202011109465A CN 112270149 A CN112270149 A CN 112270149A
- Authority
- CN
- China
- Prior art keywords
- verification
- template
- register
- file
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种验证平台自动化集成方法、系统及设备和介质,该方法包括:获取包括针对待集成验证平台定义的配置信息的用户配置文件;根据配置文件中指定的验证IP模板获取预先基于通用UVM组件开发生成的验证IP模板;确定配置文件中指定的寄存器描述文件,生成对应的寄存器模型;在顶层环境中对模板中的各个组件进行实例化和链接,将寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。本申请预先基于通用UVM组件开发生成验证IP模板,用户在搭建所需的验证平台时,仅仅需要根据自身的实际需求修改用户配置文件,无需每次搭建平台都手动进行组件的开发、实例化,显著提升了搭建验证平台的效率,节省了工作时间和人力成本。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种验证平台自动化集成方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
随着芯片规模的日益扩大,如何保证芯片功能的正确性及完备性成了验证工程师面临的巨大挑战。为了加速芯片验证阶段的收敛,业界提出了一系列的语言及方法,如早期的e语言,SV语言,到后来的VMM、OVM以及UVM(Universal Verification Methodology,通用验证方法学)等方法学。其中,UVM作为新一代的验证方法学,可以适配不同规模的设计,诸多的优势使其成为当下主流的验证方法。使用UVM对待测设计搭建验证平台时,需要开发大量的基本组件,并对其进行实例化、链接等操作,这需要花费一定的时间,同时开发过程中设计顶层端口在不断更新,也需要在原有环境基础上进行升级改造。一个大规模的设计往往由多名工程师同时开发验证组件,不同的代码风格导致顶层链接时越发困难,开发好的验证组件很难复用到其他平台。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种验证平台自动化集成方法、系统及一种电子设备和一种计算机可读存储介质,显著提升了搭建验证平台的效率。
为实现上述目的,本申请提供了一种验证平台自动化集成方法,包括:
获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
可选的,所述用户配置文件中包括:用于存放待集成验证平台的项目名称,用于指定顶层文件的文件配置信息,用于设置是否需要对上次生成的验证平台进行备份的备份配置信息,用于设置是否集成已有子系统的子系统配置信息,用于选择所述验证IP模板的模板配置信息,用于新建验证IP的创建信息,用于选择寄存器描述文件的寄存器配置信息中任一项或任几项的组合。
可选的,所述根据所述寄存器描述文件生成对应的寄存器模型,包括:
对所述寄存器描述文件进行解析以获取寄存器列表;
基于所述寄存器列表生成所有寄存器对象,并根据所述寄存器描述文件对所述寄存器对象的每个域进行配置;
通过对所述所有寄存器对象进行写操作,生成对应的宏定义,以便基于所述宏定义访问所述寄存器对象。
可选的,所述验证IP模板的创建过程包括:
获取基本UVM组件,所述基本UVM组件中包括基本函数和基本任务;
接收针对所述基本UVM组件新增的功能函数,生成通用UVM组件;
通过预设模板引擎,基于所述通用UVM组件生成验证IP模板。
可选的,所述接收针对所述基本UVM组件新增的功能函数,包括:
接收针对所述基本UVM组件新增的DPI接口,以便通过所述DPI接口下发C语言格式的测试用例。
可选的,所述在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接之前,还包括:
获取基于待测文件生成的预设顶层集成框架模板,所述待测文件为保留实际待测件端口信号的文件;
根据所述用户配置文件中指定的顶层文件,对所述预设顶层集成框架模板中需要替换的变量名进行渲染,生成所述顶层环境。
可选的,所述完成验证平台的自动化集成之后,还包括:
从预设目录获取基本测试用例,利用所述基本测试用例对所述验证平台的基本功能进行测试,得到平台测试结果。
为实现上述目的,本申请提供了一种验证平台自动化集成系统,包括:
配置获取模块,用于获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
模板获取模块,用于根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
模型生成模块,用于确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
平台集成模块,用于在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种验证平台自动化集成方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种验证平台自动化集成方法的步骤。
通过以上方案可知,本申请提供的一种验证平台自动化集成方法,包括:获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。由上可知,本申请预先基于通用UVM组件开发生成验证IP模板,用户在搭建所需的验证平台时,仅仅需要根据自身的实际需求修改用户配置文件,即可根据用户定义的配置文件自动获取对应的验证IP模板、生成寄存器模型,并自动进行组件实例化、链接和顶层环境的集成,自动化完成验证平台的生成,无需每次搭建平台都手动进行组件的开发、实例化,显著提升了搭建验证平台的效率,节省了工作时间和人力成本。
本申请还公开了一种验证平台自动化集成系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种验证平台自动化集成方法的流程图;
图2为本申请实施例公开的一种自动化验证平台的开发流程示意图;
图3为本申请实施例公开的一种通用UVM组件及验证IP模板的开发流程示意图;
图4为本申请实施例公开的一种寄存器模型的开发流程示意图;
图5为本申请实施例公开的一种自动化验证平台的框架示意图;
图6为本申请实施例公开的一种验证平台自动化集成系统的结构图;
图7为本申请实施例公开的一种电子设备的结构图;
图8为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统使用UVM方法对待测设计搭建验证平台时,需要开发大量的基本组件,并对其进行实例化、链接等操作,这需要花费一定的时间,同时开发过程中设计顶层端口在不断更新,也需要在原有环境基础上进行升级改造。一个大规模的设计往往由多名工程师同时开发验证组件,不同的代码风格导致顶层链接时越发困难,开发好的验证组件很难复用到其他平台。
因此,本申请实施例公开了一种验证平台自动化集成方法,显著提升了搭建验证平台的效率,节省了工作时间和人力成本。
参见图1所示,本申请实施例公开的一种验证平台自动化集成方法包括:
S101:获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
本申请实施例中,可首先获取用户配置文件,用户配置文件用于接收用户自定义的配置信息,即针对待集成验证平台定义的配置信息。
上述用户配置文件中可以具体包括但不限于:用于存放待集成验证平台的项目名称,用于指定顶层文件的文件配置信息,用于设置是否需要对上次生成的验证平台进行备份的备份配置信息,用于设置是否集成已有子系统的子系统配置信息,用于选择所述验证IP模板的模板配置信息,用于新建验证IP的创建信息,用于选择寄存器描述文件的寄存器配置信息。
在一种具体的实施方式中,上述获取用户配置文件的方式可以具体为实时显示可视化的配置界面,配置界面中显示了具体的配置项,以接收用户通过配置界面填写的具体配置信息。在另外一种具体的实施方式中,上述获取用户配置文件的方式可以具体为直接利用文件传输接口导入已编写完成的用户配置文件,通过对用户配置文件进行解析获取其中的配置信息。
S102:根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
在本步骤中,可通过对用户配置文件进行解析,确定其中指定的验证IP模板,并从预设模板库中获取对应的验证IP模板。上述验证IP模板为预先基于通用UVM组件开发生成的IP模板,预设模板库用于存储预先生成的所有验证IP模板。具体地,用户配置文件中指定的验证IP模板可具体通过模板标识号或目标名称进行定义,进而可根据模板标识号或者目标名称在预设模板库中搜索对应的验证IP模板。
上述验证IP模板的创建过程可以具体包括:获取基本UVM组件,所述基本UVM组件中包括基本函数和基本任务;接收针对基本UVM组件新增的功能函数,生成通用UVM组件;通过预设模板引擎,基于通用UVM组件生成验证IP模板。也即,可首先开发统一的通用UVM组件,实现一些标准的函数和方法,通过继承通用UVM组件,构建统一的验证IP模板,模板的生成可采用基于Python的Jinja2引擎,在验证IP模板中对各个组件的主要功能进行完善,验证完成之后可存放至预设模板库中。
具体地,上述接收针对基本UVM组件新增的功能函数时,可以具体接收针对基本UVM组件新增的DPI(Direct Programming Interface,直接编程接口)接口,以便通过DPI接口下发C语言格式的测试用例。也即,本实施例为各个验证IP组件提供了DPI接口访问方式,使其可支持C语言的测试用例。
S103:确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
需要说明的是,本申请实施例在对用户配置文件进行解析时,还可确定其中指定的寄存器描述文件,并根据寄存器描述文件生成对应的寄存器模型。
具体地,上述根据寄存器描述文件生成对应的寄存器模型的过程可以具体包括:对寄存器描述文件进行解析以获取寄存器列表;基于寄存器列表生成所有寄存器对象,并根据寄存器描述文件对寄存器对象的每个域进行配置;通过对所有寄存器对象进行写操作,生成对应的宏定义,以便基于宏定义访问寄存器对象。
S104:在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
可以理解的是,本申请实施例在选择验证IP模板并生成寄存器模型之后,可在顶层环境中对验证IP模板中的各个组件进行实例化和链接,并自动将寄存器模型集成至顶层环境中,即可完成验证平台的自动化集成。
在具体实施中,本申请实施例在顶层环境中对验证IP模板中的各个组件进行实例化和链接之前,可以首先获取基于待测文件生成的预设顶层集成框架模板,其中,所述待测文件为保留实际待测件端口信号的文件;根据用户配置文件中指定的顶层文件,对预设顶层集成框架模板中需要替换的变量名进行渲染,生成顶层环境。也即,本实施例可以根据实际待测件的顶层模块生成待测文件,待测文件的名称与原有模块名称一致,同时仅保留端口信号,并将输出的端口赋值为0或1。这是由于在搭建验证平台初期,无需关心设计的具体功能,只需要关注顶层接口上的信号即可,因此采用挖空DUT的思想仅保留端口信号生成新的文件,在编译时默认将该文件作为待测件,从而保证生成的验证平台可直接进行仿真。
作为一种优选的实施方式,本申请实施例可以在完成验证平台的自动化集成之后,从预设目录获取基本测试用例,即可利用基本测试用例对验证平台的基本功能进行测试,得到平台测试结果,实现对生成的验证平台进行快速测试。
通过以上方案可知,本申请提供的一种验证平台自动化集成方法,包括:获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。由上可知,本申请预先基于通用UVM组件开发生成验证IP模板,用户在搭建所需的验证平台时,仅仅需要根据自身的实际需求修改用户配置文件,即可根据用户定义的配置文件自动获取对应的验证IP模板、生成寄存器模型,并自动进行组件实例化、链接和顶层环境的集成,自动化完成验证平台的生成,无需每次搭建平台都手动进行组件的开发、实例化,显著提升了搭建验证平台的效率,节省了工作时间和人力成本。
下面通过一种具体的实施场景对本申请提供的验证平台自动化集成方法进行介绍。本申请实施例中提供一种自动化验证平台,可以快速定制验证平台目录结构,通过少量的用户参数,生成完整的验证平台,通过DPI实现对C语言测试用例的支持,同时可将模块级别的C语言测试用例复用到SoC级,除此之外,还对时钟复位、旁路信号开发了通用验证IP组件,可实现时钟动态可配,旁路信号驱动等功能。也即,本实施例定义了通用验证平台的基本框架,开发了一套UVM组件,基于该组件进行继承扩展出标准的验证IP模板,并对验证IP中的内容进行了规范与统一,可以对验证IP的进行迅速升级、扩展及复用。通过对寄存器描述文件的解析,提取出每个寄存器中所属域的信息,生成一致的UVM寄存器模型及C头文件模板,其中UVM寄存器模型可以被自动集成在顶层环境中。
具体地,本申请实施例中自动化验证平台的开发流程可参见图2。如图2所示,本实施例可开发统一的UVM组件,实现一些标准的方法,通过继承这些UVM组件,构建统一的验证IP模板,模板生成可采用基于Python的Jinja2引擎实现,在验证IP模板中对各个组件的主要功能进行完善,在验证完成之后放入已存在的验证IP模板库中,当用户需要使用已经开发完成验证IP时,直接在用户参数中进行定义即可。图2右侧为已生成的验证平台目录,该目录结构可以根据模板中的目录动态生成,满足了用户定制化的需求。其中,c目录用于存储一些基本测试用例和头文件;cfg用于存储顶层的配置文件,对环境中各个子组件进行配置;common用于存储一些通用函数和定义;cov用于用来收集覆盖率的相关文件;dpi_lib目录用于存储DPI的相关函数;dummy_dut中用于存储挖空设计的顶层文件;env用于存储顶层UVM环境,包含各个UVM组件;reg用于存储生成的UVM寄存器模型;seq_lib用于存储生成的基本测试序列,包含寄存器测试等;sim用于存储生成的可执行编译脚本,可对整个环境进行编译;tb用于存储顶层硬件连接以进行接口实例化;tests用于存储基本的UVM测试用例;vip_lib用于存储生成的各个验证IP模板。
另外,根据寄存器描述文件,可以开发出统一的UVM寄存器模型和C头文件,以及基本的寄存器测试用例。为了使得生成的验证环境可以直接编译使用,默认生成一个挖空的设计作为顶层,最后开发顶层集成框架模板。所有模板中可替换的变量名均可被渲染,通过Python脚本解析用户配置文件之后,将其中的信息填入模板中。
作为一种具体的示例,用户配置文件中的内容可如下所示:
其中,projName表示该项目的名称,用于存储生成的整个验证平台;Dut表示设计的顶层文件,根据这个文件可获取顶层模块名以及生成Dummy DUT;topName表示验证环境中的顶层设计名字;backup表示在新生成时是否需要对上次生成的验证平台进行备份,如果设置为“yes”,将会生成一个back文件用于保存上次生成的工程;Subsystem表示子系统,若采用之前验证平台中已实现的子系统,可以直接通过该参数自动集成进来;existVip表示用户需要某种类型的验证IP已经存在于库中,可直接使用;NewVip表示需要新生成验证IP,通过该参数会生成对应的标准验证IP模板;Registers表示工程中的寄存器描述文件,通过对该文件进行解析,可生成相应的UVM寄存器模型、C头文件,以及测试用例,并将寄存器模型自动集成到顶层环境中。
图3为通用UVM组件及验证IP模板的开发流程示意图。具体地,UVM基本组件包括但不限于uvm_agent、uvm_driver、uvm_monitor等,在这些基本组件中只包含了一些基本的函数和任务。为了提供更多的功能,需要开发自定义的UVM基本组件,例如common_uvm_agent、common_uvm_driver、common_uvm_monitor等,并在其中预留特定接口,通过定义一些方法来确保所有验证IP的行为具有相对统一性。当需要升级验证IP时,无需对之前生成好的验证IP进行改动,仅对自定义的UVM组件进行更新升级即可。通过这种方式显著提高了验证IP的统一性、可维护性和可扩展性。在通用UVM组件开发完成之后,需要开发相应的验证IP模板,模板一旦确定,则生成的验证IP中各个实例组件的命名、参数传递就会统一起来。
图4为开发寄存器模型的流程示意图。在具体实施中,通用验证平台中必须包含寄存器模型。本申请实施例可通过预先定义好的寄存器文件,如符合业界标准的RDL、RALF、XML作为唯一的输入文件,也提供了自定义CSV文件来描述寄存器的定义。也即,本实施例将CSV、RDL、RALF、XML等类型文件作为寄存器描述文件,通过脚本对其进行解析,基于已经开发好的统一寄存器模型,生成相应的UVM寄存器模型以及C头文件。具体地,可以根据传递的变量regList生成所有的寄存器对象,同时可以对寄存器的每个域进行配置。
另外,本实施例可通过定义宏完成对一个寄存器的写操作,在循环中遍历所有的寄存器生成写操作的宏定义,方便在C语言中操作寄存器。在生成UVM寄存器模型和C头文件之后,本实施例还为寄存器的测试提供统一的UVM测试用例,包含寄存器的读写测试,具体包含前门访问和后门访问,属性测试,覆盖率收集等功能,这些测试用例会生成并保存在在seq_lib文件目录下,同时提供了运行在处理器上C语言版本的寄存器测试用例。
对于一个复杂的模块,编译一般需要很长时间,而在搭建验证平台初期,通常不需要关心设计的具体功能,只需要关注顶层接口上的信号即可。由此,为了方便调试验证平台,本申请实施例提供了挖空DUT的功能。即根据待测件的顶层模块,生成一个新的文件,其模块名与原有文件保持一致,同时仅保留端口信号,并将输出的端口赋值为0或1。新生成的文件会被自动集成在环境中,在编译时默认会将挖空设计的新文件Dummy DUT作为待测件,从而保证生成的验证平台可以直接进行仿真。
如图5所示,验证IP的类型一般分为总线型和通用型,当用户参数中有多个验证IP,验证平台会自动生成多个对应验证IP的环境,并在顶层环境中进行例化和链接,寄存器模型也将根据用户设置选择性的被添加到顶层环境中,生成一般的测试用例。其中,通用验证IP具体指时钟复位控制验证IP、旁路端口控制验证IP等,采用这些验证IP不仅可以提高验证的质量,还可以有效缩减开发非标准总线验证IP的时间。
本申请实施例可以针对不同需求,通过继承通用UVM组件快速生成验证IP的模板,用户只需要填写一些关键信息,就能够搭建一个可用的验证IP,具有灵活性、可配置性、复用性的优势,并可为主模式的验证IP提供了DPI接口函数。当用户使用C语言进行仿真时,可以调用DPI函数完成相应的功能,省去了重新构建测试序列及重新编译的时间。基于统一的验证IP框架,可以快速实现顶层环境的自动化生成,根据用户配置的验证IP类型和个数,在顶层环境中快速实例化各个组件,并进行参数传递等操作。另外,为了节省前期调试的成本,可以生成挖空设计文件,直接使用已生成的编译脚本对整个验证平台进行编译,通过一些基本的测试向量,对生成的环境进行快速验证和进一步开发。
下面对本申请实施例提供的一种验证平台自动化集成系统进行介绍,下文描述的一种验证平台自动化集成系统与上文描述的一种验证平台自动化集成方法可以相互参照。
参见图6所示,本申请实施例提供的一种验证平台自动化集成系统包括:
配置获取模块201,用于获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
模板获取模块202,用于根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
模型生成模块203,用于确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
平台集成模块204,用于在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
关于上述模块201至204的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
本申请还提供了一种电子设备,参见图7所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的验证平台自动化集成方法。
在上述实施例的基础上,作为优选实施方式,参见图8所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图8仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图8示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的验证平台自动化集成方法。
本申请预先基于通用UVM组件开发生成验证IP模板,用户在搭建所需的验证平台时,仅仅需要根据自身的实际需求修改用户配置文件,即可根据用户定义的配置文件自动获取对应的验证IP模板、生成寄存器模型,并自动进行组件实例化、链接和顶层环境的集成,自动化完成验证平台的生成,无需每次搭建平台都手动进行组件的开发、实例化,显著提升了搭建验证平台的效率,节省了工作时间和人力成本。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种验证平台自动化集成方法,其特征在于,包括:
获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
2.根据权利要求1所述的验证平台自动化集成方法,其特征在于,所述用户配置文件中包括:用于存放待集成验证平台的项目名称,用于指定顶层文件的文件配置信息,用于设置是否需要对上次生成的验证平台进行备份的备份配置信息,用于设置是否集成已有子系统的子系统配置信息,用于选择所述验证IP模板的模板配置信息,用于新建验证IP的创建信息,用于选择寄存器描述文件的寄存器配置信息中任一项或任几项的组合。
3.根据权利要求1所述的验证平台自动化集成方法,其特征在于,所述根据所述寄存器描述文件生成对应的寄存器模型,包括:
对所述寄存器描述文件进行解析以获取寄存器列表;
基于所述寄存器列表生成所有寄存器对象,并根据所述寄存器描述文件对所述寄存器对象的每个域进行配置;
通过对所述所有寄存器对象进行写操作,生成对应的宏定义,以便基于所述宏定义访问所述寄存器对象。
4.根据权利要求1所述的验证平台自动化集成方法,其特征在于,所述验证IP模板的创建过程包括:
获取基本UVM组件,所述基本UVM组件中包括基本函数和基本任务;
接收针对所述基本UVM组件新增的功能函数,生成通用UVM组件;
通过预设模板引擎,基于所述通用UVM组件生成验证IP模板。
5.根据权利要求4所述的验证平台自动化集成方法,其特征在于,所述接收针对所述基本UVM组件新增的功能函数,包括:
接收针对所述基本UVM组件新增的DPI接口,以便通过所述DPI接口下发C语言格式的测试用例。
6.根据权利要求1至5任一项所述的验证平台自动化集成方法,其特征在于,所述在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接之前,还包括:
获取基于待测文件生成的预设顶层集成框架模板,所述待测文件为保留实际待测件端口信号的文件;
根据所述用户配置文件中指定的顶层文件,对所述预设顶层集成框架模板中需要替换的变量名进行渲染,生成所述顶层环境。
7.根据权利要求6所述的验证平台自动化集成方法,其特征在于,所述完成验证平台的自动化集成之后,还包括:
从预设目录获取基本测试用例,利用所述基本测试用例对所述验证平台的基本功能进行测试,得到平台测试结果。
8.一种验证平台自动化集成系统,其特征在于,包括:
配置获取模块,用于获取用户配置文件,所述用户配置文件中包括针对待集成验证平台定义的配置信息;
模板获取模块,用于根据所述用户配置文件中指定的验证IP模板从预设模板库中获取所述验证IP模板;所述验证IP模板为预先基于通用UVM组件开发生成的IP模板;
模型生成模块,用于确定所述用户配置文件中指定的寄存器描述文件,根据所述寄存器描述文件生成对应的寄存器模型;
平台集成模块,用于在顶层环境中对所述验证IP模板中的各个组件进行实例化和链接,并将所述寄存器模型自动集成至顶层环境中,完成验证平台的自动化集成。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述验证平台自动化集成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述验证平台自动化集成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109465.2A CN112270149B (zh) | 2020-10-16 | 2020-10-16 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109465.2A CN112270149B (zh) | 2020-10-16 | 2020-10-16 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112270149A true CN112270149A (zh) | 2021-01-26 |
CN112270149B CN112270149B (zh) | 2023-05-23 |
Family
ID=74337242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011109465.2A Active CN112270149B (zh) | 2020-10-16 | 2020-10-16 | 验证平台自动化集成方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270149B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988602A (zh) * | 2021-04-30 | 2021-06-18 | 北京欣博电子科技有限公司 | 验证平台的生成方法、装置、计算机设备和存储介质 |
CN113138808A (zh) * | 2021-04-29 | 2021-07-20 | 上海阵量智能科技有限公司 | 一种集成方法、装置、计算机设备和存储介质 |
CN113835945A (zh) * | 2021-09-29 | 2021-12-24 | 深圳大普微电子科技有限公司 | 芯片的测试方法、装置、设备及系统 |
CN115687187A (zh) * | 2022-12-15 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种仿真验证方法、装置、电子设备和存储介质 |
CN116306388A (zh) * | 2023-05-23 | 2023-06-23 | 苇创微电子(上海)有限公司 | 一种免除路径连接的自动化uvm验证平台及其搭建方法 |
CN116627496A (zh) * | 2023-03-08 | 2023-08-22 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
CN116738909A (zh) * | 2023-06-25 | 2023-09-12 | 成都电科星拓科技有限公司 | 一种集成电路的Memory集成方法 |
CN116756049A (zh) * | 2023-08-17 | 2023-09-15 | 上海燧原科技有限公司 | 芯片的通用验证方法、装置、电子设备及存储介质 |
CN117271248A (zh) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136189A1 (en) * | 2004-12-20 | 2006-06-22 | Guillermo Maturana | Method and apparatus for integrating a simulation log into a verification environment |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
CN111709215A (zh) * | 2020-06-01 | 2020-09-25 | 哈尔滨工业大学 | 一种ip管理系统及ip管理方法 |
-
2020
- 2020-10-16 CN CN202011109465.2A patent/CN112270149B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136189A1 (en) * | 2004-12-20 | 2006-06-22 | Guillermo Maturana | Method and apparatus for integrating a simulation log into a verification environment |
CN102402628A (zh) * | 2010-09-07 | 2012-04-04 | 无锡中星微电子有限公司 | 一种生成SoC验证平台的方法及系统 |
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
US20150310159A1 (en) * | 2014-03-05 | 2015-10-29 | Vayavya Labs Private. Limited | Computer-implemented verification system for performing a functional verification of an integrated circuit |
CN111709215A (zh) * | 2020-06-01 | 2020-09-25 | 哈尔滨工业大学 | 一种ip管理系统及ip管理方法 |
Non-Patent Citations (3)
Title |
---|
张军等: "基于UVM的高效SOC验证环境", 《科技通报》 * |
李萌等: "面向智能卡SoC芯片的集成验证设计方法", 《中国集成电路》 * |
田晓旭等: "基于 UVM 的寄存器验证自动化方法", 《集成电路应用》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138808A (zh) * | 2021-04-29 | 2021-07-20 | 上海阵量智能科技有限公司 | 一种集成方法、装置、计算机设备和存储介质 |
CN113138808B (zh) * | 2021-04-29 | 2023-08-08 | 上海阵量智能科技有限公司 | 一种集成方法、装置、计算机设备和存储介质 |
CN112988602A (zh) * | 2021-04-30 | 2021-06-18 | 北京欣博电子科技有限公司 | 验证平台的生成方法、装置、计算机设备和存储介质 |
CN113835945A (zh) * | 2021-09-29 | 2021-12-24 | 深圳大普微电子科技有限公司 | 芯片的测试方法、装置、设备及系统 |
CN113835945B (zh) * | 2021-09-29 | 2024-01-12 | 深圳大普微电子科技有限公司 | 芯片的测试方法、装置、设备及系统 |
CN115687187A (zh) * | 2022-12-15 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种仿真验证方法、装置、电子设备和存储介质 |
CN115687187B (zh) * | 2022-12-15 | 2023-03-31 | 深圳鲲云信息科技有限公司 | 一种仿真验证方法、装置、电子设备和存储介质 |
CN116627496B (zh) * | 2023-03-08 | 2023-12-29 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
CN116627496A (zh) * | 2023-03-08 | 2023-08-22 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、系统与电子设备 |
CN116306388A (zh) * | 2023-05-23 | 2023-06-23 | 苇创微电子(上海)有限公司 | 一种免除路径连接的自动化uvm验证平台及其搭建方法 |
CN116738909A (zh) * | 2023-06-25 | 2023-09-12 | 成都电科星拓科技有限公司 | 一种集成电路的Memory集成方法 |
CN116738909B (zh) * | 2023-06-25 | 2024-05-24 | 成都电科星拓科技有限公司 | 一种集成电路的Memory集成方法 |
CN116756049A (zh) * | 2023-08-17 | 2023-09-15 | 上海燧原科技有限公司 | 芯片的通用验证方法、装置、电子设备及存储介质 |
CN116756049B (zh) * | 2023-08-17 | 2023-11-07 | 上海燧原科技有限公司 | 芯片的通用验证方法、装置、电子设备及存储介质 |
CN117271248A (zh) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
CN117271248B (zh) * | 2023-11-23 | 2024-02-09 | 成都市楠菲微电子有限公司 | Io接口测试方法、装置及uvm验证环境 |
Also Published As
Publication number | Publication date |
---|---|
CN112270149B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
US9501594B2 (en) | Graphical design verification environment generator | |
US8402438B1 (en) | Method and system for generating verification information and tests for software | |
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
EP0453394A2 (en) | Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs | |
US20110125448A1 (en) | Three-dimensional application program framework structure and a method for implementing an application program based on the same, and an automatic testing system based on a three-dimensional application software framework and a method therefor | |
US11144434B2 (en) | Refining coverage analyses using context information | |
CN104679644A (zh) | 移动终端中应用程序的测试方法和系统 | |
US9645911B2 (en) | System and method for debugging firmware/software by generating trace data | |
CN106021101B (zh) | 对移动终端进行测试的方法及装置 | |
CN113157508B (zh) | 嵌入式系统的测试方法、系统、装置、设备及存储介质 | |
CN106776334A (zh) | 基于注释生成测试用例方法及装置 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
CN106093897A (zh) | 一种雷达系统的测试系统及测试方法 | |
Espada et al. | Using model checking to generate test cases for android applications | |
CN112231206A (zh) | 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台 | |
US20080127061A1 (en) | Method and system for editing code | |
CN102144221B (zh) | 用于自动化测试的紧凑架构 | |
CN113742215A (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
CN111382065B (zh) | 基于测试模板的验证流程管理系统及其方法 | |
CN117330935A (zh) | 一种集成电路测试方法、装置、介质 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
CN109019217B (zh) | 一种电梯控制软件现场调试系统 | |
KR101251792B1 (ko) | 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |