CN108038294B - Uvm环境搭建方法和系统 - Google Patents
Uvm环境搭建方法和系统 Download PDFInfo
- Publication number
- CN108038294B CN108038294B CN201711279513.0A CN201711279513A CN108038294B CN 108038294 B CN108038294 B CN 108038294B CN 201711279513 A CN201711279513 A CN 201711279513A CN 108038294 B CN108038294 B CN 108038294B
- Authority
- CN
- China
- Prior art keywords
- uvm
- module
- environment
- file
- sequence
- 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.)
- Active
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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种UVM环境搭建方法和系统,属于通用验证方法技术领域。所述方法包括:根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;连接被测模块,建立起UVM验证环境。所述系统包括配置模块、解析模块和调用模块。本公开减小了验证工程师的学习、开发难度,节省了开发验证环境的时间,缩短了验证时间,提高了验证效率。
Description
技术领域
本公开涉及通用验证方法学(Universal Verification Methodology,简称UVM),具体地,涉及一种UVM环境搭建方法和系统。
背景技术
随着芯片性能的提升,芯片设计的规模越来越大,对验证的依赖越来越高。验证环境为了应对越来越复杂的设计,也从原来简单的环境变成可重用、面向对象的复杂环境。由于验证环境越来越复杂,即使专业的验证人员搭建完整的验证环境也需要2周以上的时间。
目前,芯片设计模块的验证环境通常是根据system verilog语言或者基于systemverilog语言的UVM和虚拟机监控器(Virtual Machine Monitor,简称VMM),按照语法要求,按层次搭建。一种芯片设计模块的接口就需要一个单独的验证环境,根据芯片设计模块的不同需要搭建不同的验证环境,然后在顶层top.v中连接环境env与芯片设计模块。当环境搭建好之后可以采用软件、图形界面或者脚本的形式将验证环境应用到相同接口的RTL中,然后通过脚本或者图形界面操作验证环境。当一个新的芯片设计模块需要验证环境时,需要重新编写验证环境。
由于system verilog(针对UVM或VMM环境)语言的特性为面向对象语言,语法的学习和初期的使用会占用验证工程师大部分的时间,时间成本高。在使用脚本之前也需要搭建一个完整的环境,才可以分情况用脚本调用。使用脚本搭建的验证环境不够灵活,不能够试用于大部分的芯片设计模块。后期修改又会浪费大量时间。并且生成的环境单一固定,不易修改重用,不能体现出面向对象语言的优越性,也影响了开发验证环境的进度。
现有的UVM环境搭建方法通常包括以下步骤:首先,设置UVM环境的预定参数;然后利用所述预定参数生成测试激励;再将所述测试激励分别施加到所述被测存储控制器及测试模型中;UVM预先定义好了一个类,名称为uvm_component,driver、monitor、model、scoreboard等都要从这个类派生而来。通过这种形式把driver、monitor、model、scoreboard等都组织在一棵环境树上,这样,就可以方便地执行后面的操作。整个UVM测试平台的各个部分组成了一棵倒置的树,如图1所示,driver、monitor和sequencer封装在In_agent,Out_agent中只封装monitor,整个组成一个针对XXX的测试环境env。
如图1所示,首先,所有的参数和派生类都组织在一棵树上,适用于单一接口的芯片设计模块或单一总线的芯片设计模块。因为单一接口的芯片设计模块只有一组transaction信号,里面包含输入和输出信号,对应的环境树为一棵。单一总线模块只包含一组transaction信号(ahb、axi或者其他总线),因而对应的环境树也为一棵。但是对于一个芯片设计模块同时包含以上多种连接方式,即有多种不同的接口时,图1所示的只有一棵树的验证环境无法对所述芯片设计模块进行全面的验证。
其次,图1中所示的方案无法实现多个sequence并行,也就是无法实现多个激励并行实施。尤其当一个芯片设计模块包含多种类型的接口时,为了更真实的模拟芯片设计模块的运行环境,需要所有接口同时工作,而图1的方案显然不能满足其要求。
再有,针对传统的UVM验证环境,在每次更新激励时,都需要重新编译整个流程,然后才能进行仿真验证。
针对一个设计模块包含多种类型的接口时,需要验证工程师进行过程非常复杂的搭建,得到的验证环境复杂,且耗费大量时间,大部分验证工程师不能独立完成,需要团队合作来完成验证环境的搭建。
发明内容
本公开的目的是提供一种UVM环境搭建方法和系统,可以快速、灵活地搭建验证环境,简化搭建过程,减少开发验证环境的时间,且减小开发难度。
为了实现上述目的,本公开提供一种UVM环境搭建方法。包括:
根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;
解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;
连接被测模块,建立起UVM验证环境。
优选地,通过图形输入的方式配置与接口对应的组件的步骤包括:
打开图形编辑程序的编辑界面;
在所述编辑界面内,按照接口类型,根据UVM环境中的树的层次及类型配置对应的组件。
优选地,所述的图形编辑程序包括TXT文本编辑程序、WORD文档编辑程序或EXCEL电子表格编辑程序;对应的,生成的图形结构的配置文件为TXT格式、WORD格式或EXCEL格式。
优选地,,解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件的步骤包括:
从所述图形结构的配置文件中提取出组件;
根据所述组件所在的层次和类型,生成对应的类;
根据类与类之间的关系,建立类之间的关联,从而得到UVM树形结构;
根据所述的类,生成对应的环境文件及相关的环境文件。
优选地,根据所述的类,生成相关环境文件的步骤包括:
根据所述配置文件确定被测模块及其接口名称和类型;
根据所述被测模块或接口名称,调用预置的对应的transaction和interface文件;
根据被测模块或者接口类型,在所述类中添加与其对应的通讯方式。
优选地,所述连接被测模块的步骤包括:
根据调用的对应的transaction和interface文件,连接被测模块的对应接口,用于建立起UVM验证环境。
优选地,从所述图形结构的配置文件中提取出组件时,有多个env树的组件时,生成一套virtual sequence和virtual sequencer,用于调用多个env树中的序列sequence,为整个环境产生激励。
优选地,所述序列sequence对应的激励文件为文本格式的文件,其中,
文件中的每一行是一个独立的操作命令;
所述操作命令依次包括操作码、操作对象或操作内容。
根据本公开的另一个方面,提供了一种UVM环境搭建系统,包括:
配置模块,用于根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;
解析模块,用于解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;和
调用模块,分别与所述解析模块和被测模块相连接,通过调用被测模块的相应接口建立起UVM验证环境。
优选地,所述的UVM环境搭建系统还包括:
虚拟序列管理器,用于在UVM树形结构中有多个env树时,生成一套虚拟序列virtual sequence和虚拟序列器virtual sequencer,用于调用多个env树中的序列sequence,为整个环境产生激励。
优选地,所述配置模块为图形编辑程序。
进一步地,所述的图形编辑程序优选为TXT文本编辑程序、WORD文档编辑程序或EXCEL电子表格编辑程序。
优选地,所述解析模块包括:
组件提取单元,用于从所述图形结构的配置文件中提取出组件;
类生成单元,用于根据组件所在的层次和类型,按照预置定义生成对应的类及对应的环境文件;
匹配单元,用于根据所述配置文件确定被测模块及其接口名称和类型;
调用单元,用于根据所述被测模块或接口名称,调用预置的对应的transaction和interface文件;和
添加单元,用于根据被测模块或者接口类型,在所述的类中添加通讯方式。
进一步,所述的UVM环境搭建系统还包括激励文件编写模块,用于采用文本格式编写激励文件。
本发明利用一些常用软件、通过图形输入的方式配置环境所需的组件,可使对于环境设计不熟悉的初学者,利用配置好的图形结构直接生成验证环境,减小了验证工程师的学习、开发难度。
本发明根据配置的图形化结构直接对应验证环境的树形结构,通过解析得到验证环境,节省了验证工程师开发验证环境的时间。并且生成的环境允许改进和完善,验证工程师可以以此为基础,自由发挥搭建自己需要的验证环境。
新编定的激励文件不需要编译,可以直接应用在本发明产生的验证环境中,节省了编译激励文件的时间,从而进一步减小了验证难度,缩短了验证时间,提高了验证效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是现有技术中一个UVM环境树的树形结构图。
图2是本发明提供的一种UVM环境搭建方法的总体流程图。
图3是为本发明采用TXT文本编辑程序配置组件的界面示意图。
图4是本发明采用脚本解析所述图形结构配置文件的流程图;
图5是本发明一实施例在解析后得到的UVM环境树的树形结构图;
图6是本发明激励文件实施例的示意图。
图7是本发明UVM环境搭建系统实施例的原理框图。
图8是本发明所述解析模块实施例的原理框图。
图9是本发明UVM环境搭建系统另一实施例的原理框图。
图10是本发明UVM环境搭建系统又一实施例的原理框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
如图2所示,本发明提供的一种UVM环境搭建方法的总体流程图,所述方法包括:
步骤S1、根据被测模块的接口类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;
步骤S2、解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;
步骤S3、连接被测模块,用于建立起标准的UVM验证环境。
其中,在步骤S1中,所述的组件包括但不限于顶层tb_top、环境顶层uvm_test_top、驱动器driver、检测器moniter、序列器sequencer、仿真模式sim_model、记分板scoreboard等。本发明根据接口的个数及类型,分别配置构成对应env树的组件,因而本发明可以配置多个env树,多棵env树共同生长在一个uvm_test_top上,在同一个验证环境中可以针对多种接口进行验证。
所述的图形输入的方式是指采用图形编辑程序(某一种应用程序)的编辑界面来配置组件。例如,TXT文本编辑程序、WORD文档编辑程序或EXCEL电子表格编辑程序等,当然,也可以使用专门开发的应用程序,在这些专门的应用程序中,可以预置好组件。在配置时,只需选取相应的组件,并建立起其相关关联即可。在这些程序的编辑界面内,按照接口类型,根据UVM环境树的层次及类型配置对应的组件。如图3所示,为采用TXT文本编辑程序配置组件的界面。在该例子中,被测模块是一个名称为xxx的模块,所述模块既有控制接口,又包含数据接口,例如,对于uart(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)模块,包含了ahb控制接口和uart数据接口。ahb控制接口用来控制uart模块的各种工作方式,uart数据接口通过已配置的工作方式,以uart协议的形式传输数据。xxx模块连接外接设备时,xxx数据接口中传输的信号分为输入和输出信号两部分,因而首先在第一层配置env树xxx_env,然后在下一层分别配置输入agent和输出agent,再在两个agent的下一层分别配置序列器sequencer、驱动器driver和检测器monitor。xxx模块的控制信号通过apb总线传输,所以需要为控制总线接口另外配置一棵env树。如图中所示,第一层为apb_env。其下一层为agent,agent下一层配置序列器sequencer、驱动器driver和检测器monitor。从图3中可见,在一个uvm_test_top上配置了两棵树。当采用TXT文本编辑程序配置组件的界面时,在配置完成后生成TXT文本格式的配置文件。
在步骤S2中,在解析所述图形结构的配置文件时,可以通过已经编写好的脚本来解析,过程具体如图4所示。
步骤S21、从所述图形结构的配置文件中提取出组件。如从图3所示的文件中得到环境顶层、env、agent、driver等组件及其所在层次。如xxx_env在第一层,xxx_tx_agent和xxx_rx_agent在xxx_env的下层等等。
步骤S22、根据所述组件所在的层次和类型,生成对应的类。例如,根据xxx_env所在的第一层及其类型,生成xxx_env类。对应的,xxx_tx_agent生成xxx_tx_agent类;xxx_rx_agent生成xxx_rx_agent类;ahb_env生成ahb_env类。
步骤S23、根据类与类之间的关系,建立类之间的关联,从而得到UVM树形结构。例如,根据xxx_env类与xxx_tx_agent类和xxx_rx_agent类之间的关系,生成以xxx_env为父,xxx_tx_agent和xxx_rx_agent为子的结构。如此类推,将所有的组件对应的类建立起关联,从而形成了树形结构。
步骤S24、在得到对应的类之后,生成对应的环境文件。每一种类,生成一种文件,例如,ahb_env.sv、ahb_agent.sv、ahb_monitor.sv、ahb_sequencer.sv、ahb_driver.sv、xxx_tx_agent、xxx_tx_driver、xxxt_tx_monitor、xxx_tx_sequencer、xxx_rx_agent、xxx_rx_driver等类型为systemverilog的文件,里面包括了类,类中包含了UVM组件。
只有这些环境文件还不足以生成UVM环境,还需要生成另外一些必要的文件,即transaction和interface文件。具体生成过程是:
步骤S25、根据所述配置文件确定被测模块及其接口名称和类型。例如确定被测模块为uart,模块中包含ahb控制接口和uart数据接口。在脚本文件中预置了各种不同被测模块的特征、各种接口的特征。通过将配置的被测模块及其接口的特征与这些预置特征相匹配,便可以确定被测模块及其接口名称和类型。另一种确定的方式是:在步骤S1中配置组件时,输入被测模块和接口的名称、类型,因而在配置文件中会记录相关信息,从配置文件中可以直接读取这些信息来得到被测模块与接口的名称和类型。
步骤S26、根据所述被测模块或接口名称,调用预置的对应的transaction和interface文件。如图3所示的例子,共有两个树形结构,因而需要两套对应的transaction和interface文件。
步骤S27、根据被测模块或者接口类型,在所述各个类中添加与其对应的通讯方式,其为UVM专用的通信方式,TLM(Transaction Level Modeling),从而保证环境的正常使用。
并且至少需要两个序列sequence和与之配置的序列器sequencer。所述两个序列sequence,一个用于产生控制接口的激励,另一个或者多个用于产生外设接口的激励,序列器sequencer用于将不同的激励传递到驱动器driver,驱动器driver使用激励驱动被测模块。
在解析的过程中,依据配置文件中uvm_test_top下面有的env分支个数,便可以确定当前有多少UVM环境树。在所述UVM环境树为多个时,当前UVM环境中有至少两个或两个以上的序列sequence和与之配置的序列器sequencer,用于生成激励并传输所述激励,而多个sequence的调用和启动顺序对于验证是否全面起到至关重要的作用。因而,本发明在检测到有多个UVM环境树时,生成一套虚拟序列virtual sequence和虚拟序列器virtualsequencer,用于调用多个UVM环境树中的序列sequence,为整个环境产生激励,并在虚拟序列virtual sequence中实现序列sequence的多种启动顺序,来保证芯片验证的全面性。
如图5所示,为解析图3所示的配置的图形结构后得到的UVM环境树的树形结构图。通过解析图3中配置的组件,生成一个环境以uvm_test_top为顶层,然后生长成两个env系统(即env树)。一个是apb_env、另一个是xxx_env。xxx_env又包含了两个agent,每个agent又包含自己的driver、monitor和sequencer。对应两个env系统解析得到两组interface和transaction。对应每个sequencer都会有一个或者多个sequence用于产生激励。虚拟序列器virtual sequencer中有三个sequencer,对应的,virtual sequence中的对应有三个sequence,实现序列sequence的多种启动顺序。
以uart为例进行说明。生成的这套环境包括了完整的test.sv、及以下组件:apb_env、apb_transaction、apb_agent、apb_driver、apb_monitor、apb_sequencer、uart_env、uart_transaction、uart_tx_agent、uart_tx_driver、uart_tx_monitor、uart_tx_sequencer、uart_rx_agent、uart_rx_driver、uart_rx_monitor、uart_rx_sequencer、virtual_sequence、virtual_sequencer;并且还包括不完整的apb_sequence、uart_tx_sequence、uart_rx_sequence、通过验证工程师的配置而得到产生激励的完整的激励文件。这三个suquence用于产生不同的激励,因为tx这套接口用于xxx模块的输出,所以验证人员可以忽略,验证人员需要填写另外两个sequence的对应激励文件用于产生不同的激励。通过virtual_sequence的调用可以模拟真实芯片的工作环境,自由支配激励同事和顺序产生。
在本发明中,所述序列sequence对应的激励文件为文本格式的文件,具体例子如图6所示。序列sequence调用一个命令解析的内建类,来解析激励文件中的控制命令,不需要编译。当验证一个大型模块的时候,尤其是整个soc模块的验证,序列sequence激励文件的编译非常耗费时间,而采用本发明的激励文件时,每次改动激励都不再需要编译时间,直接仿真即可,因而缩短了验证时间。
本发明激励文件可以解析的激励命令包括但不限于读操作、写操作、延时、打印、读取中断等,可以自由灵活的实现sv(systemverilog)操作。文件中的每一行是一个独立的操作命令;所述操作命令依次包括操作码、操作对象或操作内容。操作码例如write、read、print、dly等;操作对象为寄存器名称,例如,write操作码后面表示寄存器名称的字符,Read操作码后面表示寄存器名称的字符;操作内容例如,print操作码后面表示要打印的内容的字符等。另外,write的寄存器名称后还有第三个字符,其为一个16进制的数值,用以表示要写入寄存器的数值。
在步骤S3中,根据调用的对应的transaction和interface文件,连接被测模块的对应接口,从而建立起标准的UVM验证环境。
UVM验证环境搭建好后,通过脚本的配置方式、excel形式或其他图形、表格等方式生成激励,并将验证环境应用到被测模块的RTL中,然后通过脚本或者图形界面操作验证环境。验证工程师可以根据需要修改环境中的test.sv文件,修改激励文件以生成各种满足验证需求的激励。
如图7所示,为本发明UVM环境搭建系统实施例的原理框图。所述UVM环境搭建系统包括:配置模块1、解析模块2和调用模块3。其中,所述配置模块1用于根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的UVM环境树所需要的组件,并根据配置生成图形结构的配置文件;具体地,所述配置模块为图形编辑程序,例如TXT文本编辑程序或EXCEL电子表格编辑程序或其他类型的编辑程序。对应地,生成的配置文件为TXT格式、EXCEL格式与其他类型的编辑程序相匹配的文件格式。
所述解析模块2与所述的配置模块1相连接,用于得到UVM树形结构及对应的UVM环境文件。具体如图8所示,所述解析模块2包括组件提取单元21、类生成单元22、匹配单元23、调用单元24和添加单元25。其中,组件提取单元21从所述图形结构的配置文件中提取出组件。所述类生成单元22根据组件所在的层次和类型,按照预置定义生成对应的类,并根据所述的类生成树型结构及对应的环境文件;所述匹配单元23根据所述的配置文件,确定被测模块及其接口名称和类型;所述调用单元24根据所述被测模块及其接口名称,调用预置的对应transaction和interface文件;所述添加单元25,用于根据被测模块或者接口类型,在所述多个类中添加通讯方式。调用模块3根据所述的interface文件,调用被测模块的相应接口,从而将建立起的UVM验证环境与被测模块连接起来,得到一个标准的UVM环境。
如图9所示,为本发明UVM环境搭建系统另一实施例的原理框图。本实施例与图7所示的实施例的不同在于,本实施例包括虚拟序列管理器4,用于在所述UVM环境树为多个时,生成一套虚拟序列virtual sequence和虚拟序列器virtual sequencer,用于调用多个UVM环境树中的序列sequence,为整个环境产生激励。每一棵UVM环境树对应一种不同的接口,通过调用模块3根据解析得到的interface文件,与对应的被测模块接口相连接。
如图10所示,为本发明UVM环境搭建系统另一实施例的原理框图。本实施例与图7所示的实施例的不同在于,本实施例还包括激励文件编写模块5,用于采用文本格式编写激励文件。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (9)
1.一种UVM环境搭建方法,其特征在于,包括:
根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;
解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;
连接被测模块,建立起UVM验证环境;
解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件的步骤包括:
从所述图形结构的配置文件中提取出组件;
根据所述组件所在的层次和类型,生成对应的类;
根据类与类之间的关系,建立类之间的关联,从而得到UVM树形结构;
根据所述的类,生成对应的环境文件及相关的环境文件;
还包括:
如果有多个env树的组件,生成一套虚拟序列virtual sequence和虚拟序列器virtualsequencer,用于调用多个env树中的序列sequence,在虚拟序列virtual sequence中实现序列sequence的多种启动顺序,每个所述序列器sequencer对应一个或者多个序列sequence用于产生激励,所述序列sequence对应的激励文件为文本格式的文件,所述文件中的每一行是一个独立的操作命令,所述操作命令依次包括操作码、操作对象或操作内容,所述序列sequence通过调用一个命令解析的内建类来解析所述激励文件中的操作命令。
2.根据权利要求1所述的UVM环境搭建方法,其特征在于,通过图形输入的方式配置与接口对应的组件的步骤包括:
打开图形编辑程序的编辑界面;
在所述编辑界面内,按照接口类型,根据UVM环境中的树的层次及类型配置对应的组件。
3.根据权利要求2所述的UVM环境搭建方法,其特征在于,所述的图形编辑程序包括TXT文本编辑程序、WORD文档编辑程序或EXCEL电子表格编辑程序;对应的,生成的图形结构的配置文件为TXT格式、WORD格式或EXCEL格式。
4.根据权利要求1所述的UVM环境搭建方法,其特征在于,根据所述的类,生成相关环境文件的步骤包括:
根据所述配置文件确定被测模块及其接口名称和类型;
根据所述被测模块或接口名称,调用预置的对应的transaction和interface文件;
根据被测模块或者接口类型,在所述类中添加与其对应的通讯方式。
5.根据权利要求4所述的UVM环境搭建方法,其特征在于,所述连接被测模块的步骤包括:
根据调用的对应的transaction和interface文件,连接被测模块的对应接口,用于建立起UVM验证环境。
6.一种UVM环境搭建系统,其特征在于,包括:
配置模块,用于根据被测模块的接口个数和类型,通过图形输入的方式配置与接口对应的组件,所述组件包括至少包括序列器sequencer、驱动器driver和检测器monitor,生成图形结构的配置文件;
解析模块,用于解析所述图形结构的配置文件,得到UVM树形结构及对应的UVM环境文件;和
调用模块,分别与所述解析模块和被测模块相连接,通过调用被测模块的相应接口建立起UVM验证环境;
所述解析模块包括:
组件提取单元,用于从所述图形结构的配置文件中提取出组件;
类生成单元,用于根据组件所在的层次和类型,按照预置定义生成对应的类,并根据所述的类生成树型结构及对应的环境文件;
还包括:
激励文件编写模块,用于采用文本格式编写激励文件,所述激励文件中的每一行是一个独立的操作命令,所述操作命令依次包括操作码、操作对象或操作内容;
虚拟序列管理器,用于在UVM树形结构中有多个env树时,生成一套虚拟序列virtualsequence和虚拟序列器virtual sequencer,用于调用多个env树中的序列sequence,在虚拟序列virtual sequence中实现序列sequence的多种启动顺序,每个env树中的序列器sequencer对应一个或者多个序列sequence用于产生激励,所述序列sequence通过调用一个命令解析的内建类来解析所述激励文件中的操作命令。
7.根据权利要求6所述的UVM环境搭建系统,其特征在于,所述配置模块为图形编辑程序。
8.根据权利要求7所述的UVM环境搭建系统,其特征在于,所述的图形编辑程序为TXT文本编辑程序、WORD文档编辑程序或EXCEL电子表格编辑程序。
9.根据权利要求6所述的UVM环境搭建系统,其特征在于,所述解析模块还包括:
匹配单元,用于根据所述配置文件确定被测模块及其接口名称和类型;
调用单元,用于根据所述被测模块或接口名称,调用预置的对应的transaction和interface文件;和
添加单元,用于根据被测模块或者接口类型,在所述的类中添加通讯方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711279513.0A CN108038294B (zh) | 2017-12-06 | 2017-12-06 | Uvm环境搭建方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711279513.0A CN108038294B (zh) | 2017-12-06 | 2017-12-06 | Uvm环境搭建方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038294A CN108038294A (zh) | 2018-05-15 |
CN108038294B true CN108038294B (zh) | 2022-01-11 |
Family
ID=62095666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711279513.0A Active CN108038294B (zh) | 2017-12-06 | 2017-12-06 | Uvm环境搭建方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038294B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727583B (zh) * | 2019-09-09 | 2022-11-15 | 无锡江南计算技术研究所 | 一种基于可扩展验证组件构建验证环境的方法 |
CN110888767B (zh) * | 2019-12-19 | 2023-07-28 | 山东方寸微电子科技有限公司 | 一种接口复用模块验证平台架构及快速扩展实现方法 |
CN110765028B (zh) * | 2019-12-27 | 2020-06-09 | 中科寒武纪科技股份有限公司 | 验证环境的可视化搭建方法、装置及存储介质 |
CN111488723B (zh) * | 2020-04-01 | 2023-12-26 | 北京中电华大电子设计有限责任公司 | 一种基于脚本的soc芯片存储控制器自动化仿真验证方法 |
CN112286746B (zh) * | 2020-10-31 | 2023-01-24 | 拓维电子科技(上海)有限公司 | 针对axi从设备接口的通用验证平台及方法 |
CN113297017B (zh) * | 2021-05-07 | 2023-08-29 | 杭州德旺信息技术有限公司 | 一种基于uvm的soc验证系统及方法 |
CN113947047B (zh) * | 2021-10-21 | 2023-09-26 | 杭州云合智网技术有限公司 | 用于验证待测设计的接口连接方法及相关设备 |
CN113947048B (zh) * | 2021-10-21 | 2023-06-27 | 杭州云合智网技术有限公司 | 用于对待测设计进行验证的接口连接方法及相关设备 |
CN114169287B (zh) * | 2021-10-22 | 2022-10-18 | 芯华章科技股份有限公司 | 生成验证环境的连接示意图的方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
CN106202645A (zh) * | 2016-06-29 | 2016-12-07 | 醴陵恒茂电子科技有限公司 | 验证平台cpu参考模型设计方法与系统 |
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268310B (zh) * | 2014-09-05 | 2017-08-29 | 浪潮集团有限公司 | 使用专用图形界面调用uvm验证环境的方法 |
CN105704083A (zh) * | 2014-11-24 | 2016-06-22 | 中兴通讯股份有限公司 | 以太网激励报文的产生方法、装置及仿真系统 |
-
2017
- 2017-12-06 CN CN201711279513.0A patent/CN108038294B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
CN106940428A (zh) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN106202645A (zh) * | 2016-06-29 | 2016-12-07 | 醴陵恒茂电子科技有限公司 | 验证平台cpu参考模型设计方法与系统 |
Non-Patent Citations (2)
Title |
---|
基于UVM可重用验证平台的研究;张怡琳;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315;第16页至21页 * |
基于UVM实现APB-I2C模块的功能验证;牛玉坤等;《工业控制计算机》;20170725;第30卷(第7期);第77页至79页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108038294A (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038294B (zh) | Uvm环境搭建方法和系统 | |
US8443336B2 (en) | System and method for applying model-based testing to train control systems | |
US5953519A (en) | Method and system for generating electronic hardware simulation models | |
US8296699B1 (en) | Method and system for supporting both analog and digital signal traffic on a single hierarchical connection for mixed-signal verification | |
CN102592023B (zh) | 集成电路设计过程中的寄存器设计方法及装置 | |
CN101231589B (zh) | 用于原位开发嵌入式软件的系统和方法 | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
WO2010091623A1 (zh) | 应用程序界面动态生成装置及方法 | |
CN112241347B (zh) | 实现SystemC验证的方法和验证平台组件架构 | |
CN113807037B (zh) | 一种支持soc设计全流程开发的软件和硬件协同仿真系统 | |
Zhaohui et al. | Practical and efficient SOC verification flow by reusing IP testcase and testbench | |
CN104657245A (zh) | 基于amba总线的模块级uvm验证平台的自动生成装置 | |
CN111859834B (zh) | 一种基于uvm的验证平台开发方法、系统、终端及存储介质 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
CN115587558A (zh) | 基于接口的验证环境生成方法及装置、设备和存储介质 | |
CN111212103A (zh) | Sca软件无线电台界面模拟系统和方法 | |
CN103793458B (zh) | 一种将aadl无损转换成xml的方法 | |
US20040015887A1 (en) | Simulation method, simulation system and simulation program for software and hardware | |
CN100433024C (zh) | 软硬件协同仿真通信方法 | |
CN111159032A (zh) | 一种信号驱动的通用自动测试开发系统及系统建立方法 | |
CN109359025B (zh) | 一种电子信息装备自动测试系统及测试方法 | |
CN111460759A (zh) | 一种基于Python语言的EDA验证平台及其使用方法 | |
CN116306392A (zh) | 芯片仿真装置、方法、电子设备和存储介质 | |
Feng et al. | Design and application of reusable SoC verification platform |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing Applicant after: Beijing Xiaomi pinecone Electronic Co., Ltd Address before: 100085 Beijing city Haidian District Qinghe Shun Yip things Park Building 3 unit A Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |