CN116227393A - 一种验证方法、装置、电子设备及存储介质 - Google Patents
一种验证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116227393A CN116227393A CN202310505562.0A CN202310505562A CN116227393A CN 116227393 A CN116227393 A CN 116227393A CN 202310505562 A CN202310505562 A CN 202310505562A CN 116227393 A CN116227393 A CN 116227393A
- Authority
- CN
- China
- Prior art keywords
- module
- verified
- verification
- identifier
- verification list
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004891 communication Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 6
- 238000004088 simulation Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 abstract description 5
- 230000010354 integration Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种验证方法、装置、电子设备及存储介质,应用于***级芯片,***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块,所述方法包括:至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;触发第一模块运行,更新验证列表,在验证列表中添加下一个待验证的模块标识;基于待验证的模块标识,验证与待验证的模块标识对应的第二模块;第一模块和第二模块设置于不同的处理器核内;如此,将待验证模块设置于***级芯片不同处理器核内,不需要集成且方便维护;通过验证列表中待验证的模块标识及模块标识的顺序,实现各处理器核中各模块之间的互动,完成验证。
Description
技术领域
本公开涉及芯片技术领域,尤其涉及一种验证方法、装置、电子设备及存储介质。
背景技术
相关技术中,对于***级芯片(System on Chip,SoC)中多模块的联动验证,通常是基于人工将各模块集成于一个处理器核中进行验证;然而,多个模块的集成难度较大,且任何模块更新后,集成后的结果也要随之更新,维护难度大。
发明内容
本公开提供了一种验证方法、装置、电子设备及存储介质,以至少解决现有技术中存在的以上技术问题。
根据本公开的第一方面,提供了一种验证方法,应用于***级芯片,所述***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块,所述方法包括:
至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;
触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;
基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;
所述第一模块和所述第二模块设置于不同的处理器核内。
根据本公开的第二方面,提供了一种验证装置,应用于***级芯片,所述***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块,所述装置包括:
确认单元,用于基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;
更新单元,用于触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;
验证单元,用于基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;
所述第一模块和所述第二模块设置于不同的处理器核内。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
本公开的验证方法,通过至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;所述第一模块和所述第二模块设置于不同的处理器核内;如此,将待验证模块设置于***级芯片不同处理器核内,不需要集成且方便维护;通过验证列表中待验证的模块标识及模块标识的顺序,实现各处理器核中各模块之间的互动,完成验证。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本公开实施例提供的验证方法的一种可选流程示意图;
图2示出了本公开实施例提供的验证方法的另一种可选流程示意图;
图3示出了本公开实施例提供的验证方法的再一种可选流程示意图;
图4示出了本公开实施例提供的验证装置的可选结构示意图;
图5示出了本公开实施例一种电子设备的组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
应理解,在本申请的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)***级芯片。
传统芯片主要包含单一单元,比如传统的中央处理器(CPU)主要包含计算单元;而***级芯片中还可以包括内存、电源控制器、时钟控制器、中断控制器、处理器核等部件。
2)硬件域。
可以基于硬隔离的方案实现***级芯片。也就是说,将***级芯片内部的多个硬件资源划分为几个组,每个组中包括一个或多个单元(如计算单元、时钟控制器、中断控制器、处理器核等)所需的资源,每个组内的资源使用相同的编号,互相响应数据访问需求,不影响其他组的硬件访问需求。每个设置好的硬件资源组就是一个硬件域,每个硬件域独立运行一个操作***,不同硬件域之间通过核间通信的方式完成数据交互。
不同的硬件资源可以按需划分不同的组,例如将一个或多个处理器核、GPU及其他适合高性能计算的硬件资源划分为一个组,运行操作***,执行有高性能需求的任务;同时将一个或多个处理器核与其他硬件资源划分为一组,运行Rtos操作***,执行实时性要求较高的任务。不同的组即不同的硬件域。
3)核间通信。
不同的硬件域之间也有信息通信需求,该通信方式被称为核间通信,相比芯片和芯片之间的通信具备更多优势,如不需要将信号传输至芯片外,安全性和速度都有较大提升。核间通信有多种形式,如适合传输指令的mailbox机制,以及适合共享数据的共享内存机制。
4)异构。
多个硬件域之间可能存在差异,如果差异达到不能***作***统一调度,即便使用的是相同的处理器核,也被认为是异构的。多硬件域可能同构也可能异构。需要说明的是,异构是对多硬件域的额外限定,多核异构是硬件概念,不是软件概念。
相关技术中,***级芯片内多个模块的联动验证,需要专人将各个模块的代码集成,放置于一个处理器核中进行验证。在集成过程中,需要专人读懂各模块的代码,且任何模块的代码更新,就需要同步更新集成后的总代码,不便于维护;且多人代码中,不同参数定义可能存在冲突,导致程序错误(bug)增加。
针对相关技术中模块验证存在的缺陷,本公开提供一种验证方法,以解决上述部分或全部技术问题。
图1示出了本公开实施例提供的验证方法的一种可选流程示意图,将根据各个步骤进行说明。
步骤S101,至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块。
在一些实施例中,所述验证方法应用于***级芯片,所述***级芯片包括至少两个处理器核,每个处理器核中均设置至少一个待验证的模块,所述至少两个待验证的模块设置于***级芯片包括的不同处理器核内。
在一些实施例中,所述验证列表中包括待验证模块的模块标识,***级芯片中,模块标识用于表征相应的一个或多个模块,即模块对应唯一模块标识,每一个待验证模块的模块标识均唯一,或者多个模块共用一个模块标识,当验证列表中的模块标识与待验证模块的模块标识相同时,说明该模块具备运行权限,即该模块可以运行验证;反之,当验证列表中的模块标识与待验证模块的模块标识不相同时,说明该模块不具备运行权限。
需要说明的是,多个模块共用一个模块标识的情况下,说明所述多个模块需要在相同的时间节点或时间段运行,即所述多个模块同时运行;模块对应唯一模块标识的情况,说明某一时间节点或时间段,只有一个模块运行。在一些可选实施例中,所述验证列表中只包括1个模块标识,以此控制一个模块或多个模块运行。
步骤S102,触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识。
在一些实施例中,具备运行权限的第一模块运行后,更新验证列表,在验证列表中添加下一个待验证的模块标识。可选的,可以在验证列表中添加一个或至少两个待验证的模块标识,以使相应的一个待验证模块或至少两个待验证模块具备运行权限。
在一些可选实施例中,若第一模块运行之后,不存在其他待验证模块,则所述第一模块可以删除验证列表中的模块标识,即令所述验证列表为空;若第一模块运行之后,存在其他待验证模块,则在验证列表中添加下一个待验证的模块标识,令所述待验证的模块标识对应的一个或多个模块运行。
步骤S103,基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块。
在一些实施例中,***级芯片中未具备运行权限的模块可以每隔第一周期确认所述验证列表中待验证的模块标识与自身模块标识是否相同,进而确认是否具备运行权限,进行验证。
在一些实施例中,所述第一周期可以根据实际需求或实验结果设置,本公开不做具体限定。
如此,通过本公开提供的验证方法,各模块设置于不同的处理器核内,各个模块可以在相应的处理器核内独立运行,避免了集成带来的难度和bug,还可以单独调试,降低调试难度,此外,由于不需要集成,不仅方便维护(如模块代码更新,则只更新相应处理器核内的模块,不需要更新整体代码),且实现了最大程度的复用;通过验证列表建立各模块之间的联动关系,解决各处理器核中各模块之间的不具备联动关系和运行顺序的问题,使各模块可以如集成一般进行顺序互动,完成验证。
图2示出了本公开实施例提供的验证方法的另一种可选流程示意图,将根据各个步骤进行说明。
步骤S201,将至少两个待验证的模块设置于***级芯片包括的至少两个处理器核。
在一些实施例中,***级芯片包括至少两个处理器核,每个处理器核中设置至少一个待验证的模块。
在一些可选实施例中,所述***级芯片中第一处理器核运行,初始化时钟和验证列表对应的内存,所述验证列表可以基于mailbox实现。所述第一处理器核释放设置有待验证模块的至少两个处理器核的资源,并配置时钟;所述至少两个处理器核开始运行,并初始化相应的中断控制器,以及初始化设置于处理器核内的待验证的模块。
在一些实施例中,所述第一处理器核可以是所述***级芯片的主核,所述设置有待验证模块的至少两个处理器核,可以是***级芯片包括的除主核以外的其他处理器核,或者,所述设置有待验证模块的至少两个处理器核也可以是***级芯片包括的任意处理器核。
步骤S202,至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块。
在一些实施例中,所述至少两个待验证的模块分别读取所述验证列表,并确认所述验证列表中的模块标识与所述待验证的至少两个模块的模块标识是否相同;若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识相同,则确认所述第一模块具备运行权限;或者,若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识不同,则第一周期后所述第一模块再次读取所述验证列表,确认所述第一模块是否获得运行权限。
在一些可选实施例中,所述第一模块响应于接收第一通知信息,从目标内存中获取第一运行数据;其中,所述第一运行数据为所述第一模块运行时所需的数据。所述第一模块运行时所需的数据可以包括触发所述第一模块运行时所使用的数据,或者在所述第一模块运行过程中所使用的数据。
其中,所述第一运行数据由第三模块对应的仿真模型生成,并存储至所述目标内存中;或者,所述第一运行数据由所述第三模块运行过程中生成,并存储至所述目标内存中;其中,所述第三模块为所述***级芯片中除所述第一模块以外的模块,所述第一模块和所述第三模块设置于不同的处理器核内,所述第三模块与所述第一模块之间具备联动关系。所述联动关系包括:一个模块需要使用另一个模块运行中生成的数据,才能实现完整运行,则说明两个模块之间具备联动关系。例如,所述第一模块运行过程中,需要使用第三模块运行过程中生成的第一运行数据,才能够完成运行,则说明第一模块和第三模块之间具备联动关系。
具体实施时,由于每个模块均设置于不同的处理器核内,各个模块运行相对独立,当仅验证第一模块时,可以不运行***级芯片中其他模块,只运行所述第一模块;但第一模块和第三模块具备联动关系,第一模块的完整运行需要使用第三模块运行过程中生成的第一运行数据,在此情况下(即只运行第一模块的情况下),所述第一运行数据可以由第三模块对应的仿真模型生成。所述第三模块对应的仿真模型可以是期望仿真模型(即可以实现第三模块测试完成后的功能,且没有bug)。
或者,具体实施时,当验证多个模块的情况下,则第一运行数据可以是第三模块运行过程中生成的真实数据,第三模块生成所述第一运行数据后,存储至目标内存中,并通过核间通信的方式向第一模块发送第一通知信息,告知第一模块从所述目标内存中获取所述第一运行数据。
在一些实施例中,所述第一模块运行之后,所述方法还可以包括:
步骤S203,等待第一模块中断。
在一些实施例中,中断控制器获取第一模块的运行结果,若所述运行结果表征运行完成,则确认第一模块验证完成,并结束第一模块验证;或者,若运行结果表征运行未完成或运行失败,则发出告警信息。
在一些可选实施例中,若***级芯片中验证多个模块,且第一模块与第四模块之间具备联动关系,则所述方法还可以包括步骤S204。其中,所述第一模块与所述第四模块设置于不同处理器核内,所述第四模块的运行需要使用第一模块运行过程中生成的第二运行数据。
步骤S204,将第二运行数据存储至目标内存中。
在一些实施例中,第一模块运行过程中生成第二运行数据后,将所述第二运行数据存储至目标内存,并基于核间通信向第四模块发送第二通知信息,以使所述第四模块基于所述验证列表中待验证模块的模块标识获取运行权限后,基于所述第二通知信息从所述目标内存中获取所述第二运行数据,并基于所述第二运行数据运行;其中,所述第二运行数据由所述第一模块运行过程中生成,为所述第四模块运行时所需的数据;所述第一模块与所述第四模块之间具备联动关系。
在一些可选实施例中,所述方法还可以包括:
步骤S205,响应于***级芯片中第一模块或第二模块更新,则更新所述验证列表。
在一些实施例中,第一模块或第二模块更新,可以是第一模块的代码或第二模块的代码更新,需要重新进行验证,则更新验证列表,在验证列表对应的内存中写入第一模块的第一模块标识或第二模块的第二模块标识,以基于所述验证列表中第一模块标识,触发所述第一模块运行,或者,基于所述验证列表中第二模块标识,触发所述第二模块运行。
在一些实施例中,所述更新所述验证列表可以包括在所述验证列表对应的内存中写入下一个待验证的模块标识,以及,删除已验证模块的模块标识。
如此,通过本公开提供的验证方法,各模块设置于不同的处理器核内,各个模块可以在相应的处理器核内独立运行,避免了集成带来的难度和bug,此外,由于不需要集成,不仅方便维护(如模块代码更新,则只更新相应处理器核内的模块,不需要更新整体代码),还能实现最大程度的复用;通过验证列表建立各模块之间的联动关系,通过核间通信的方式通知联动模块获取运行数据,解决各处理器核中各模块之间的不具备联动关系和运行顺序的问题,使各模块可以如集成一般进行顺序互动,完成验证。
图3示出了本公开实施例提供的验证方法的再一种可选流程示意图,将根据各个步骤进行说明。
步骤S301,将至少两个待验证的模块设置于***级芯片包括的至少两个处理器核。
步骤S301与步骤S201的具体步骤流程相同,此处不再重复赘述。
在一些实施例中,如图3所示,处理器核1(核1)、处理器核2(核2)和处理器核3(核3)运行,初始化相应的中断控制器和模块(如模块1、模块2和模块3);其中,第一模块可以为模块1、模块2和模块3中任意模块,第二模块所述第一模块运行之后的下一模块,第三模块为第一模块运行之前的模块,第一模块运行时需要第三模块运行过程中生成的第一运行数据,第四模块为在第一模块运行之后运行的模块,第四模块运行时需要第一模块运行过程中生成的第二运行数据。
步骤S302,确认具备运行权限的模块。
在一些实施例中,模块1、模块2和模块3读取验证列表(mailbox)对应的内存,确认具备运行权限的模块标识;若模块1、模块2和模块3中任一与具备运行权限的模块标识相同,则确认该模块具备运行权限。其他未具备运行权限的模块第一周期后再次读取验证列表对应的内存,确认运行权限。为方便说明,假设获得运行权限的第一模块为模块1。
步骤S303,配置模块1运行。
在一些实施例中,基于预设配置,对所述模块1进行配置,以使所述模块1运行。
步骤S304,更新验证列表。
在一些实施例中,所述模块1更新验证列表,在验证列表对应的内存中写入下一个待验证的模块标识,以基于所述验证列表中待验证的模块标识,触发第二模块运行。
步骤S305,等待模块1中断。
在一些实施例中,中断控制器获取模块1的运行结果,若所述运行结果表征运行完成,则确认模块1验证完成,并结束模块1验证;或者,若运行结果表征运行未完成或运行失败,则发出告警信息。
在一些实施例中,在模块1运行的过程中,***级芯片包括的其他模块每隔第一周期读取验证列表,确认具备运行权限的模块标识,并运行相应模块,即重复步骤S302至步骤S305。
如此,通过本公开提供的验证方法,各模块设置于不同的处理器核内,各个模块可以在相应的处理器核内独立运行,避免了集成带来的难度和bug,此外,由于不需要集成,不仅方便维护(如模块代码更新,则只更新相应处理器核内的模块,不需要更新整体代码),且实现了最大程度的复用;通过验证列表建立各模块之间的联动关系,解决各处理器核中各模块之间的不具备联动关系和运行顺序的问题,使各模块可以如集成一般进行顺序互动,完成验证。
图4示出了本公开实施例提供的验证装置的可选结构示意图,将根据各个部分进行说明。
在一些实施例中,所述验证装置400应用于***级芯片,所述***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块。
在一些实施例中,所述验证装置400包括确认单元401、更新单元402和验证单元403。
所述确认单元401,用于基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;
所述更新单元402,用于触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;
所述验证单元403,用于基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;
所述第一模块和所述第二模块设置于不同的处理器核内。
所述确认单元401,具体用于分别读取所述验证列表,并确认所述验证列表中的模块标识与所述待验证的至少两个模块的模块标识是否相同;
若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识相同,则确认所述第一模块具备运行权限;
或者,若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识不同,则第一周期后所述第一模块再次读取所述验证列表,确认所述第一模块是否获得运行权限。
所述验证单元403,还用于响应于接收第一通知信息,从目标内存中获取第一运行数据;
其中,所述第一运行数据为所述第一模块运行时所需的数据。
在一些实施例中,所述第一运行数据由第三模块对应的仿真模型生成,并存储至所述目标内存中;或者,所述第一运行数据由所述第三模块运行过程中生成,并存储至所述目标内存中;其中,所述第三模块为所述***级芯片中除所述第一模块以外的模块,所述第三模块与所述第一模块之间具备联动关系。
所述验证单元403,在触发所述第一模块运行之后,还用于,将第二运行数据存储至目标内存中;
基于核间通信向第四模块发送第二通知信息,以使所述第四模块基于所述验证列表中待验证模块的模块标识获取运行权限后,基于所述第二通知信息从所述目标内存中获取所述第二运行数据,并基于所述第二运行数据运行;
其中,所述第二运行数据由所述第一模块运行过程中生成,为所述第四模块运行时所需的数据;所述第一模块与所述第四模块之间具备联动关系。
所述更新单元402,还用于响应于***级芯片中第一模块或第二模块更新,则更新所述验证列表,以基于所述验证列表中第一模块标识,触发所述第一模块运行,或者,基于所述验证列表中第二模块标识,触发所述第二模块运行。
所述更新单元402,具体用于在所述验证列表对应的内存中写入下一个待验证的模块标识,以及,删除已验证模块的模块标识。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
图5示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如验证方法。例如,在一些实施例中,验证方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的验证方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行验证方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种验证方法,其特征在于,应用于***级芯片,所述***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块,所述方法包括:
至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;
触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;
基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;
所述第一模块和所述第二模块设置于不同的处理器核内。
2.根据权利要求1所述的方法,其特征在于,所述至少两个待验证的模块基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块,包括:
所述至少两个待验证的模块分别读取所述验证列表,并确认所述验证列表中的模块标识与所述待验证的至少两个模块的模块标识是否相同;
若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识相同,则确认所述第一模块具备运行权限;
或者,若所述验证列表中的模块标识与所述至少两个待验证的模块中第一模块的模块标识不同,则第一周期后所述第一模块再次读取所述验证列表,确认所述第一模块是否获得运行权限。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收第一通知信息,从目标内存中获取第一运行数据;
其中,所述第一运行数据为所述第一模块运行时所需的数据。
4.根据权利要求3所述的方法,其特征在于,
所述第一运行数据由第三模块对应的仿真模型生成,并存储至所述目标内存中;
或者,所述第一运行数据由所述第三模块运行过程中生成,并存储至所述目标内存中;
其中,所述第三模块为所述***级芯片中除所述第一模块以外的模块,所述第三模块与所述第一模块之间具备联动关系。
5.根据权利要求1所述的方法,其特征在于,所述触发所述第一模块运行之后,所述方法还包括:
将第二运行数据存储至目标内存中;
基于核间通信向第四模块发送第二通知信息,以使所述第四模块基于所述验证列表中待验证模块的模块标识获取运行权限后,基于所述第二通知信息从所述目标内存中获取所述第二运行数据,并基于所述第二运行数据运行;
其中,所述第二运行数据由所述第一模块运行过程中生成,为所述第四模块运行时所需的数据;所述第一模块与所述第四模块之间具备联动关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于***级芯片中第一模块或第二模块更新,则更新所述验证列表,以基于所述验证列表中第一模块标识,触发所述第一模块运行,或者,基于所述验证列表中第二模块标识,触发所述第二模块运行。
7.根据权利要求1或6所述的方法,其特征在于,所述更新所述验证列表包括:
在所述验证列表对应的内存中写入下一个待验证的模块标识,以及,删除已验证模块的模块标识。
8.一种验证装置,其特征在于,应用于***级芯片,所述***级芯片包括至少两个处理器核,每一个处理器核中均设置至少一个待验证的模块,所述装置包括:
确认单元,用于基于验证列表中待验证模块的模块标识,确认具备运行权限的第一模块;
更新单元,用于触发所述第一模块运行,更新所述验证列表,在所述验证列表中添加下一个待验证的模块标识;
验证单元,用于基于所述待验证的模块标识,验证与所述待验证的模块标识对应的第二模块;
所述第一模块和所述第二模块设置于不同的处理器核内。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505562.0A CN116227393A (zh) | 2023-05-06 | 2023-05-06 | 一种验证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310505562.0A CN116227393A (zh) | 2023-05-06 | 2023-05-06 | 一种验证方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116227393A true CN116227393A (zh) | 2023-06-06 |
Family
ID=86575364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310505562.0A Pending CN116227393A (zh) | 2023-05-06 | 2023-05-06 | 一种验证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116227393A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100133B1 (en) * | 2000-06-23 | 2006-08-29 | Koninklijke Philips Electronics N.V | Computer system and method to dynamically generate system on a chip description files and verification information |
US20090144012A1 (en) * | 2007-11-30 | 2009-06-04 | Christian Haufe | Transaction based verification of a system on chip on system level by translating transactions into machine code |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上***芯片验证的方法和装置 |
CN113657069A (zh) * | 2020-05-12 | 2021-11-16 | 北京东土科技股份有限公司 | 片上***soc仿真验证方法、装置、验证服务器及存储介质 |
CN114357916A (zh) * | 2022-01-11 | 2022-04-15 | 北京汤谷软件技术有限公司 | 一种芯片fpga原型验证方法及*** |
CN115422864A (zh) * | 2022-09-05 | 2022-12-02 | 平头哥(上海)半导体技术有限公司 | 芯片验证方法、装置、电子设备和存储介质 |
-
2023
- 2023-05-06 CN CN202310505562.0A patent/CN116227393A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100133B1 (en) * | 2000-06-23 | 2006-08-29 | Koninklijke Philips Electronics N.V | Computer system and method to dynamically generate system on a chip description files and verification information |
US20090144012A1 (en) * | 2007-11-30 | 2009-06-04 | Christian Haufe | Transaction based verification of a system on chip on system level by translating transactions into machine code |
CN101515301A (zh) * | 2008-02-23 | 2009-08-26 | 炬力集成电路设计有限公司 | 一种片上***芯片验证的方法和装置 |
CN113657069A (zh) * | 2020-05-12 | 2021-11-16 | 北京东土科技股份有限公司 | 片上***soc仿真验证方法、装置、验证服务器及存储介质 |
CN114357916A (zh) * | 2022-01-11 | 2022-04-15 | 北京汤谷软件技术有限公司 | 一种芯片fpga原型验证方法及*** |
CN115422864A (zh) * | 2022-09-05 | 2022-12-02 | 平头哥(上海)半导体技术有限公司 | 芯片验证方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720676B2 (en) | Implementing updates to source code executing on a plurality of compute nodes | |
CN102541630B (zh) | 计算机处理器中线程间数据通信的方法和*** | |
CN107203465B (zh) | ***接口测试方法及装置 | |
CN108449313B (zh) | 电子装置、互联网服务***风险预警方法及存储介质 | |
CN109643355B (zh) | 控制器和控制管理*** | |
CN103995778A (zh) | 一种基于事件和动作的脚本文件生成方法及其装置 | |
CN114090113B (zh) | 数据源处理插件动态加载的方法、装置、设备及存储介质 | |
CN113658351B (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN111767149B (zh) | 调度方法、装置、设备及存储设备 | |
CN116594922B (zh) | 一种数据访问电路、方法及***级芯片 | |
CN116227393A (zh) | 一种验证方法、装置、电子设备及存储介质 | |
CN115599438A (zh) | 应用程序的发布包的构建方法、装置、设备及介质 | |
CN115756322A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN114564241A (zh) | 硬件设备的访问方法、装置、计算机设备和存储介质 | |
CN111078449B (zh) | 信息处理方法、信息处理装置及终端设备 | |
US20200349304A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
CN115952004B (zh) | 资源配置方法、装置、电子设备及存储介质 | |
CN112860419A (zh) | 多实例任务的执行方法、装置、终端设备及计算机存储介质 | |
CN114911494A (zh) | 用于分布式***的应用部署方法、装置、电子设备和介质 | |
CN118036079A (zh) | 一种数据库访问授权的方法、装置、电子设备、存储介质和计算机程序产品 | |
CN118426779A (zh) | ***构建方法、装置、电子设备及存储介质 | |
CN116974957A (zh) | ***保护电路、芯片***、复位方法、设备及存储介质 | |
CN115373874A (zh) | 跨进程事件处理方法、装置、电子设备、存储介质及车辆 | |
CN114625364A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115391292A (zh) | 日志数据处理方法、装置、设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230606 |