CN115599618A - 寄存器动态改配验证方法、装置、存储介质和处理器 - Google Patents

寄存器动态改配验证方法、装置、存储介质和处理器 Download PDF

Info

Publication number
CN115599618A
CN115599618A CN202211461581.XA CN202211461581A CN115599618A CN 115599618 A CN115599618 A CN 115599618A CN 202211461581 A CN202211461581 A CN 202211461581A CN 115599618 A CN115599618 A CN 115599618A
Authority
CN
China
Prior art keywords
verified
register
chip
module
modified
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
CN202211461581.XA
Other languages
English (en)
Other versions
CN115599618B (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.)
Shenzhen Netforward Microelectronic Co ltd
Original Assignee
Shenzhen Netforward Microelectronic 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 Shenzhen Netforward Microelectronic Co ltd filed Critical Shenzhen Netforward Microelectronic Co ltd
Priority to CN202211461581.XA priority Critical patent/CN115599618B/zh
Publication of CN115599618A publication Critical patent/CN115599618A/zh
Application granted granted Critical
Publication of CN115599618B publication Critical patent/CN115599618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本申请实施例提供一种寄存器动态改配验证方法、装置、存储介质和处理器,属于芯片验证技术领域。本发明在已搭建好的UVM验证环境中建立待验证芯片参考模型;在UVM验证环境中启动待验证芯片参考模型,并在实际验证环境中启动待验证芯片;选择待验证寄存器模块,并将待验证寄存器模块中的寄存器进行划分;至少选择其中一个待改配寄存器组,对选择的待改配寄存器组中的寄存器随机动态改配,并将动态改配信息下发至待验证芯片;将待验证芯片的工作状态信息与待验证芯片参考模型的工作状态信息进行比对检查,避免了单个寄存器动态改配操作繁琐,耗时较长且难以构造复杂场景的问题,提高了寄存器动态改配验证的效率。

Description

