CN116011391A - Uvm平台及基于uvm平台的芯片验证方法 - Google Patents

Uvm平台及基于uvm平台的芯片验证方法 Download PDF

Info

Publication number
CN116011391A
CN116011391A CN202211507491.XA CN202211507491A CN116011391A CN 116011391 A CN116011391 A CN 116011391A CN 202211507491 A CN202211507491 A CN 202211507491A CN 116011391 A CN116011391 A CN 116011391A
Authority
CN
China
Prior art keywords
data
reference model
transaction
input port
level interface
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.)
Pending
Application number
CN202211507491.XA
Other languages
English (en)
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.)
Moore Thread Intelligence Technology Shanghai Co ltd
Moore Threads Technology Co Ltd
Original Assignee
Moore Thread Intelligence Technology Shanghai Co ltd
Moore Threads 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 Moore Thread Intelligence Technology Shanghai Co ltd, Moore Threads Technology Co Ltd filed Critical Moore Thread Intelligence Technology Shanghai Co ltd
Priority to CN202211507491.XA priority Critical patent/CN116011391A/zh
Publication of CN116011391A publication Critical patent/CN116011391A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种UVM平台及基于UVM平台的芯片验证方法。所述UVM平台中封装有事务级接口;其中,所述UVM平台被配置为:将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;监控所述外部被测设计的输入端口数据和输出端口数据;将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。

Description

