CN114444423B - 基于验证平台的数据处理方法、系统及电子设备 - Google Patents

基于验证平台的数据处理方法、系统及电子设备 Download PDF

Info

Publication number
CN114444423B
CN114444423B CN202210340635.0A CN202210340635A CN114444423B CN 114444423 B CN114444423 B CN 114444423B CN 202210340635 A CN202210340635 A CN 202210340635A CN 114444423 B CN114444423 B CN 114444423B
Authority
CN
China
Prior art keywords
data
memory model
sequence
verification
verified
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
Application number
CN202210340635.0A
Other languages
English (en)
Other versions
CN114444423A (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.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera 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 Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202210340635.0A priority Critical patent/CN114444423B/zh
Publication of CN114444423A publication Critical patent/CN114444423A/zh
Application granted granted Critical
Publication of CN114444423B publication Critical patent/CN114444423B/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于验证平台的数据处理方法、系统及电子设备,该方法包括:虚拟序列器生成激励信息的序列数据,将序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度驱动器或者所述序列产生器对待验证设备执行指定的验证事务;驱动器或者序列产生器根据调度指令中的输入控制信息从内存模型中获取序列数据,并根据序列数据生成激励信息以驱动待验证设备工作;待验证设备将验证过程输出的结果数据放在内存模型中;输入端监测器和输出端监测器从数据流中采样控制信息和状态信息;计分板根据控制信息从内存模型中获取序列数据和结果数据进行数据比对验证,简化望数据和结果数据的数据比较难度。

Description

基于验证平台的数据处理方法、系统及电子设备
技术领域
本发明涉及数据处理领域,尤其涉及一种基于验证平台的数据处理方法、系统及电子设备。
背景技术
在 SOC (System On Chip,片上系统)验证项目中,尤其是存储类项目,经常会有大量数据传输的场景,如图1所示,激励是子序列发生器Sequence随机生成的控制信号和数据,并由驱动器Driver按照特定格式送给DUT(Device Under Test,待测设备),输入端的监测器Monitor负责收集DUT输入数据作为期望数据,DUT的输出端也需要Monitor收集结果数据,将收集到期望数据和结果数据都发送到计分板Scoreboard中完成数据比较以验证DUT功能是否符合设计要求以及功能是否正常。这里子Sequence负责生成控制信号以及数据,Driver负责产生激励信号驱动DUT工作,Monitor X1和X2负责收集期望数据和结果数据,Scoreboard完成数据、状态等信息比较,来评判DUT设计是否存在问题并协助设计工程师修改问题,经过以上多次迭代以确保RTL(Register Transfer Level,寄存器传输级)设计没有问题。图1中Driver/Sequence Monitor X1简化为In_Agnet模块,Monitor X2简化为Out_Agent模块。
发明人在实现本发明的过程中发现,上述方式至少存在以下缺陷:上述的流程能满足大多验证场景,但是大多数情况控制信息和数据是不同步,例如Split命令,比如设备A发起一笔读操作,设备B不能立即响应,那么设备A不需要等待设备B返回期望数据,设备A可以被仲裁处理其他任务,设备B准备数据后发起数据传输命令将数据传输给设备A。Scoreboard按照图1所示方式收集每一传输命令,当数据包格式不一致时,即设备A到设备B命令格式和设备B到设备A的命令格式不一致时,需要先将数据包格式统一为某一固定格式再完成数据比较工作,两种命令的相关性不强时很容易出现数据比较错误,增加Scoreboard的复杂度。而且,SOC验证环境经常集成AMBA、PCIE等第三方VIP(VerificationIntellectual Property,验证知识产权),在集成第三方VIP的验证环境中,通常采用VIP提供的序列发生器Slave Sequence来进行数据收发,而且Slave Sequence通常是以While(1)式循环接收数据的方式,那么在虚拟序列器Virtual Sequence同这些子sequence在数据交换的就会变得很不友好,大量的代码会使验证环境变得很臃肿。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于验证平台的数据处理方法、系统及电子设备。
根据本发明的一个方面,提供了一种基于验证平台的数据处理方法,所述方法包括:
虚拟序列器生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据;
所述驱动器或者所述序列产生器根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作;
待验证设备将验证过程输出的结果数据放在所述内存模型中;
输入端监测器从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板;
输出端监测器从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板;
计分板根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
进一步地,所述方法还包括:
自定义配置模块在验证平台的验证环境层ENV中建立内存模型和对应的访问设备之间的连接关系,以使访问设备通过预设的虚拟函数对所述内存模型执行数据访问操作,访问设备包括驱动器、序列产生器、输入端监测器、输出端监测器和计分板。
进一步地,所述输入控制信息包括:用于执行数据访问操作的虚拟函数的函数标识以及数据的写入地址信息;
虚拟序列器生成激励信息的序列数据后,调用与函数标识对应的虚拟函数将生成的序列数据按照所述写入地址信息写到内存模型的相应的位置。
进一步地,所述内存模型包括至少一个内存子模型,各个内存子模型被配置为用于存储不同数据类型的数据。
进一步地,所述方法还包括:
自定义配置模块将所述内存模型配置在验证平台的全局资源池,以使验证平台的各个组成部分以及第三方验证知识产权的序列产生器通过静态变量访问的方式访问所述内存模型。
进一步地,所述内存模型的构建参数包括数据存储地址,所述数据存储地址包括基地址和偏移地址,所述基地址表示内存模型中的一个存储单元的存储边界,所述偏移地址表示在一个存储单元内相对于当前存储单元起始地址的偏移值。
进一步地,所述验证平台为UVM通用验证方法学验证平台。
根据本发明的另一个方面,提供了一种数据验证系统,所示系统包括:虚拟序列器、驱动器或者第三方验证知识产权的序列产生器、待验证设备、输入端监测器、输出端监测器以及计分板,其中,
虚拟序列器,适于生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据;
驱动器或者第三方验证知识产权的序列产生器,适于根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作;
待验证设备,适于将验证过程输出的结果数据放在所述内存模型中;
输入端监测器,适于从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板;
输出端监测器,适于从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板;
计分板,适于根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
根据本发明的又一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述基于验证平台的数据处理方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
根据本发明的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于验证平台的数据处理方法。
本发明提供的基于验证平台的数据处理方法、系统及电子设备中,通过采用自定义的内存模型存储验证平台的验证环境层与待验证设备之间的交互数据,能简化计分板中期望数据和结果数据的数据比较难度,尤其是PCIE complete数据比较,而且实现了数据与控制信息的分离,能够简化AMBA、PCIE等VIP的集成难度。
附图说明
图1示出了现有相关验证环境中的数据验证方式的示意图;
图2示出了本发明实施例提供的基于验证平台的数据处理方法的流程图;
图3示出了本发明实施例提供的内存模型的数据存储地址划分示意图;
图4示出了本发明实施例提供验证环境的数据验证方式的示意图;
图5示出了本发明一个实施例提供的实现数据信息比较的流程图;
图6示出了PCIE第三方VIP进行数据信息比较的实现示意图;
图7为本发明又一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的服务器进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本发明透彻和完整,并将使本领域技术人员充分理解本发明的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本发明的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1示出了现有相关验证环境中的数据验证方式的示意图。结合图1可知,VirtualSequence负责调度多个子Sequence或Driver,Sequence或Driver负责完成某一项具体事务,Monitor X1负责收集期望数据、控制信息,并将这些信息传递到Scoreboard存储等待进一步处理,Monitor X2负责收集经过DUT处理的结果数据或状态信息,也将这些信息传递到Scoreboard存储,Scoreboard根据某一些数据传输完成,根据控制信息完成期望数据和结果数据的比较,这样判断DUT是否存在设计缺陷。上述的流程能满足大多验证场景,但是大多数情况控制信息和数据是不同步,在这种情况下如果数据包格式不一致时,首先需要将数据包格式统一为某一固定格式再完成数据比较工作,两种命令的相关性不强时很容易出现数据比较错误,增加Scoreboard的复杂度。
为了解决上述方式中存在的Scoreboard容易出现数据比较错误的问题,本发明实施例将基于通用验证方法学 (Universal Verification Methodology, UVM)验证平台,通过采用自定义的内存模型存储验证平台的验证环境层与待验证设备之间的交互数据,能简化计分板中期望数据和结果数据的数据比较难度,尤其是PCIE complete数据比较,而且实现了数据与控制信息的分离,能够简化AMBA、PCIE等VIP的集成难度。
图2示出了本发明一个实施例提供的基于验证平台的数据处理方法的流程图。如图2所示,该方法包括以下步骤:
步骤S11、虚拟序列器生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据。
步骤S12、所述驱动器或者所述序列产生器根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作。
本实施例中,验证平台中的自定义配置模块在验证平台的验证环境层ENV中建立内存模型和对应的访问设备之间的连接关系,以使访问设备通过预设的虚拟函数对所述内存模型执行数据访问操作,访问设备包括驱动器、序列产生器、输入端监测器、输出端监测器和计分板。
虚拟序列器向调度指令给驱动器或者第三方验证知识产权的序列产生器下发的调度指令中包括输入控制信息,该输入控制信息包括用于执行数据访问操作的虚拟函数的函数标识以及数据的写入地址信息;虚拟序列器生成激励信息的序列数据后,调用与函数标识对应的虚拟函数将生成的序列数据按照所述写入地址信息写到内存模型的相应的位置。
此外,验证平台中的自定义配置模块还可以预先将所述内存模型配置在验证平台的全局资源池,以使验证平台的各个组成部分以及第三方验证知识产权的序列产生器通过静态变量访问的方式访问所述内存模型。
步骤S13、待验证设备将验证过程输出的结果数据放在所述内存模型中。
步骤S14、输入端监测器从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板。
步骤S15、输出端监测器从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板。
步骤S16、计分板根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
具体的,内存模型包括至少一个内存子模型,各个内存子模型被配置为用于存储不同数据类型的数据。
本发明实施例中的内存模型是自定义参数化内存模型,需要指定Memory数据类型,参数化便于DUT相关的多类型数据使用;内存模型的构建参数包括指定一些特殊应用动态变量,可以用来表示一些用户标志User,区域Region,虚拟功能Virtual function的应用场景,这些做可以根据实际需要进增加,而且有利于后续的RTL设计改动的灵活变化,本发明对此不作具体限定。内存模型的主要一个构建参数就是数据存储地址,地址部分可以分为基地址和偏移地址,如图3所示偏移地址为[N-1:0]Bits,基地址为{[Max-1:N],N{1‘b0}},其中,基地址就是地址位即偏移地址部分为全0,N表示偏移地址的位宽)。基地址表示Memory model一个存储单元的最大值,或者称为存储边界,越界了则自动跳转到下一个存储块内进行数据操作,偏移地址即在一个存储单元内相对于当前存储单元起始地址的偏移值,表示对一个存储单元内的精确位置访问。
针对这个Memory model,本发明实施例中定义一些访问的Function/Task,例如Write_mem, Read_mem, Burst_write_mem, Burst_read_mem等,上述访问Memory model的Function均采用By Byte访问机制实现,增强了Memory model应用的场景。此外,还可以定义一些其他的Function/Task用于调试验证环境使用。
图4示出了本发明实施例提供验证环境的数据验证方式的示意图。本发明将在系统中集成自定义的内存模型Memory model,将控制信息和数据信息分开存储,如图4所示,将期望数据存放在 Memory model X1,将结果数据存放在Memory model X2。需要说明的是,由于DUT的输入和输出数据格式、总线协议可能不一样,Memory model X1、X2仅用于表示不同数据存储格式,并不对内存子模型的数量进行限定。控制信息采用如图4所示AP1、AP2端口传递,具体的,AP1传递Monitor X1收集的控制信息,AP2传递Monitor X2收集的控制信息以及结果状态信息。本发明技术方案可将Memory model放在Pool池中,这样可以静态变量访问(Systemverilog定义的方法)的方式在UVM验证环境中的任何组成部分Component中调用Memory model。这样的方案就很简单地实现与第三方VIP Sequence实现数据交互,也方便仿真环境中其他Driver,Monitor或Scoreboard获取Memory model数据信息。
具体的,如图4中Memory model同一类型的只需要一个即可,不同类型可以参数化实例多个,这需要根据DUT输入输出或内部接口信号的数据、地址宽度来定义Memory model的类型,以使得Sequence、Driver能够简单方便地读写Memory model数据。
在一个具体实施例中,以数据生成、存储的实现过程为例,对本发明提出的基于验证平台的数据处理方法进行说明。
以SOC验证项目为例,在复杂的SOC验证项目中通常有多个不同功能的Agent或子Sequence,Virtual Sequence负责调度这些子功能模块以实现复杂功能。本发明技术方案中Virtual Sequence在系统层面控制数据生成,考虑了数据类型的多样性,如全0,全1,特定数据,随机数据,Virtual Sequence通过增加一些控制变量使生成数据类型对DUT进行全方位的数据流覆盖,提高RTL(Register Transfer Level) Toggle覆盖率。然后将生成的数据按照控制信息,如Virtual Function和Address信息写到相应的位置。在一个具体示例中,定义了内存模型为:MEM[VF_ID][*][DEDPTH],从控制信息里获得了Virtual FunctionID、Address A,Address A包括基地址BAx和偏移地址OAx,那么就需要对MEM[ID][BAx][OAx]位置读写操作。如果在写入遇到跨边界的场景自动跳转至下一个数据块中,以保证没有数据丢失。在定义Memory Model可能最小的数据位宽较大,比如32Bit、128Bit等,再具体实现中可以只更新了32/128Bit中的一部分,以保证其他有效数据不被错误地覆盖。
在集成了第三方VIP的情况下,如PCIE、AMBA Slave等,子Sequence里面的可以使用Static(静态)访问方法获取Memory model实体,Slave Sequence获得了控制信息调用Memory model定义的Function得到期望的数据,并将这些数据按照RTL设计遵守的协议规范驱动给DUT,使DUT能够按照设计工作。
自定义特定功能Agent除了静态访问方式,还可以灵活采用更加直接的方式如在顶层ENV中就可以将Memory model和Driver或Monitor定义的Memory model连接起来,使得Driver可以根据驱动控制信息调用Memory model定义的Function得到期望的数据,并将这些数据按照RTL设计遵守的协议规范驱动给DUT,以使DUT能够按照设计工作。
其中,Monitor也可以根据控制信息更新Memory model数据块。具体的,Monitor里也集成了Memory model,Monitor可以接收控制信号也接收数据信息,可以根据接收到控制信号更新Memory model;或者Monitor将这些控制信号传输给Scoreboard,在Scoreboard中完成Memory model数据更新。
在一个具体实施例中,以数据信息比较实现过程为例,对本发明提出的基于验证平台的数据处理方法进行说明。
本实施例中,Scoreboard需要根据实际功能实现数据状态信息比较,来验证功能设计是否达到预期,如图5所示。本实施例中在实现PCIE、AMBA等第三方VIP,PCIE在实际系统中的读写大小都是有限制的,而且比较小,完成一个大的事务就是被拆成多个小的事务完成,尤其是PCIE读写操作事务被划分为多个完成事务Complete Transaction时具有明显优势,由于PCIE MRd命令通常都是命令和数据都是分开的,而且返回数据Routing方式也是不一样,而且由于PCIE RCB(Read complete boundary,读取完成边界)都比较小,这样一个命令返回数据会被拆分为多个较小的命令,PCIE complete命令Header格式中并没Address信息这样对我们的验证环境会带来很大的麻烦,一个最大的问题就是期望数据不容易获取。其中,当一个大的读操作需要划分为多个小的操作,RCB则用于指定小的操作的大小。在该应用场景下,如图6所示,代理模块Agent要将数据搬移至PCIE VIP的HOST主机端,由于Agent也从Memory model获取的数据,那么可以保证PCIE VIP的HOST拿到实际数据和Memory model获得期望数据对比没有差错。同理PCIE VIP HOST端将数据下发给Agent也是一样的道理。在Scoreboard中只要AP1/2对应的Write function块中收集了数据流的控制信息,按照Transaction中一些控制信息存放在不同队列中,多个并行的队列很容易实现并行比较。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明又一实施例提供了一种基于验证平台的数据处理系统,包括:虚拟序列器、驱动器或者第三方验证知识产权的序列产生器、待验证设备、输入端监测器、输出端监测器以及计分板,其中,
虚拟序列器,适于生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据;
驱动器或者第三方验证知识产权的序列产生器,适于根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作;
待验证设备,适于将验证过程输出的结果数据放在所述内存模型中;
输入端监测器,适于从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板;
输出端监测器,适于从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板;
计分板,适于根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
另外,参照图6,本发明又一实施例提供了一种电子设备,其包括:
一个或多个处理器501;
存储器502,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的基于验证平台的数据处理方法;
一个或多个I/O接口503,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器501为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器502为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)503连接在处理器501与存储器502间,能实现处理器501与存储器502的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器501、存储器502和I/O接口503通过总线相互连接,进而与计算设备的其它组件连接。
最后,本发明又一实施例提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种基于验证平台的数据处理方法。
本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经发明了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。

