测试方法、测试装置、电子设备及存储介质与流程

未命名 09-29 阅读:69 评论:0


1.本技术涉及芯片测试技术领域,尤其涉及一种测试方法、测试装置、电子设备及存储介质。


背景技术:

2.随着系统级芯片(soc)相关技术的发展,很多系统级芯片将通用处理器、图形处理器、神经网络处理器、视觉处理器、多媒体图像处理等子系统集成在一起,且越来越多的系统级芯片采用虚拟化技术实现软件隔离,以便于同时运行多种操作系统。
3.一些应用场景对安全性要求较高,例如车规级芯片,要求对虚拟平台进行安全隔离。部分厂商选择使用系统内存管理单元(smmu)实现内存的虚拟化和安全隔离。在系统级芯片集成设计阶段需要对smmu进行功能测试,常规的测试方法通常只是测试smmu的地址转换功能,不仅很难覆盖不同的使用场景,而且通常很难暴露出smmu的集成设计问题,导致功能测试的覆盖率较低。


技术实现要素:

4.有鉴于现有技术中存在的上述问题,本技术提供了一种测试方法、测试装置、电子设备及计算机可读存储介质,本技术实施例采用的技术方案如下所示。
5.本技术第一方面提供了一种测试方法,用于在测试环境下测试数字仿真模型,所述数字仿真模型基于目标芯片的设计方案仿真形成;所述数字仿真模型包括用于模拟系统内存管理单元的第一仿真单元和用于模拟存储单元的第二仿真单元,且所述数字仿真模型符合高级微控制器总线架构;所述测试环境中设有第一验证主机和第二验证主机;所述第一验证主机用于模拟所述目标芯片的第一处理单元并通过第一仿真接口与所述第一仿真单元或所述第二仿真单元连接;所述第二验证主机用于模拟所述目标芯片的第二处理单元并通过第二仿真接口与所述第一仿真单元或所述第二仿真单元连接,且所述第一验证主机和所述第二验证主机中的至少一个与所述第一仿真单元连接;所述第一仿真接口和所述第二仿真接口均遵循高级可扩展接口协议;所述测试方法包括:通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元;通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据;其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行;基于所述第一目标数据和所述第二目标数据,获取测试结果,所述测试结果至少
能够表征所述第一目标数据和所述第二目标数据的一致性。
6.在一些实施例中,所述第一验证主机通过所述第一仿真接口与第二仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第一仿真单元连接;所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于第一物理地址或与所述第一物理地址相对应的第一虚拟地址,向所述第二仿真单元发送所述写请求,请求向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元;相对应,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于所述第一物理地址,向所述第一仿真单元发送所述读请求,请求所述第一仿真单元向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
7.在一些实施例中,所述第一验证主机通过所述第一仿真接口与所述第一仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第二仿真单元连接;所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,请求所述第一仿真单元向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元;相对应的,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于所述第二物理地址或与所述第二物理地址相对应的第二虚拟地址,向所述第二仿真单元发送读请求,请求向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
8.在一些实施例中,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于多个不同的所述第一地址,向所述第二仿真单元发送多个所述写请求,请求所述第二仿真单元执行多个写操作,将多个所述第一目标数据写入所述第二仿真单元;相对应的,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于与所述第一地址一一对应的多个第二地址,向所述第
二仿真单元发送多个所述读请求,请求向所述第二仿真单元执行多个读操作,从所述第二仿真单元读取多个所述第二目标数据。
9.在一些实施例中,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于随机获取的第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元。
10.在一些实施例中,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于所述第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将随机获取的第一目标数据写入所述第二仿真单元。
11.在一些实施例中,所述方法还包括:在向所述第二仿真单元发送写请求之前,通过所述第一验证主机或所述第二验证主机初始化所述第一仿真单元。
12.本技术第二方面提供了一种测试装置,用于在测试环境下测试数字仿真模型,所述数字仿真模型基于目标芯片的设计方案仿真形成;所述数字仿真模型包括用于模拟系统内存管理单元的第一仿真单元和用于模拟存储单元的第二仿真单元,且所述数字仿真模型符合高级微控制器总线架构;所述测试环境中设有第一验证主机和第二验证主机;所述第一验证主机用于模拟所述目标芯片的第一处理单元并通过第一仿真接口与所述第一仿真单元或所述第二仿真单元连接;所述第二验证主机用于模拟所述目标芯片的第二处理单元并通过第二仿真接口与所述第一仿真单元或所述第二仿真单元连接,且所述第一验证主机和所述第二验证主机中的至少一个与所述第一仿真单元连接;所述第一仿真接口和所述第二仿真接口均遵循高级可扩展接口协议;所述测试装置包括:写入模块,用于通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元;读取模块,用于通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据;其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行;检测模块,用于基于所述第一目标数据和所述第二目标数据,获取测试结果,所述测试结果至少能够表征所述第一目标数据和所述第二目标数据的一致性。
13.本技术第三方面提供了一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,所述处理器在执行所述存储器上的程序时实现如上所述的方法。
14.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上所述的方法。
15.本技术的测试方法,能够验证目标芯片的设计方案中系统内存管理单元(smmu)的地址传输和地址转换功能的正确性,还能够验证基于高级微控制器总线架构(amba)对高级可扩展接口(axi接口)、smmu和存储单元进行集成的正确性和功能性,能够提高功能测试的覆盖率,有利于尽快暴露出目标芯片的设计方案中对axi接口、smmu和存储单元进行集成的潜在问题,有利于缩短测试时间和提高测试效率,且有利于缩短芯片的设计周期。
附图说明
16.图1为数字仿真模型在测试环境中的示例性系统架构图;图2为本技术实施例的测试方法的流程图;图3为本技术实施例的测试方法的第一种具体实施例的数据流图;图4为本技术实施例的测试方法的第二种具体实施例的数据流图;图5为本技术实施例的测试方法的第三种具体实施例的数据流图;图6为本技术实施例的测试方法的第四种具体实施例的数据流图;图7为本技术实施例的测试装置的结构框图;图8为本技术实施例的电子设备的结构框图。
具体实施方式
17.此处参考附图描述本技术的各种方案以及特征。
18.应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本技术的范围和精神内的其他修改。
19.包含在说明书中并构成说明书的一部分的附图示出了本技术的实施例,并且与上面给出的对本技术的大致描述以及下面给出的对实施例的详细描述一起用于解释本技术的原理。
20.通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本技术的这些和其它特性将会变得显而易见。
21.还应当理解,尽管已经参照一些具体实例对本技术进行了描述,但本领域技术人员能够确定地实现本技术的很多其它等效形式,它们都应视为位于本技术的保护范围内。
22.当结合附图时,鉴于以下详细说明,本技术的上述和其他方面、特征和优势将变得更为显而易见。
23.此后参照附图描述本技术的具体实施例;然而,应当理解,所申请的实施例仅仅是本技术的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本技术模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本技术。
24.本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例
中”或“在其他实施例中”,其均可指代根据本技术的相同或不同实施例中的一个或多个。
25.本技术实施例提供了一种测试方法,用于在测试环境下测试数字仿真模型,数字仿真模型基于目标芯片的设计方案仿真形成。图1为数字仿真模型在测试环境中的示例性系统架构图,参见图1所示,数字仿真模型可包括第一仿真单元103和第二仿真单元105,第一仿真单元103用于模拟系统内存管理单元(smmu),第二仿真单元105用于模拟存储单元,且数字仿真模型符合高级微控制器总线架构(amba)。
26.可选的,测试环境可通过芯片测试平台构建形成。目标芯片可包括但不限于系统级芯片(soc),目标芯片的设计方案可包括目标芯片的设计代码。例如,在完成目标芯片的smmu和存储单元集成的情况下,可通过芯片测试平台构建测试环境,基于目标芯片的设计代码,在测试环境中仿真形成数字仿真模型。
27.可选的,数字仿真模型还可包括第三仿真单元104,第三仿真单元104可用于模拟目标芯片的总线。在目标芯片的设计方案中,系统内存管理单元可通过总线与存储单元连接。相对应的,在测试环境中,第一仿真单元103可通过第三仿真单元104与第二仿真单元105连接。
28.可选的,存储单元可包括目标芯片的片内存储器,第二仿真单元105可用于模拟片内存储器。存储单元也可包括目标芯片的输入输出(i/o)接口和与i/o接口连接的片外存储器,第二仿真单元105可用于模拟该i/o接口和片外存储器。
29.测试环境中可设有第一验证主机101和第二验证主机102。第一验证主机101用于模拟目标芯片的第一处理单元,第一验证主机101可通过第一仿真接口与第一仿真单元103或第二仿真单元105连接。第二验证主机102用于模拟目标芯片的第二处理单元,第二验证主机102可通过第二仿真接口与第一仿真单元103或第二仿真单元105连接。第一验证主机101和第二验证主机102中的至少一个与第一仿真单元103连接。第一仿真接口和第二仿真接口均遵循高级可扩展接口协议(axi)。
30.可选的,测试环境中可设置一个或多个第一验证主机101,也可设置一个或多个第二验证主机102。第一验证主机101可通过第一仿真接口与第一仿真单元103连接,第二验证主机102可通过第一仿真接口与第二仿真单元105连接。或者,第一验证主机101可通过第一仿真接口与第二仿真单元105连接,第二验证主机102可通过第二仿真接口与第一仿真单元103连接。亦或者,第一验证主机101可通过第一仿真接口与第一仿真单元103连接,第二验证主机102也可通过第二仿真接口与第一仿真单元103连接。
31.可选的,第一验证主机101和第二验证主机102均可通过针对amba总线架构和axi接口的验证ip形成。如此,能够降低测试难度,还能够降低测试过程中的系统资源占用率。
32.可选的,第一处理单元和第二处理单元包括但不限于目标芯片中的通用处理器、图形处理器、视觉处理器、神经网络处理器等等,此处并不对第一处理单元和第二处理单元的类型进行限定。
33.示例性的,在目标芯片的设计方案中,第一处理单元可为通用处理器,第二处理单元可为图形处理器或视觉处理器等专用处理器。通用处理器可通过axi接口与总线连接,并通过总线与存储单元连接。专用处理提可通过axi接口与smmu连接,smmu可通过总线与存储单元连接。相对应的,配合图1所示,在测试环境中,模拟第一处理单元的第一验证主机101可通过第一仿真接口与第三仿真单元104连接,并第三仿真单元104与第二仿真单元105连
接。模拟专用处理器的第二验证主机102可通过第二仿真接口与第一仿真单元103连接,第一仿真单元103可通过第三仿真单元104与第二仿真单元105连接。
34.图2为本技术实施例的测试方法的流程图,参见图2所示,本技术实施例的测试方法具体可包括如下步骤。
35.s201,通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元。
36.s202,通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据。其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行。
37.s203,基于所述第一目标数据和所述第二目标数据,获取测试结果。所述测试结果至少能够表征所述第一目标数据和所述第二目标数据的一致性。
38.可选的,所述第一地址可为物理地址或虚拟地址,所述第二地址也可为物理地址或虚拟地址。在所述第一地址为物理地址,所述第二地址为虚拟地址的情况下,可预先基于smmu中物理地址和虚拟地址的转换关系确定该虚拟地址。在所述第一地址为虚拟地址,所述第二地址为物理地址的情况下,可预先基于smmu中物理地址和虚拟地址的转换关系确定该虚拟地址。在所述第一地址和第二地址均为物理地址,或者所述第一地址和所述第二地址均为虚拟地址的情况下,所述第一地址和所述第二地址实际上相同。需要说明的是,所述物理地址和所述虚拟地址并非绝对意义上的物理地址和虚拟地址,所述物理地址可理解为是smmu进行地址转换之前的地址,所述虚拟地址可理解为是smmu进行地址转换之后的地址。
39.可以理解的是,所述写操作和所述读操作的操作对象均为模拟存储单元的所述第二仿真单元,所述写操作和所述读操作中至少一个通过所述第一仿真单元执行应理解为通过所述第一仿真单元请求所述第二仿真单元执行读操作或写操作。可选的,所述写操作可通过所述第一仿真单元执行,或者所述读操作可通过所述第一仿真单元执行,亦或者所述写操作和所述读操作均可通过所述第一仿真单元执行。
40.通过所述第一验证主机基于第一地址,将所述第一目标数据写入所述第二仿真单元,能够模拟第一处理单元通过axi接口直接将第一目标数据写入存储单元,或者通过smmu将第一目标数据写入存储单元。通过所述第二验证主机基于第二地址从所述第二仿真单元读取第二目标数据,能够模拟第二处理单元通过axi接口直接从存储单元读取第二目标数据,或者通过smmu从存储单元读取第二目标数据。
41.由于所述第一地址和所述第二地址相对应,所以如果所述目标芯片的设计方案中对axi接口器、smmu和存储单元的集成不存在潜在问题,则所述第一目标数据和所述第二目标数据应该一致。在此基础上,获取到所述第一目标数据和所述第二目标数据之后,可判断所述第一目标数据和所述第二目标数据的一致性是否符合目标条件。如果符合目标条件,则可确定smmu的地址传输和地址转换功能正确,并且基于高级微控制器总线架构(amba)设计的目标芯片的设计方案,对axi接口、smmu和存储单元的集成不存在潜在问题。如果不符合目标条件,则可确定smmu的地址传输和地址转换功能可能存在问题,或者目标芯片的设
计方案中对axi接口、smmu和存储单元的集成可能存在潜在问题。
42.示例性的,在获取到所述第一目标数据和所述第二目标数据的情况下,可判断所述第一目标数据和所述第二目标数据是否相同,或者可判断所述第一目标数据和所述第二目标数据的一致率是否大于目标阈值。如果是,则可确定目标芯片的设计方案通过仿真测试,如果否,则可确定目标芯片的设计方案可能存在潜在问题。
43.本技术实施例的测试方法,通过所述第一验证主机基于第一地址,将第一目标数据写入所述第二仿真单元,通过所述第二验证主机基于与所述第一地址相对应的第二地址,从所述第二仿真单元读取第二目标数据,并基于所述第一目标数据和所述第二目标数据,获取能够表征二者一致性的测试结果,能够验证片内处理单元通过axi接口和smmu向存储单元写入数据的正确性,以及片内处理单元通过axi接口和smmu向存储单元读取数据的正确性。这样,不仅能够验证目标芯片的设计方案中smmu的地址传输和地址转换功能的正确性,还能够验证基于amba总线架构对axi接口、smmu和存储单元进行集成的正确性和功能性,能够提高功能测试的覆盖率,有利于尽快暴露出目标芯片的设计方案中对axi接口、smmu和存储单元进行集成的潜在问题,有利于缩短测试时间和提高测试效率,且有利于缩短芯片的设计周期。
44.在一些实施例中,步骤s201中,可通过所述第一验证主机基于多个不同的所述第一地址,向所述第一仿真单元发送多个所述写请求,请求所述第二仿真单元执行多个写操作,将多个所述第一目标数据写入所述第二仿真单元。
45.在步骤s202中,可通过所述第二验证主机基于与所述第一地址一一对应的多个第二地址,向所述第二仿真单元发送多个所述读请求,请求向所述第二仿真单元执行多个读操作,从所述第二仿真单元读取多个所述第二目标数据。
46.在步骤s203中,可依次判断所述第一目标数据和相对应的第二目标数据的一致性,并基于多个判断结果获取所述测试结果。通过重复执行读写操作,能够验证目标芯片的设计方案的稳定性,能够增加测试结果的准确性。
47.在一些实施例中,在步骤s201中,可通过所述第一验证主机基于随机获取的第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元。
48.可选的,可从所述第二仿真单元的地址范围内随机获取一地址段作为所述第一地址。或者,可从第二仿真单元的地址范围内随机获取多个地址段,分别作为所述第一地址。如此,能够提高地址段的覆盖范围,有利于充分的暴露出目标芯片的设计方案中可能存在的潜在问题。
49.在一些实施例中,在步骤s201中,可通过所述第一验证主机基于所述第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将随机获取的第一目标数据写入所述第二仿真单元。
50.可选的,可将一项或多项数据属性设置为随机配置,并在数据属性随机配置的情况下获取所述第一目标数据。例如,可在突破传输类型(burst类型)、长度及数据内容随机的情况下,获取所述第一目标数据。如此,能够覆盖多种类型的数据,有利于暴露出目标芯片的设计方案中可能存在的潜在问题。
51.在一些实施例中,所述方法还包括:s200,在向所述第二仿真单元发送写请求之
前,通过所述第一验证主机或所述第二验证主机初始化所述第一仿真单元。如此,还能够验证所述目标芯片的设计方案中smmu初始化功能的正确性,以覆盖更多的使用场景。
52.示例性的,所述第一验证主机可用于模拟通用处理器,所述第一验证主机可通过第三仿真单元分别与所述第一仿真单元和所述第二仿真单元连接。所述第一验证主机可模拟通用处理器初始化smmu的过程,来初始化所述第一仿真单元。例如,可初始化第一仿真单元的地址翻译信息,并配置所述第一仿真单元的仿真配置寄存器中的配置信息。所述地址翻译信息可包含物理地址和虚拟地址的转换关系。
53.以下结合一些具体实施例对本技术的测试方法的测试过程及测试原理进行示例性的说明,但不应理解为本技术的测试方法的保护范围仅限于如下所示的具体实施例。
54.配合图3所示,在一些实施例中,所述第一验证主机通过所述第一仿真接口与第二仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第一仿真单元连接。
55.在步骤s201中,可通过所述第一验证主机基于第一物理地址,向所述第二仿真单元发送所述写请求,请求向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元。
56.在步骤s202中,可通过所述第二验证主机基于所述第一物理地址,向所述第一仿真单元发送所述读请求,请求所述第一仿真单元向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
57.可选的,所述第二仿真单元可通过模拟总线的第三仿真单元与所述第一仿真单元和所述第二仿真接口连接。通过所述第一验证主机不经由第一仿真单元,直接将第一目标数据写入所述第二仿真单元,能够模拟通用处理器向存储单元写入数据的过程。通过所述第二验证主机经由第一仿真单元基于第一物理地址,从所述第二仿真单元读取第二目标数据,能够模拟专用处理器通过smmu采用旁路模式(bypass)从存储单元中读取数据的过程。在所述旁路模式下,所述第一仿真单元不对所述第一物理地址进行转换,直接基于所述第一物理地址从所述第二仿真单元中读取第二目标数据。在已确定总线和存储单元之间功能正确性的情况下,能够验证smmu采用旁路模式(bypass)从存储单元中读取数据的功能性和正确性。
58.可选地,可通过第一验证主机在所述第二仿真单元的地址范围内随机获取第一物理地址,并随机获取多个第一目标数据。基于该随机获取的第一物理地址通过第三仿真单元,将随机获取的多个第一目标数据写入所述第二仿真单元。通过所述第二验证主机基于该随机获取的第一物理地址,从所述第二仿真单元中读取多个第二目标数据。继而,可判断多个第一目标数据和多个第二目标数据的一致性。如果一致,则确定目标芯片的设计方案测试通过。如果不一致,则确定目标芯片的测试方案测试失败。
59.配合图4所示,在一些实施例中,所述第一验证主机通过所述第一仿真接口与所述第一仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第二仿真单元连接。
60.在步骤s201中,可通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,请求所述第一仿真单元向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元。
61.在步骤s202中,可通过所述第二验证主机基于所述第二物理地址,向所述第二仿真单元发送读请求,请求向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取
所述第二目标数据。
62.可选的,所述第二仿真单元可通过模拟总线的第三仿真单元与所述第一仿真单元和所述第二仿真接口连接。通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,通过所述第一仿真单元将所述第一目标数据写入所述第二仿真单元,能够模拟专用处理器通过smmu采用旁路模式向存储单元写入数据。通过第二验证主机不经过第一仿真单元,直接从所述第二仿真单元读取第二目标数据,能够模拟通用处理器从存储单元读取数据。在已确定总线和存储单元之间功能正确性的情况下,能够验证smmu采用旁路模式向存储单元写入数据的功能性和正确性。
63.可选地,可通过所述第一验证主机在所述第二仿真单元的地址范围内随机获取第二物理地址,并随机获取多个第一目标数据。基于该随机获取的第二物理地址向所述第一仿真单元发送写请求,请求第一仿真单元将多个第一目标数据写入所述第二仿真单元。通过所述第二验证主机基于该随机获取的第二物理地址,从所述第二仿真单元中读取多个第二目标数据。继而,可判断多个第一目标数据和多个第二目标数据的一致性。如果一致,则确定目标芯片的设计方案测试通过。如果不一致,则确定目标芯片的测试方案测试失败。
64.配合图5所示,在一些实施例中,所述第一验证主机通过所述第一仿真接口与第二仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第一仿真单元连接。
65.在步骤s200中,可通过所述第一验证主机初始化所述第一仿真单元。
66.在步骤s201中,可通过所述第一验证主机基于第一虚拟地址,向所述第二仿真单元发送所述写请求,请求向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元。
67.在步骤s202中,可通过所述第二验证主机基于第一物理地址,向所述第一仿真单元发送所述读请求,请求所述第一仿真单元向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
68.可选的,可预先在第二仿真单元的地址范围内随机获取物理地址,并将该随机获取的物理地址作为第一物理地址。可基于smmu中物理地址和虚拟地址之间的转换关系,将第一物理地址转换为虚拟地址,并将基于第一物理地址转换形成的虚拟地址作为所述第一虚拟地址。
69.通过第一验证主机初始化第一仿真单元,能够模拟通用处理器初始化smmu。通过第一验证主机基于第一虚拟地址不经由第一仿真单元,直接将第一目标数据写入所述第二仿真单元,能够模拟通用处理器基于虚拟地址直接向存储单元中写入数据。通过第二验证主机基于第一物理地址,向第一仿真单元发送读请求,通过第一仿真单元将第一物理地址转换为第一虚拟地址,基于第一虚拟地址从所述第二仿真单元读取第二目标数据,能够模拟专用处理器基于物理地址向smmu发送读请求,通过smmu基于物理地址和虚拟地址的转换关系将物理地址转换为虚拟地址,并基于虚拟地址从存储单元读取数据。如此,不仅能够验证smmu的初始化过程,还能够验证smmu的地址转化功能,以及基于转换后的地址从存储单元读取数据的功能。
70.配合图6所示,在一些实施例中,所述第一验证主机通过所述第一仿真接口与所述第一仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第二仿真单元连接。
71.在步骤s200中,可通过所述第二验证主机初始化所述第一仿真单元。
72.在步骤s201中,可通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,请求所述第一仿真单元向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元。
73.在步骤s202中,可通过所述第二验证主机基于所述第二虚拟地址,向所述第二仿真单元发送读请求,请求向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
74.可选的,可预先在所述第二仿真单元的地址范围内随机获取物理地址,并将该随机获取的物理地址作为第二物理地址。可基于smmu中物理地址和虚拟地址之间的转换关系,将第二物理地址转换为虚拟地址,并将基于第二物理地址转换形成的虚拟地址作为所述第二虚拟地址。
75.通过第二验证主机初始化所述第一仿真单元,能够模拟通用处理器初始化smmu。通过第一验证主机基于第二物理地址,向第一仿真单元发送写请求,请求第一仿真单元将第二物理地址转换为第二虚拟地址,基于第二虚拟地址将第一目标数据写入所述第二仿真单元,能够模拟专用处理器基于物理地址向smmu发送写请求,通过smmu将物理地址转换为虚拟地址,并基于虚拟地址向存储单元写入数据。通过第二验证主机基于第二虚拟地址不经由第一仿真单元,直接从所述第二仿真单元中读取第二目标数据,能够模拟通用处理器基于虚拟地址直接从存储单元读取数据。如此,不仅能够验证smmu的初始化过程,还能够验证smmu的地址转化功能,以及基于转化后的地址向存储单元写入数据的功能。
76.本技术实施例还提供了一种测试装置,用于在测试环境下测试数字仿真模型,所述数字仿真模型基于目标芯片的设计方案仿真形成。所述数字仿真模型包括用于模拟系统内存管理单元的第一仿真单元和用于模拟存储单元的第二仿真单元,且所述数字仿真模型符合高级微控制器总线架构。
77.所述测试环境中设有第一验证主机和第二验证主机。所述第一验证主机用于模拟所述目标芯片的第一处理单元并通过第一仿真接口与所述第一仿真单元或所述第二仿真单元连接。所述第二验证主机用于模拟所述目标芯片的第二处理单元并通过第二仿真接口与所述第一仿真单元或所述第二仿真单元连接,且所述第一验证主机和所述第二验证主机中的至少一个与所述第一仿真单元连接。所述第一仿真接口和所述第二仿真接口均遵循高级可扩展接口协议。
78.图7为本技术实施例的测试装置的结构框图,参见图7所示,本技术实施例的测试装置具体可包括:写入模块301,用于通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元;读取模块302,用于通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据;其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行;检测模块303,用于基于所述第一目标数据和所述第二目标数据,获取测试结果,所述测试结果至少能够表征所述第一目标数据和所述第二目标数据的一致性。
79.在一些实施例中,所述第一验证主机通过所述第一仿真接口与第二仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第一仿真单元连接。
80.所述写入模块301具体用于:通过所述第一验证主机基于第一物理地址或与所述第一物理地址相对应的第一虚拟地址,向所述第二仿真单元发送所述写请求,请求向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元。
81.所述读取模块302具体用于:通过所述第二验证主机基于所述第一物理地址,向所述第一仿真单元发送所述读请求,请求所述第一仿真单元向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
82.在一些实施例中,所述第一验证主机通过所述第一仿真接口与所述第一仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第二仿真单元连接。
83.所述写入模块301具体用于:通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,请求所述第一仿真单元向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元;所述读取模块302具体用于:通过所述第二验证主机基于所述第二物理地址或与所述第二物理地址相对应的第二虚拟地址,向所述第二仿真单元发送读请求,请求向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。
84.在一些实施例中,所述写入模块301具体用于:通过所述第一验证主机基于多个不同的所述第一地址,向所述第二仿真单元发送多个所述写请求,请求所述第二仿真单元执行多个写操作,将多个所述第一目标数据写入所述第二仿真单元。
85.所述读取模块302具体用于:通过所述第二验证主机基于与所述第一地址一一对应的多个第二地址,向所述第二仿真单元发送多个所述读请求,请求向所述第二仿真单元执行多个读操作,从所述第二仿真单元读取多个所述第二目标数据。
86.在一些实施例中,所述写入模块301具体用于:通过所述第一验证主机基于随机获取的第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元。
87.在一些实施例中,所述写入模块301具体用于:通过所述第一验证主机基于所述第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将随机获取的第一目标数据写入所述第二仿真单元。
88.在一些实施例中,所述装置还包括初始化模块,所述初始化模块用于:在向所述第二仿真单元发送写请求之前,通过所述第一验证主机或所述第二验证主机初始化所述第一仿真单元。
89.参见图8所示,本技术实施例提供了一种电子设备,至少包括存储器401和处理器402,所述存储器401上存储有程序,所述处理器402在执行所述存储器401上的程序时实现如上任一实施例所述的方法。
90.本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上任一实施例所述的方法。
91.本领域技术人员应明白,本技术的实施例可提供为方法、电子设备、计算机可读存储介质或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合
软件和硬件的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
92.上述处理器可以是通用处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,简称gal)或其任意组合。通用处理器可以是微处理器或者任何常规的处理器等。
93.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
94.上述可读存储介质可为磁碟、光盘、dvd、usb、只读存储记忆体(rom)或随机存储记忆体(ram)等,本技术对具体的存储介质形式不作限定。
95.以上实施例仅为本技术的示例性实施例,不用于限制本技术,本技术的保护范围由权利要求书限定。本领域技术人员可以在本技术的实质和保护范围内,对本技术做出各种修改或等同替换,这种修改或等同替换也应视为落在本技术的保护范围内。

