CN116560931A - 一种芯片验证平台和方法、电子设备、存储介质 - Google Patents

一种芯片验证平台和方法、电子设备、存储介质 Download PDF

Info

Publication number
CN116560931A
CN116560931A CN202310614702.8A CN202310614702A CN116560931A CN 116560931 A CN116560931 A CN 116560931A CN 202310614702 A CN202310614702 A CN 202310614702A CN 116560931 A CN116560931 A CN 116560931A
Authority
CN
China
Prior art keywords
verification
module
processor
chip
platform
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
CN202310614702.8A
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.)
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information 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 Eswin Computing Technology Co Ltd, Guangzhou Quanshengwei Information Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202310614702.8A priority Critical patent/CN116560931A/zh
Publication of CN116560931A publication Critical patent/CN116560931A/zh
Pending legal-status Critical Current

Links

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
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本申请实施例公开了一种芯片验证平台和方法、电子设备、存储介质。芯片验证平台包括:至少一个验证环境,用于对待验证芯片包括的至少一个功能块进行验证,得到至少一个块验证结果;至少一个验证环境与至少一个功能块一一对应;不同的功能块在待验证芯片中的架构信息和业务信息不同;处理器验证模块,用于对待验证芯片的处理器进行验证,得到处理器验证结果。

Description

