CN111859834A - 一种基于uvm的验证平台开发方法、***、终端及存储介质 - Google Patents
一种基于uvm的验证平台开发方法、***、终端及存储介质 Download PDFInfo
- Publication number
- CN111859834A CN111859834A CN202010537036.9A CN202010537036A CN111859834A CN 111859834 A CN111859834 A CN 111859834A CN 202010537036 A CN202010537036 A CN 202010537036A CN 111859834 A CN111859834 A CN 111859834A
- Authority
- CN
- China
- Prior art keywords
- verification
- uvm
- compiling
- verification platform
- new
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 223
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000011161 development Methods 0.000 title claims abstract description 42
- 238000013515 script Methods 0.000 claims abstract description 26
- 230000010354 integration Effects 0.000 claims abstract description 21
- 238000004088 simulation Methods 0.000 claims abstract description 21
- 238000013461 design Methods 0.000 claims description 25
- 238000012360 testing method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011990 functional testing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 101100540488 Schizosaccharomyces pombe (strain 972 / ATCC 24843) asp1 gene Proteins 0.000 description 2
- 238000013142 basic testing Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于UVM的验证平台开发方法、***、终端及存储介质,包括:预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;代码生成器根据所述集成参数编译流程脚本;仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。本发明通过预定义的相关配置参数的解析,可实现将新的组件和验证IP集成到代码产生器生成的验证环境里,从而扩展成一个新的验证平台。
Description
技术领域
本发明属于验证方法技术领域,具体涉及一种基于UVM的验证平台开发方法、***、终端及存储介质。
背景技术
随着集成电路的飞速发展,芯片行业变得炙手可热,IC开发中用时最多的芯片验证工作也变得越来越重要。作为新一代验证方法学,UVM(“通用验证方法学”)在大规模IC设计验证和FPGA测试验证中被广泛使用到,且随着设计规模的不断增大,基于UVM的验证平台搭建工作量也不断增大,基于验证平台用到的验证组件及VIP的开发、管理、维护以及复用等也越来越重要和复杂。同时,由于SV(“System Verilog,硬件设计和验证语言”)和UVM比较复杂和灵活,同样的功能往往有多种可实现方式,间接的增加验证测试人员在搭建UVM平台的决策难度,对于SV和UVM方法学不是很熟悉的初学者,这样的决策难度更大。
现在各大EDA厂商和企业都在开发相应的验证平台自动化工具,即代码生成器,在开发过程中,验证工程师在掌握了对应验证工具的UVM验证结构特点后,可以直接通过验证平台自动化工具快速的提供完整的验证环境,继而节省构建和调试验证环境的时间,从更高的层面提升整体验证的效率,及早完成芯片验证任务。目前常用的验证平台代码生成器为Doulos的UVM代码生成器-Easier UVM generator,该代码生成器可以通过一系列模板文件、内嵌文件(用户自定义代码)和待测设计文件作为输入,验证环境会根据设定好的验证目录结构解析输入文件所含配置信息,按需生成一套完整的验证平台和仿真流程,验证工程师只需要在仿真路径下执行对应仿真器的仿真脚本就能启动功能仿真验证。该代码生成器分别用碎片化的小程序段内嵌的方式来填充对应的验证组件,只要设置相关路径,就可以将相应的文件中的代码自动同步到对应生成好的代码模块里。该工具不仅可以通过仿真器脚本来直接调用各个EDA仿真器来实现仿真,而且还可以直接支持通过在线仿真网站edaplayground实现在线仿真,极大的方便了UVM学***台开发灵活性。
但这样的代码生成器同时也面临一个很大的问题:如今的各大小项目通常会涉及一些IP地址总线集成相关的模块,而往往这类模块及相关集成的验证会引入对应的验证IP地址,由于简易UVM代码产生器只能通过固定验证框架进行开发,所以如果要将已有的验证IP子验证***集成到项目验证环境里,该工具是无法满足需求的。
发明内容
针对现有技术的上述不足,本发明提供一种基于UVM的验证平台开发方法、***、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种基于UVM的验证平台开发方法,包括:
预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
代码生成器根据所述集成参数编译流程脚本;
仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
进一步的,所述预定义所述验证平台的新的验证组件及其验证IP,包括:
导入新的验证组件及其验证IP的定义包并进行编译;
例化定义包内的接口类并连接到待测设计;
对定义包内的顶层结构进行例化和传递;
对新的组件的序列库进行例化;
对所有验证环境里定序器与新的组件的序列库进行协调同步;
根据待测设计的使用场景创建的测试用例。
进一步的,所述方法还包括:将预定义的集成参数存储在通用模板文件里。
进一步的,所述代码生成器根据所述集成参数编译流程脚本,包括:
代码生成器解析预定义的集成参数来自动生成寄存器模型和相应的功能测试序列,从而将新的组件和验证IP集成到代码产生器生成的验证环境里;
通过所述寄存器模型编译所述开发方法的流程脚本。
进一步的,所述例化所述定义包内的接口类并连接到待测设计,包括:
在验证环境实现对所述接口定义包内的接口类的例化,并完成接口类的传递;
在管脚列表文件里完成接口类和待测设计之间的信号连接。
进一步的,所述对所有验证环境里定序器与新的组件的序列库进行协调同步,包括:
将所有顶层结构的虚拟定序器与所有验证组件及其验证IP的子定序器进行一对一链接;
将虚拟定序器中各子定序器句柄和底层验证组件定序器实体对象的进行一对一链接;
将所有验证组件及其验证IP的序列库和顶层序列进行一对一关联。
进一步的,所述定义包括:顶层定义包和接口定义包。
第二方面,本发明提供一种基于UVM的验证平台开发***,包括:
预定义单元,配置用于预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
脚本编译单元,配置用于代码生成器根据所述集成参数编译流程脚本;
编译仿真单元,配置用于仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
新面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的一种基于UVM的验证平台开发方法、***、终端及存储介质,通过预定义的相关配置参数的解析,可实现将新的组件和验证IP集成到代码产生器生成的验证环境里;通过对通用模板的开发,实现对整个验证平台和所需集成验证组件和验证IP的灵活配置和调用;开发了基于Make工具生成的新的仿真流程脚本,实现了灵活的仿真流程自动化;本发明实现了基于该平台的验证组件的开发和集成,通过该新型的自动生成工具,验证师完全可以抛开复杂的UVM平台结构搭建,通过本专利所提供的参数完成验证组件的集成和配置;对应生成的验证平台无需任何改动就可以直接驱动DUT来开启功能验证仿真;更进一步验证师可以通过该新型验证平台参数的配置随意开关验证组件,很方便的通过该新型验证平的验证组件和验证IP的增减来灵活控制验证平台,从而实现自动快速高效的搭建UVM验证平台,节约了新的组件集成工作80%以上的原有工作量,大大提高了验证工作效率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的***的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
图4是本发明一个实施例的验证平台自动化创建流程的示意性流程图。
图5是本发明一个实施例的自动化验证平台框架示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于UVM的验证平台开发***。
如图1所示,该方法100包括:
步骤110,预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
步骤120,代码生成器根据所述集成参数编译流程脚本;
步骤130,仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
可选地,作为本发明一个实施例,所述预定义所述验证平台的新的验证组件及其验证IP,包括:
导入新的验证组件及其验证IP的定义包并进行编译;
例化定义包内的接口类并连接到待测设计;
对定义包内的顶层结构进行例化和传递;
对新的组件的序列库进行例化;
对所有验证环境里定序器与新的组件的序列库进行协调同步;
根据待测设计的使用场景创建的测试用例。
可选地,作为本发明一个实施例,所述方法还包括:将预定义的集成参数存储在通用模板文件里。
可选地,作为本发明一个实施例,所述代码生成器根据所述集成参数编译流程脚本,包括:
代码生成器解析预定义的集成参数来自动生成寄存器模型和相应的功能测试序列,从而将新的组件和验证IP集成到代码产生器生成的验证环境里;
通过所述寄存器模型编译所述开发方法的流程脚本。
可选地,作为本发明一个实施例,所述例化所述定义包内的接口类并连接到待测设计,包括:
在验证环境实现对所述接口定义包内的接口类的例化,并完成接口类的传递;
在管脚列表文件里完成接口类和待测设计之间的信号连接。
可选地,作为本发明一个实施例,所述对所有验证环境里定序器与新的组件的序列库序列库进行协调同步,包括:
将所有顶层结构的虚拟定序器与所有验证组件及其验证IP的子定序器进行一对一链接;
将虚拟定序器中各子定序器句柄和底层验证组件定序器实体对象的进行一对一链接;
将所有验证组件及其验证IP的序列库和顶层序列进行一对一关联。
可选地,作为本发明一个实施例,所述定义包括:顶层定义包和接口定义包。
为了便于对本发明的理解,下面以本发明一种基于UVM的验证平台开发方法的原理,结合实施例中对验证平台进行集成开发的过程,对本发明提供的一种基于UVM的验证平台开发方法做进一步的描述。
对于一个已经搭建好的层次化的验证平台,如果要扩展和集成新的验证组件和验证IP,一般需要考虑以下几个因素:对新的组件和验证IP的定义包的编译;对验证IP接口类的例化和连接;对整个验证组件的配置,随机化;验证顶层对新的组件的例化,工厂注册等;对新的组件的序列库的例化和调用;对所有验证环境里定序器和序列表的协调同步等一系列操作;对于如上一系列操作,本专利通过对相应关键信息的提取和解析,将其通过参数传递的方法来实现对新的组件的集成、配置和调用,以此来实现整个验证平台的快速灵活搭建。
1、预定义过程。具体的,预定义所述验证平台的新的验证组件及其验证IP的定义过程包括:
(1)验证包导入:导入验证组件包和验证IP包到验证环境中。一个验证组件包里一般包含整个验证组件顶层包和接口包,当指定了包文件和接口类文件后,验证平台会自顶向下去对整个包验证框架做解析、编译和链接,并通过接口类来实现与其他验证组件以及待测设计接口连接。本实施例通过“common_uvc_list”来获取新的组件和验证IP的路径,通过“common_uvc_pkg”和“common_uvc_if”所指定的路径去获取验证组件框架顶层包和接口类的文件定义,相关实现代码示例如下所示:
common_uvc_list=/nfs/park/bus1_dir
common_uvc_pkg=bus1_uvm_pkg.sv
common_uvc_if=bus1_uvm_if.sv
(2)接口传递:在验证环境顶层实现对验证组件和验证IP的接口类的例化,并完成接口类的传递;本实施例里,代码产生器通过对在顶层文件里内嵌程序块的简单定义的提取来实现;相关实现代码示例如下所示:
bus1_uvm_if bus1_uvm_if_0();
uvm_config_db#(virtual
bus1_uvm_if)::set(uvm_root::get(),”*”,”vif”,bus1_uvm_if_0);
(3)接口连接:在管脚列表文件里完成接口类信号和待测设计相关信号的
连接,以此来实现验证组件对待测试设计的驱动和检测;相关实现代码示
例如下所示:
#DUT input/output UVC interface signal
Bus1_rx bus1_uvm_if_0.tx
Bus1_tx bus1_uvm_if_0.rx
Bus1_enable bus1_uvm_if_0.enable
(4)顶层定义:对于新的组件和验证IP的集成,要根据项目需求在顶层环境类(top_env)里创建并例化该验证组件的顶层结构(sub_top),比如例化该组件环境类(env)为组件顶层结构,或者例化代理器(agent)为组件顶层结构,对应的如果有配置类的话也需要完成创建、例化和传递;在本实施例中通过“common_uvc_inst”参数完成实现;相关实现代码示例如下所示:
common_uvc_inst=bus1_uvm_env
common_uvc_inst=bus1_uvm_config
(5)序列桥接1:所有验证组件的序列(sequence)必须通过挂载在定序器(sequencer)来完成事务项的传递,所以验证顶层的虚拟定序器里需要链接所有验证组件和验证IP的子定序器,以此来完成底层定序器的桥接,同时需要在验证顶层的连接阶段(connect_phase)做好虚拟定序器中各子定序器句柄和底层验证组件定序器实体对象的一一对接;该实现方法可通过“seqr_add_name”参数来完成;相关实现代码示例如下所示:
seqr_add_name=bus1_uvm_sequencer
序列桥接2:定序器在顶层和底层之间的链接做好了,我们需要将所有验证组件和验证IP的序列库和顶层虚拟序列关联起来,实现调配;在本实施例里我们通过“seq_add_name”参数将所有组件的基础序列(base sequence)一一创建到顶层的虚拟序列(topvirtual sequence)里,接着实现和相应验证组件虚拟定序器的对接,并进一步完成序列随机化;相关实现代码示例如下所示:
seq_add_name=bus1_uvm_base_seq
(6)顶层驱动:以上已实现所有验证组件和验证IP的集成和配置,我们需要根据待测设计使用场景创建相应的测试用例来调用各个验证组件序列并通过验证平台顶层环境完成激励传递。由于各个项目验证场景多种多样,对于测试用例的开发和对验证组件序列的不同配置、调用也千差万别,验证师需要仔细阅读项目规格书来开发所有测试用例;
在本实施例中由于在顶层虚拟序列里已经例化了所有底层组件的基础序列(basesequence);所以对于顶层序列库的开发,验证师要想重新定义相应验证功能点的顶层序列的话,只需从顶层基础序列做扩展(extend),然后在序列的创建阶段(build_phase)里对不同验证组件序列的基础序列重写(overwrite)就能完成顶层序列库的开发;同时我们需要将开发好的顶层序列通过“top_seq_inc”参数来实现所有顶层序列在验证平台的集成和调用;同样的我们需要从顶层基础测试(base_test)来扩展不同测试点的测试用例,和顶层序列的开发相同,验证师只需在测试用例里通过基础测试的重写来集成和启动相应的顶层序列;相关实现代码示例如下所示:
top_seq_inc=top_bus1_tx_seq
top_test_inc=top_bus1_tx_test
此外,在本实施例中,针对新的组件和验证IP集成和开发所实现的所有参数信息都在通用模板文件里完成定义,新的代码产生器会一一解析所有信息,然后自动生成所有验证环境所需内容。这样可以不影响原有工具的功能实现,并能完美兼容本发明专利,保证兼容性。
所述方法100所实现的对应的验证平台自动化创建流程如下图4所示,基于所述方法生成的一个典型的验证平台框架如下图5所示。
在图4中,其中“输入文件”列的“VIP/UVC参数指令”和“VIP/UVC集成代码段”为本实施例对应的参数输入和代码段配置;“第三方验证IP/验证组件”为导入的第三方验证模块。“输出文件”列中“仿真目录”、“验证平台顶层”、“测试用例”和“内嵌代码目录”为本实施例对原有生成模块的优化更新以及为实现本方法而引进的新的模块和代码段生成。
在图5中,顶层验证环境包含了两大验证组件,“bus1环境”为通过接口模板文件生成的一个总线验证组件,“vip1环境”为集成好的新的(第三方验证)模块组件,“vip1主代理器”、“vip1从代理器”的“监视器”以及与两者通信连接的vip1接口,是原有新的(第三方验证)子组件类。两大验证组件里所有的子配置类通过顶层配置类解析相关配置参数实现整个验证环境里组件类的配置调用;总线验证组件里所有的子组件类通过接口模板文件里对应的参数实现配置,新的(第三方验证)模块组件里所有的子组件类通过通用模板文件来实现配置;其中,图5中所有虚线方框表示该组件类存在但结合项目需求无需被调用;所有验证组件通过接口类参数的解析实现和待测设计的接口对接;所述测试用例通过顶层序列重写协调调配各个底层验证组件序列,然后通过顶层定序器分发给各个子组件的子定序器,最后送给各个组件驱动器。
图5顶层环境里“顶层寄存器模型”、“参考模型”、“计分板”和“检测器”为本实施例发阶段的功能实现。该部分具体实现过程:验证师基于设计规格书里寄存器相关内容的描述通过寄存器描述语言进行寄存器信息提取,然后结合通用模板文件里对应寄存器参数的解析来自动生成寄存器模型和相应的功能测试序列,并进一步实现通过寄存器模型、验证平台参考模型和计分板来完成组件之间的信息传递和对比,最终完成验证平台检测功能自动化。
如图2示,该***200包括:
预定义单元210,配置用于预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
脚本编译单元220,配置用于代码生成器根据所述集成参数编译流程脚本;
编译仿真单元230,配置用于仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
图3为本发明实施例提供的一种终端***300的结构示意图,该终端***300可以用于执行本发明实施例提供的一种基于UVM的验证平台开发方法。
其中,该终端***300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明所生成的验证环境自始至终都是通过工具自动生成,用户完全不需要手动去修改任何已经生成好的验证环境,如果在验证阶段某个节点因为项目本身原因(如设计结构有更新,设计端口有变化,验证架构有改动等)、或者工具本身有更新的话,用户可以基于工具输入参数的调整,随时生成能完全适用于当前阶段验证需求的验证环境。同时如果有项目复用需求(垂直复用或水平复用)的话,用户只需要将原有的输入配置文件导入新项目即可,极大的提高了验证环境的灵活性,可扩展性和可复用性。本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,***或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于UVM的验证平台开发方法,其特征在于,包括:
预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
代码生成器根据所述集成参数编译流程脚本;
仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
2.根据权利要求1所述的一种基于UVM的验证平台开发方法,其特征在于,所述预定义所述验证平台的新的验证组件及其验证IP,包括:
导入新的验证组件及其验证IP的定义包并进行编译;
例化定义包内的接口类并连接到待测设计;
对定义包内的顶层结构进行例化和传递;
对新的组件的序列库进行例化;
对所有验证环境里定序器与新的组件的序列库进行协调同步;
根据待测设计的使用场景创建的测试用例。
3.根据权利要求1所述的一种基于UVM的验证平台开发方法,其特征在于,所述方法还包括:将预定义的集成参数存储在通用模板文件里。
4.根据权利要求1所述的一种基于UVM的验证平台开发方法,其特征在于,所述代码生成器根据所述集成参数编译流程脚本,包括:
代码生成器解析预定义的集成参数来自动生成寄存器模型和相应的功能测试序列,从而将新的组件和验证IP集成到代码产生器生成的验证环境里;
通过所述寄存器模型编译所述开发方法的流程脚本。
5.根据权利要求2所述的一种基于UVM的验证平台开发方法,其特征在于,所述例化所述定义包内的接口类并连接到待测设计,包括:
在验证环境实现对所述接口定义包内的接口类的例化,并完成接口类的传递;
在管脚列表文件里完成接口类和待测设计之间的信号连接。
6.根据权利要求2所述的一种基于UVM的验证平台开发方法,其特征在于,所述对所有验证环境里定序器与新的组件的序列库进行协调同步,包括:
将所有顶层结构的虚拟定序器与所有验证组件及其验证IP的子定序器进行一对一链接;
将虚拟定序器中各子定序器句柄和底层验证组件定序器实体对象的进行一对一链接;
将所有验证组件及其验证IP的序列库和顶层序列进行一对一关联。
7.根据权利要求2所述的一种基于UVM的验证平台开发方法,其特征在于,所述定义包括:顶层定义包和接口定义包。
8.一种基于UVM的验证平台开发***,其特征在于,包括:
预定义单元,配置用于预定义所述验证平台的新的验证组件及其验证IP,得到集成参数;
脚本编译单元,配置用于代码生成器根据所述集成参数编译流程脚本;
编译仿真单元,配置用于仿真器调用所述编译流程脚本完成验证平台的编译和验证仿真工作。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537036.9A CN111859834B (zh) | 2020-06-12 | 2020-06-12 | 一种基于uvm的验证平台开发方法、***、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010537036.9A CN111859834B (zh) | 2020-06-12 | 2020-06-12 | 一种基于uvm的验证平台开发方法、***、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859834A true CN111859834A (zh) | 2020-10-30 |
CN111859834B CN111859834B (zh) | 2023-04-14 |
Family
ID=72986824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010537036.9A Active CN111859834B (zh) | 2020-06-12 | 2020-06-12 | 一种基于uvm的验证平台开发方法、***、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859834B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988602A (zh) * | 2021-04-30 | 2021-06-18 | 北京欣博电子科技有限公司 | 验证平台的生成方法、装置、计算机设备和存储介质 |
CN113835787A (zh) * | 2021-10-11 | 2021-12-24 | 杭州云合智网技术有限公司 | 应用于vip的访问者模式方法 |
CN116306388A (zh) * | 2023-05-23 | 2023-06-23 | 苇创微电子(上海)有限公司 | 一种免除路径连接的自动化uvm验证平台及其搭建方法 |
CN116627496A (zh) * | 2023-03-08 | 2023-08-22 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、***与电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
CN109726061A (zh) * | 2019-01-07 | 2019-05-07 | 上海琪埔维半导体有限公司 | 一种SoC芯片的验证方法 |
-
2020
- 2020-06-12 CN CN202010537036.9A patent/CN111859834B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657245A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 基于amba总线的模块级uvm验证平台的自动生成装置 |
CN106503308A (zh) * | 2016-10-08 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 一种基于uvm的can控制器ip验证平台 |
CN109726061A (zh) * | 2019-01-07 | 2019-05-07 | 上海琪埔维半导体有限公司 | 一种SoC芯片的验证方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988602A (zh) * | 2021-04-30 | 2021-06-18 | 北京欣博电子科技有限公司 | 验证平台的生成方法、装置、计算机设备和存储介质 |
CN112988602B (zh) * | 2021-04-30 | 2021-11-12 | 北京欣博电子科技有限公司 | 验证平台的生成方法、装置、计算机设备和存储介质 |
CN113835787A (zh) * | 2021-10-11 | 2021-12-24 | 杭州云合智网技术有限公司 | 应用于vip的访问者模式方法 |
CN116627496A (zh) * | 2023-03-08 | 2023-08-22 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、***与电子设备 |
CN116627496B (zh) * | 2023-03-08 | 2023-12-29 | 南京金阵微电子技术有限公司 | 基于uvm的寄存器模型构建、验证方法、***与电子设备 |
CN116306388A (zh) * | 2023-05-23 | 2023-06-23 | 苇创微电子(上海)有限公司 | 一种免除路径连接的自动化uvm验证平台及其搭建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111859834B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111859834B (zh) | 一种基于uvm的验证平台开发方法、***、终端及存储介质 | |
CN106940428B (zh) | 芯片验证方法、装置及*** | |
Bringmann et al. | Model-based testing of automotive systems | |
US5923867A (en) | Object oriented simulation modeling | |
US5872957A (en) | Method for flexible simulation modeling of multi-component systems | |
CN110008113B (zh) | 一种测试方法、装置、电子设备 | |
CN113342583B (zh) | 芯片验证***、方法、装置、设备和存储介质 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
JP2007172444A (ja) | 検証作業支援システム及びその方法 | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
CN116719729B (zh) | 通用验证平台、通用验证方法、介质及电子设备 | |
CN116431103B (zh) | 一种面向嵌入式软件的数字化DevOps平台设计方法 | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证***及其应用 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
US6813751B2 (en) | Creating standard VHDL test environments | |
Andrén et al. | Towards automated engineering and validation of cyber-physical energy systems | |
CN113885426A (zh) | 一种挖掘机控制程序plc代码自动生成方法、测试方法及可视化测试*** | |
CN115391168A (zh) | 沙盒测试方法、装置、设备及存储介质 | |
CN111338761A (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
KR100939642B1 (ko) | 소프트웨어 기반의 스티뮬러스를 생성하는 검증 장치, 상기검증 장치를 이용한 검증 방법 및 소프트웨어 기반의 스티뮬러스를 생성하는 프로그램이 구비된 컴퓨터 기록매체 | |
US9886538B1 (en) | System and method for using heterogeneous hierarchical configurations for electronic design reuse | |
Tang et al. | Research and implementation of an automatic simulation tool | |
CN117933155B (zh) | 一种多进程联合仿真***及方法、电子设备和存储介质 | |
US20230267253A1 (en) | Automated synthesis of virtual system-on-chip environments |
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 |