Claims (9)

1.一种基于验证平台的数据处理方法,其特征在于,所述方法包括:
虚拟序列器生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据,所述内存模型的构建参数包括数据存储地址,所述数据存储地址包括基地址和偏移地址,所述基地址表示内存模型中的一个存储单元的存储边界,所述偏移地址表示在一个存储单元内相对于当前存储单元起始地址的偏移值;
所述驱动器或者所述序列产生器根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作;
待验证设备将验证过程输出的结果数据放在所述内存模型中;
输入端监测器从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板;
输出端监测器从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板;
计分板根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
自定义配置模块在验证平台的验证环境层ENV中建立内存模型和对应的访问设备之间的连接关系,以使访问设备通过预设的虚拟函数对所述内存模型执行数据访问操作,访问设备包括驱动器、序列产生器、输入端监测器、输出端监测器和计分板。
3.根据权利要求2所述的方法,其特征在于,所述输入控制信息包括:用于执行数据访问操作的虚拟函数的函数标识以及数据的写入地址信息;
虚拟序列器生成激励信息的序列数据后,调用与函数标识对应的虚拟函数将生成的序列数据按照所述写入地址信息写到内存模型的相应的位置。
4.根据权利要求1所述的方法,其特征在于,所述内存模型包括至少一个内存子模型,各个内存子模型被配置为用于存储不同数据类型的数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
自定义配置模块将所述内存模型配置在验证平台的全局资源池,以使验证平台的各个组成部分以及第三方验证知识产权的序列产生器通过静态变量访问的方式访问所述内存模型。
6.根据权利要求1-5任一所述的方法,其特征在于,所述验证平台为UVM通用验证方法学验证平台。
7.一种数据验证系统,其特征在于,包括:虚拟序列器、驱动器或者第三方验证知识产权的序列产生器、待验证设备、输入端监测器、输出端监测器以及计分板,其中,
虚拟序列器,适于生成激励信息的序列数据,将所述序列数据存放在预设的内存模型中,并下发调度指令给驱动器或者第三方验证知识产权的序列产生器,以调度所述驱动器或者所述序列产生器对待验证设备执行指定的验证事务,所述内存模型用于存储验证平台的验证环境层与待验证设备之间的交互数据,所述内存模型的构建参数包括数据存储地址,所述数据存储地址包括基地址和偏移地址,所述基地址表示内存模型中的一个存储单元的存储边界,所述偏移地址表示在一个存储单元内相对于当前存储单元起始地址的偏移值;
驱动器或者第三方验证知识产权的序列产生器,适于根据所述调度指令中的输入控制信息从内存模型中获取所述序列数据,并根据所述序列数据生成激励信息以驱动待验证设备工作;
待验证设备,适于将验证过程输出的结果数据放在所述内存模型中;
输入端监测器,适于从所述驱动器或者所述序列产生器向待验证设备输入的数据流中采样所述输入控制信息,并将所述输入控制信息发送给计分板;
输出端监测器,适于从待验证设备输出的数据流中采样输出状态信息,并将输出状态信息发送给计分板;
计分板,适于根据所述输入控制信息和输出状态信息从所述内存模型中获取所述序列数据和结果数据,以所述序列数据为期望数据对结果数据进行验证。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-6任意一项所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
9.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-6任意一项所述的方法。
CN202210340635.0A 2022-04-02 2022-04-02 基于验证平台的数据处理方法、系统及电子设备 Active CN114444423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210340635.0A CN114444423B (zh) 2022-04-02 2022-04-02 基于验证平台的数据处理方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210340635.0A CN114444423B (zh) 2022-04-02 2022-04-02 基于验证平台的数据处理方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN114444423A CN114444423A (zh) 2022-05-06
CN114444423B true CN114444423B (zh) 2022-06-24