一种芯片验证平台和方法、电子设备、存储介质
技术领域
本申请涉及电子技术领域,尤其涉及一种芯片验证平台和方法、电子设备、存储介质。
背景技术
目前,芯片验证需要进行基本单元(intellectual property,IP)验证和系统级芯片(System On Chip,SOC)验证;其中,IP验证包括模块级验证和系统级验证,SOC验证是对全芯片的验证,包括硬件验证和软件验证。由于IP验证和SOC验证通常在不同的平台的进行,IP验证平台和SOC验证平台可重用度低,芯片验证需要使用两个平台完成,导致验证效率低、灵活性差。
发明内容
本申请实施例提供一种芯片验证平台和方法、电子设备、存储介质,提高了芯片验证的效率和灵活性。
本申请的技术方案是这样实现的:
本申请实施例提供了一种芯片验证平台,包括:
至少一个验证环境模块,用于对待验证芯片包括的至少一个个功能块进行验证,得到至少一个块验证结果;所述至少一个验证环境模块与所述至少一个功能块一一对应;不同的所述功能块在所述待验证芯片中的架构信息和业务信息不同;
处理器验证模块,用于对所述待验证芯片的处理器进行验证,得到处理器验证结果。
本申请实施例提供了一种芯片验证方法,包括:
通过至少一个验证环境模块,对待验证芯片包括的至少一个个功能块进行验证,得到至少一个块验证结果;所述至少一个验证环境模块与所述至少一个功能块一一对应;不同的所述功能块在所述待验证芯片中的架构信息和业务信息不同;
通过处理器验证模块,对所述待验证芯片的处理器进行验证,得到处理器验证结果。
本申请实施例提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于在所述计算机程序运行时,执行上述芯片验证方法。
本申请实施例提供了一种计算机可读存储介质,其上存储有可执行指令,用于被处理器执行时,实现上述芯片验证方法。
本申请实施例提供一种芯片验证平台和方法、电子设备和存储介质,芯片验证平台可以通过至少一个验证环境模块对多个功能块分别进行验证,实现对待验证芯片的IP验证;还可以通过处理器验证模块进行软件验证,并基于至少一个验证环境模块进行硬件验证,实现对待验证芯片的SOC验证;如此,至少一个验证环境模块可以重用,芯片验证平台可以基于至少一个验证环境模块完成IP验证和SOC验证,提高了芯片验证效率和灵活性。
附图说明
图1为本申请实施例提供的一种可选的芯片验证平台的结构示意图;
图2为本申请实施例提供的一种可选的验证环境模块的结构示意图;
图3为本申请实施例提供的一种可选的验证环境模块的结构示意图;
图4为本申请实施例提供的一种可选的验证环境模块的结构示意图;
图5为本申请实施例提供的一种可选的芯片验证平台的结构示意图;
图6为本申请实施例提供的一种可选的处理器验证模块的结构示意图;
图7为本申请实施例提供的一种可选的处理器验证模块的结构示意图;
图8为本申请实施例提供的一种可选的芯片验证平台的结构示意图;
图9为本申请实施例提供的一种可选的芯片验证平台的结构示意图;
图10为本申请实施例提供的一种可选的芯片验证方法的流程示意图;
图11为本申请实施例提供的一种可选的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
UVM:通用验证方法学(Universal Verification Methodology,UVM)是以SystemVerilog类库为主体的验证平台开发框架,可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境模块,进行硬件验证。
DUT:待测设计(Design Under Test,DUT)。
SOC:单个封装中的完整处理系统,嵌入软件内容。将中央处理器(centralprocessing unit,CPU)、输入输出、存储器和其他功能器件集成在一块芯片上。
为便于理解本方案,在对本申请实施例进行说明之前,对本申请实施例中的应用背景进行说明。
目前,在芯片验证领域,通常包括IP验证和SOC验证,其中,IP验证属于硬件验证,是对芯片中各个硬件模块进行验证;SOC验证属于全芯片级验证;SOC验证包括整个芯片的硬件验证和软件验证。SOC验证的配置需要在配置文件main.c中编写,CPU启动后,解析配置文件后执行,通过配置总线驱动整个芯片来实现芯片验证。因此,IP验证和SOC验证通常需要在不同的平台进行,由于IP验证和SOC验证可重用度低,导致验证效率低。
为了解决上述问题,本申请实施例提供一种芯片验证平台,图1为本申请实施例提供的一种可选的芯片验证平台的结构示意图。如图1所示,芯片验证平台1可以包括:至少一个验证环境模块01-i(示例性的示出01-1和01-2)和处理器验证模块02;其中,至少一个验证环境模块01-i,用于对待验证芯片包括的至少一个功能块进行验证,得到至少一个块验证结果;至少一个验证环境模块01-i与至少一个功能块一一对应;不同的功能块在待验证芯片中的架构信息和业务信息不同;处理器验证模块02,用于对待验证芯片的处理器进行验证,得到处理器验证结果。
在本申请实施例中,芯片验证平台1是用于对待验证芯片进行验证的平台。芯片验证平台1可以通过验证环境模块01-i对对应的功能块进行验证,通过处理器验证模块02对待验证芯片进行软件验证。
需要说明的是,待验证芯片可以根据架构或者业务等,被划分为至少一个功能块,每个功能块包括至少一个模块。示例性的,一个功能块可以包括至少一个接口类模块,上行模块或下行模块等;对于功能块的划分方式,本申请实施例不作限制。待验证芯片的所有功能块对应的验证环境模块01-i组合起来,可以得到顶层验证环境模块,顶层验证环境模块可以用来对完整的待验证芯片进行验证。
在本申请实施例中,在至少一个功能块包括多个功能块的情况下,待验证芯片还可以包括连通件,多个功能块通过接口设置以及总线连接。每个验证环境模块01-i,用于验证一个对应的功能块,或者该功能块中至少一个模块。这里,不同的验证环境模块独立封装,对外可以不保留数据端口,便于验证环境模块的集成复用。各个验证环境模块可以在顶层环境的协调下运行。
在本申请实施例中,对于任意一个功能块,可以采用对应的一个验证环境模块进行验证,如此,在芯片设计过程中,任意一个功能块设计完成后都可以单独进行验证。
在本申请实施例中,在对待验证芯片进行IP验证时,每个功能块可以有自己的验证用例,芯片验证平台1通过对应的验证环境模块01-i将验证用例驱动到功能块,可以得到功能块的块验证数据;如此,芯片验证平台1可以根据块验证数据确定块验证结果。
在本申请实施例中,在对完整的待验证芯片进行验证时,待验证芯片有自己的全验证用例,基于全验证用例完成对待验证芯片的验证,包括:通过至少一个验证环境模块对至少一个功能块进行验证,以及通过处理器验证模块02对处理器进行验证。
需要说明的是,全验证用例包括配置信息和数据源信息;处理器验证模块02需要将配置信息驱动至待验证芯片,实现对处理器的验证。在一些实施例中,处理器验证模块02可以将配置信息编译为可执行指令,如此,CPU启动后可以执行可执行指令,从而实现将配置信息驱动至待验证芯片。在一些实施例中,处理器验证模块02可以包括虚拟CPU驱动器,通过虚拟CPU驱动器将配置信息驱动至待验证芯片。对此,本申请实施例不作限制。
在本申请实施例中,芯片验证平台1一次可以运行一个验证环境模块,也可以并行运行多个验证环境模块,对此,可以根据需要设置,本申请实施例不作限制。
可以理解的是,芯片验证平台1可以通过至少一个验证环境模块01-i对多个功能块分别进行验证,实现对待验证芯片的IP验证;还可以通过处理器验证模块02进行软件验证,并基于至少一个验证环境模块01-i进行硬件验证,实现对待验证芯片的SOC验证;如此,至少一个验证环境模块01-i可以重用,芯片验证平台可以基于至少一个验证环境模块01-i完成IP验证和SOC验证,提高了芯片验证效率和灵活性。
基于图1,图2示出了一种可选的验证环境模块的结构示意图。如图2所示,验证环境模块01-i可以包括:激励模块11-i,用于基于验证信息产生验证激励,将验证激励驱动至与验证环境模块01-i对应的功能块;分析模块12-i,用于从功能块获取基于验证激励产生的验证数据;根据验证数据确定块验证结果。
在本申请实施例中,验证信息为产生激励的内容,在一些实施例中,验证信息可以实施为验证用例。激励模块11-i可以获取验证信息,基于验证信息产生验证激励,将验证激励驱动至验证环境模块01-i对应的功能块;如此,功能块可以基于验证激励,产生对应的验证数据;分析模块12-i可以从功能块获取验证数据,根据验证数据确定该功能块的块验证结果。
在本申请的一些实施例中,验证信息包括约束范围;激励模块11-i可以基于验证信息,在约束范围内,随机产生多个验证激励。也就是说,验证激励在约束范围内具有随机性。示例性的,激励模块11-i可以在约束范围“0000”到“1000”之间,随机产生验证激励。
可以理解的是,由于验证环境模块01-i对功能块的验证,可以通过激励模块11-i和分析模块12-i执行,相当于对验证环境模块01-i的验证功能分工细化,如此,可以降低验证环境模块01-i中模块之间的关联性,提高芯片验证平台1的复用性。
基于图2,图3示出了一种可选的验证环境模块的结构示意图。如图3所示,激励模块11-i包括:激励管理模块111-i,用于基于验证信息产生验证激励;驱动模块112-i,用于将验证激励通过接口驱动至功能块。
在本申请实施例中,激励管理模块111-i用于基于验证信息产生验证激励;在验证激励包括多个并行激励的情况下,还用于组织管理验证激励。驱动模块112-i,可以从激励管理模块111-i获取验证激励,将验证激励驱动至功能块。这里,驱动模块112-i获取的验证激励是多个并行激励中的哪个,可以由激励管理模块111-i确定。
需要说明的是,验证环境模块和功能块之间可以通过接口通信;如此,子驱动模块可以通过接口将验证激励驱动至功能块。
在本申请实施例中,驱动模块112-i与激励管理模块111-i之间,可以通过握手机制,传输验证激励。示例性的,驱动模块112-i可以向激励管理模块111-i申请验证激励,激励管理模块111-i响应申请,向驱动模块112-i发送验证激励。激励管理模块111-i随机产生多个验证激励,驱动模块112-i驱动一个验证激励至功能块之后,可以向激励管理模块111-i反馈驱动成功信息,同时,向激励管理模块111-i再次申请下一个验证激励。
可以理解的是,通过激励管理模块和子驱动模块,对激励模块功能进行分工细化,可以降低验证环境模块中模块之间的关联性,提高芯片验证平台的复用性。
基于图3,图4示出了一种可选的验证环境模块的结构示意图。如图4所示,分析模块12-i包括:数据采集模块121-i,用于通过接口采集功能块基于验证激励产生的验证数据;数据分析模块122-i,用于对验证数据进行分析,得到块验证结果。
在本申请实施例中,驱动模块112-i将验证激励驱动到功能块之后,功能块基于验证激励,可以产生验证数据;验证数据可以包括:总线逻辑数据、复位时序数据以及各种功能参数的数据等;这里,对于验证数据的设置可以根据需要设置,本申请实施例不作限制。数据采集模块121-i可以通过接口从功能块获取验证数据,将验证数据发送给子数据分析模块122-i;如此,数据分析模块122-i可以利用验证数据确定块验证结果。
可以理解的是,通过数据采集模块121-i和数据分析模块122-i,对驱动模块的功能进行分工细化,可以降低验证环境模块中模块之间的关联性,提高芯片验证平台的复用性。
基于图1,图5示出了一种可选的芯片验证平台的结构示意图。如图5所示,至少一个功能块包括多个功能块;芯片验证平台1还可以包括连通验证模块03,用于验证多个功能块之间的连接信息,得到连通验证结果。
在本申请实施例中,待验证芯片包括多个功能块,多个功能块之间可以通过连通件连接,组成完整待验证芯片。这里,连通件可以包括接口、总线等。如此,芯片验证平台1还可以通过连通验证模块03对于各个功能块之间的连通性进行验证,得到连通验证结果。
可以理解的是,在待验证芯片包括多个功能块和连通件的情况下,芯片验证平台可以通过多个验证环境模块和连通验证模块,完成对待验证芯片的硬件验证。
基于图1,图6示出了一种可选的处理器验证模块的结构示意图。如图6所示,处理器验证模块02包括:编译模块201,用于将配置信息编译为可执行指令;将可执行指令放置于指令存储空间;验证模块202,用于获取处理器执行指令存储空间中的可执行指令所产生的处理器验证数据;根据处理器验证数据确定处理器验证结果。
在本申请实施例中,验证采用的用例通常为C语言编写,而CPU的可执行指令通常为机器指令。芯片验证平台1在对CPU进行验证的情况下,可以通过编译模块201将用例中的配置信息编译为可执行指令;如此,CPU可以执行可执行指令,从而实现对CPU的验证。
需要说明的是,编译模块201在得到可执行指令后,可以将可执行指令存储在指令存储空间中。这里,指令存储空间可以在只读存储器(Read Only Memory,ROM)中,用于存储关键可执行指令;执行存储空间也可以可以在外挂闪存(flash)中,还可以在静态随机存取存储器(Static Random Access Memory,SRAM)中;对于指令存储空间的设置本申请实施例不作限制。如此,CPU启动后,可以通过CPU接口配置总线从存储空间中读取可执行指令,完成对存储空间的读写操作。
在本申请实施例中,CPU执行可执行指令之后,可以产生处理器验证数据;验证模块202可以获取验证数据,对验证数据进行分析,得到处理器验证结果。
可以理解的是,由于芯片验证平台1可以通过编译模块201将配置信息编译为可执行指令,CPU执行可执行指令产生验证数据,如此,芯片验证平台1可以通过验证模块202对验证数据进行分析得到处理器验证结果,实现对待验证芯片的软件验证。
基于图1,图7示出了一种可选的处理器验证模块的结构示意图。如图7所示,处理器验证模块02包括:虚拟驱动模块211,用于模拟总线时序,将配置信息通过总线驱动至待验证芯片;处理器分析模块212,用于接收来自待验证芯片的处理器验证数据;基于处理器验证数据确定处理器验证结果。
在本申请实施例中,虚拟驱动模块211是虚拟的CPU驱动器,虚拟驱动模块211可以模拟CPU总线时序,将配置信息通过CPU接口配置总线驱动至待验证芯片;待验证芯片基于配置信息可以产生处理器验证数据,如此,处理器分析模块212可以获取处理器验证数据,对处理器验证数据进行分析,得到处理器验证结果。
在本申请实施例中,芯片验证平台1可以获取CPU总线适配器,通过CPU总线适配器将用例寄存器的读写操作转化为总线事物(bus transaction),编写CPU总线适配器;如此,虚拟驱动模块211可以基于总线事物模拟总线时序。其中,CPU总线适配器可以为预先编写好的。
可以理解的是,由于虚拟驱动模块可以直接将配置信息驱动至待验证芯片,而不用CPU启动并执行,可以提高芯片验证的效率。
在本申请的一些实施例中,处理器验证模块02可以包括:编译模块201、验证模块202、虚拟驱动模块211和处理器分析模块212,如此,处理器验证模块02可以兼容上述两种处理器的验证方式。
基于图1,本申请实施例提供了一种可选的芯片验证平台的结构示意图8。如图8所示,芯片验证平台1还可以包括顶层验证环境模块001;顶层验证环境模块001包括:至少一个验证环境模块01-i(示例性的示出01-1和01-2)和处理器验证模块02;至少一个验证环境模块01-i,还用于基于全验证信息,对至少一个功能块进行验证,得到块验证结果;处理器验证模块02,还用于基于全验证信息,对处理器进行验证,得到处理器验证结果。
在本申请实施例中,全验证信息用于产生全验证激励;全验证激励用于运行顶层验证环境模块001。顶层验证环境模块001运行时,可以运行至少一个验证环境模块01-i和处理器验证模块02,得到至少一个块验证结果和处理器验证结果。
示例性的,芯片验证平台1可以为基于UVM验证平台建立的平台,验证环境模块可以为顶层验证环境模块test_top节点下的一个节点env;如此,test_top节点下可以包括至少一个节点。
在本申请实施例中,在完整的待验证芯片设计完成后,完整的待验证芯片包括的所有功能块对应的所有验证环境模块01-i,与处理器验证模块可02以组成一个顶层验证环境模块001。顶层验证环境模块001运行时,完成对完整的待验证芯片的所有验证。
可以理解的是,通过运行顶层验证环境模块001,可以实现对完整的待验证芯片的所有验证,包括IP验证和SOC验证,提高了芯片验证效率。
在本申请的一些实施例中,功能块包括多个模块;验证环境模块01-i,还用于对所述多个模块中的目标模块进行验证,得到目标模块验证结果;将目标模块验证结果作为块验证结果。
在本申请实施例中,不同的验证环境模块01-i的宏不同;在需要对一个功能块或者该功能块中的目标模块进行验证的情况下,芯片验证平台可以通过功能块对应的验证环境模块01-i的宏指示该验证环境模块01-i进行验证。
在本申请实施例中,验证环境模块01-i可以获取针对该目标模块的验证信息;基于验证信息对目标模块进行验证。
可以理解的是,由于不同的验证环境模块对应不同的功能块,对于功能块中的目标模块,芯片验证平台可以通过验证环境模块对目标模块进行验证,提高了芯片验证平台进行IP验证的灵活性。
示例性的,本申请实施例提供了一种可选的芯片验证平台的结构示意图9。如图9所示,该芯片验证平台是基于UVM的验证平台。其中,验证环境模块01-i实施为env-i(示例性地示出了env-1和env-2),激励管理模块实施为sequencer,驱动模块实施为driver,数据采集模块实施为monitor,数据分析模块实施为scoreboard。以env-1为例,图8中示出了env-1包括代理模块agent-1和scoreboard-1,agent-1包括sequencer-1、driver-1和monitor-1。完整待验证芯片包括2个功能块,对应两个验证环境模块01-1和01-2,两个验证环境模块01-1、01-2、连通验证模块和处理器验证模块打包组成顶层验证环境模块test_top。芯片验证平台可以运行验证环境模块01-1,验证环境模块01-1获取验证信息,产生验证激励,对一个功能块进行验证。芯片验证平台也可以运行顶层验证环境模块test_top,顶层验证环境模块test_top获取全验证信息,产生全验证激励,对2个功能块及其连通性,以及CPU进行验证,完成对完整待验证芯片的验证。
可以理解的是,本申请实施例提供改的基于UVM的芯片验证平台,不仅可以基于验证环境模块env完成对待验证芯片的IP验证和SOC验证,提高芯片验证的效率和灵活性,还能对整个用例覆盖及总线等进行实时数据采集,实现功能覆盖率设计,且验证用例灵活,随机性较好。
基于上述芯片验证平台,本申请实施例提供一种芯片验证方法,如图10所示,该方法可以包括:S101-S102。
S101、通过至少一个验证环境模块,对待验证芯片的至少一个功能块进行验证,得到至少一个块验证结果;至少一个验证环境模块与至少一个功能块一一对应;不同的功能块在待验证芯片中的架构信息和业务信息不同。
S102、通过处理器验证模块,对待验证芯片的处理器进行验证,得到处理器验证结果。
在本申请实施例中,芯片验证平台可以通过至少一个验证环境模块,对待验证芯片的至少一个功能块进行验证,得到至少一个块验证结果;还可以通过处理器验证模块,对待验证芯片的处理器进行验证,得到处理器验证结果。
在本申请实施例中,芯片验证平台在接收到目标功能块的验证指令的情况下,可以响应该指令,通过与目标功能块对应的目标验证环境模块对目标功能块进行验证,得到目标功能块的块验证结果,实现IP验证;芯片验证平台在接收到处理器验证指令的情况下,可以通过处理器验证模块进行处理器验证,得到处理器验证结果。
在本申请实施例中,芯片验证平台在接收到完整芯片的验证指令的情况下,可以通过至少一个验证环境模块和处理器验证模块对待验证芯片进行SOC验证。
可以理解的是,芯片验证平台中多个验证环境模块对IP验证和SOC验证可以复用,且芯片验证平台可以实现CPU验证,如此,可以提高芯片验证平台的验证效率和灵活性。
在一些实施例中,S101中通过至少一个验证环境模块,对待验证芯片包括的至少一个个功能块进行验证,得到至少一个块验证结果的实现,可以包括:通过激励模块,基于验证信息产生验证激励,将验证激励驱动至与验证环境模块对应的功能块;通过分析模块,从功能块获取基于验证激励产生的验证数据;根据验证数据确定块验证结果。
在一些实施例中,上述通过激励模块,基于验证信息产生验证激励,将验证激励驱动至与验证环境模块对应的功能块的实现,可以包括:激励管理模块,用于基于验证信息产生验证激励;驱动模块,用于将验证激励通过接口驱动至功能块。
在一些实施例中,上述通过分析模块,从功能块获取基于验证激励产生的验证数据;根据验证数据确定块验证结果的实现,可以包括:通过数据采集模块,通过接口采集功能块基于验证激励产生的验证数据;通过数据分析模块,对验证数据进行分析,得到块验证结果。
在一些实施例中,至少一个功能块包括多个功能块;方法还包括:通过连通验证模块,验证多个功能块之间的连接信息,得到连通验证结果。
在一些实施例中,S102中通过处理器验证模块,对待验证芯片的处理器进行验证,得到处理器验证结果的实现,可以包括:通过编译模块,将配置信息编译为可执行指令;通过验证模块,获取处理器执行可执行指令所产生的处理器验证数据;根据处理器验证数据确定处理器验证结果。
在一些实施例中,S102中通过处理器验证模块,对待验证芯片的处理器进行验证,得到处理器验证结果的实现,可以包括:7、根据权利要求1的平台,其特征在于,处理器验证模块包括:通过虚拟驱动模块,模拟总线时序,将配置信息通过总线驱动至待验证芯片通过处理器分析模块,接收来自待验证芯片的处理器验证数据;基于处理器验证数据确定处理器验证结果。
图11为本申请实施例提供的一种可选的电子设备的结构组成示意图,如图11所示,电子设备110包括存储器1107、处理器1108及存储在存储器1107上并可在处理器1108上运行的计算机程序;其中,处理器1108用于运行所述计算机程序时,执行如前述实施例中芯片验证方法。
可以理解,电子设备110还包括总线系统1109;电子设备110中的各个组件通过总线系统1109耦合在一起。可理解,总线系统1109用于实现这些组件之间的连接通信。总线系统1109除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static Random Access Memory,SRAM)、同步静态随机存取存储器(Synchronous Static Random Access Memory,SSRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、同步动态随机存取存储器(Synchronous Dynamic RandomAccess Memory,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSynchronous Dynamic Random Access Memory,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced Synchronous Dynamic Random Access Memory,ESDRAM)、同步连接动态随机存取存储器(SyncLink Dynamic Random Access Memory,SLDRAM)、直接内存总线随机存取存储器(Direct Rambus Random Access Memory,DRRAM)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信号,结合其硬件完成前述方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (11)

1.一种芯片验证平台,其特征在于,包括:
至少一个验证环境模块,用于对待验证芯片的至少一个功能块进行验证,得到至少一个块验证结果;所述至少一个验证环境模块与所述至少一个功能块一一对应;不同的所述功能块在所述待验证芯片中的架构信息和业务信息不同;
处理器验证模块,用于对所述待验证芯片的处理器进行验证,得到处理器验证结果。
2.根据权利要求1所述的平台,其特征在于,所述验证环境模块包括:
激励模块,用于基于验证信息产生验证激励,将所述验证激励驱动至与所述验证环境模块对应的功能块;
分析模块,用于从所述功能块获取基于所述验证激励产生的验证数据;根据所述验证数据确定所述块验证结果。
3.根据权利要求2所述的平台,其特征在于,所述激励模块包括:
激励管理模块,用于基于所述验证信息产生所述验证激励;
驱动模块,用于将所述验证激励通过接口驱动至所述功能块。
4.根据权利要求2所述的平台,其特征在于,所述分析模块包括:
数据采集模块,用于通过接口采集所述功能块基于所述验证激励产生的验证数据;
数据分析模块,用于对所述验证数据进行分析,得到所述块验证结果。
5.根据权利要求1所述的平台,其特征在于,所述至少一个功能块包括多个功能块;所述平台还包括:
连通验证模块,用于验证所述多个功能块之间的连接信息,得到连通验证结果。
6.根据权利要求1所述的平台,其特征在于,所述处理器验证模块包括:
编译模块,用于将配置信息编译为所述可执行指令;将所述可执行指令放置于指令存储空间;
验证模块,用于获取所述处理器执行所述指令存储空间中的所述可执行指令所产生的所述处理器验证数据;根据所述处理器验证数据确定所述处理器验证结果。
7.根据权利要求1所述的平台,其特征在于,所述处理器验证模块包括:
虚拟驱动模块,用于模拟总线时序,将配置信息通过总线驱动至所述待验证芯片;
处理器分析模块,用于接收来自所述待验证芯片的处理器验证数据;基于所述处理器验证数据确定所述处理器验证结果。
8.根据权利要求1-7任一项所述的平台,其特征在于,所述芯片验证平台还可以包括顶层验证环境;所述顶层验证环境包括:所述至少一个验证环境和所述处理器验证模块;
所述至少一个验证环境,还用于基于全验证信息,对所述至少一个功能块进行验证,得到所述块验证结果;
所述处理器验证模块,还用于基于全验证信息,对所述处理器进行验证,得到所述处理器验证结果。
9.一种芯片验证方法,其特征在于,应用于如权利要求1-8任一项所述的芯片验证平台,包括:
通过至少一个验证环境模块,对待验证芯片的至少一个功能块进行验证,得到至少一个块验证结果;所述至少一个验证环境模块与所述至少一个功能块一一对应;不同的所述功能块在所述待验证芯片中的架构信息和业务信息不同;
通过处理器验证模块,对所述待验证芯片的处理器进行验证,得到处理器验证结果。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在所述计算机程序运行时,执行如权利要求9所述的芯片验证方法。
11.一种计算机可读存储介质,其特征在于,其上存储有可执行指令,用于被处理器执行时,实现如权利要求9所述的芯片验证方法。
CN202310614702.8A 2023-05-26 2023-05-26 一种芯片验证平台和方法、电子设备、存储介质 Pending CN116560931A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310614702.8A CN116560931A (zh) 2023-05-26 2023-05-26 一种芯片验证平台和方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310614702.8A CN116560931A (zh) 2023-05-26 2023-05-26 一种芯片验证平台和方法、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN116560931A true CN116560931A (zh) 2023-08-08

Family

ID=87491467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310614702.8A Pending CN116560931A (zh) 2023-05-26 2023-05-26 一种芯片验证平台和方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116560931A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117454823A (zh) * 2023-12-22 2024-01-26 深圳鲲云信息科技有限公司 一种芯片验证多端口激励控制方法、代理器、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117454823A (zh) * 2023-12-22 2024-01-26 深圳鲲云信息科技有限公司 一种芯片验证多端口激励控制方法、代理器、设备及介质
CN117454823B (zh) * 2023-12-22 2024-04-19 深圳鲲云信息科技有限公司 一种芯片验证多端口激励控制方法、代理器、设备及介质

Similar Documents

Publication Publication Date Title
CN115841089B (zh) 一种基于uvm的系统级芯片验证平台及验证方法
US6123735A (en) Method for simulating bus traffic
CN112232000B (zh) 跨多个验证域的验证系统、验证方法、验证设备
JP2022537620A (ja) 人工知能チップ検証
CN112131829A (zh) 一种芯片寄存器的验证方法、系统及相关装置
CN105205249A (zh) 一种soc调试验证系统及其软硬件协同方法
US20130111505A1 (en) Programmable test instrument
CN113297017A (zh) 一种基于uvm的soc验证系统及方法
CN112685240A (zh) 芯片子系统验证方法和装置
CN102917242A (zh) 一种多格式视频解码器的测试系统和测试方法
CN116560931A (zh) 一种芯片验证平台和方法、电子设备、存储介质
CN114970411A (zh) 一种仿真验证方法及系统
US9690681B1 (en) Method and system for automatically generating executable system-level tests
CN117667655A (zh) 验证系统、验证方法、电子设备以及存储介质
US20060212768A1 (en) Verification circuitry for master-slave system
CN116775394B (zh) 芯片验证方法、装置、设备、存储介质及计算机程序产品
CN112434478B (zh) 仿真逻辑系统设计的虚拟接口的方法及相关设备
CN116719729A (zh) 通用验证平台、通用验证方法、介质及电子设备
US6058468A (en) Central processing unit and microcomputer having testing of circuitry external to the central processing unit
CN112131806A (zh) 验证设计的编译方法、电子设备及存储介质
CN114443375A (zh) 测试方法及装置、电子装置及计算机可读存储介质
EP3734491A1 (en) Method, apparatus, device, and medium for implementing simulator
CN114444423B (zh) 基于验证平台的数据处理方法、系统及电子设备
US7146539B2 (en) Systems and methods for testing a device-under-test
CN113673106B (zh) 一种fpga内核可编程仿真器

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