寄存器动态改配验证方法、装置、存储介质和处理器
技术领域
本申请涉及芯片验证技术领域,具体涉及一种寄存器动态改配验证方法、一种寄存器动态改配验证装置、一种机器可读存储介质及一种处理器。
背景技术
目前进行芯片验证时,不仅需要将芯片安装在开发电路板上通过测试程序测试,还需要通过通用验证方法学(UVM,Universal Verification Methodology)来验证,UVM提供了一套基于SystemVerilog语言的标准类库,这不仅使得验证工程师可以快速的完成底层验证平台的搭建工作,更是提供了一套统一的标准,对验证方法进行了约束与指导,提高了验证平台的重用性和移植性。根据UVM验证方法学搭建的验证平台,可以实现测试激励随机产生、验证结果自检测、功能覆盖率收集等功能,足够应对当前验证流程中的大多数场景。
在芯片验证工作中,需要在芯片正常工作中,对多个寄存器进行动态改配,达到修改芯片工作模式的验证。现有对寄存器功能验证一般是基于UVM方法学,通过对单个寄存器进行动态改配,观察芯片功能的切换,验证芯片工作中发生寄存器动态改配的正确性。
然而,这种验证方法存在当寄存器较多时,进行单个寄存器动态改配操作繁琐,耗时较长且难以构造复杂场景的问题。
发明内容
本申请实施例的目的是提供一种寄存器动态改配验证方法、一种寄存器动态改配验证装置、一种机器可读存储介质及一种处理器。
为了实现上述目的,本申请第一方面提供一种寄存器动态改配验证方法,包括:
获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
在本申请实施例中,还包括:
对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
在本申请实施例中,还包括:
根据所述待验证芯片的属性信息确定寄存器约束;
根据所述寄存器约束,对所述待验证寄存器模块中对应的寄存器添加约束,得到修改后的寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
将所述修改后的寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
在本申请实施例中,所述对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,包括:
根据所述待改配寄存器组中的寄存器的大小,确定对应的随机函数;
通过所述对应的随机函数随机生成随机值;
根据所述随机值,匹配对应的寄存器行为,以得到动态改配信息。
在本申请实施例中,还包括:
设置动态改配次数;
所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片的步骤之后,包括:
判断当前改配次数是否大于等于所述动态改配次数,若是,则分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果;若否,则对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片,并将当前改配次数加1。
在本申请实施例中,还包括:
在所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息的步骤之前,分别关闭所述UVM验证环境和所述实际验证环境中的比对检查功能;
在所述将所述动态改配信息下发至所述待验证芯片后,判断所述待验证芯片是否处于稳定配置下工作,得到判断结果;
根据判断结果启动所述UVM验证环境和所述实际验证环境中的比对检查功能。
本申请第二方面提供一种寄存器动态改配验证装置,所述寄存器动态改配验证装置,包括:
待验证芯片参考模型建立模块,用于获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
启动模块,用于在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
寄存器划分模块,用于在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
随机动态改配模块,用于至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
比对检查模块,用于分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
在本申请实施例中,还包括:
寄存器筛选模块,用于对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述寄存器划分模块包括:
第一划分单元,用于对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
本申请第三方面提供一种处理器,被配置成执行上述的寄存器动态改配验证方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的寄存器动态改配验证方法。
通过上述技术方案,选定某些节点上的寄存器模块,将该模块内的全部寄存器划分为可配置的多等份,随机选择其中的一份,并对这其中的寄存器进行随机化后,对正在工作的待验证芯片进行动态改配,将动态改配后待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果,避免了单个寄存器动态改配操作繁琐,耗时较长且难以构造复杂场景的问题,提高了寄存器动态改配验证的效率。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的一种寄存器动态改配验证方法的应用环境示意图;
图2示意性示出了根据本申请实施例的一种寄存器动态改配验证方法的流程示意图;
图3示意性示出了根据本申请实施例的一种验证方法流程图;
图4示意性示出了根据本申请实施例的第一次动态改配局部放大波形图;
图5示意性示出了根据本申请实施例的第二次动态改配局部放大波形图;
图6示意性示出了根据本申请实施例的第三次动态改配局部放大波形图;
图7示意性示出了根据本申请实施例的验证环境检测L2模块功能打印信息图;
图8示意性示出了根据本申请实施例的一种寄存器动态改配验证装置的结构框图;
图9示意性示出了根据本申请实施例的计算机设备的内部结构图。
附图标记说明
102-终端;104-服务器;410-待验证芯片参考模型建立模块;420-启动模块;430-寄存器划分模块;440-随机动态改配模块;450-比对检查模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供的一种寄存器动态改配验证方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104通过从终端102中获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参看图2-图3,图2示意性示出了根据本申请实施例的一种寄存器动态改配验证方法的流程示意图,图3示意性示出了根据本申请实施例的一种验证方法流程图。如图1所示,在本申请一实施例中,提供了一种寄存器动态改配验证方法,本实施例主要以该方法应用于上述图1中的终端102(或服务器104)来举例说明,包括以下步骤:
步骤210:获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;在本实施例中,所述待验证芯片的属性信息包括寄存器信息、电气参数信息等,寄存器信息包括寄存器数量、名称、大小等信息。上述属性信息可以是通过识别器件手册中的信息得到,也可以是由用户输入得到。上述待验证芯片可以是任意带有寄存器的芯片,比如交换机芯片。
上述UVM验证环境是指根据UVM验证方法学搭建的验证平台,可以实现测试激励随机产生、验证结果自检测、功能覆盖率收集等功能。在采用UVM验证方法学进行验证时,理论上只有UVM的agent,scoreboard和基本的transaction(sequence),以及包含测试内容的sequence和sequencelibrary需要修改,其他的代码几乎都可以被重用。这套UVM验证方法学,不仅使得代码得以重用,还规范了SystemVerilog代码编写的框架,使得代码相对易于理解和维护。上述UVM验证环境可以通过各种脚本搭建,比如,可以是通过python脚本在装有linux系统的服务器上搭建UVM验证环境。上述UVM验证环境的搭建可以采用经典的UVM架构搭建得到,上述UVM验证环境的搭建采用现有的技术就可以实现,在此就不再赘述。
在本实施例中,通过获取到待验证芯片的属性信息,可以在UVM验证环境中建立对应的模拟芯片,即待验证芯片参考模型。上述待验证芯片参考模型可以实现待验证芯片的所有功能,包含了待验证芯片中的各种寄存器。通过在所述UVM验证环境中建立待验证芯片参考模型,可以模拟待验证芯片,进而模拟芯片相关功能。
步骤220:在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;上述分别启动待验证芯片参考模型和所述待验证芯片,使待验证芯片参考模型和待验证芯片均处于工作状态,从而便于验证在运行状态下,修改寄存器配置,待验证芯片工作的正确性。上述UVM验证环境与所述实际验证环境可以通过以太网连接,可以互相传输数据。
步骤230:在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
在本实施例中,由于待验证芯片中可能包含多个寄存器模块,可以根据实际需要选择相应的寄存器模块,也可以是随机选择寄存器模块。各个寄存器模块中包含有多个寄存器模型,为了便于寄存器改配,从而能够加快验证仿真时间,可以将多个寄存器划分为多个等分,即得到多个待改配寄存器组。需要说明的是,本发明中提及的寄存器改配是指对寄存器的配置进行修改,比如修改寄存器的行为。
上述划分可以是按照需要将多个寄存器划分为多等分,比如,寄存器模块中包含100个寄存器,可以按照验证需要划分为2等分,得到2个待改配寄存器组,每一个待改配寄存器组包括50个寄存器。上述划分也可以是随机划分。
通过选择待验证寄存器模块,并对多个寄存器进行划分,可以便于后期对寄存器按照分组进行改配,从而加快验证仿真时间。
其中,在选择待验证寄存器模块时,考虑到有些芯片中的寄存器并不支持修改配置,则需要屏蔽掉,因此,在进行寄存器划分之前,还包括以下步骤:
首先,对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;由于需要屏蔽寄存器模块内特定的寄存器,以不进行动态改配,所以需要将特定的寄存器筛选出去,得到的可改配寄存器集中所包含的寄存器都是可以进行动态改配的。上述寄存器模块内特定的寄存器的确定可以是根据各个待验证芯片的属性信息确定得到,比如,上述特定的寄存器是会直接触发中断的寄存器的。通过查看待验证芯片的器件手册就可以得到相应的信息。需要说明的是,本发明所提及的动态改配是指芯片在运行状态下,对寄存器进行修改配置。
然后,对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。上述可改配寄存器集中的寄存都是可以进行动态改配的。上述划分可以是随机划分为多等分,也可以按照需要进行划分。
通过对寄存器进行筛选,可以将不能进行动态改配的寄存器屏蔽掉,进而保证后期进行动态改配的准确性。
其中,在选择待验证寄存器模块时,考虑到需要对特定的寄存器添加约束来控制随机化的范围,因此,在进行寄存器划分之前,还包括以下步骤:
首先,根据所述待验证芯片的属性信息确定寄存器约束;比如:内部信用相关的寄存器,信用在一定范围。上述寄存器约束是指寄存器的配置在一定范围内,比如,寄存器A的信用配置只能是在3-4的范围内改变。具体是根据芯片的不同,寄存器约束也不同,可以是通过器件手册中的属性信息得到。
然后,根据所述寄存器约束,对所述待验证寄存器模块中对应的寄存器添加约束,得到修改后的寄存器集;对于不同的寄存器可能有不同的约束,分别在对应的寄存器中添加相应的约束。
最后,将所述修改后的寄存器集中的寄存器进行划分,得到多个待改配寄存器组。上述修改后的寄存器集中的寄存器是经过添加约束后得到的,上述划分可以是随机划分为多等分,也可以按照需要进行划分。
通过对寄存器添加约束,可以控制寄存器的随机化范围,进而保证后期进行动态改配的准确性。
需要说明的是,根据待验证芯片的实际情况,上述对寄存器筛选和对寄存器添加约束可以是同时进行。
步骤240:至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
上述进行动态改配时,可以是选择其中任意一个所述待改配寄存器组,也可以是选择多个,若选择多个所述待改配寄存器组,则分别对各个所述待改配寄存器组进行动态改配操作。
其中,为了增加随机性,上述进行动态改配的过程包括以下步骤:
首先,根据所述待改配寄存器组中的寄存器的大小,确定对应的随机函数;在本实施例中,由于各个寄存器都有相应的大小,可以根据不同的大小选择对应的随机函数,比如对于64bit的寄存器,选择64位随机函数。
然后,通过所述对应的随机函数随机生成随机值;上述各个随机函数是可以随机生成随机值的函数,在确定了随机函数后,可以得到一个随机值。
最后,根据所述随机值,匹配对应的寄存器行为,以得到动态改配信息。对于不同的随机值,对应有不同的寄存器行为,上述寄存器行为包括舍弃、转发、拷贝、去往CPU等。其中,舍弃是指将数据去掉,转发是指将数据转发出去,拷贝是指将数据复制,去往CPU是指将数据发往CPU。比如,随机值1对应的寄存器行为是舍弃,随机值2对应的寄存器行为是拷贝,随机值3对应的寄存器行为是去往CPU,随机值4对应的寄存器行为是转发;上述通过随机函数得到的随机值为2,则对应的寄存器行为:拷贝。通过对待改配寄存器组的各个寄存器分别生成随机值,进而得到各个寄存器行为,从而得到动态改配信息。
需要说明的是,上述得到动态改配信息时,同时也在UVM验证环境中对寄存器进行了动态改配。然后将动态改配信息下发至所述待验证芯片,从而在实际验证环境中实现寄存器的动态改配。
步骤250:分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。在将动态改配信息下发至所述待验证芯片后,就实现了在UVM验证环境与所述实际验证环境中同时动态改配的目的,然后通过分别获取两种环境下待验证芯片的工作状态信息,进而通过对比得到验证结果。其中,在UVM验证环境中的待验证芯片的工作状态信息可以作为参照信息,比较在实际验证环境中的待验证芯片的工作状态信息。上述工作状态信息是指在不同的寄存器配置下,待验证芯片的工作情况。上述比对检查可以通过UVM验证环境进行自动验证,从而得到验证结果。
其中,为了增加寄存器行为的随机组合的情况,可以设置动态改配的次数,具体包括以下步骤:
首先,设置动态改配次数;比如设置动态改配次数为10次,则需要对寄存器改配10次。
然后,所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片的步骤之后,判断当前改配次数是否大于等于所述动态改配次数,若是,则分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果;若否,则对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片,并将当前改配次数加1。
在本实施例中,设改配次数为t,t的初值设为0,每次改配后t加1,然后再机芯动态改配后,判断当前改配次数是否大于等于所述动态改配次数,即判断当前t是否大于等于预设的动态改配次数,比如为10,则判断t是否大于等于10,若是,则分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果;如不是,则再次进行动态改配,并将t+1。
考虑到将多个寄存器的动态改配信息下到待验证芯片中需要时间,UVM验证环境与所述实际验证环境难以立刻同步匹配,因此,要提前关闭验证环境和芯片进行比对检查的功能。具体包括以下步骤:
首先,在所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息的步骤之前,分别关闭所述UVM验证环境和所述实际验证环境中的比对检查功能;
然后,在所述将所述动态改配信息下发至所述待验证芯片后,判断所述待验证芯片是否处于稳定配置下工作,得到判断结果;由于动态改配信息下发至所述待验证芯片后,需要一定的时间进行寄存器配置,因此,需要等一段时间后,确保当前寄存器改配完成后,待验证芯片已经处于稳定配置下工作。上述判断待验证芯片是否处于稳定配置下工作可以是判断等待时间是否超过预设的时间段,也可以是通过监控所述待验证芯片的工作状态确定得到。
最后,根据判断结果启动所述UVM验证环境和所述实际验证环境中的比对检查功能。若判断结果为处于稳定配置下工作,则说明可以开启所述UVM验证环境和所述实际验证环境中的比对检查功能,进而进行对比检查。反之,则继续等待。
上述实现过程中,通过获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;然后至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。通过选定某些节点上的寄存器模块,将该模块内的全部寄存器划分为可配置的多等份,随机选择其中的一份,并对这其中的寄存器进行随机化后,对正在工作的待验证芯片进行动态改配,将动态改配后待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果,避免了单个寄存器动态改配操作繁琐,耗时较长且难以构造复杂场景的问题,提高了寄存器动态改配验证的效率。
下面以验证交换机芯片为例,说明采用本发明进行寄存器动态改配验证的过程。
首先通过python脚本在装有linux系统的服务器上搭建UVM验证平台,并使用Synopsys VCS工具进行验证分析,实现对交换机芯片中的L2模块正常工作时,多个寄存器动态改配后功能切换的正确性进行验证。需要说明的是,本实施例中提到的L2模块是指交换机芯片中的L2转发模块。
其中,验证环境配置只对L2模块的寄存器进行动态改配。为了能够更好的验证寄存器动态改配的功能,将所有的寄存器划分为1份,进行动态改配的次数为3,屏蔽会直接触发中断的寄存器,选定内部信用相关的寄存器在信用3到4之间随机,其他寄存器的值进行全随机。
在交换机芯片中的L2模块正常工作时,寄存器多次动态改配切换功能的verdi波形如图4,图5和图6所示。从三次动态改配波形图中可以看出,通过寄存器间接修改L2模块相同地址的寄存器时,每次动态改配的数值是不同的。例如同一个寄存器,三次进行动态改配的数值分别为十六进制的13,1c和17,从而解决了当寄存器较多时,进行单个寄存器动态改配操作繁琐,耗时较长且难以构造复杂场景的问题。
为了能够避免由于验证环境和L2模块进行动态改配时,时序难以完全同步导致测试用例在回归时频繁报错的问题,采用基于UVM验证方法学的寄存器动态改配验证方法和UVM验证平台中的scoreboard进行配合,在要开始动态改配前屏蔽scoreboard的报错提醒,等动态改配完成一段时间后L2模块已经稳定,再次开启scoreboard进行比对,确保配置更改后的L2模块功能的正确性。
验证环境检测L2模块功能打印信息如图7所示,图7示意性示出了根据本申请实施例的验证环境检测L2模块功能打印信息图。从图7中可以发现,验证环境发送了10000个报文给L2模块,最终8627个报文比对正确,在经过一次波形确认比对出错的报文是在动态改配期间且动态改配稳定后的报文比对正确,符合动态改配预期后,可以进行多次回归验证。
图2为一个实施例中寄存器动态改配验证方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,图8示意性示出了根据本申请实施例的一种寄存器动态改配验证装置的结构框图。提供了一种寄存器动态改配验证装置,包括待验证芯片参考模型建立模块410、启动模块420、寄存器划分模块430,随机动态改配模块440,比对检查模块450,其中:
待验证芯片参考模型建立模块410,用于获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
启动模块420,用于在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
寄存器划分模块430,用于在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
随机动态改配模块440,用于至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
比对检查模块450,用于分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
其中,还包括:
寄存器筛选模块,用于对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述寄存器划分模块430包括:
第一划分单元,用于对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
所述寄存器动态改配验证装置包括处理器和存储器,上述待验证芯片参考模型建立模块410、启动模块420、寄存器划分模块430,随机动态改配模块440,比对检查模块450等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对寄存器动态改配验证方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述一种寄存器动态改配验证方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种寄存器动态改配验证方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的寄存器动态改配验证装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该寄存器动态改配验证装置的各个程序模块,比如,图8所示的待验证芯片参考模型建立模块410、启动模块420、寄存器划分模块430,随机动态改配模块440,比对检查模块450。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的寄存器动态改配验证方法中的步骤。
图9所示的计算机设备可以通过如图8所示的寄存器动态改配验证装置中的待验证芯片参考模型建立模块410执行步骤210。计算机设备可通过启动模块420执行步骤220,通过寄存器划分模块430执行步骤230,通过随机动态改配模块440执行步骤240,通过比对检查模块450执行步骤250。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
在一个实施例中,对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
在一个实施例中,根据所述待验证芯片的属性信息确定寄存器约束;
根据所述寄存器约束,对所述待验证寄存器模块中对应的寄存器添加约束,得到修改后的寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
将所述修改后的寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
在一个实施例中,所述对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,包括:
根据所述待改配寄存器组中的寄存器的大小,确定对应的随机函数;
通过所述对应的随机函数随机生成随机值;
根据所述随机值,匹配对应的寄存器行为,以得到动态改配信息。
在一个实施例中,设置动态改配次数;
所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片的步骤之后,包括:
判断当前改配次数是否大于等于所述动态改配次数,若是,则分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果;若否,则对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片,并将当前改配次数加1。
在一个实施例中,在所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息的步骤之前,分别关闭所述UVM验证环境和所述实际验证环境中的比对检查功能;
在所述将所述动态改配信息下发至所述待验证芯片后,判断所述待验证芯片是否处于稳定配置下工作,得到判断结果;
根据判断结果启动所述UVM验证环境和所述实际验证环境中的比对检查功能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种寄存器动态改配验证方法,其特征在于,所述寄存器动态改配验证方法包括:
获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据所述待验证芯片的属性信息确定寄存器约束;
根据所述寄存器约束,对所述待验证寄存器模块中对应的寄存器添加约束,得到修改后的寄存器集;
所述将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组,包括:
将所述修改后的寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
4.根据权利要求1所述的方法,其特征在于,所述对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,包括:
根据所述待改配寄存器组中的寄存器的大小,确定对应的随机函数;
通过所述对应的随机函数随机生成随机值;
根据所述随机值,匹配对应的寄存器行为,以得到动态改配信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
设置动态改配次数;
所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片的步骤之后,包括:
判断当前改配次数是否大于等于所述动态改配次数,若是,则分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果;若否,则对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片,并将当前改配次数加1。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息的步骤之前,分别关闭所述UVM验证环境和所述实际验证环境中的比对检查功能;
在所述将所述动态改配信息下发至所述待验证芯片后,判断所述待验证芯片是否处于稳定配置下工作,得到判断结果;
根据判断结果启动所述UVM验证环境和所述实际验证环境中的比对检查功能。
7.一种寄存器动态改配验证装置,其特征在于,所述寄存器动态改配验证装置,包括:
待验证芯片参考模型建立模块,用于获取待验证芯片的属性信息,并根据所述待验证芯片的属性信息,在已搭建好的UVM验证环境中建立待验证芯片参考模型;
启动模块,用于在所述UVM验证环境中启动所述待验证芯片参考模型,使所述待验证芯片参考模型处于运行状态,并在实际验证环境中启动所述待验证芯片,使所述待验证芯片处于运行状态;
寄存器划分模块,用于在所述待验证芯片参考模型中选择待验证寄存器模块,并将所述待验证寄存器模块中的寄存器进行划分,得到多个待改配寄存器组;
随机动态改配模块,用于至少选择其中一个所述待改配寄存器组,对选择的所述待改配寄存器组中的寄存器随机动态改配,得到动态改配信息,并将所述动态改配信息下发至所述待验证芯片;
比对检查模块,用于分别获取所述待验证芯片的状态信息和所述待验证芯片参考模型的状态信息,并将待验证芯片的工作状态信息与所述待验证芯片参考模型的工作状态信息进行比对检查,得到验证结果。
8.根据权利要求7所述的装置,其特征在于,还包括:
寄存器筛选模块,用于对所述待验证寄存器模块中的寄存器进行筛选,得到可改配寄存器集;
所述寄存器划分模块包括:
第一划分单元,用于对所述可改配寄存器集中的寄存器进行划分,得到多个待改配寄存器组。
9.一种处理器,其特征在于,被配置成执行根据权利要求1至6中任一项所述的寄存器动态改配验证方法。
10.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至6中任一项所述的寄存器动态改配验证方法。
CN202211461581.XA 2022-11-17 2022-11-17 寄存器动态改配验证方法、装置、存储介质和处理器 Active CN115599618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211461581.XA CN115599618B (zh) 2022-11-17 2022-11-17 寄存器动态改配验证方法、装置、存储介质和处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211461581.XA CN115599618B (zh) 2022-11-17 2022-11-17 寄存器动态改配验证方法、装置、存储介质和处理器

