CN114153674A - 验证方法、验证装置、电子设备和计算机可读存储介质 - Google Patents
验证方法、验证装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114153674A CN114153674A CN202111460413.4A CN202111460413A CN114153674A CN 114153674 A CN114153674 A CN 114153674A CN 202111460413 A CN202111460413 A CN 202111460413A CN 114153674 A CN114153674 A CN 114153674A
- Authority
- CN
- China
- Prior art keywords
- processor core
- test data
- result
- processor
- connector
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种用于处理器电路的验证方法、用于对处理器电路进行验证的验证装置、电子设备和计算机可读存储介质。处理器电路至少包括第一处理器核和第二处理器核,该验证方法包括:根据配置信息配置连接器,使得连接器从可选的多种连接方式中选择目标连接方式以耦接第一处理器核和第二处理器核;生成激励用的测试数据,使用测试数据激励处理器电路,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并且输出测试数据的响应结果;以及将响应结果与参考结果比较以用于验证。该验证方法能够根据配置信息灵活地配置第一处理器核和第二处理器核的连接方式,可以应用于多种测试场景,降低了验证难度。
Description
技术领域
本公开的实施例涉及一种验证方法、验证装置、电子设备和计算机可读存储介质。
背景技术
随着集成电路产业的快速发展,芯片复杂度大大增加。对CPU芯片功能验证的要求越来越高,并且对迭代周期的要求越来越短。
目前,通用验证方法学(Universal Verification Methodology,UVM)是以SystemVerilog类库为主体的验证平台开发框架,被广泛应用于CPU芯片的验证中。
发明内容
本公开至少一个实施例提供一种用于处理器电路的验证方法,处理器电路至少包括第一处理器核和第二处理器核,方法包括:根据配置信息配置连接器,使得连接器从可选的多种连接方式中选择目标连接方式以耦接第一处理器核和第二处理器核;生成激励用的测试数据,使用测试数据激励处理器电路,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并且输出测试数据的响应结果;以及将响应结果与参考结果比较以用于验证。
例如,在本公开一实施例提供的验证方法中,多种连接方式包括单连接和多连接,单连接为通过单条总线耦接第一处理器核和第二处理器核,多连接为通过多条总线耦接第一处理器核和第二处理器核。
例如,在本公开一实施例提供的验证方法中,该方法还包括:生成配置信息,并且向连接器提供配置信息。
例如,在本公开一实施例提供的验证方法中,在将响应结果与参考结果比较之前,方法还包括:根据测试数据得到参考结果。
例如,在本公开一实施例提供的验证方法中,根据测试数据得到参考结果包括:利用参考模型对测试数据进行计算得到参考结果。
例如,在本公开一实施例提供的验证方法中,该方法还包括:获取连接器根据配置信息进行配置的配置结果;以及根据配置结果确定连接器是否配置为目标连接方式。
例如,在本公开一实施例提供的验证方法中,在目标连接方式为多连接的情形中,该方法还包括:根据多条总线的分配协议,预测多条总线中用于传输测试数据的响应结果的目标总线;确定测试数据的响应结果是否来自目标总线以用于验证。
例如,在本公开一实施例提供的验证方法中,测试数据包括第一处理器核和第二处理器核之间的读指令或者写指令,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并且输出测试数据的响应结果,包括:使得第一处理器核和第二处理器核通过连接器以目标连接方式执行读指令或者写指令,生成响应结果,然后输出测试数据的响应结果。
本公开至少一个实施例提供一种用于对处理器电路进行验证的验证装置,处理器电路至少包括第一处理器核和第二处理器核,验证装置包括:连接器,配置为提供可选的多种连接方式,并且配置为与第一处理器核和第二处理器核耦接,以及根据配置信息从多种连接方式中选择用于将第一处理器核和第二处理器核耦接的目标连接方式;激励生成单元,配置为生成测试数据,以及使用测试数据激励处理器电路,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并输出测试数据的响应结果;以及比较单元,配置为将响应结果与参考结果比较以用于验证。
例如,在本公开一实施例提供的验证装置中,激励生成单元还配置为产生配置信息,并且向连接器提供配置信息。
例如,在本公开一实施例提供的验证装置中,验证装置还包括:监听单元,配置为监听激励生成单元生成的测试数据,并且向比较单元提供测试数据,以及监听处理器电路生成的响应结果,并且向比较单元提供响应结果。
例如,在本公开一实施例提供的验证装置中,比较单元接收来自监听单元的测试数据和响应结果,并且根据测试数据得到参考结果,以及比较响应结果和参考结果。
例如,在本公开一实施例提供的验证装置中,比较单元包括参考模型,
根据测试数据得到参考结果包括:利用参考模型对测试数据进行计算得到参考结果。
例如,在本公开一实施例提供的验证装置中,监听单元还配置为监听配置信息,并且向比较单元提供配置信息。
例如,在本公开一实施例提供的验证装置中,监听单元还配置为监听连接器根据配置信息进行配置的配置结果,以及向比较单元提供配置结果,使得比较单元根据配置结果确定连接器是否配置为目标连接方式。
例如,在本公开一实施例提供的验证装置中,多种连接方式包括单连接和多连接,单连接为通过一条总线耦接第一处理器核和第二处理器核,多连接为通过多条总线耦接第一处理器核和第二处理器核。
例如,在本公开一实施例提供的验证装置中,在目标连接方式为多连接的情形中,比较单元还配置为:根据多条总线的分配协议,预测多条总线中用于传输测试数据的响应结果的目标总线;以及确定测试数据的响应结果是否来自目标总线以用于验证。
例如,在本公开一实施例提供的验证装置中,测试数据为第一处理器核和第二处理器核之间的读指令或者写指令,激励生成单元包括:读写子单元,配置为使用所述读指令或者写指令激励所述处理器电路,使得第一处理器核和第二处理器核通过连接器以目标连接方式执行读指令或者写指令生成响应结果,并输出测试数据的响应结果。
本公开至少一个实施例提供一种电子设备,包括:处理器;存储器,包括一个或多个计算机程序指令;其中,所述一个或多个计算机程序指令被存储在所述存储器中,并由所述处理器执行时实现本公开至少一实施例提供的验证方法的指令。
本公开至少一个实施例提供一种计算机可读存储介质,非暂时性存储有计算机可读指令,当计算机可读指令由处理器执行时实现本公开至少一实施例提供的验证方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A示出了本公开至少一个实施例提供的用于处理器电路的验证方法的流程图;
图1B、图1C和图1D示出了本公开至少一个实施例提供的多种连接方式的示例;
图2示出了本公开至少一个实施例提供的另一种验证方法的流程图;
图3示出了本公开至少一个实施例提供的另一种验证方法的流程图;
图4示出了本公开至少一个实施例提供的用于对处理器电路进行验证的验证装置;
图5示出了本公开至少一个实施例提供的一种电子设备的示意框图;以及
图6示出了本公开至少一个实施例提供的另一种电子设备的示意框图;
图7为本公开一些实施例提供的一种存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
现代CPU芯片的集成度越来越高,一个CPU芯片通常有很多处理器核(即,DIE)组成,DIE与DIE之间的连接方式也有很多种。通常多个内核电路组成一个DIE,多个DIE组成一块CPU的芯片。每个DIE内部的RTL电路通常是相同的,但是DIE与DIE之间的连接方式可以是不同的。
在相关技术中,通常针对每种连接方式分别建立一个验证平台,以单独地验证每种连接方式。这种方法实现起来消耗的仿真时间随着连接方式的种类呈倍数增加,并且对多种场景的验证有一定的局限性,一旦连接方式发送变化,只能重新搭接验证平台。
本公开至少一个实施例提供了一种用于处理器电路的验证方法,处理器电路至少包括第一处理器核和第二处理器核。该验证方法包括:根据配置信息配置连接器,使得连接器从可选的多种连接方式中选择目标连接方式以耦接第一处理器核和第二处理器核;生成激励用的测试数据,使用测试数据激励处理器电路,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并且输出测试数据的响应结果;以及将响应结果与参考结果比较以用于验证。该验证方法能够根据配置信息灵活地配置第一处理器核和第二处理器核的连接方式,可以应用于多种测试场景,降低了验证难度。
图1A示出了本公开至少一个实施例提供的用于处理器电路的验证方法的流程图。在该实施例中处理器电路包括第一处理器核和第二处理器核。
如图1A所示,该验证方法可以包括步骤S10~S30。
步骤S10:根据配置信息配置连接器,使得连接器从可选的多种连接方式中选择目标连接方式以耦接第一处理器核和第二处理器核。
步骤S20:生成激励用的测试数据,使用测试数据激励处理器,使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,并且输出测试数据的响应结果。
步骤S30:将响应结果与参考结果比较以用于验证。
对于步骤S10,配置信息用于指示连接器耦接第一处理器核和第二处理器核的连接方式。
在本公开的一些实施例中,配置信息可以是从用于对处理器电路进行验证的验证装置通信连接的外部设备中获取的,或者也可以是用于对处理器电路进行验证的验证装置生成的。
如图1A所示,该验证方法在包括步骤S10~步骤S30的基础上还可以包括步骤S40,步骤S40例如可以在步骤S10之前执行。
步骤S40:生成配置信息,并且向连接器提供配置信息。
对于步骤S40,在本公开的一些实施例中,例如可以是随机生成配置信息。随机生成配置信息能够灵活地对处理器电路进行验证。
在本公开的另一实施例中,例如可以根据用户的输入生成配置信息。该实施例能够根据用户的需求对处理器电路进行验证。
在本公开的一些实施例中,例如,在连接器中可以预先设置多种连接方式,从而连接器根据配置信息从多个连接方式中选择目标连接方式。
多种连接方式包括单连接和多连接,单连接为通过单条总线耦接第一处理器核和第二处理器核,多连接为通过多条总线耦接第一处理器核和第二处理器核。
在本公开的实施例中,第一处理器核和第二处理器核通过总线进行数据交互。
图1B、图1C和图1D示出了本公开至少一个实施例提供的多种连接方式的示例。
例如,在图1B中,处理器核DIE0和处理器核DIE1之间通过一条总线连接,也即处理器核DIE0和处理器核DIE1为单连接。
例如,在图1C中,处理器核DIE0和处理器核DIE1之间通过两条总线连接,也即处理器核DIE0和处理器核DIE1为多连接。
例如,在图1D中,处理器核DIE0和处理器核DIE1之间通过三条总线连接,也即处理器核DIE0和处理器核DIE1为多连接。
需要理解的是,图1B、图1C和图1D示出的3种连接方式仅是举例说明单连接和多连接,图1B、图1C和图1D所示出的连接方式对本公开不具有限定作用。例如,多连接还可以是通过4条总线、5条总线连接等。
通过多条总线连接第一处理器核和第二处理器核,使得CPU芯片能够同时对多个测试数据进行处理,从而提高了第一处理器核和第二处理器的数据交互效率。
在本公开的一些实施例中,配置信息例如可以是一个信息序列,该信息序列包括写指令、寄存器地址以及向寄存器地址对应的寄存器中写入的操作数等。
连接器从寄存器中读取操作数,并根据该操作数进行连接方式的配置。不同的操作数对应不同的连接方式。
例如,寄存器中的操作数为1,并且1表示通过单条总线连接,则单连接为目标连接方式,连接器选择通过单连接将第一处理器核和第二处理器耦接。
又例如,寄存器中的操作数为2,而2表示通过两条总线连接,则两条总线连接为目标连接方式,连接器选择通过两条总线将第一处理器核和第二处理器耦接。
对于步骤S20,在本公开的实施例中,测试数据包括第一处理器核和第二处理器核之间的读指令或者写指令。
使得第一处理器核和第二处理器核通过连接器以目标连接方式通信,生成测试数据的响应结果,包括:使得第一处理器核和第二处理器核通过连接器以目标连接方式执行读指令或者写指令,生成响应结果。
例如,测试数据为第一处理器核读取第二处理器核第一地址处的第一操作数。第一处理器核响应于接收到该测试数据,通过目标连接方式访问第二处理器核中的第一地址,以从第一地址中读取第一操作数。在该实施例中,第一处理器核从第一地址中读取到的操作数为该测试数据的响应结果。
若目标连接方式为单条总线连接,则第一处理器核通过该单条总线访问第二处理器核中的第一地址。
若目标连接方式位多条总线连接,则第一处理器核可以根据总线分配协议从多条总线中选择与该测试数据相匹配的总线访问第二处理器核中的第一地址。
又例如,测试数据为第二处理器核向第一处理器核中的第二地址写入第二操作数。第二处理器核响应于接收到该测试数据,通过目标连接方式访问第一处理器核中的第二地址,以向第二地址写入第二操作数。在该实施例中,第二地址被写入的操作数为该测试数据的响应结果。
对于步骤S30,例如,若响应结果与参考结果一致,则表明待测试硬件电路的响应结果正确,若响应结果与参考结果不一致,则表明待测试硬件电路的响应结果不正确。
待测试硬件电路例如可以是指第一处理器核的硬件电路、第二处理器核的硬件电路以及第一处理器核和第二处理器核之间的连接电路。
在本公开的一些实施例中,待测试硬件电路可以是真实的由物理器件搭建的硬件电路,也即第一处理器核和第二处理器核是由物理器件搭建的硬件电路。在本公开的另一些实施例中,待测试硬件电路可以是由硬件语言例如Verilog编写的硬件电路,模仿硬件的行为。
参考结果例如是通过模仿待测试的硬件电路,完成与待测试的硬件电路相同的功能,并且对测试数据处理得到的。
如图1A所示,在本公开的一些实施例中,在步骤S30之前还可以包括步骤S50。
步骤S50:根据测试数据得到参考结果。
在本公开的一些实施例中,例如,利用参考模型对测试数据进行计算得到参考结果。
参考模型用于完成与DUT相同的功能。例如,参考模型可以直接使用systemverilog的特性完成与DUT相同功能,或者可以通过SystemVerilog DirectProgramming Interface(DPI)等接口调用其它语言来完成与DUT相同功能。
图2示出了本公开至少一个实施例提供的另一种验证方法的流程图。
如图2所示,该验证方法在前述实施例的基础上,还可以包括步骤S60和S70。例如,步骤S60和步骤S70可以在步骤S20之前执行,但不限于此。
步骤S60:获取连接器根据配置信息进行配置的配置结果。
步骤S70:根据配置结果确定连接器是否配置为目标连接方式。
该方法能够对连接器的配置结果进行验证,以确保在连接器配置为目标连接方式的情况下,对处理器电路进行验证,从而保证验证结果的准确性。
对于步骤S60,例如连接器的进行配置会被监听器监听,从而监听器得到连接器的配置结果。或者,连接器可以将配置结果输出。
对于步骤S70,例如,判断配置结果与上述寄存器中的操作数是否相对应。若配置结果与寄存器中的操作数对应,则连接器配置为目标连接方式,若配置结果与寄存器中的操作数不对应,则连接器未配置为目标连接方式。
例如,寄存器中的操作数为1,并且1表示通过单条总线连接,若监听器监听到配置结果为单连接,则连接器配置为目标连接方式。
在本公开的一些实施例中,响应于目标连接方式为多连接,在将测试数据的响应结果与参考结果进行比较之前,还包括:从多个响应结果中获取测试数据的响应结果。
例如,通过监听器监听多条总线,以获得每条总线上的响应结果
在目标连接方式为多连接的情况下,多条总线可以分别用于传输不同的测试数据以及多个测试数据各自的响应结果。因此,在将测试数据的响应结果与参考结果进行比较之前,需要从多个响应结果中确定每个测试数据对应的响应结果。
在本公开的一些实施例中,例如可以通过测试数据和响应结果中的数据来源、目的地等信息来确定测试数据的响应结果。
图3示出了本公开至少一个实施例提供的另一种验证方法的流程图。
如图3所示,该验证方法在前述实施例的基础上,还可以包括步骤S80和S90。例如,步骤S80和步骤S90可以在步骤S30之后或者之前执行,但不限于此。
步骤S80:根据多条总线的分配协议,预测多条总线中用于传输测试数据的响应结果的目标总线。
步骤S90:确定测试数据的响应结果是否来自目标总线以用于验证。
对于步骤S80,分配协议可以是本领域技术人员预先定义的。分配协议例如可以定义DIE与DIE之间不同测试数据通信所采用的总线。
对于步骤S80,例如,DIE0包括内核电路01、内核电路02、IO接口01、IO接口02等,DIE1包括内核电路11、内核电路12、IO接口11和IO接口12等,DIE0和DIE1之间的连接方式为通过两个总线(总线0和总线1)连接,在该实施例中,分配协议例如为通过内核电路01和内核电路11之间通过总线0通信,内核电路02和内核电路12通过总线1通信,IO接口01和IO接口11之间通过总线0通信,IO接口02和IO接口12通过总线1通信。
又例如,分配协议可以包括传输响应结果的总线与传输访问请求的总线为同一个。例如,DIE0访问DIE1的访问请求是通过总线0传输的,则DIE1生成的响应结果也通过总线0向DIE0提供。
在本公开的一些实施例中,根据多条总线的分配协议可以预测传输测试数据的响应结果的目标总线。
对于步骤S90,例如若测试数据的响应结果来自目标总线,则处理器电路通过验证。若测试数据的响应结果不是来自目标总线,则处理器电路存在问题。
例如,监听器不仅提供响应结果以用于验证,并且监听器还提供响应结果的来源,即响应结果实际是从哪个总线获得的,然后确定实际的总线和目标总线是否为同一个总线。
该实施例能够对传输响应结果的总线进行验证,从而丰富了验证的角度,使得验证更加充分和全面。
图4示出了本公开至少一个实施例提供的用于对处理器电路进行验证的验证装置400。
如图4所示,该验证装置400可以包括连接器401、激励生成单元402和比较单元403。
在该实施例中,处理器电路包括处理器核410和处理器核420。处理器核410和处理器核420例如分别为第一处理器核和第二处理器核的示例。
连接器401配置为提供可选的多种连接方式,并且配置为与处理器核410和处理器核420耦接,以及根据配置信息从多种连接方式中选择用于将处理器核410和处理器核420耦接的目标连接方式。
激励生成单元402配置为生成测试数据,以及使用测试数据激励处理器,使得处理器核410和处理器核420通过连接器以目标连接方式通信,并输出测试数据的响应结果。
比较单元403配置为将响应结果与参考结果比较以用于验证。
该验证装置400能够根据配置信息灵活地配置第一处理器核和第二处理器核的连接方式,可以应用于多种测试场景,降低了验证难度。
在本公开的一些实施例中,例如本领域技术人员可以预先将多种连接方式写入连接器401中。连接器401例如可以是verilog等硬件语言编写的电路。
在本公开的一些实施例中,多种连接方式包括单连接和多连接,单连接为通过一条总线耦接处理器核410和第二处理器核420,多连接为通过多条总线耦接处理器核410和第二处理器核420。
多种连接方式可以参考上文图1B、图1C和图1D的相关描述。
在本公开的一些实施例中,例如在初始化阶段,连接器401根据配置信息从多种连接方式中选择用于将处理器核410和处理器核420耦接的目标连接方式。
激励生成单元402例如随机产生大量的测试数据,作为测试用例。激励生成单元402的相关描述请参考上文图1A中的步骤S20的相关描述。
在本公开的一些实施例中,测试数据可以是读指令或者写指令。激励生成单元402包括:读写子单元,配置为使用读指令或者写指令激励处理器电路,使得处理器核410和处理器核420通过连接器401以目标连接方式执行读指令或者写指令生成响应结果,并输出测试数据的响应结果。
以下将读指令或者写指令称为读写请求,并且以测试数据为读写请求来说明本公开的一些实施例。
在本公开的一些实施例中,如图4所示,验证装置400包括仿真单元430,仿真单元430包括上述激励生成单元402。仿真单元430除通过激励生成单元402产生大量的测试数据之外,还完成对待测试硬件电路的读写任务。
激励生成单元402还配置为产生配置信息,并且向连接器提供配置信息。例如,激励生成单元402可以是序列发生器。例如,在初始化阶段,该序列发生器会产生配置信息的激励,该配置信息的激励会被仿真单元430发送给连接器401。当初始化进行完以后,该序列发生器块随机产生各种读写请求的激励进行正常的数据交互。关于配置信息请参考上文的相关描述。
例如,在初始化阶段,该仿真单元430提供由激励生成单元402产生的配置信息的序列来告诉连接器401当前用户期望的连接状态。连接器401接收到激励生成单元402后会创建对应的连接(即,创建目标连接方式)。当初始化完成后,该仿真单元430产生处理器核410与处理器核420之间读写请求的激励,这些读写请求的激励被发送到顶层连接的接口,进而驱动到待测试硬件电路中,完成从一个处理器核上的主设备对另一个处理器核的从设备的读写访问。
比较单元403例如接收读写请求的激励以计算参考结果,另一方面接收待测试硬件电路产生的真实值(即,响应结果)。比较单元403将参考结果与待测试硬件电路产生的真实值对比产生对比结果,以此来验证待测试硬件电路的正确性。
如图4所示,该验证装置400还可以包括监听单元404。监听单元404配置为监听激励生成单元402生成的测试数据,并且向比较单元403提供测试数据,以及监听处理器电路生成的响应结果,并且向比较单元403提供响应结果。
在本公开的一些实施例中,监听单元404还配置为监听配置信息,并且向比较单元403提供配置信息。
在本公开的一些实施例中,监听单元404还配置为监听连接器401根据配置信息进行配置的配置结果,以及向比较单元403提供配置结果,使得比较单元403根据配置结果确定连接器404是否配置为目标连接方式。
例如,在初始化阶段,监听单元404会监听仿真单元430给连接器401发送的配置信息的激励,然后将监听的配置信息送给比较单元403。在初始化完成,该监听单元404还会监听仿真单元430给待测试硬件电路发送的读写请求的激励,将该读写请求也送到比较单元403中。与此同时,该监听单元404还会监听待测试硬件电路产生的响应结果,将该响应结果也送到比较单元403中。
在本公开的一些实施例中,监听单元404可以从总线上监听到待测试硬件电路产生的响应结果。
在本公开的一些实施例中,比较单元还配置为接收来自监听单元的测试数据和响应结果,并且根据测试数据得到参考结果,以及比较响应结果和参考结果。
例如,比较单元包括参考模型,比较单元利用参考模型对测试数据进行计算得到参考结果。关于利用参考模型对测试数据进行计算得到参考结果请参考上文的相关描述。
在本公开的一些实施例中,在目标连接方式为多连接的情形中,比较单元403还配置为:根据多条总线的分配协议,预测多条总线中用于传输测试数据的响应结果的目标总线;以及确定测试数据的响应结果是否来自目标总线以用于验证。
例如,比较单元403执行上文参考图3中的步骤S80和步骤S90。
本公开的至少一个实施例还提供了一种电子设备,该电子设备包括处理器;存储器,包括一个或多个计算机程序指令;一个或多个计算机程序指令被存储在所述存储器中,并由所述处理器执行时实现本公开至少一个实施例提供的验证方法的指令。该电子设备能够根据配置信息灵活地配置第一处理器核和第二处理器核的连接方式,可以应用于多种测试场景,降低了验证难度。
图5为本公开一些实施例提供的一种电子设备的示意框图。如图5所示,该电子设备500包括处理器510和存储器520。存储器520用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器510用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器510运行时可以执行上文所述的验证方法中的一个或多个步骤。存储器520和处理器510可以通过总线系统和/或其它形式的连接机构(未示出)互连。
例如,处理器510可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器510可以为通用处理器或专用处理器,可以控制电子设备500中的其它组件以执行期望的功能。
例如,存储器520可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器510可以运行一个或多个计算机程序模块,以实现电子设备500的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
需要说明的是,本公开的实施例中,电子设备500的具体功能和技术效果可以参考上文中关于验证方法的描述,此处不再赘述。
图6为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备600例如适于用来实施本公开实施例提供的验证方法。电子设备600可以是终端设备等。需要注意的是,图6示出的电子设备600仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)610,其可以根据存储在只读存储器(ROM)620中的程序或者从存储装置680加载到随机访问存储器(RAM)630中的程序而执行各种适当的动作和处理。在RAM 630中,还存储有电子设备600操作所需的各种程序和数据。处理装置610、ROM 620以及RAM 630通过总线640彼此相连。输入/输出(I/O)接口650也连接至总线640。
通常,以下装置可以连接至I/O接口650:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置660;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置670;包括例如磁带、硬盘等的存储装置680;以及通信装置690。通信装置690可以允许电子设备600与其他电子设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但应理解的是,并不要求实施或具备所有示出的装置,电子设备600可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述验证方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述验证方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置690从网络上被下载和安装,或者从存储装置680安装,或者从ROM620安装。在该计算机程序被处理装置610执行时,可以实现本公开实施例提供的验证方法中限定的功能。
本公开的至少一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现上述的验证方法。利用该计算机可读存储介质,能够根据配置信息灵活地配置第一处理器核和第二处理器核的连接方式,可以应用于多种测试场景,降低了验证难度。
图7为本公开一些实施例提供的一种存储介质的示意图。如图7所示,存储介质700用于存储非暂时性计算机可读指令710。例如,当非暂时性计算机可读指令710由计算机执行时可以执行根据上文所述的验证方法中的一个或多个步骤。
例如,该存储介质700可以应用于上述电子设备500中。例如,存储介质700可以为图5所示的电子设备500中的存储器520。例如,关于存储介质700的相关说明可以参考图5所示的电子设备500中的存储器520的相应描述,此处不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种用于处理器电路的验证方法,其中,所述处理器电路至少包括第一处理器核和第二处理器核,所述方法包括:
根据配置信息配置连接器,使得所述连接器从可选的多种连接方式中选择目标连接方式以耦接所述第一处理器核和所述第二处理器核;
生成激励用的测试数据,使用测试数据激励所述处理器电路,使得所述第一处理器核和所述第二处理器核通过所述连接器以所述目标连接方式通信,并且输出所述测试数据的响应结果;以及
将所述响应结果与参考结果比较以用于验证。
2.根据权利要求1所述的方法,其中,所述多种连接方式包括单连接和多连接,
其中,所述单连接为通过单条总线耦接所述第一处理器核和所述第二处理器核,所述多连接为通过多条总线耦接所述第一处理器核和所述第二处理器核。
3.根据权利要求1所述的方法,还包括:
生成所述配置信息,并且向所述连接器提供所述配置信息。
4.根据权利要求1所述的方法,其中,在将所述响应结果与所述参考结果比较之前,所述方法还包括:
根据所述测试数据得到所述参考结果。
5.根据权利要求4所述的方法,其中,根据所述测试数据得到所述参考结果包括:
利用参考模型对所述测试数据进行计算得到所述参考结果。
6.根据权利要求1所述的方法,还包括:
获取所述连接器根据所述配置信息进行配置的配置结果;以及
根据所述配置结果确定所述连接器是否配置为所述目标连接方式。
7.根据权利要求2所述的方法,其中,在所述目标连接方式为所述多连接的情形中,所述方法还包括:
根据所述多条总线的分配协议,预测所述多条总线中用于传输所述测试数据的响应结果的目标总线;
确定所述测试数据的响应结果是否来自所述目标总线以用于验证。
8.根据权利要求1所述的方法,其中,所述测试数据包括所述第一处理器核和所述第二处理器核之间的读指令或者写指令,
使得所述第一处理器核和所述第二处理器核通过所述连接器以所述目标连接方式通信,并且输出所述测试数据的响应结果,包括:
使得所述第一处理器核和所述第二处理器核通过所述连接器以所述目标连接方式执行所述读指令或者所述写指令,生成所述响应结果,然后输出所述测试数据的响应结果。
9.一种用于对处理器电路进行验证的验证装置,其中,所述处理器电路至少包括第一处理器核和第二处理器核,所述验证装置包括:
连接器,配置为提供可选的多种连接方式,并且配置为与所述第一处理器核和所述第二处理器核耦接,以及根据配置信息从所述多种连接方式中选择用于将所述第一处理器核和所述第二处理器核耦接的目标连接方式;
激励生成单元,配置为生成测试数据,以及使用所述测试数据激励所述处理器电路,使得所述第一处理器核和所述第二处理器核通过所述连接器以所述目标连接方式通信,并输出所述测试数据的响应结果;以及
比较单元,配置为将所述响应结果与参考结果比较以用于验证。
10.根据权利要求9所述的装置,其中,所述激励生成单元还配置为产生所述配置信息,并且向所述连接器提供所述配置信息。
11.根据权利要求9所述的装置,其中,所述验证装置还包括:
监听单元,配置为监听所述激励生成单元生成的所述测试数据,并且向所述比较单元提供所述测试数据,以及监听所述处理器电路生成的所述响应结果,并且向所述比较单元提供所述响应结果。
12.根据权利要求11所述的装置,其中,所述比较单元还配置为接收来自所述监听单元的所述测试数据和所述响应结果,并且根据所述测试数据得到参考结果,以及比较所述响应结果和所述参考结果。
13.根据权利要求12所述的装置,其中,所述比较单元包括参考模型,所述比较单元利用所述参考模型对所述测试数据进行计算得到所述参考结果。
14.根据权利要求11所述的装置,其中,所述监听单元还配置为监听所述配置信息,并且向比较单元提供所述配置信息。
15.根据权利要求14所述的装置,其中,所述监听单元还配置为监听所述连接器根据所述配置信息进行配置的配置结果,以及向所述比较单元提供所述配置结果,使得所述比较单元根据所述配置结果确定所述连接器是否配置为所述目标连接方式。
16.根据权利要求9所述的装置,其中,所述多种连接方式包括单连接和多连接,
其中,所述单连接为通过一条总线耦接所述第一处理器核和所述第二处理器核,所述多连接为通过多条总线耦接所述第一处理器核和所述第二处理器核。
17.根据权利要求16所述的装置,其中,在所述目标连接方式为所述多连接的情形中,所述比较单元还配置为:
根据所述多条总线的分配协议,预测所述多条总线中用于传输所述测试数据的响应结果的目标总线;以及
确定所述测试数据的响应结果是否来自所述目标总线以用于验证。
18.根据权利要求9所述的装置,其中,所述测试数据为所述第一处理器核和所述第二处理器核之间的读指令或者写指令,
激励生成单元包括:
读写子单元,配置为使用所述读指令或者写指令激励所述处理器电路,使得所述第一处理器核和所述第二处理器核通过所述连接器以所述目标连接方式执行所述读指令或者所述写指令生成所述响应结果,并输出所述测试数据的响应结果。
19.一种电子设备,包括:
处理器;
存储器,包括一个或多个计算机程序指令;
其中,所述一个或多个计算机程序指令被存储在所述存储器中,并由所述处理器执行时实现权利要求1-8任一项所述的验证方法的指令。
20.一种计算机可读存储介质,非暂时性存储有计算机可读指令,当所述计算机可读指令由处理器执行时可以实现权利要求1-8任一项所述的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111460413.4A CN114153674A (zh) | 2021-12-02 | 2021-12-02 | 验证方法、验证装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111460413.4A CN114153674A (zh) | 2021-12-02 | 2021-12-02 | 验证方法、验证装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153674A true CN114153674A (zh) | 2022-03-08 |
Family
ID=80455837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111460413.4A Pending CN114153674A (zh) | 2021-12-02 | 2021-12-02 | 验证方法、验证装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153674A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376221A (zh) * | 2023-12-07 | 2024-01-09 | 上海矽朔微电子有限公司 | 通信协议的自动化验证方法及系统 |
CN117910401A (zh) * | 2024-03-19 | 2024-04-19 | 英诺达(成都)电子科技有限公司 | 工作模式配置方法、装置、设备、存储介质及程序产品 |
-
2021
- 2021-12-02 CN CN202111460413.4A patent/CN114153674A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376221A (zh) * | 2023-12-07 | 2024-01-09 | 上海矽朔微电子有限公司 | 通信协议的自动化验证方法及系统 |
CN117910401A (zh) * | 2024-03-19 | 2024-04-19 | 英诺达(成都)电子科技有限公司 | 工作模式配置方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7366650B2 (en) | Software and hardware simulation | |
CN114153674A (zh) | 验证方法、验证装置、电子设备和计算机可读存储介质 | |
US6110218A (en) | Generation of multiple simultaneous random test cycles for hardware verification of multiple functions of a design under test | |
US7240268B2 (en) | Test component and method of operation thereof | |
CN113051855B (zh) | 用于片上系统芯片验证的方法、系统及验证平台 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
US11302412B2 (en) | Systems and methods for simulated device testing using a memory-based communication protocol | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
WO2024046362A1 (zh) | 验证系统、验证方法、电子设备以及存储介质 | |
US20150019193A1 (en) | Verification using generic protocol adapters | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN110532064A (zh) | 提供计算资源的方法、装置、设备和存储介质 | |
CN113505066A (zh) | 用于验证被测试模块的方法以及验证系统 | |
CN114548027A (zh) | 在验证系统中追踪信号的方法、电子设备及存储介质 | |
CN114020626A (zh) | 芯片验证方法、装置、设备和介质 | |
CN108228965A (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
US6507808B1 (en) | Hardware logic verification data transfer checking apparatus and method therefor | |
EP2365488B1 (en) | Apparatus and method for testing semiconductor integrated circuits, and a non-transitory computer-readable medium having a semiconductor integrated circuit testing program | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
US6058468A (en) | Central processing unit and microcomputer having testing of circuitry external to the central processing unit | |
JP2005514680A (ja) | 回路シミュレーション環境でバースト・ライセンシングを供給するシステム及び方法 | |
CN113627107A (zh) | 确定电源电压数据的方法、装置、电子设备和介质 | |
CN106802847A (zh) | 用于模拟慢速存储盘的方法和装置 | |
US9710581B1 (en) | VIP assisted method and apparatus to enable SOC integration and software development | |
GB2374435A (en) | Software and hardware simulation |
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 |