CN113434355A - 模块验证方法、uvm验证平台、电子设备及存储介质 - Google Patents

模块验证方法、uvm验证平台、电子设备及存储介质 Download PDF

Info

Publication number
CN113434355A
CN113434355A CN202110985008.8A CN202110985008A CN113434355A CN 113434355 A CN113434355 A CN 113434355A CN 202110985008 A CN202110985008 A CN 202110985008A CN 113434355 A CN113434355 A CN 113434355A
Authority
CN
China
Prior art keywords
interface
module
array
input data
data
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
Application number
CN202110985008.8A
Other languages
English (en)
Other versions
CN113434355B (zh
Inventor
王莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110985008.8A priority Critical patent/CN113434355B/zh
Publication of CN113434355A publication Critical patent/CN113434355A/zh
Priority to PCT/CN2021/127408 priority patent/WO2023024251A1/zh
Priority to US18/259,691 priority patent/US11893331B2/en
Application granted granted Critical
Publication of CN113434355B publication Critical patent/CN113434355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response

Abstract

本申请公开了一种模块验证方法、UVM验证平台、电子设备及存储介质,上述方法包括:确定待验模块对应的transaction类,在回调函数中实例化第一接口;通过总线协议向待验模块发送输入数据,按照输入数据的地址将所有输入数据依次添加至第一接口的数组中;在monitor模块中实例化第二接口,并按照输出数据的地址将所有输出数据依次添加至第二接口的数组中;对第一接口的数组和第二接口的数组中相同地址的数据进行对比,根据对比结果输出待验模块的验证结果。本申请能够避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性。本申请还公开了一种UVM验证平台、一种电子设备及一种存储介质,具有以上有益效果。

Description

模块验证方法、UVM验证平台、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种模块验证方法、UVM验证平台、电子设备及存储介质。
背景技术
通用验证方法学(Universal Verification Methodology,UVM)是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。
传统的UVM验证平台中的记分板是将参考模型和待验模块(Device Under Test,DUT)的结果打包通过UVM提供的tlm(事务级建模)级通信传送到记分板进行顺序的、逐一比对,如果比对结果有不一致,则表示运算错误。在实际应用中,多数总线支持乱序传输,即待验模块输出的实际待验证结果并不是和发送的数据同步的,可能会出现早发送的数据,输出结果后到情况的,如果还按照顺序逐一对比的方式对比,就可能出现错误的验证结果。
因此,如何避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种模块验证方法、一种UVM验证平台、一种电子设备及一种存储介质,能够避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性。
为解决上述技术问题,本申请提供一种模块验证方法,应用于UVM验证平台,该模块验证方法包括:
确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;
对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果。
可选的,在确定待验模块对应的transaction类之前,还包括:
声明预设类型的接口;其中,所述预设类型的接口中包括logic类型的数组;
相应的,所述第一接口和所述第二接口均为所述预设类型的接口。
可选的,对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,包括:
将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板;
利用所述计分板对相同地址的输入数据和输出数据进行对比。
可选的,按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中,包括:
使用寄信的方式按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
相应的,按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中,包括:
使用寄信的方式按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中。
可选的,将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板包括:
控制所述UVM验证平台的计分板使用收信的方式分别获取所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据。
可选的,在所述transaction类的回调函数中实例化第一接口,包括:
在所述transaction类的回调函数post_randomize中实例化所述第一接口。
可选的,所述根据对比结果输出所述待验模块的验证结果,包括:
根据所述对比结果判断所述输入数据和所述输出数据是否相同;
若是,则判定所述待验模块通过验证;
若否,则判定所述待验模块未通过验证并报错。
本申请还提供了一种UVM验证平台,包括:
接口实例化模块,用于确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
输入数据添加模块,用于通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
输出数据添加模块,用于在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;
数据对比模块,用于对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述模块验证方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述模块验证方法执行的步骤。
本申请提供了一种模块验证方法,应用于UVM验证平台,包括:确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果。
本申请在transaction类中实例化第一接口,进而利用第一接口存储待验模块发送的输入数据。由于输入数据基于总线协议发送,因此输入数据中包括唯一对应的地址,本申请基于输入数据在总线中传输时的地址将输入数据依次添加至所述第一接口的数组中,即第一接口的数组中输入数据按照地址的顺序排列。在将输入数据输入至待验模块之后,待验模块对输入数据进行处理得到输出数据。输出数据与输入数据在总线中传输时的地址不发生变化,因此本申请按照输出数据的地址将所有输出数据依次添加至所述第二接口的数组中。由于输入数据和输出数据均按照地址依次存储在第一接口的数组和第二接口的数组,能够保证第一接口的数组和第二接口的数组中的数据序列关系相同,不出现乱序的情况。本申请基于第一接口的数组和所述第二接口的数组中相同地址的数据对比结果得到相应的验证结果。因此,本申请能够避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性。本申请同时还提供了一种UVM验证平台、一种电子设备及一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种模块验证方法的流程图;
图2为本申请实施例所提供的一种UVM验证平台的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种模块验证方法的流程图。
具体步骤可以包括:
S101:确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
本实施例可以应用于UVM验证平台,UVM验证平台提供了一套基于System-Verilog语言的库文件,能够提高数字电路的验证效率。UVM验证平台的库文件包含了众多常用的基类和方法,也规范了验证平台的结构和运行过程,使得验证人员能够快速有效的搭建出标准化的验证平台。Soc(System on chip,系统级芯片)工程的规模越来越大,系统越来越复杂,验证的难度也响应增加,利用UVM能有利于适应验证的需求,提高验证环境的复用性提高验证效率。
transaction是UVM验证平台中定义的一个类(class),transaction类(业务类)中打包了所有测试要用的数据。每一待验模块都可以有其对应的transaction类,本实施例在确定待验模块之后,确定待验模块对应的transaction类,进而在transaction类的回调函数中实例化第一接口。第一接口中可以含有logic(逻辑)类型的数组,以便存储输入数据。具体的,本实施例可以在transaction类的回调函数post_randomize中实例化所述第一接口。
S102:通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
其中,UVM验证平台可以通过总线协议向待验模块发送输入数据,以便待验模块对输入数据进行处理。上述输入数据可以为随机生成的数据,在使用总线协议向待验模块发送输入数据时,每一输入数据都有其唯一对应的地址,待验模块对输入数据进行处理后得到的结果中上述地址不发生变化。本实施例按照输入数据的地址将所有的输入数据依次添加至第一接口的数组中,具体的,本实施例可以按照地址从小到大的顺序依次添加至第一接口的数组中。
S103:在所述UVM验证平台的monitor模块(监控模块)中实例化第二接口,并按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中;
其中,UVM验证平台的monitor模块用于对待验模块的输出数据进行监控,上述输出数据为所述待验模块对所述输入数据的处理结果。本实施例在所述UVM验证平台的monitor模块中实例化第二接口,上述第二接口中可以含有logic类型的数组,以便存储输出数据。本实施例按照输出数据的地址将所有的输入数据依次添加至第二接口的数组中,具体的,本实施例可以按照地址从小到大的顺序依次添加至第二接口的数组中。
S104:对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果。
其中,第一接口的数组中的输入数据按照地址存储,第二接口的数组中的输出数据按照同样的地址存储,因此本实施例可以对第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,进而根据对比文结果输出待验模块的验证结果。举例说明上述过程,第一接口的数组中存储的输入数据依次为A1、A2和A3,待验模块先后输出的结果为A2’、A3’、A1’,按照地址存储时,第一接口的数组中存储的输出数据依次为A1’、A2’和A3’,对第一接口的数组和第二接口的数组中相同地址的数据进行对比时可以将A1与A1’对比,将A2与A2’对比,将A3与A3’对比,进而避免了输出结果乱序对于验证结果的影响。
本实施例在transaction类中实例化第一接口,进而利用第一接口存储待验模块发送的输入数据。由于输入数据基于总线协议发送,因此输入数据中包括唯一对应的地址,本实施例基于输入数据在总线中传输时的地址将输入数据依次添加至所述第一接口的数组中,即第一接口的数组中输入数据按照地址的顺序排列。在将输入数据输入至待验模块之后,待验模块对输入数据进行处理得到输出数据。输出数据与输入数据在总线中传输时的地址不发生变化,因此本实施例按照输出数据的地址将所有输出数据依次添加至所述第二接口的数组中。由于输入数据和输出数据均按照地址依次存储在第一接口的数组和第二接口的数组,能够保证第一接口的数组和第二接口的数组中的数据序列关系相同,不出现乱序的情况。本实施例基于第一接口的数组和所述第二接口的数组中相同地址的数据对比结果得到相应的验证结果。因此,本实施例能够避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性。本实施例实现输入到待验模块的数据和待验模块输出的结果数据连接到一个接口(interface)上,通过改变接口的数值来保存数据进行对比,使UVM验证平台能适应更多测试场景,验证更加灵活高效。
作为对于图1对应实施例的进一步介绍,在确定待验模块对应的transaction类之前,还可以声明预设类型的接口;其中,所述预设类型的接口中包括logic类型的数组;相应的,所述第一接口和所述第二接口均为所述预设类型的接口。
作为对于图1对应实施例的进一步介绍,可以使用UVM验证平台的计分板实现输入数据与输出数据的对比。例如,可以将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板,利用所述计分板对相同地址的输入数据和输出数据进行对比。
具体的,本实施例可以使用寄信的方式按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;也可以使用寄信的方式按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中。所述计分板使用收信的方式分别获取所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据。
作为一种可行的实施方式,图1对应的实施例可以通过以下方式确定待验模块的验证结果:根据所述对比结果判断所述输入数据和所述输出数据是否相同;若是,则判定所述待验模块通过验证;若否,则判定所述待验模块未通过验证并报错。
下面通过在实际应用中的实施例说明上述实施例描述的流程,本实施例提供一种基于UVM的总线乱序报文的验证平台,该验证平台的乱序报文结果对比的工作步骤描述如下:
步骤1、声明一个接口A,里面包含一个深度和实际测试中memory(内存)地址范围相等的logic类型的数组。上述memory即内存地址,用一个数组模拟总线的数据要存储的内存。
步骤2、在transaction的post_randomize这个回调函数中,实例化一个A类型的接口A1,并将随机化产生的transaction的数据按照需要测试的总线协议的要求,按照地址驱动,保存在该接口的数组上。
步骤3、在monitor模块,实例化另一个A类型的接口A2,监控待验模块的输出数据,然后按照总线协议的规范和地址驱动到接口A2上,保存在数组中。
步骤4、用config_db机制在平台不同模块之间传递接口。在测试环境的顶层,分别使用uvm_config_db#( virtual interface A)::set的方式寄信上述两个模块中的A1和A2接口。
步骤5、在计分板中,使用uvm_config_db#(virtual interface A)::get的方式收信,分别获得A1和A2的接口的参数。并且在计分板中对两个接口内保存的数组数据进行对比。
步骤6、因为数据是按照地址驱动在接口的数组上保存,所以可以规避总线传输过程中乱序的问题,直接对比待验模块的输出结果存储在memory对应地址上的数据和平台一开始随机产生发送的数据是否相等。
本实施例实现输入到待验模块的数据和待验模块输出的结果数据连接到一个接口(interface)上,通过改变接口的数值来保存数据进行对比,使UVM验证平台能适应更多测试场景,验证更加灵活高效。
请参见图2,图2为本申请实施例所提供的一种UVM验证平台的结构示意图,该UVM验证平台可以包括:
接口实例化模块201,用于确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
输入数据添加模块202,用于通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
输出数据添加模块203,用于在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;
数据对比模块204,用于对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果。
本实施例在transaction类中实例化第一接口,进而利用第一接口存储待验模块发送的输入数据。由于输入数据基于总线协议发送,因此输入数据中包括唯一对应的地址,本实施例基于输入数据在总线中传输时的地址将输入数据依次添加至所述第一接口的数组中,即第一接口的数组中输入数据按照地址的顺序排列。在将输入数据输入至待验模块之后,待验模块对输入数据进行处理得到输出数据。输出数据与输入数据在总线中传输时的地址不发生变化,因此本实施例按照输出数据的地址将所有输出数据依次添加至所述第二接口的数组中。由于输入数据和输出数据均按照地址依次存储在第一接口的数组和第二接口的数组,能够保证第一接口的数组和第二接口的数组中的数据序列关系相同,不出现乱序的情况。本实施例基于第一接口的数组和所述第二接口的数组中相同地址的数据对比结果得到相应的验证结果。因此,本实施例能够避免总线乱序传输对模块验证结果的影响,提高UVM验证平台的可靠性。
可选的,还包括:
接口声明模块,用于在确定待验模块对应的transaction类之前,声明预设类型的接口;其中,所述预设类型的接口中包括logic类型的数组;
相应的,所述第一接口和所述第二接口均为所述预设类型的接口。
进一步的,数据对比模块204,用于将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板;还用于利用所述计分板对相同地址的输入数据和输出数据进行对比。
进一步的,输入数据添加模块202用于使用寄信的方式按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
相应的,输出数据添加模块203用于使用寄信的方式按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中。
进一步的,所述计分板使用收信的方式分别获取所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据。
进一步的,接口实例化模块201用于在所述transaction类的回调函数post_randomize中实例化所述第一接口。
进一步的,数据对比模块204,用于根据所述对比结果判断所述输入数据和所述输出数据是否相同;若是,则判定所述待验模块通过验证;若否,则判定所述待验模块未通过验证并报错。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种模块验证方法,其特征在于,应用于UVM验证平台,包括:
确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;
对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果;
其中,对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,包括:
将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板;
利用所述计分板对相同地址的输入数据和输出数据进行对比。
2.根据权利要求1所述模块验证方法,其特征在于,在确定待验模块对应的transaction类之前,还包括:
声明预设类型的接口;其中,所述预设类型的接口中包括logic类型的数组;
相应的,所述第一接口和所述第二接口均为所述预设类型的接口。
3.根据权利要求1所述模块验证方法,其特征在于,按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中,包括:
使用寄信的方式按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
相应的,按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中,包括:
使用寄信的方式按照输出数据的地址将所有所述输出数据依次添加至所述第二接口的数组中。
4.根据权利要求3所述模块验证方法,其特征在于,将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板,包括:
控制所述UVM验证平台的计分板使用收信的方式分别获取所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据。
5.根据权利要求1所述模块验证方法,其特征在于,在所述transaction类的回调函数中实例化第一接口,包括:
在所述transaction类的回调函数post_randomize中实例化所述第一接口。
6.根据权利要求1至5任一项所述模块验证方法,其特征在于,所述根据对比结果输出所述待验模块的验证结果,包括:
根据所述对比结果判断所述输入数据和所述输出数据是否相同;
若是,则判定所述待验模块通过验证;
若否,则判定所述待验模块未通过验证并报错。
7.一种UVM验证平台,其特征在于,包括:
接口实例化模块,用于确定待验模块对应的transaction类,并在所述transaction类的回调函数中实例化第一接口;
输入数据添加模块,用于通过总线协议向所述待验模块发送输入数据,并按照所述输入数据的地址将所有所述输入数据依次添加至所述第一接口的数组中;
输出数据添加模块,用于在所述UVM验证平台的monitor模块中实例化第二接口,并按照输出数据的地址将所有输出数据依次添加至所述第二接口的数组中;其中,所述输出数据为所述待验模块对所述输入数据的处理结果;
数据对比模块,用于对所述第一接口的数组和所述第二接口的数组中相同地址的数据进行对比,并根据对比结果输出所述待验模块的验证结果;
其中,所述数据对比模块,用于将所述第一接口的数组中的输入数据和所述第二接口的数组中的输出数据发送至所述UVM验证平台的计分板;所述数据对比模块,还用于利用所述计分板对相同地址的输入数据和输出数据进行对比。
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至6任一项所述模块验证方法的步骤。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至6任一项所述模块验证方法的步骤。
CN202110985008.8A 2021-08-26 2021-08-26 模块验证方法、uvm验证平台、电子设备及存储介质 Active CN113434355B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110985008.8A CN113434355B (zh) 2021-08-26 2021-08-26 模块验证方法、uvm验证平台、电子设备及存储介质
PCT/CN2021/127408 WO2023024251A1 (zh) 2021-08-26 2021-10-29 模块验证方法、uvm验证平台、电子设备及存储介质
US18/259,691 US11893331B2 (en) 2021-08-26 2021-10-29 Device verification method, UVM verification platform, electronic apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110985008.8A CN113434355B (zh) 2021-08-26 2021-08-26 模块验证方法、uvm验证平台、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113434355A true CN113434355A (zh) 2021-09-24
CN113434355B CN113434355B (zh) 2021-12-17

Family

ID=77797935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110985008.8A Active CN113434355B (zh) 2021-08-26 2021-08-26 模块验证方法、uvm验证平台、电子设备及存储介质

Country Status (3)

Country Link
US (1) US11893331B2 (zh)
CN (1) CN113434355B (zh)
WO (1) WO2023024251A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779912A (zh) * 2021-11-12 2021-12-10 上海燧原科技有限公司 一种芯片验证系统、方法、装置、电子设备及存储介质
CN113947048A (zh) * 2021-10-21 2022-01-18 杭州云合智网技术有限公司 用于对待测设计进行验证的接口连接方法及相关设备
CN114330221A (zh) * 2021-11-22 2022-04-12 北京百度网讯科技有限公司 计分板实现方法、计分板、电子设备及存储介质
WO2023024251A1 (zh) * 2021-08-26 2023-03-02 苏州浪潮智能科技有限公司 模块验证方法、uvm验证平台、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034855B (zh) * 2023-09-28 2024-01-02 芯动微电子科技(武汉)有限公司 一种基于uvm的哈希交织算法的验证方法与平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2386075A1 (fr) * 1977-03-28 1978-10-27 Ibm Controleur de canal dans un systeme de traitement de donnees
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN110618929A (zh) * 2019-08-01 2019-12-27 广东工业大学 一种基于uvm的对称加密算法的验证平台和验证方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748536B2 (en) * 2018-11-28 2023-09-05 SiFive, Inc. Automated microprocessor design
CN110046387B (zh) 2019-03-14 2022-04-08 广东工业大学 一种基于uvm的sm2模块验证平台及验证方法
WO2020205629A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Autonomous vehicle system
CN112949231B (zh) 2021-02-26 2023-01-24 浪潮电子信息产业股份有限公司 一种基于uvm验证平台的模块验证系统、方法及设备
CN113434355B (zh) 2021-08-26 2021-12-17 苏州浪潮智能科技有限公司 模块验证方法、uvm验证平台、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2386075A1 (fr) * 1977-03-28 1978-10-27 Ibm Controleur de canal dans un systeme de traitement de donnees
CN106503308A (zh) * 2016-10-08 2017-03-15 中国电子科技集团公司第五十八研究所 一种基于uvm的can控制器ip验证平台
CN110618929A (zh) * 2019-08-01 2019-12-27 广东工业大学 一种基于uvm的对称加密算法的验证平台和验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
习建博 等: "基于UVM方法的FPGA验证技术", 《电子科学技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024251A1 (zh) * 2021-08-26 2023-03-02 苏州浪潮智能科技有限公司 模块验证方法、uvm验证平台、电子设备及存储介质
US11893331B2 (en) 2021-08-26 2024-02-06 Inspur Suzhou Intelligent Technology Co., Ltd. Device verification method, UVM verification platform, electronic apparatus and storage medium
CN113947048A (zh) * 2021-10-21 2022-01-18 杭州云合智网技术有限公司 用于对待测设计进行验证的接口连接方法及相关设备
CN113779912A (zh) * 2021-11-12 2021-12-10 上海燧原科技有限公司 一种芯片验证系统、方法、装置、电子设备及存储介质
CN114330221A (zh) * 2021-11-22 2022-04-12 北京百度网讯科技有限公司 计分板实现方法、计分板、电子设备及存储介质
CN114330221B (zh) * 2021-11-22 2022-09-23 北京百度网讯科技有限公司 计分板实现方法、计分板、电子设备及存储介质

Also Published As

Publication number Publication date
CN113434355B (zh) 2021-12-17
US20230394208A1 (en) 2023-12-07
US11893331B2 (en) 2024-02-06
WO2023024251A1 (zh) 2023-03-02

Similar Documents

Publication Publication Date Title
CN113434355B (zh) 模块验证方法、uvm验证平台、电子设备及存储介质
CN106940428B (zh) 芯片验证方法、装置及系统
US6188975B1 (en) Programmatic use of software debugging to redirect hardware related operations to a hardware simulator
RU2430409C2 (ru) Методология измерения покрытия в структурном состоянии взаимного соединения
CN113342583B (zh) 芯片验证系统、方法、装置、设备和存储介质
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN111859834B (zh) 一种基于uvm的验证平台开发方法、系统、终端及存储介质
CN110941934A (zh) 一种fpga原型验证开发板分割仿真系统、方法、介质及终端
CN114265730A (zh) 模块级中断的验证平台和方法
CN116681013B (zh) 网络芯片的仿真验证方法、平台、装置、设备及介质
CN112561690A (zh) 信用卡分期业务接口的测试方法、系统、设备及存储介质
CN112699648B (zh) 数据处理方法及装置
CN113792522A (zh) 仿真验证方法、装置及计算设备
CN116048952A (zh) 一种基于可裁剪ip的实例化模块仿真验证方法及装置
CN114328045A (zh) 一种bmc的i2c调试方法、系统、装置及计算机可读存储介质
CN107678967B (zh) 单元测试覆盖率生成方法、装置、可读存储介质及设备
CN110988661A (zh) 一种fpga原型验证开发板时分分析系统、方法、介质及终端
US7277840B2 (en) Method for detecting bus contention from RTL description
CN111338761A (zh) 一种51单片机虚拟中断控制器及实现方法
CN112306032A (zh) 一种汽车开放系统的一致性测试方法、装置及系统
CN110413464B (zh) 一种配置表项测试方法、系统
CN117313856B (zh) 一种可靠性测试规划系统及方法
CN112380127B (zh) 测试用例回归方法、装置、设备和存储介质
CN114968864B (zh) 验证环境的搭建方法、芯片的验证方法及系统
CN107562617B (zh) 一种基于nc系统中的模块验证系统

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