技术特征:
1.一种测试方法,其特征在于,用于在测试环境下测试数字仿真模型,所述数字仿真模型基于目标芯片的设计方案仿真形成;所述数字仿真模型包括用于模拟系统内存管理单元的第一仿真单元和用于模拟存储单元的第二仿真单元,且所述数字仿真模型符合高级微控制器总线架构;所述测试环境中设有第一验证主机和第二验证主机;所述第一验证主机用于模拟所述目标芯片的第一处理单元并通过第一仿真接口与所述第一仿真单元或所述第二仿真单元连接;所述第二验证主机用于模拟所述目标芯片的第二处理单元并通过第二仿真接口与所述第一仿真单元或所述第二仿真单元连接,且所述第一验证主机和所述第二验证主机中的至少一个与所述第一仿真单元连接;所述第一仿真接口和所述第二仿真接口均遵循高级可扩展接口协议;所述测试方法包括:通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元;通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据;其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行;基于所述第一目标数据和所述第二目标数据,获取测试结果,所述测试结果至少能够表征所述第一目标数据和所述第二目标数据的一致性。2.根据权利要求1所述的方法,其特征在于,所述第一验证主机通过所述第一仿真接口与第二仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第一仿真单元连接;所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于第一物理地址或与所述第一物理地址相对应的第一虚拟地址,向所述第二仿真单元发送所述写请求,请求向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元;相对应,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于所述第一物理地址,向所述第一仿真单元发送所述读请求,请求所述第一仿真单元向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。3.根据权利要求1所述的方法,其特征在于,所述第一验证主机通过所述第一仿真接口与所述第一仿真单元连接,所述第二验证主机通过所述第二仿真接口与所述第二仿真单元连接;所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展
接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于第二物理地址,向所述第一仿真单元发送写请求,请求所述第一仿真单元向所述第二仿真单元执行写操作,将所述第一目标数据写入所述第二仿真单元;相对应的,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于所述第二物理地址或与所述第二物理地址相对应的第二虚拟地址,向所述第二仿真单元发送读请求,请求向所述第二仿真单元执行所述读操作,从所述第二仿真单元读取所述第二目标数据。4.根据权利要求1所述的方法,其特征在于,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于多个不同的所述第一地址,向所述第二仿真单元发送多个所述写请求,请求所述第二仿真单元执行多个写操作,将多个所述第一目标数据写入所述第二仿真单元;相对应的,所述通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据,包括:通过所述第二验证主机基于与所述第一地址一一对应的多个第二地址,向所述第二仿真单元发送多个所述读请求,请求向所述第二仿真单元执行多个读操作,从所述第二仿真单元读取多个所述第二目标数据。5.根据权利要求1所述的方法,其特征在于,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于随机获取的第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元。6.根据权利要求1所述的方法,其特征在于,所述通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元,包括:通过所述第一验证主机基于所述第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将随机获取的第一目标数据写入所述第二仿真单元。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:在向所述第二仿真单元发送写请求之前,通过所述第一验证主机或所述第二验证主机初始化所述第一仿真单元。8.一种测试装置,其特征在于,用于在测试环境下测试数字仿真模型,所述数字仿真模
型基于目标芯片的设计方案仿真形成;所述数字仿真模型包括用于模拟系统内存管理单元的第一仿真单元和用于模拟存储单元的第二仿真单元,且所述数字仿真模型符合高级微控制器总线架构;所述测试环境中设有第一验证主机和第二验证主机;所述第一验证主机用于模拟所述目标芯片的第一处理单元并通过第一仿真接口与所述第一仿真单元或所述第二仿真单元连接;所述第二验证主机用于模拟所述目标芯片的第二处理单元并通过第二仿真接口与所述第一仿真单元或所述第二仿真单元连接,且所述第一验证主机和所述第二验证主机中的至少一个与所述第一仿真单元连接;所述第一仿真接口和所述第二仿真接口均遵循高级可扩展接口协议;所述测试装置包括:写入模块,用于通过所述第一验证主机基于第一地址,向所述第二仿真单元发送符合高级可扩展接口协议的写请求,请求向所述第二仿真单元执行写操作,将第一目标数据写入所述第二仿真单元;读取模块,用于通过所述第二验证主机基于与所述第一地址相对应的第二地址,向所述第二仿真单元发送符合高级可扩展接口协议的读请求,请求向所述第二仿真单元执行读操作,从所述第二仿真单元读取第二目标数据;其中,所述写操作和所述读操作中的至少一个通过所述第一仿真单元执行;检测模块,用于基于所述第一目标数据和所述第二目标数据,获取测试结果,所述测试结果至少能够表征所述第一目标数据和所述第二目标数据的一致性。9.一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,其特征在于,所述处理器在执行所述存储器上的程序时实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,其特征在于,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如权利要求1至7中任一项所述的方法。

技术总结
本申请公开了一种测试方法、测试装置、电子设备及存储介质。该方法包括:通过第一验证主机基于第一地址,向第二仿真单元发送写请求,请求向第二仿真单元执行写操作,将第一目标数据写入第二仿真单元;通过第二验证主机基于与第一地址相对应的第二地址,向第二仿真单元发送读请求,请求向第二仿真单元执行读操作,从第二仿真单元读取第二目标数据;其中,写操作和读操作中的至少一个通过第一仿真单元执行;基于第一目标数据和第二目标数据,获取测试结果。如此,能够提高功能测试的覆盖率,有利于缩短测试时间和提高测试效率,且有利于缩短芯片的设计周期。短芯片的设计周期。短芯片的设计周期。


技术研发人员:张志权
受保护的技术使用者:北京芯驰半导体科技有限公司
技术研发日:2023.08.22
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