UVM平台及基于UVM平台的芯片验证方法
技术领域
本申请涉及芯片验证技术领域,尤其涉及UVM平台及基于UVM平台的芯片验证方法。
背景技术
芯片验证就是采用相应的验证语言、验证工具、验证方法,在芯片生产之前验证芯片设计是否符合芯片定义的需求规格、是否已经完全释放了风险、是否发现并更正了所有的缺陷,站在全流程的角度,它是一种防范于未然的措施。为了更好的完成验证,验证人员需要经常围绕设计搭建贴切、高效的验证环境。
通用验证方法学(Universal Verification Methodology,UVM)是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。UVM已经成为越来越多的验证人员首选的平台。
发明内容
本申请的发明人发现,在上述的相关技术中,至少存在如下的技术问题:现有的通用UVM环境没有配套的TLM接口,导致验证人员每次进行芯片验证都需要手动搭建带有TLM接口的UVM环境,这种方式需要人力,且代码风格不一致,导致检视困难。
为了解决至少上述技术问题或类似的技术问题,本申请实施例提供一种UVM平台及基于UVM平台的芯片验证方法,在该UVM平台及基于UVM平台的芯片验证方法中,提供了一种封装有TLM接口的具有标准化层次结构的UVM平台,针对不同的被测设计,均可基于该UVM平台进行芯片验证,无需验证人员再手动搭建TLM接口,使得每次进行芯片验证时所使用的UVM平台的代码风格一致,便于检视。
本申请实施例提供一种UVM平台,所述UVM平台中封装有事务级接口;其中,所述UVM平台被配置为:
将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;
监控所述外部被测设计的输入端口数据和输出端口数据;
将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;
对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。
本申请实施例提供一种基于UVM平台的芯片验证方法,所述UVM平台中封装有事务级接口,所述方法包括:
将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;
监控所述外部被测设计的输入端口数据和输出端口数据;
将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;
对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本公开第一方面的实施例提供的一种UVM平台的结构示意图。
图2是本公开第一方面的实施例提供的一种事务级接口的结构示意图。
图3是本公开第一方面的实施例提供的另一种UVM平台的结构示意图。
图4是本公开第一方面的实施例提供的又一种UVM平台的结构示意图。
图5是本公开第二方面的实施例提供的一种基于UVM平台的芯片验证方法的流程示意图。
图6是本公开第二方面的实施例提供的一种基于UVM平台的芯片验证方法的部分流程示意图。
具体实施方式
参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权利要求的范围内的全部修改、变型以及等同物。下面结合附图对本申请的各种实施方式进行说明。这些实施方式只是示例性的,不是对本申请的限制。
在本申请实施例中,术语“第一”、“第二”、“上”、“下”等用于对不同元素从称谓上进行区分,但并不表示这些元素的空间排列或时间顺序等,这些元素不应被这些术语所限制。术语“和/或”包括相关联列出的术语的一种或多个中的任何一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。
在本申请实施例中,单数形式“一”、“该”等包括复数形式,应广义地理解为“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。
为更好的理解本申请,以下先对本申请的研究背景进行详细说明。
随着芯片规模越来越大,复杂程度越来越高,需要在更高的抽象层次上对设计进行描述,以便更能进行更高速度的仿真、软/硬件协同仿真和体系架构的探索。当设计被表达为系统级模型时,选用不同的算法对设计进行多次尝试是很容易做到的,换用不同的结构进行试验也能很快的完成;倘若使用寄存器传输级或门级模型来表达设计,规模通常相当大,若要试探不同的设计结构或者做一些改动,即使不是太困难,也相当费时费力。
SystemC(后续简称SC)作为一种语言推动其开发和标准化的关键因素是可以进行系统级设计,并且可以描述硬件的架构和软件的算法,支持验证和IP的交流。在系统级上使用SystemC作为软件和硬件的分割权衡比其他语言容易的多,并且进行仿真比使用其他多种语言进行仿真要快速的多。因此采用基于SystemC来设计和描述单元的微结构能够建立一个完全标准的仿真环境,在高抽象层次上直接建模。
事务级模型(Transaction-Level Modeling,TLM)建立在SystemC标准之上,包括SystemC核心语言、结构化元素、预定义通道、数据类型等概念。TLM是一个基于事务的通信方式,通常在高抽象级的语言中被引用作为模块之间的通讯方式,成功地将模块内的计算和模块之间的通信从时间跨度方面剥离开。传统的硬件设计从功能规范开始,一步一步细化到RTL级(Register Transfer Level,寄存器传输级)才能进入到仿真和验证阶段,验证成为了芯片设计、开发的瓶颈。为了更好更高效的描述功能规范,需要对系统设计和验证方法学进行革新。当要建模的目标系统十分复杂时,利用行为模型迅速建模,使得设计者对目标设计有更清楚的理解,有利于软硬件划分,从体系架构阶段就可以对系统进行验证,大大节省了设计周期,加速了验证的进度。事务级模型所使用的接口称为TLM接口。相对于DPI接口(direct programming interface),它具备以下优势:
(1)采用TLM接口,可以直接将接口信号打包/解包封装,无需自定义。尤其是如果存在240bit这种类型的信号时,DPI接口只能按照int数组拼接,非常麻烦。并且UVM环境和参考模型(reference model)环境可以直接按照bit位宽定义信号,如5bit/7bit,而非DPI接口的int/double类型。
(2)采用TLM接口,reference mode是独立完整的程序,可以快速搭建环境,独立执行用例,这样架构可以自测试。而采用DPI接口,reference mode不是独立完整的程序,没有程序入口,只是个功能模块,如果要搭建环境,独立执行用例困难。
(3)采用TLM接口,reference mode可以在代码的任意位置新增TLM接口,只要各TLM接口的名字唯一,不冲突即可。使得reference mode高度封装,更加灵活。
(4)TLM接口可以实时以及延时传递事务,架构模型构建更接近RTL。
第一方面的实施例
图1是本公开实施例提供的一种UVM平台,如图1所示,UVM平台(env)1中封装有事务级接口(TLM接口)11;其中,
UVM平台1被配置为:
将从虚拟类序列(virtual Sequence)获取的数据包(transaction)驱动到外部被测设计(DUT)2,所述数据包包括输入端口数据;
监控外部被测设计2的输入端口数据和输出端口数据,其中,所述输出端口数据是外部被测设计2对所述输入端口数据进行处理后得到的;
将监控到的所述输入端口数据通过事务级接口11发送给外部参考模型3,并通过事务级接口11获取参考模型3输出的处理结果数据,其中,参考模型3被配置为:模仿外部被测设计2的功能对所述输入端口数据进行处理,得到处理结果数据;
对参考模型3的处理结果数据以及监控到的外部被测设计2的输出端口数据进行对比验证,得到验证结果。
在一些实施例中,区别于相关技术,参考模型3独立于UVM平台1之外,可基于SystemC等高抽象级的语言来建模,不受UVM平台1的建模语言的限制,方便开发。UVM平台1中封装TLM接口11,UVM平台1与参考模型3之间通过该TLM接口11进行数据通信;该封装有TLM接口11的UVM平台1是提前构建的可重用组件,针对不同的DUT,可基于该可重用的UVM平台1进行芯片验证;由此可见,本申请实施例提出的UVM平台架构,无需验证人员手动搭建TLM接口,且每次进行芯片验证时所使用的UVM平台的代码风格一致,便于检视。
如图2所示,在一些实施例中,事务级接口11包括:
端口参数声明模块a1,被配置为:对所述输入端口的参数以及参考模型3的端口参数进行声明;
端口参数注册模块a2,被配置为:将所述输入端口的参数以及参考模型3的端口参数注册到UVM平台1中;
连接模块a3,被配置为:连接所述事务级接口11与参考模型3的端口;
读写模块a4,被配置为:将所述输入端口数据发送给参考模型3以及读取参考模型3输出的处理结果数据。
在一些实施例中,端口参数声明模块a1负责对上述端口参数进行声明,包括参数名、参数位宽以及参数类型;其中,参数名由用户自定义,参数位宽表明参数的位宽,如果参数位宽为1,则可以省略,如果为N(N为大于1的正整数),则为[N-1:0];参数类型包括bit类型和/或logic类型;bit类型表明参数每个位取值为0或1,logic类型表明参数每个位取值为0、1、X或Z。
在一些实施例中,端口参数注册模块a2负责将上述端口参数注册到UVM环境中,比如可以通过uvm_field_int函数将一个int类型的参数S1注册到UVM环境中:
uvm_object_untils_begin(S0)
uvm_field_int(S1,UVM_ALL_ON)
uvm_object_utils_end
其中,S0为TLM接口111的接口名,由用户自定义;S1为参数名,由用户自定义。
在一些实施例中,连接模块a3负责将UVM平台的TLM接口跟参考模型的端口连接起来,比如可以通过connect函数建立两个接口的连接:
uvmc_tlm1#(S0)::connect(M0,$sformatf(“M1”));
其中,S0为TLM接口11的接口名,M0为TLM接口11的port端口的端口名,定义为uvm_blocking_put_port#(S0)M0,可以连接到UVM平台的监视器(monitor)/驱动器(driver)等模块内。M1为参考模型3的接口的字符串名称,由用户自定义,但是需要与参考模型侧同名。
在一些实施例中,读写模块a4负责发送侧的写和接受侧的读操作。在一些具体实施例中,读写模块可以包括SV写模块和SV读模块,其中,
SV写模块可以使用put函数进行写操作:
比如在uvm main_phase
while(1)begin
M0.put(S0);
end
其中,M0为上述端口名,S0为上述接口名。
SV读模块可以使用write函数实现读操作:
定义write的方法:
write(S0,S4);
S0 S5;
$cast(S5,S4.clone)
S6.push_back(S5)
其中,S0为上述接口名,S4为接口变量的形式参数,S5:接口参数临时变量。
在一些实施例中,参考模型3与UVM平台1通信连接的接口也为事务级接口(TLM接口),参考模型3的TLM接口的结构和功能与UVM平台1的TLM接口的结构和功能类似,在此不再赘述。
如图3所示,在一些实施例中,UVM平台1中还封装有序列发生器(sequencer)12、驱动器(driver)13、第一监视器(monitor)14、第二监视器(monitor)15以及计分板(socreboard)16;其中,
序列发生器12被配置为:将从虚拟类序列获取的数据包发送给驱动器13;
驱动器13被配置为:将所述数据包驱动到外部被测设计2上;
第一监视器14被配置为:监控外部被测设计2的输入端口数据,将监控到的所述输入端口数据通过事务级接口11发送给参考模型3;
第二监视器15被配置为:监控外部被测设计2的输出端口数据,将所述输出端口数据发送给计分板16;
计分板16被配置为:对外部被测设计2的输出端口数据以及参考模型3的处理结果数据进行对比验证,得到验证结果。
在一些实施例中,virtual Sequence的sequence负责将数据包(transaction)发送到sequencer中,sequencer将transaction发送给driver,driver将transaction最终驱动到DUT上。同时第一监视器(monitor)将DUT接口的数据采集下来,调用TLM接口的写功能,将数据通过TLM接口传递给reference model,scoreboard调用TLM接口的读功能,将数据从reference model读进scoreboard中。第二监视器(monitor)采集DUT的输出,将其送到scoreboard中,Socreboard负责将从第二监视器(monitor)以及reference model送来的数据进行比对,给出正确或错误结果。
如图4所示,在一些实施例中,UVM平台1内封装有主代理单元1a,序列发生器12、驱动器13、第一监视器14封装在主代理单元(master agent)1a中。主代理单元1a是一个容器类,是一个标准的验证环境“单元”,里面包含一个driver、一个monitor以及一个sequencer。基于该主代理单元1a,可构建具有标准化层次结构的UVM环境。
如图4所示,在一些实施例中,UVM平台1内封装有从代理单元1b,第二监视器15封装在从代理单元(slave agent)1b中。从代理单元1b也是一个容器类,是一个标准的验证环境“单元”,里面可以仅包含一个monitor,方便复用;当然,该从代理单元1b中也可以包含driver和sequencer,可以视实际需求而定。
第二方面的实施例
本申请第二方面的实施例还提供一种基于UVM平台的芯片验证方法,所述UVM平台中封装有事务级接口,图5是该基于UVM平台的芯片验证方法的一个示意图,如图5所示,该基于UVM平台的芯片验证方法包括:
操作101、将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;
操作102、监控所述外部被测设计的输入端口数据和输出端口数据;
操作103、将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;
操作104、对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。
在一些实施例中,封装有事务级接口的所述UVM平台可以是提前构建的可重用组件,所述参考模型也可以是根据当前的所述被测设计提前基于SystemC等高抽象级的语言构建的。
在一些实施例中,如图6所示,所述将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型包括:
操作1031、利用所述事务级接口的端口参数声明模块,对所述输入端口的参数以及所述参考模型的端口参数进行声明;
操作1032、利用所述事务级接口的端口参数注册模块,将所述输入端口的参数以及所述参考模型的端口参数注册到所述UVM平台中;
操作1033、利用所述事务级接口的连接模块,连接所述事务级接口与所述参考模型的端口;
操作1034、利用所述事务级接口的读写模块,将所述输入端口数据发送给所述参考模型。
在一些实施例中,所述通过所述事务级接口获取所述参考模型输出的处理结果数据包括:利用所述事务级接口的读写模块,读取所述参考模型输出的处理结果数据。此外,本申请第二方面的实施例中UVM平台的结构及各操作步骤的实现方法与第一方面中UVM平台的结构及各功能的实现方法类似,相关之处可相互参见,在此不再赘述。
本申请的实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面的实施例中的任一项方法。
本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第二方面的实施例中的任一项方法。
本申请的实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现第二方面的实施例中的任一项方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完图全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (16)