Publications (2)

Publication Number Publication Date
CN115599618A true CN115599618A (zh) 2023-01-13
CN115599618B CN115599618B (zh) 2023-03-31

Family

ID=84852197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211461581.XA Active CN115599618B (zh) 2022-11-17 2022-11-17 寄存器动态改配验证方法、装置、存储介质和处理器

Country Status (1)

Country Link
CN (1) CN115599618B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271248A (zh) * 2023-11-23 2023-12-22 成都市楠菲微电子有限公司 Io接口测试方法、装置及uvm验证环境

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200098082A1 (en) * 2018-09-21 2020-03-26 Advanced Micro Devices, Inc. Dynamic memory management on a graphics processing unit
CN111027103A (zh) * 2019-01-31 2020-04-17 哈尔滨安天科技集团股份有限公司 基于寄存器模糊配置的芯片检测方法、装置及存储设备
CN113076227A (zh) * 2021-04-28 2021-07-06 深圳市汇春科技股份有限公司 Mcu验证方法、系统和终端设备
CN113822002A (zh) * 2021-08-31 2021-12-21 上海商汤阡誓科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN114330176A (zh) * 2021-11-25 2022-04-12 北京爱芯科技有限公司 芯片验证方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200098082A1 (en) * 2018-09-21 2020-03-26 Advanced Micro Devices, Inc. Dynamic memory management on a graphics processing unit
CN111027103A (zh) * 2019-01-31 2020-04-17 哈尔滨安天科技集团股份有限公司 基于寄存器模糊配置的芯片检测方法、装置及存储设备
CN113076227A (zh) * 2021-04-28 2021-07-06 深圳市汇春科技股份有限公司 Mcu验证方法、系统和终端设备
CN113822002A (zh) * 2021-08-31 2021-12-21 上海商汤阡誓科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN114330176A (zh) * 2021-11-25 2022-04-12 北京爱芯科技有限公司 芯片验证方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271248A (zh) * 2023-11-23 2023-12-22 成都市楠菲微电子有限公司 Io接口测试方法、装置及uvm验证环境
CN117271248B (zh) * 2023-11-23 2024-02-09 成都市楠菲微电子有限公司 Io接口测试方法、装置及uvm验证环境