Family

ID=81359485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210340635.0A Active CN114444423B (zh) 2022-04-02 2022-04-02 基于验证平台的数据处理方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN114444423B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626343A (zh) * 2021-10-12 2021-11-09 中科南京智能技术研究院 一种基于UVM的Router可重用验证平台
CN114265730A (zh) * 2021-11-23 2022-04-01 北京智芯微电子科技有限公司 模块级中断的验证平台和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3818461A (en) * 1972-04-10 1974-06-18 Litton Systems Inc Buffer memory system
GB0327959D0 (en) * 2003-12-03 2004-01-07 Symgenis Ltd System and method for architecture verification
US10482632B2 (en) * 2017-04-28 2019-11-19 Uih America, Inc. System and method for image reconstruction
CN109684681B (zh) * 2018-12-06 2023-05-16 西南电子技术研究所(中国电子科技集团公司第十研究所) 应用uvm验证平台的高层次化验证方法
CN111783097A (zh) * 2020-05-28 2020-10-16 东方红卫星移动通信有限公司 一种星载计算系统的信息完整性度量验证方法及系统
CN112232000B (zh) * 2020-10-23 2021-08-10 海光信息技术股份有限公司 跨多个验证域的验证系统、验证方法、验证设备
CN113297017B (zh) * 2021-05-07 2023-08-29 杭州德旺信息技术有限公司 一种基于uvm的soc验证系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626343A (zh) * 2021-10-12 2021-11-09 中科南京智能技术研究院 一种基于UVM的Router可重用验证平台
CN114265730A (zh) * 2021-11-23 2022-04-01 北京智芯微电子科技有限公司 模块级中断的验证平台和方法