1.一种UVM平台,其特征在于,所述UVM平台中封装有事务级接口;其中,
所述UVM平台被配置为:
将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;
监控所述外部被测设计的输入端口数据和输出端口数据;
将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;
对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。
2.根据权利要求1所述的UVM平台,其特征在于,所述事务级接口包括:
端口参数声明模块,被配置为:对所述输入端口的参数以及所述参考模型的端口参数进行声明;
端口参数注册模块,被配置为:将所述输入端口的参数以及所述参考模型的端口参数注册到所述UVM平台中;
连接模块,被配置为:连接所述事务级接口与所述参考模型的端口;
读写模块,被配置为:将所述输入端口数据发送给所述参考模型以及读取所述参考模型输出的处理结果数据。
3.根据权利要求1或2所述的UVM平台,其特征在于,所述参考模型的端口为事务级接口。
4.根据权利要求3所述的UVM平台,其特征在于,所述UVM平台中还封装有序列发生器、驱动器、第一监视器、第二监视器以及计分板;其中,
所述序列发生器被配置为:将从虚拟类序列获取的数据包发送给所述驱动器;
所述驱动器被配置为:将所述数据包驱动到所述外部被测设计;
所述第一监视器被配置为:监控所述外部被测设计的输入端口数据,将监控到的所述输入端口数据通过所述事务级接口发送给所述参考模型;
所述第二监视器被配置为:监控所述外部被测设计的输出端口数据,将所述输出端口数据发送给所述计分板;
所述计分板被配置为:对所述外部被测设计的输出端口数据以及所述参考模型的处理结果数据进行对比验证,得到验证结果。
5.根据权利要求4所述的UVM平台,其特征在于,所述UVM平台内封装有主代理单元,所述序列发生器、驱动器、第一监视器封装在所述主代理单元中。
6.根据权利要求4所述的UVM平台,其特征在于,所述UVM平台内封装有从代理单元,所述第二监视器封装在所述从代理单元中。
7.一种基于UVM平台的芯片验证方法,其特征在于,所述UVM平台中封装有事务级接口,所述方法包括:
将从虚拟类序列获取的数据包驱动到外部被测设计,所述数据包包括输入端口数据;
监控所述外部被测设计的输入端口数据和输出端口数据;
将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型,并通过所述事务级接口获取所述参考模型输出的处理结果数据,其中,所述参考模型被配置为:模仿所述外部被测设计的功能对所述输入端口数据进行处理,得到处理结果数据;
对所述参考模型的处理结果数据以及监控到的所述外部被测设计的输出端口数据进行对比验证,得到验证结果。
8.根据权利要求7所述的基于UVM平台的芯片验证方法,其特征在于,所述将监控到的所述输入端口数据通过所述事务级接口发送给外部参考模型包括:
利用所述事务级接口的端口参数声明模块,对所述输入端口的参数以及所述参考模型的端口参数进行声明;
利用所述事务级接口的端口参数注册模块,将所述输入端口的参数以及所述参考模型的端口参数注册到所述UVM平台中;
利用所述事务级接口的连接模块,连接所述事务级接口与所述参考模型的端口;
利用所述事务级接口的读写模块,将所述输入端口数据发送给所述参考模型。
9.根据权利要求8所述的基于UVM平台的芯片验证方法,其特征在于,所述通过所述事务级接口获取所述参考模型输出的处理结果数据包括:
利用所述事务级接口的读写模块,读取所述参考模型输出的处理结果数据。
10.根据权利要求7至9任一项所述的基于UVM平台的芯片验证方法,其特征在于,所述参考模型的端口为事务级接口。
11.根据权利要求10所述的基于UVM平台的芯片验证方法,其特征在于,所述UVM平台中还封装有序列发生器、驱动器、第一监视器、第二监视器以及计分板;其中,
所述序列发生器被配置为:将从虚拟类序列获取的数据包发送给所述驱动器,所述数据包包括输入端口数据;
所述驱动器被配置为:将所述数据包驱动到所述外部被测设计;
所述第一监视器被配置为:监控所述外部被测设计的输入端口数据,将监控到的所述输入端口数据通过所述事务级接口发送给所述参考模型;
所述第二监视器被配置为:监控所述外部被测设计的输出端口数据,将所述输出端口数据发送给所述计分板;
所述计分板被配置为:对所述外部被测设计的输出端口数据以及所述参考模型的处理结果数据进行对比验证,得到验证结果。
12.根据权利要求11所述的基于UVM平台的芯片验证方法,其特征在于,所述UVM平台内封装有主代理单元,所述序列发生器、驱动器、第一监视器封装在所述主代理单元中。
13.根据权利要求11所述的基于UVM平台的芯片验证方法,其特征在于,所述UVM平台内封装有从代理单元,所述第二监视器封装在所述从代理单元中。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求7至13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7至13中的任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求7至13中任一项所述的方法。
CN202211507491.XA 2022-11-29 2022-11-29 Uvm平台及基于uvm平台的芯片验证方法 Pending CN116011391A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211507491.XA CN116011391A (zh) 2022-11-29 2022-11-29 Uvm平台及基于uvm平台的芯片验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211507491.XA CN116011391A (zh) 2022-11-29 2022-11-29 Uvm平台及基于uvm平台的芯片验证方法