Also Published As

Publication number Publication date
CN115599618B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN106940428B (zh) 芯片验证方法、装置及系统
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
CN109508178A (zh) 一种程序开发方法及装置
JP6761441B2 (ja) ソフトウェアアプリケーションプログラミングインタフェース(api)を用いた自動テスト機能のユーザによる制御
CN115599618B (zh) 寄存器动态改配验证方法、装置、存储介质和处理器
JP2017084082A (ja) シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法
US7610429B2 (en) Method and system for determining device criticality in a computer configuration
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
JP6771413B2 (ja) ソフトウェア検証装置およびソフトウェア検証プログラム
CN109460187B (zh) 一种qcow2文件数据一致性验证方法及验证终端
WO2021077916A1 (zh) 一种镜像文件的获取方法以及装置
CN117435483A (zh) 基于Formal工具的仿真验证激励生成方法、装置、介质及终端
CN108228611B (zh) 单据信息抄写方法和装置
CN114841119B (zh) 多用户模式下的寄存器建模方法、装置、设备及介质
CN114546823B (zh) 用于重现逻辑系统设计的调试场景的方法及相关设备
CN114328062B (zh) 校验缓存一致性的方法、装置和存储介质
CN114153732A (zh) 故障场景测试方法、装置、电子设备及存储介质
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
CN115437903A (zh) 接口测试方法、装置、设备、存储介质及程序
US20200349304A1 (en) Method, apparatus, device, and medium for implementing simulator
CN111782271A (zh) 一种软硬件交互方法及装置、存储介质
US7277840B2 (en) Method for detecting bus contention from RTL description
CN117271248B (zh) Io接口测试方法、装置及uvm验证环境
US11907409B2 (en) Dynamic immutable security personalization for enterprise products
CN117312176B (zh) 一种基于uvm的芯片验证测试方法、系统及电子设备

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