Also Published As

Publication number Publication date
CN114444423A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN110362512B (zh) 一种面向sca和sdr的快速系统重构方法
US11507718B1 (en) Chip verification system and verification method therefor
CN112286746A (zh) 针对axi从设备接口的通用验证平台及方法
CN113407393B (zh) 芯片验证方法、终端设备、验证平台以及存储介质
CN114168200B (zh) 多核处理器访存一致性的验证系统及方法
CN115146568A (zh) 一种基于uvm的芯片验证系统及验证方法
CN112966335B (zh) 接口仿真装置和自动驾驶仿真测试平台
CN114265730A (zh) 模块级中断的验证平台和方法
CN113177014A (zh) 基于检验方式的串口通讯方法和串口芯片
CN114444423B (zh) 基于验证平台的数据处理方法、系统及电子设备
US20080281576A1 (en) Interface board, simulator, synchronization method, and synchronization program
CN116560931A (zh) 一种芯片验证平台和方法、电子设备、存储介质
CN116663490A (zh) 一种异步存储芯片的验证方法、平台、装置及介质
US7168029B2 (en) Method for testing a universal serial bus host controller
CN114513436B (zh) Sdio设备传输速率的检测方法、系统及存储介质
CN113177388B (zh) 用于ip核测试与验证的装置、系统及方法
CN113050976B (zh) 基于PCIe总线的FPGA并行升级方法、装置、介质及电子设备
CN109491648B (zh) 嵌入式软件中库函数独立分区的实现方法和系统以及设备
CN115858256A (zh) 一种物联网设备的测试方法、装置及电子设备
CN117112447B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN114356541B (zh) 一种计算核心的配置方法及装置、系统、电子设备
CN116627496B (zh) 基于uvm的寄存器模型构建、验证方法、系统与电子设备
CN111143144B (zh) 一种具有错误注入和可移植性的芯片验证方法及验证平台
CN112183016B (zh) 快速建立pinpair等长约束的方法、装置、设备和存储介质
CN117785593B (zh) 一种基于UVM的xHCI驱动的实现系统及方法

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