Publications (1)

Publication Number Publication Date
CN116011391A true CN116011391A (zh) 2023-04-25

Family

ID=86018268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211507491.XA Pending CN116011391A (zh) 2022-11-29 2022-11-29 Uvm平台及基于uvm平台的芯片验证方法

Country Status (1)

Country Link
CN (1) CN116011391A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332742A (zh) * 2023-12-01 2024-01-02 芯动微电子科技(武汉)有限公司 一种芯片设计阶段的仿真验证方法和装置
CN118503165A (zh) * 2024-07-18 2024-08-16 芯潮流(珠海)科技有限公司 数据交织处理方法、axi vip设备、装置及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117332742A (zh) * 2023-12-01 2024-01-02 芯动微电子科技(武汉)有限公司 一种芯片设计阶段的仿真验证方法和装置
CN117332742B (zh) * 2023-12-01 2024-02-23 芯动微电子科技(武汉)有限公司 一种芯片设计阶段的仿真验证方法和装置
CN118503165A (zh) * 2024-07-18 2024-08-16 芯潮流(珠海)科技有限公司 数据交织处理方法、axi vip设备、装置及介质

Similar Documents

Publication Publication Date Title
US5339262A (en) Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
US8136065B2 (en) Integrated prototyping system for validating an electronic system design
JP4058252B2 (ja) Ic設計の検証方法
CN116011391A (zh) Uvm平台及基于uvm平台的芯片验证方法
EP1093619B1 (en) System and method for identifying finite state machines and verifying circuit designs
US6327556B1 (en) AT-speed computer model testing methods
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
JPH10232890A (ja) プログラマブル論理回路のための組み込み式論理アナライザー
US20030145297A1 (en) Method and program product for completing a circuit design having embedded test structures
US7673264B1 (en) System and method for verifying IP integrity in system-on-chip (SOC) design
JP2001060219A (ja) エミュレーションとシミュレーションを用いた設計検証のための方法および装置
US7225416B1 (en) Methods and apparatus for automatic test component generation and inclusion into simulation testbench
CN105205249A (zh) 一种soc调试验证系统及其软硬件协同方法
CN113051855A (zh) 用于片上系统芯片验证的方法、系统及验证平台
US20140100841A1 (en) Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit
US20050102640A1 (en) Verification apparatus, verification method, and program
CN105069256B (zh) 一种基于tmr的实现和故障注入仿真平台及仿真方法
US5745501A (en) Apparatus and method for generating integrated circuit test patterns
US20140123087A1 (en) Coexistence of multiple verification component types in a hardware verification framework
CN107346249A (zh) 一种基于模型的计算机软件开发方法
JPH0533426B2 (zh)
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
JP2004527036A (ja) ロジックシミュレーションを用いない複雑なicの設計検証法とその装置
US6360353B1 (en) Automated alternating current characterization testing
US8140314B2 (en) Optimal bus operation performance in a logic simulation environment

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