CN117172207B - ***总线互联验证方法、装置、电子设备、存储介质 - Google Patents

***总线互联验证方法、装置、电子设备、存储介质 Download PDF

Info

Publication number
CN117172207B
CN117172207B CN202311451342.0A CN202311451342A CN117172207B CN 117172207 B CN117172207 B CN 117172207B CN 202311451342 A CN202311451342 A CN 202311451342A CN 117172207 B CN117172207 B CN 117172207B
Authority
CN
China
Prior art keywords
file
bus
slave
interface
verification
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.)
Active
Application number
CN202311451342.0A
Other languages
English (en)
Other versions
CN117172207A (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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads 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 Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202311451342.0A priority Critical patent/CN117172207B/zh
Publication of CN117172207A publication Critical patent/CN117172207A/zh
Application granted granted Critical
Publication of CN117172207B publication Critical patent/CN117172207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

本公开涉及集成电路技术领域,提出一种***总线互联验证方法、装置、电子设备、存储介质,所述方法包括:获取第一文件、第二文件、第三文件并解析,得到满足预定义的数据格式的第四文件和第五文件;解析第四文件和第五文件,得到连接组件和全局数据库;根据连接组件和全局数据库生成验证环境和测试用例集合;执行测试用例时,将激励信号输入验证环境,根据验证环境输出的验证结果的比对情况,确定***的总线设置方式的正确性。该方法可以自动生成验证环境和测试用例,且通过全局数据库以隔离的方式存储验证所需的信息,在生成验证环境和测试用例时可以提高复用率;在执行测试用例时使用可控的激励信号,能够灵活控制总线上的激励。

Description

***总线互联验证方法、装置、电子设备、存储介质
技术领域
本公开涉及集成电路技术领域,尤其涉及一种***总线互联验证方法、装置、电子设备、存储介质。
背景技术
在大规模集成电路的设计过程中,片上***的总线互联的设计与验证是一个非常重要的环节。通过对***总线互联进行验证,不仅可以快速扫清总线互联配置的错误,同时也能够快速得出总线在当前互联方式下的带宽和延迟数据,便于对总线互联方式进行调整。
新一代集成电路片上***功能复杂度提升之后,***包括的子***更多,而***总线互联通常由多个子***的子总线互联和***主总线互联组成,因此总线互联方式也越发复杂,与总线相连接的主机、从机也更多。对于超大规模集成电路,其片上***的总线相连接的主机、从机数量更会上升到一个巨大的数量级,以现有技术的方式进行总线互联验证,或是无法灵活控制总线上的激励,可能出现覆盖不全的风险,或是主机、从机的配置信息难以复用,导致定向测试用例的设计耗费大量人力成本。
因此,如何自动化生成验证环境以及测试用例,同时提高配置信息的复用率、灵活控制总线上的激励,成为本领域亟需解决的问题。
发明内容
有鉴于此,本公开提出了一种***总线互联验证方法、装置、电子设备、存储介质,本公开实施例的***总线互联验证方法可以自动生成验证环境和测试用例,且该方法通过全局数据库以隔离的方式存储验证所需的信息,在生成验证环境和测试用例时从全局数据库提取相关信息即可,可以提高复用率;在执行测试用例时使用可控的激励信号,能够灵活控制总线上的激励。
根据本公开的一方面,提供了一种***总线互联验证方法,所述方法用于验证***的总线的设置方式,所述***包括总线以及连接所述总线的多个主机、多个从机,每个所述主机通过所述总线连接至少一个从机,每个所述从机访问所述***的至少一个地址块,所述方法包括:获取包括所述地址块的信息的第一文件、包括所述总线的设置方式的通用验证信息的第二文件、包括所述主机和所述从机的连接关系的第三文件;解析所述第一文件、所述第二文件、所述第三文件,得到满足预定义的数据格式的第四文件和第五文件,所述第四文件包括所述地址块的信息、所述从机与所述地址块的映射信息、所述主机和所述从机的连接关系,所述第五文件包括所述通用验证信息;解析所述第四文件和所述第五文件,得到连接组件,所述连接组件包括所述主机与所述总线连接的接口、所述从机与所述总线连接的接口;解析所述第四文件和所述第五文件,得到全局数据库,所述全局数据库包括存储所述通用验证信息的第一资源池、存储所述地址块的信息的第二资源池、存储所述主机和所述从机的连接关系的第三资源池、存储所述从机与所述地址块的映射信息的第四资源池,各资源池互相隔离;根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,所述测试用例集合包括相连接的每一组主机和从机所对应的测试用例;执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
在一种可能的实现方式中,解析所述第一文件和所述第三文件,得到所述第四文件的过程中,在得到所述从机与所述地址块的映射信息时,增加指示所述从机是否允许验证的标识,每个从机的标识的初始状态均为允许验证状态;在用户指示不验证某一从机时,将该从机的标识修改为不允许验证状态。
在一种可能的实现方式中,所述第一文件包括的所述地址块的信息,包括:所述地址块的名称、起始地址、结束地址、大小以及安全属性中的一种或多种。
在一种可能的实现方式中,所述第二文件包括的所述总线的设置方式的通用验证信息,包括:信息提供对象名称、接口名称、接口类型、接口激活状态、接口支持的总线协议类型、接口位宽、总线与接口的连接点的连接路径、总线与接口的连接点的信息所在的文件名称、接口工作时钟、接口复位时钟、总线与接口之间通信的信号名称中的一种或多种。
在一种可能的实现方式中,每个所述主机位于所述***的一个子***内,所述第三文件包括的所述主机和所述从机的连接关系,包括:主机接口名称、从机接口名称、相连接的每一组主机和从机之间的互联关系类型、每一主机所属的子***、每一从机所属的子***。
在一种可能的实现方式中,所述解析所述第一文件、所述第二文件、所述第三文件包括:检查所述第二文件是否正确;检查所述第三文件中主机接口名称、从机接口名称与所述第二文件中接口名称是否一致;在所述第二文件正确且所述第三文件中的主机接口名称、从机接口名称与所述第二文件中的接口名称一致时,解析所述第一文件、所述第二文件、所述第三文件。
在一种可能的实现方式中,所述预定义的数据格式包括文本格式。
在一种可能的实现方式中,所述接口支持的总线协议类型包括高级可扩展接口AXI类型、高级***总线APB类型、高级高性能总线AHB类型中的一种。
在一种可能的实现方式中,所述验证环境包括与每一主机和每一从机分别对应的多个子验证环境,所述根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,包括:根据所述连接组件和所述全局数据库,生成每一主机对应的子验证环境和每一从机对应的子验证环境,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联;获取每一总线协议类型对应的激励序列;根据所述激励序列生成相连接的每一组主机和从机所对应的测试用例。
在一种可能的实现方式中,所述执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性,包括:根据所述测试用例对应的主机与所述总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与所述总线连接的接口;采样该测试用例对应的主机与所述总线连接的接口处的激励信号,对采样的激励信号进行拆分,得到该测试用例对应的主机的验证结果;采样该测试用例对应的从机与所述总线连接的接口处返回的输出结果,对返回的输出结果进行拆分,得到该测试用例对应的从机的验证结果;根据该测试用例对应的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
根据本公开的另一方面,提供了一种***总线互联验证装置,所述装置用于验证***的总线的设置方式,所述***包括总线以及连接所述总线的多个主机、多个从机,每个所述主机通过所述总线连接至少一个从机,每个所述从机访问所述***的至少一个地址块,所述装置包括:
输入模块,用于获取包括所述地址块的信息的第一文件、包括所述总线的设置方式的通用验证信息的第二文件、包括所述主机和所述从机的连接关系的第三文件;
预定义数据格式生成模块,用于解析所述第一文件、所述第二文件、所述第三文件,得到满足预定义的数据格式的第四文件和第五文件,所述第四文件包括所述地址块的信息、所述从机与所述地址块的映射信息、所述主机和所述从机的连接关系,所述第五文件包括所述通用验证信息;
连接组件生成模块,用于解析所述第四文件和所述第五文件,得到连接组件,所述连接组件包括所述主机与所述总线连接的接口、所述从机与所述总线连接的接口;
全局数据库生成模块,用于解析所述第四文件和所述第五文件,得到全局数据库,所述全局数据库包括存储所述通用验证信息的第一资源池、存储所述地址块的信息的第二资源池、存储所述主机和所述从机的连接关系的第三资源池、存储所述从机与所述地址块的映射信息的第四资源池,各资源池互相隔离;
验证环境和测试用例生成模块,用于根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,所述测试用例集合包括相连接的每一组主机和从机所对应的测试用例;
执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
在一种可能的实现方式中,解析所述第一文件和所述第三文件,得到所述第四文件的过程中,在得到所述从机与所述地址块的映射信息时,增加指示所述从机是否允许验证的标识,每个从机的标识的初始状态均为允许验证状态;在用户指示不验证某一从机时,将该从机的标识修改为不允许验证状态。
在一种可能的实现方式中,所述第一文件包括的所述地址块的信息,包括:所述地址块的名称、起始地址、结束地址、大小以及安全属性中的一种或多种。
在一种可能的实现方式中,所述第二文件包括的所述总线的设置方式的通用验证信息,包括:信息提供对象名称、接口名称、接口类型、接口激活状态、接口支持的总线协议类型、接口位宽、总线与接口的连接点的连接路径、总线与接口的连接点的信息所在的文件名称、接口工作时钟、接口复位时钟、总线与接口之间通信的信号名称中的一种或多种。
在一种可能的实现方式中,每个所述主机位于所述***的一个子***内,所述第三文件包括的所述主机和所述从机的连接关系,包括:主机接口名称、从机接口名称、相连接的每一组主机和从机之间的互联关系类型、每一主机所属的子***、每一从机所属的子***。
在一种可能的实现方式中,所述预定义数据格式生成模块具体用于:检查所述第二文件是否正确;检查所述第三文件中主机接口名称、从机接口名称与所述第二文件中接口名称是否一致;在所述第二文件正确且所述第三文件中的主机接口名称、从机接口名称与所述第二文件中的接口名称一致时,解析所述第一文件、所述第二文件、所述第三文件。
在一种可能的实现方式中,所述预定义的数据格式包括文本格式。
在一种可能的实现方式中,所述接口支持的总线协议类型包括高级可扩展接口AXI类型、高级***总线APB类型、高级高性能总线AHB类型中的一种。
在一种可能的实现方式中,所述验证环境包括与每一主机和每一从机分别对应的多个子验证环境,所述验证环境和测试用例生成模块具体用于:根据所述连接组件和所述全局数据库,生成每一主机对应的子验证环境和每一从机对应的子验证环境,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联;获取每一总线协议类型对应的激励序列;根据所述激励序列生成相连接的每一组主机和从机所对应的测试用例。
在一种可能的实现方式中,所述执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性,包括:根据所述测试用例对应的主机与所述总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与所述总线连接的接口;采样该测试用例对应的主机与所述总线连接的接口处的激励信号,对采样的激励信号进行拆分,得到该测试用例对应的主机的验证结果;采样该测试用例对应的从机与所述总线连接的接口处返回的输出结果,对返回的输出结果进行拆分,得到该测试用例对应的从机的验证结果;根据该测试用例对应的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
根据本公开实施例的***总线互联验证方法,通过获取包括地址块的信息的第一文件、包括总线的设置方式的通用验证信息的第二文件、包括主机和从机的连接关系的第三文件,解析第一文件、第二文件、第三文件,得到满足预定义的数据格式的第四文件和第五文件,第四文件包括地址块的信息、从机与地址块的映射信息、主机和从机的连接关系,第五文件包括通用验证信息,完成数据格式的对齐;通过解析第四文件和第五文件,得到连接组件和全局数据库,连接组件包括主机与总线连接的接口、从机与总线连接的接口,全局数据库包括存储通用验证信息的第一资源池、存储地址块的信息的第二资源池、存储主机和从机的连接关系的第三资源池、存储从机与地址块的映射信息的第四资源池,各资源池互相隔离,再根据连接组件和全局数据库生成验证环境和测试用例集合,测试用例集合包括相连接的每一组主机和从机所对应的测试用例,实现验证环境和测试用例的生成;执行测试用例时,通过将激励信号输入验证环境,根据验证环境输出的同一组主机和从机的验证结果的比对情况,即可确定***的总线设置方式的正确性。本公开实施例的***总线互联验证方法可以自动生成验证环境和测试用例,且该方法通过全局数据库以隔离的方式存储验证所需的信息,在生成验证环境和测试用例时从全局数据库提取相关信息即可,可以提高复用率;在执行测试用例时使用可控的激励信号,能够灵活控制总线上的激励。
由于验证所需的信息以隔离的方式存储在全局数据库中,从全局数据库中提取信息可以重复多次提取相同信息,还可同时提取不同信息,使得信息提取方式更多样化,进而使得本公开实施例的***总线互联验证方法在对总线的设置方式是否满足多组主机和从机的通信需求进行验证时,支持同时对总线的设置方式是否满足多组主机和从机中的每一组主机和从机的通信需求分别开展验证,进一步提高验证的效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的***总线互联验证方法的示例性应用场景。
图2示出根据本公开实施例的***的示例性结构示意图。
图3示出根据本公开实施例的***总线互联验证方法的流程的示意图。
图4a示出根据本公开实施例的文本格式的第四文件包括的地址块的信息的示例。
图4b示出示出根据本公开实施例的文本格式的第四文件包括的从机与地址块的映射信息的示例。
图4c示出根据本公开实施例的文本格式的第四文件包括的主机和从机的连接关系的示例。
图5示出根据本公开实施例生成的验证环境的示意图。
图6示出根据本公开实施例的***总线互联验证装置的示例性结构图。
图7示出根据本公开实施例的电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
本公开实施例所提及的***总线互联验证,指的是在片上***中,若干个从机和若干个主机都连接总线,在用户需求某一组主机和从机之间、或者某几组主机和从机之间以某种方式进行通信时,验证总线的设置方式是否能够满足用户需求。如果能够满足用户需求,那么可认为总线的设置方式正确。如果不能,可认为总线的设置方式错误。
下面先介绍现有技术常用的***总线互联验证方式。
现有技术一通过配置总线上游的网际互连协议(internet protocol,IP),通过真实业务来覆盖***总线互联,但是弊端是无法灵活控制总线上的激励,可能出现覆盖不全的风险。
现有技术二为通过总线互联的主机和从机分别挂接验证IP(verification IP,VIP),通过VIP来发出标准协议内各种组合的随机激励。此种方法可以满足随机的需求,但是当总线互联复杂度到一定程度时,会有巨大数量级的通路存在,而每条通路能访问的地址以及激励约束都各不相同,此时验证环境的复杂度以及重用性都会受制于具体的总线互联配置,无法复用或者复用性很低,会浪费大量的人力来做定向测试用例。
因此,如何自动化生成验证环境以及测试用例,同时提高配置信息的复用率、灵活控制总线上的激励,成为本领域亟需解决的问题。
有鉴于此,本公开提出了一种***总线互联验证方法、装置、电子设备、存储介质,本公开实施例的***总线互联验证方法可以自动生成验证环境和测试用例,且该方法通过全局数据库以隔离的方式存储验证所需的信息,在生成验证环境和测试用例时从全局数据库提取相关信息即可,可以提高复用率;在执行测试用例时使用可控的激励信号,能够灵活控制总线上的激励。
图1示出根据本公开实施例的***总线互联验证方法的示例性应用场景。
如图1所示,本公开实施例的***总线互联验证方法可以由处理器执行,处理器可从存储器处获取用户填写好的、与验证过程有关的信息的第一文件、第二文件、第三文件。其中,第一文件包括地址块的信息(参见下文表1及相关描述),第二文件包括总线的设置方式的通用验证信息(参见下文表2-表4及相关描述),第三文件包括主机和从机的连接关系(参见下文表5及相关描述)。
根据获取到的信息,处理器执行***总线互联验证方法,即可生成验证环境和测试用例。在执行测试用例时,将激励信号输入验证环境,根据验证环境输出的同一组主机和从机的验证结果的比对情况,即可确定***的总线设置方式的正确性。
图2示出根据本公开实施例的***的示例性结构示意图。
在一种可能的实现方式中,本公开提出一种***总线互联验证方法,所述方法用于验证***的总线的设置方式,***包括总线以及连接总线的多个主机(master)、多个从机(slave),每个主机通过总线连接至少一个从机,每个从机访问***的至少一个地址块。
如图2所示,总线可包括主总线和子总线。***可包括多个子***,多个子***通过子总线连接在主总线上。每个子***中可能包括若干主机和/或若干从机。其中主机可以是硬件装置也可以是软件模块,例如中央处理器(central processing unit,CPU)、使用高速***组件互联(peripheral component interconnect express,PCIE)协议的模块、使用通用串行总线(universal serial bus,USB)协议的模块等等。从机可以是硬件装置也可以是软件模块,如双倍速率(double data rate,DDR)同步动态随机存储器、静态随机存取存储器(static random-access memory,SRAM)等等。
每个主机可对应至少一个从机,每个从机可访问***的至少一个地址块。
参见图2,***可包括主机1-主机4、从机1-从机4。主机1和从机1属于子***1,主机2和从机2属于子***2,主机3和从机3属于子***3,主机4和从机4属于子***4。其中主机1可对应从机1,主机2可对应从机2和从机3。主机3可对应从机2和从机3,主机4可对应从机4。从机1可访问地址块1,从机2可访问地址块2,从机3可访问地址块4,从机4可访问地址块3。
图3示出根据本公开实施例的***总线互联验证方法的流程的示意图。如图3所示,在一种可能的实现方式中,所述方法包括步骤S31-步骤S36:
步骤S31,获取包括地址块的信息的第一文件、包括总线的设置方式的通用验证信息的第二文件、包括主机和从机的连接关系的第三文件。
本公开实施例中,第一文件、第二文件、第三文件可以是承载片上***总线互联信息的表转化模板文件。其中,第一文件可为Markdown文档,第二文件和第三文件可为excel表单。为了便于展示,在下文中均以表格形式给出第一文件、第二文件、第三文件的示例。本领域技术人员应理解,在实际应用中,第一文件、第二文件、第三文件也可以为其他格式的文件,本公开实施例对此不作限制。
步骤S32,解析第一文件、第二文件、第三文件,得到满足预定义的数据格式的第四文件和第五文件,第四文件包括地址块的信息、从机与地址块的映射信息、主机和从机的连接关系,第五文件包括通用验证信息。
其中,第四文件可以是第一文件和第三文件解析得到,第五文件可以是由第二文件解析得到。第四文件和第五文件的示例可参见下文的相关描述。
本公开实施例中,预定义的数据格式可以是验证环境可识别的格式,步骤S32本质上是数据格式的转换以及数据的重组,可以基于现有技术实现,本公开实施例对于步骤S32的具体实现方式不再展开描述。
步骤S33,解析第四文件和第五文件,得到连接组件,连接组件包括主机与总线连接的接口、从机与总线连接的接口。
第四文件包括地址块的信息、从机与地址块的映射信息、主机和从机的连接关系,第五文件包括通用验证信息,因此解析第四文件和第五文件可得到连接组件,连接组件可包括主机与总线连接的接口、从机与总线连接的接口。这里所说的主机(或从机)与总线连接的接口,指的是主机(或从机)包括的接口中与总线连接的接口。如果主机(或从机)包括的接口没有与总线连接,则该接口不是该主机(或从机)与总线连接的接口。
接口可包括声明文件、接口与总线的连接文件,在生成连接组件时,使用现有技术的将接口与本地地址捆绑的函数,例如bind函数等,本公开对于生成连接组件时具体使用的函数类型不作限制。
在构建验证环境时可使用连接组件,从而在验证环境中增加主机与总线连接的接口、从机与总线连接的接口,使得主机——从机——地址块的访问通路被连通。
步骤S34,解析第四文件和第五文件,得到全局数据库,全局数据库包括存储通用验证信息的第一资源池、存储地址块的信息的第二资源池、存储主机和从机的连接关系的第三资源池、存储从机与地址块的映射信息的第四资源池,各资源池互相隔离。
由上文描述可知,相比原本的第一文件、第二文件、第三文件,第四文件、第五文件的数据格式已经调整为格式一致的预定义数据格式。因此,解析得到全局数据库时,可以直接基于数据格式一致的第四文件、第五文件进行解析。
全局数据库所包括的数据内容与第四文件、第五文件相同,得到全局数据库的目的是对第四文件、第五文件中的数据进行隔离。示例性地,可使得全局数据库包括第一资源池、第二资源池、第三资源池、第四资源池,各资源池互隔离,从而使得资源池中存储的数据也互相隔离。
示例性地,第一资源池存储的内容可以包括第五文件所记载的内容,即通用验证信息。第二资源池存储的内容可以包括第四文件所记载的地址块的信息。第三资源池存储的内容可以包括第四文件所记载的主机和从机的连接关系,第四资源池存储的内容可以包括第四文件所记载的从机与地址块的映射信息。
本领域技术人员应理解,全局数据库中包括的资源池的数量、各资源池存储的信息内容应不止上述示例,只要使得第四文件、第五文件中的数据信息存储至全局数据库后取用更便捷即可,本公开实施例对于全局数据库的具体形式不作限制。
步骤S35,根据连接组件和全局数据库生成验证环境和测试用例集合,测试用例集合包括相连接的每一组主机和从机所对应的测试用例。
由于全局数据库中各资源池分别存储通用验证信息、地址块的信息、主机和从机的连接关系、从机与地址块的映射信息,连接组件也已经在步骤S33中得到,因此,基于连接组件和全局数据库可生成验证环境和测试用例集合。
生成验证环境时,针对每一主机、每一从机,分别生成其接口支持的总线协议类型对应的子验证环境,并根据第一资源池存储的不同主机属性(总线协议类型、各种位宽、突发类型等),将可重用的信息和对当前主机的激励信号、约束独立出来,与子验证环境进行动态隔离,形成激励序列和约束序列,在执行测试用例时使用。
测试用例集合可包括相连接的每一组主机和从机对应的测试用例。一组主机和从机可能对应于多个测试用例,即用户需求某一组主机和从机之间以某种方式进行通信时,对总线的设置方式进行验证,可以选择该组主机和从机对应的多个测试用例之一进行验证。同理,一个测试用例可能对应于多组主机和从机,因此该测试用例可以满足用户对该用例对应的任意一组或多组主机和从机之间以某种方式进行通信时,对总线的设置方式进行验证的需求。
本公开实施例的验证环境支持用户需求多组主机和从机均可进行通信时,针对每组主机和从机,分别对于总线设置方式同步开展验证,提高验证效率。生成验证环境和测试用例的示例性实现方式可以参见下文对步骤S35的进一步描述。
步骤S36,执行测试用例时,将激励信号输入验证环境,根据验证环境输出的同一组主机和从机的验证结果的比对情况,确定***的总线设置方式的正确性。
执行测试用例时,从激励序列选取合适的激励信号,将激励信号输入验证环境(可选地,还包括从约束序列选取的约束),验证环境可响应于该激励信号得到验证结果,并将验证结果输出。由于目的是验证某一组主机和从机之间、或者某几组主机和从机之间以某种方式进行通信时,总线的设置方式是否能够满足用户需求,因此验证结果中同一组主机和从机的验证结果的比对情况即可指示总线的设置方式是否能够满足用户需求,从而确定***的总线设置方式的正确性。其示例性实现方式可以参见下文对步骤S36的进一步描述。
其中,步骤S32-步骤S35可以是用户预先编写好脚本,再通过脚本执行。
根据本公开实施例的***总线互联验证方法,通过获取包括地址块的信息的第一文件、包括总线的设置方式的通用验证信息的第二文件、包括主机和从机的连接关系的第三文件,解析第一文件、第二文件、第三文件,得到满足预定义的数据格式的第四文件和第五文件,第四文件包括地址块的信息、从机与地址块的映射信息、主机和从机的连接关系,第五文件包括通用验证信息,完成数据格式的对齐;通过解析第四文件和第五文件,得到连接组件和全局数据库,连接组件包括主机与总线连接的接口、从机与总线连接的接口,全局数据库包括存储通用验证信息的第一资源池、存储地址块的信息的第二资源池、存储主机和从机的连接关系的第三资源池、存储从机与地址块的映射信息的第四资源池,各资源池互相隔离,再根据连接组件和全局数据库生成验证环境和测试用例集合,测试用例集合包括相连接的每一组主机和从机所对应的测试用例,实现验证环境和测试用例的生成;执行测试用例时,通过将激励信号输入验证环境,根据验证环境输出的同一组主机和从机的验证结果的比对情况,即可确定***的总线设置方式的正确性。本公开实施例的***总线互联验证方法可以自动生成验证环境和测试用例,且该方法通过全局数据库以隔离的方式存储验证所需的信息,在生成验证环境和测试用例时从全局数据库提取相关信息即可,可以提高复用率;在执行测试用例时使用可控的激励信号,能够灵活控制总线上的激励。
由于验证所需的信息以隔离的方式存储在全局数据库中,从全局数据库中提取信息可以重复多次提取相同信息,还可同时提取不同信息,使得信息提取方式更多样化,进而使得本公开实施例的***总线互联验证方法在对总线的设置方式是否满足多组主机和从机的通信需求进行验证时,支持同时对总线的设置方式是否满足多组主机和从机中的每一组主机和从机的通信需求分别开展验证,进一步提高验证的效率。
下面结合表1-表5,介绍本公开实施例提及的第一文件、第二文件、第三文件。
第一文件包括的地址块的信息如表1所示。在一种可能的实现方式中,第一文件包括的所述地址块的信息,包括:地址块的名称、起始地址、结束地址、大小以及安全属性中的一种或多种。
表1
例如,参见表1,地址块名称用于区分不同的地址块。起始地址表示每个地址块的起始地址,结束地址表示每个地址块的结束地址,大小表示地址块的大小,安全属性表示地址块是否安全,其中S表示安全,NS表示非安全。以地址块1为例,地址块1的起始地址是D11,结束地址是D12,大小是48K,安全属性是安全。
本领域技术人员应理解,第一文件还可以包括更多与地址块相关的信息,本公开实施例对于第一文件所包括的具体内容不作限制。
第二文件包括的总线的设置方式的通用验证信息如表2所示。在一种可能的实现方式中,第二文件包括的总线的设置方式的通用验证信息,包括:信息提供对象名称、接口名称、接口类型、接口激活状态、接口支持的总线协议类型、接口位宽、总线与接口的连接点的连接路径、总线与接口的连接点的信息所在的文件名称、接口工作时钟、接口复位时钟、总线与接口之间通信的信号名称中的一种或多种。
其中,在一种可能的实现方式中,接口支持的总线协议类型包括高级可扩展接口(advanced extensible interface,AXI)类型、高级***总线(advanced peripheral bus,APB)类型、高级高性能总线(advanced high-performance bus,AHB)类型中的一种。因此,第二文件可以包括三部分,分别是对应于AXI总线的部分、对应于AHB总线的部分、对应于APB总线的部分。
第二文件中对应于AXI总线的部分所包括的信息如表2所示。
表2
owner表示信息提供对象名称,也即表2中的信息的提供者。
AXI_NAME表示接口名称,在表2中,是AXI总线的接口名称。接口名称与该接口所属的设备的对应关系可以是已知的。例如可以在接口名称中直接体现该接口所属的设备的名称等等。
TYPE表示接口类型,其中MST表示主机接口,SLV表示从机接口。
IS_ACT表示接口激活状态,其中ACTIVE表示已激活。
SPEC_VER表示接口支持的总线协议类型。AXI总线进一步可包括ACE_LITE、AXI4、AXI3等多种类型。表2中的接口支持的总线协议类型全部为AXI4类型。
接口的位宽可以有多种,例如接口地址位宽、接口数据位宽、接口保护控制位宽、接口读/写标识符(Write/Read address identity card,WID/RID)位宽、接口用户自定义读/写信号位宽、接口读/写突发长度位宽等等。位宽数值可以设置为服从协议约束的任意数值,本公开实施例对此不作限制。
RTL_HIER表示总线与接口的连接点的连接路径。接口是主机或者从机的接口,需要验证的对象,就是使得主机和从机可连接的总线,验证的目的是总线的设置方式是否使得主机和从机的接口配置正确。连接路径指示该接口是验证时的激励入口还是验证结果的出口。
RTL_FILE表示总线与接口的连接点的信息所在的文件名称。
CLK_NAME表示接口工作时钟。RST_NAME表示接口复位时钟。
PORT_PATT表示总线与接口之间通信的信号名称,该信号名称支持自定义正则匹配。
本领域技术人员应理解,对应于AXI总线的部分还可包括更多的信息,例如接口读/写质量服务信号位宽QOS_WIDTH、接口的读/写地址信号的接收/发送能力WOSTD/ROSTD/TOSTD、接口是否支持独占的标识EXCLUSSIVE(主机发起操作时对应的从机的接口是否被独占)、接口突发类型BURST_TYPE、接口突发类型为环回类型时环回的边界大小MAX_WRAP_SZ、接口最大突发长度MAX_BURST_LEN、接口是否支持窄带突发的标识NARROW_B。主机接口是否支持发送不同接口读地址信号/接口写地址信号的标识DIFF_IDS。接口读写类型WR_TYP,包含WR(可读可写)、RO(只读)、WO(只写)三种类型。本公开实施例对于第二文件中对应于AXI总线的部分所包括的具体内容不作限制。
第二文件中对应于AHB总线的部分所包括的信息如表3所示。
表3
AHB_NAME表示接口名称,在表3中,是AHB总线的接口名称。
SPEC_VER表示接口支持的总线协议类型。AHB总线进一步可包括AHB5、AHB5_Lite等多种类型。
PROT_WIDTH表示接口保护控制信号hprot位宽。
WR_TYP表示接口读写类型,表3中的接口读写类型全部为可读可写类型WR。
MATCH_PAT表示总线与接口之间通信的信号名称,该信号名称支持自定义正则匹配。
表3中的其他信息在表2的相关描述中已经介绍过,在此不再赘述。
本领域技术人员应理解,对应于AHB总线的部分还可包括更多的信息,本公开实施例对于第二文件中对应于AHB总线的部分所包括的具体内容不作限制。
第二文件中对应于APB总线的部分所包括的信息如表4所示。
表4
APB_NAME表示接口名称,在表4中,是APB总线的接口名称。
SPEC_VER表示接口支持的总线协议类型。APB总线进一步可包括APB2、APB3、APB4等多种类型。
MATCH_PAT表示总线与接口之间通信的信号名称,该信号名称支持自定义正则匹配。
表4中的其他信息在表2及表3的相关描述中已经介绍过,在此不再赘述。
本领域技术人员应理解,对应于APB总线的部分还可包括更多的信息,本公开实施例对于第二文件中对应于APB总线的部分所包括的具体内容不作限制。
本领域技术人员应理解,第二文件还可以包括更多内容,只要是总线验证过程可能使用到的信息即可,本公开实施例对于第二文件的具体内容不作限制。
在一种可能的实现方式中,每个主机位于***的一个子***内,第三文件包括的主机和从机的连接关系,包括:
主机接口名称、从机接口名称、相连接的每一组主机和从机之间的互联关系类型、每一主机所属的子***、每一从机所属的子***。
第三文件包括的主机和从机的连接关系如表5所示。
表5
参见表5,从上向下数的第一行对应的是片上***中的各个子***的名称。从上向下数的第二行对应的是各个子***中的从机接口名称。以表5示出的子***1为例,子***1中包括的从机接口有接口11、接口12、接口13。从左向右数的第一列对应的是各个子***的名称。从左向右数的第二列对应的是各个子***中的主机接口名称。以表5示出的子***5为例,子***5中包括的主机接口有接口51-接口55。
从上向下数的第三行、从左向右数的第三列及之后的部分,表示相连接的每一组主机和从机之间的互联关系类型。
其中,Y1表示该行对应的主机通过总线连接到该列对应的从机、且从机所属的子***是外部内存子***。
Y2表示该行对应的主机通过总线连接到该列对应的从机、且从机所属的子***是外部寄存器子***。
Y3表示该行对应的主机通过总线连接到该列对应的从机、且从机与主机属于同一子***。
如果某一行对应的主机接口与某一列对应的从机接口的组合,未对应Y1、Y2、Y3、中的任意一个(如表4中的接口55和接口21),则表示用户未给出该主机和该从机的通信需求。
本领域技术人员应理解,表5中从左向右数的第一列和第二列仅示出子***5和子***5所包括的主机接口,但其他子***还可能包括其他未示出的主机接口,为了简洁,不再一一描述其他未示出的主机与从机的连接关系。
本领域技术人员应理解,第三文件还可以包括更多内容,只要是能够体现主机和从机的连接关系的信息即可,本公开实施例对于第三文件的具体内容不作限制。
在一种可能的实现方式中,所述解析第一文件、第二文件、第三文件包括:
检查第二文件是否正确;
检查第三文件中主机接口名称、从机接口名称与第二文件中接口名称是否一致;
在第二文件正确且第三文件中的主机接口名称、从机接口名称与第二文件中的接口名称一致时,解析第一文件、第二文件、第三文件。
举例来说,第一文件、第二文件、第三文件是人工填写,如填写错误,则生成的验证环境和测试用例的准确度都会受影响,后续纠错也很不便。因此,在解析第一文件第二文件、第三文件时,可以是检查好文件填写的正确性和不同的文件是否匹配之后,再进行解析。
例如,第二文件包括总线的设置方式的通用验证信息,参见上文可知,第二文件的内容很多,因此,可以检查第二文件是否正确,包括检查接口位宽、总线与接口的连接点的连接路径、接口工作时钟、接口复位时钟、总线与接口之间通信的信号等等。
第三文件中的主机接口名称和从机接口名称与第二文件一致时,表示第三文件是与第二文件匹配的。如果不一致,可能是第三文件填写有误,也可能表示第三文件并未与第二文件匹配的文件。因此,还可以检查第三文件中主机接口名称、从机接口名称与第二文件中接口名称是否一致。
在第二文件正确且第三文件中的主机接口名称、从机接口名称与第二文件中的接口名称一致时,解析第一文件、第二文件、第三文件。在此情况下,验证环境和测试用例的准确度将大大提高。
在一种可能的实现方式中,预定义的数据格式包括文本格式。
本领域技术人员应理解,除文本格式外,预定义的数据格式还可以是其他形式,只要验证环境可识别即可,本公开实施例对于预定义格式的具体形式不作限制。
图4a示出根据本公开实施例的文本格式的第四文件包括的地址块的信息的示例。
如图4a所示,第四文件包括的地址块的信息,与第一文件所包括的信息内容可以相同,包括地址块名称、起始地址、结束地址、大小和安全属性,格式为文本格式。在图4a的示例中,名称为地址块1的地址块的起始地址可以是D11,结束地址可以是D12,大小可以是48K,安全属性可以是S表示安全。名称为地址块2的地址块的起始地址可以是D21,结束地址可以是D22,大小可以是96K,安全属性可以是S表示安全。名称为地址块3的地址块的起始地址可以是D31,结束地址可以是D32,大小可以是4K,安全属性可以是NS表示非安全。名称为地址块4的地址块的起始地址可以是D41,结束地址可以是D42,大小可以是4K,安全属性可以是NS表示非安全。除第一文件所包括的信息之外,还可以基于第三文件所包括的信息,在第四文件中增加更多的信息,只要与地址块有关即可,本公开实施例对此不作限制。
图4b示出示出根据本公开实施例的文本格式的第四文件包括的从机与地址块的映射信息的示例。
如图4b所示,第四文件包括的从机与地址块的映射信息,可以根据第三文件包括的主机和从机的连接关系确定。示例性地,第四文件包括的从机与地址块的映射信息,可包括从机接口名称、从机可映射到的地址块的名称、是否允许验证的标识POWER_ON,此处的标识POWER_ON指示从机是否允许验证。在第三文件包括的主机和从机的连接关系如表5所示时,可认为Y2所在的列对应的从机(如接口11所属的从机)可映射到外部寄存器子***的地址块(如地址块A),Y1所在的列对应的从机(如接口21所属的从机)可映射到外部内存子***的地址块(如地址块B)。Y3所在列对应的从机(如接口61所属的从机)可映射到该从机所在的子***的地址块(如地址块C)。因此第四文件中,接口11与地址块A对应且对应的标识POWER_ON状态为指示从机允许验证的标识ON,接口21与地址块B对应且对应的标识POWER_ON状态为指示从机允许验证的标识ON,接口61与地址块C对应且对应的标识POWER_ON状态为指示从机不允许验证的标识OFF。在某个从机映射到某个地址块时,表示该从机可访问该地址块。为了简洁,在第三文件包括的主机和从机的连接关系如表5所示时,在图4b中仅示出第四文件中的部分从机与地址块的映射信息。
图4c示出根据本公开实施例的文本格式的第四文件包括的主机和从机的连接关系的示例。
如图4c所示,第四文件包括的主机和从机的连接关系,可以根据第三文件包括的主机和从机的连接关系确定。示例性地,第四文件包括的主机和从机的连接关系,可包括主机接口名称、主机相连接的从机的从机接口名称、是否允许验证的标识POWER_ON,此处的标识POWER_ON指示主机是否允许验证。在第三文件包括的主机和从机的连接关系如表5所示时,可认为如果某一行对应的主机与某一列对应的从机的组合,对应Y1、Y2、Y3中的任意一个,那么该主机与该从机即存在连接关系。反之,则不存在连接关系。为了简洁,在第三文件包括的主机和从机的连接关系如表5所示时,在图4c中仅示出第四文件中的部分主机和从机的连接关系,如接口54所属的主机与接口21所属的从机连接,接口54对应的标识POWER_ON状态为指示接口54所属的主机允许验证的标识ON,接口53所属的主机与接口63所属的从机连接,接口53对应的标识POWER_ON状态为指示接口53所属的主机不允许验证的标识OFF,接口55所属的主机与接口61所属的从机连接,接口55对应的标识POWER_ON状态为指示接口55所属的主机允许验证的标识ON。
图4a、图4b、图4c中示出的信息仅为示例,实际上第四文件还可包括更多的信息,只要是可通过第一文件和第三文件得到的地址块的信息、从机与地址块的映射信息、主机和从机的连接关系即可,在此不再一一描述。
第五文件可以包括上文所述的第二文件的全部内容,其格式为文本格式。由于内容并未改变,在此不再另行展示文本格式的第五文件。
在一种可能的实现方式中,解析第一文件和第三文件,得到第四文件的过程中,在得到从机与地址块的映射信息时,增加指示从机是否允许验证的标识,每个从机的标识的初始状态均为允许验证状态;
在用户指示不验证某一从机时,将该从机的标识修改为不允许验证状态。
举例来说,验证环境和测试用例的生成是以用户需求为依据,因此如果用户指示不验证某一从机,则不必对总线的设置方式是否支持该从机与任意主机通信进行验证。对此,在得到第四文件的过程中,参见图4b,还可以在从机与地址块的映射信息中,增加指示从机是否允许验证的标识POWER_ON,每个从机的标识的初始状态均为允许验证状态ON。在用户指示不验证该从机时,将该从机的标识修改为不允许验证状态OFF。在此情况下,生成测试环境和测试用例时,可以不再生成与该从机有关的测试环境和测试用例。
同理,在解析第一文件和第三文件,得到第四文件的过程中,在得到主机与从机的连接关系时,增加指示主机是否允许验证的标识,每个主机的标识的初始状态均为允许验证状态;在用户指示不验证某一主机时,将该主机的标识修改为不允许验证状态。参见图4c,其中接口53所属的主机即为用户指示不验证的主机。在此情况下,生成测试环境和测试用例时,可以不再生成与该主机有关的测试环境和测试用例。
通过这种方式,可以增加验证方式的灵活性。
本领域技术人员应理解,解析第一文件和第三文件,得到第四文件的过程中,在得到从机与地址块的映射信息时,是否增加指示从机是否允许验证的标识,并不影响验证的正常进行。本公开实施例对于是否执行增加指示从机是否允许验证的标识的步骤不作限制。
在一种可能的实现方式中,验证环境包括与每一主机和每一从机分别对应的多个子验证环境,步骤S35包括:
根据连接组件和全局数据库,生成每一主机对应的子验证环境和每一从机对应的子验证环境,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联;
获取每一总线协议类型对应的激励序列;
根据激励序列生成相连接的每一组主机和从机所对应的测试用例。
举例来说,全局数据库的第一资源池存储的通用验证信息还包括接口名称、接口类型,参见上文所述,接口名称可体现接口所属的设备的名称,因此基于全局数据库中的信息和连接组件,可生成每一主机对应的子验证环境和每一从机对应的子验证环境。
每个接口支持的总线协议类型可能不同,在生成子验证环境时,可进一步考虑该接口支持的总线协议类型。比如,在某个主机包括接口1,且该接口1支持AXI4类型的总线协议时,可以为该主机生成AXI类型对应的子验证环境。如果另一主机包括接口11,且接口11支持AHB5型的总线协议时,还可以为另一主机生成AHB类型对应的子验证环境。为从机生成子验证环境的方式与为主机生成子验证环境的方式相同,在此不再赘述。
在此情况下,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联。
图5示出根据本公开实施例生成的验证环境的示意图。
如图5所示,整体的验证环境可以包括激励序列、每一主机的子验证环境和每一从机的子验证环境,以及用于对验证结果进行比对的比对模块。验证环境通过激励信号的发送和输出结果的采样实现总线的代码的验证。任意类型主机的子验证环境和任意类型从机的子验证环境均可包括传输组件、验证组件。主机的子验证环境还包括接收组件。主机的子验证环境中,接收组件负责接收激励信号、验证组件负责将激励信号发送到主机与总线(的代码)连接的接口,并采样主机与总线(的代码)连接的接口的信号。从机的子验证环境中,验证组件负责将反馈信号发送到从机与总线(的代码)连接的接口,并采样从机与总线(的代码)连接的接口的信号。主机的子验证环境和从机的子验证环境中,传输组件用于根据验证组件采样得到的信号得到验证结果,并传输验证结果到比对模块。
激励序列也包括与三种总线协议类型分别对应的三类序列。根据主机的接口支持的总线协议类型,可选择对应的一类序列,根据该序列包括的激励信号,生成该主机与该主机相连的每一从机作为一组主机和从机时,对应的测试用例。可生成的测试用例包括:通路遍历测试、地址随机测试、压力测试、用户自定义测试、优先权测试、异常地址测试、缓存信号传递测试等。
不同测试之间的差别部分主要是主机——从机——地址块的访问通路,主机、从机的接口支持的总线协议类型、位宽、突发类型等参数信息,其他部分基本一致,因此有许多通用的测试点。通过全局数据库的多个资源池将访问通路涉及的信息隔离了出来,因此可以自动地生成通用测试用例。
本领域技术人员应理解,以上测试用例的生成方式仅为示例,能够生成本公开所需的测试用例的任何方式都可以应用在本公开中,本公开对于测试用例的具体生成方式不作限制。
在一种可能的实现方式中,步骤S36包括:
根据测试用例对应的主机与总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与总线连接的接口;
采样该测试用例对应的主机与所述总线连接的接口处的激励信号,对采样的激励信号进行拆分,得到该测试用例对应的主机的验证结果;
采样该测试用例对应的从机与所述总线连接的接口处返回的输出结果,对返回的输出结果进行拆分,得到该测试用例对应的从机的验证结果;
根据该测试用例对应的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
举例来说,需要进行验证是否具备通信功能的主机和从机,以及与验证相关的配置信息,执行测试用例所完成的步骤,均在测试用例中已经记录。在此情况下,执行测试用例时,先根据测试用例对应的主机与总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与总线连接的接口。
响应于激励信号,验证环境将对测试用例对应的主机和从机的通信功能进行验证,并采样该测试用例对应的主机与总线连接的接口处的信号,也即原始激励信号,采样该测试用例对应的从机与总线连接的接口处返回的输出结果,也即被测***的总线的输出结果。
在采样到接口处返回的输出结果之后,由传输组件通过回调的方式调用现有技术已有的指示拆分方式的函数,根据获得的函数将信号和输出结果按照字节粒度进行拆分。传输组件可将拆分后得到的验证结果送往比对模块。
比对模块根据该测试用例对应子验证环境处传来的、同一组主机和从机的验证结果的比对情况,确定***的总线设置方式的正确性。其中,如果比对成功,则表示总线设置方式正确。如果比对失败,则表示总线设置方式错误。
本领域技术人员应理解,以上验证环境的架构以及确定验证结果的方式仅为示例,只要验证环境能够支持***总线互联验证、确定的验证结果能够指示***总线互联的正确性,任意的验证环境和验证结果的确定方式都可以应用在本公开实施例中,本公开实施例对此不作限制。
激励信号与验证环境相适应,保证验证结果的可信度,提升测试用例的覆盖范围。
本公开还提供了一种***总线互联验证装置,图6示出根据本公开实施例的***总线互联验证装置的示例性结构图。
如图6所示,在一种可能的实现方式中,所述装置用于验证***的总线的设置方式,所述***包括总线以及连接所述总线的多个主机、多个从机,每个所述主机通过所述总线连接至少一个从机,每个所述从机访问所述***的至少一个地址块,所述装置包括:
输入模块,用于获取包括所述地址块的信息的第一文件、包括所述总线的设置方式的通用验证信息的第二文件、包括所述主机和所述从机的连接关系的第三文件;
预定义数据格式生成模块,用于解析所述第一文件、所述第二文件、所述第三文件,得到满足预定义的数据格式的第四文件和第五文件,所述第四文件包括所述地址块的信息、所述从机与所述地址块的映射信息、所述主机和所述从机的连接关系,所述第五文件包括所述通用验证信息;
连接组件生成模块,用于解析所述第四文件和所述第五文件,得到连接组件,所述连接组件包括所述主机与所述总线连接的接口、所述从机与所述总线连接的接口;
全局数据库生成模块,用于解析所述第四文件和所述第五文件,得到全局数据库,所述全局数据库包括存储所述通用验证信息的第一资源池、存储所述地址块的信息的第二资源池、存储所述主机和所述从机的连接关系的第三资源池、存储所述从机与所述地址块的映射信息的第四资源池,各资源池互相隔离;
验证环境和测试用例生成模块,用于根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,所述测试用例集合包括相连接的每一组主机和从机所对应的测试用例;
执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
在一种可能的实现方式中,解析所述第一文件和所述第三文件,得到所述第四文件的过程中,在得到所述从机与所述地址块的映射信息时,增加指示所述从机是否允许验证的标识,每个从机的标识的初始状态均为允许验证状态;在用户指示不验证某一从机时,将该从机的标识修改为不允许验证状态。
在一种可能的实现方式中,所述第一文件包括的所述地址块的信息,包括:所述地址块的名称、起始地址、结束地址、大小以及安全属性中的一种或多种。
在一种可能的实现方式中,所述第二文件包括的所述总线的设置方式的通用验证信息,包括:信息提供对象名称、接口名称、接口类型、接口激活状态、接口支持的总线协议类型、接口位宽、总线与接口的连接点的连接路径、总线与接口的连接点的信息所在的文件名称、接口工作时钟、接口复位时钟、总线与接口之间通信的信号名称中的一种或多种。
在一种可能的实现方式中,每个所述主机位于所述***的一个子***内,所述第三文件包括的所述主机和所述从机的连接关系,包括:主机接口名称、从机接口名称、相连接的每一组主机和从机之间的互联关系类型、每一主机所属的子***、每一从机所属的子***。
在一种可能的实现方式中,所述预定义数据格式生成模块具体用于:检查所述第二文件是否正确;检查所述第三文件中主机接口名称、从机接口名称与所述第二文件中接口名称是否一致;在所述第二文件正确且所述第三文件中的主机接口名称、从机接口名称与所述第二文件中的接口名称一致时,解析所述第一文件、所述第二文件、所述第三文件。
在一种可能的实现方式中,所述预定义的数据格式包括文本格式。
在一种可能的实现方式中,所述接口支持的总线协议类型包括高级可扩展接口AXI类型、高级***总线APB类型、高级高性能总线AHB类型中的一种。
在一种可能的实现方式中,所述验证环境包括与每一主机和每一从机分别对应的多个子验证环境,所述验证环境和测试用例生成模块具体用于:根据所述连接组件和所述全局数据库,生成每一主机对应的子验证环境和每一从机对应的子验证环境,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联;获取每一总线协议类型对应的激励序列;根据所述激励序列生成相连接的每一组主机和从机所对应的测试用例。
在一种可能的实现方式中,所述执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性,包括:根据所述测试用例对应的主机与所述总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与所述总线连接的接口;采样该测试用例对应的主机与所述总线连接的接口处的激励信号,对采样的激励信号进行拆分,得到该测试用例对应的主机的验证结果;采样该测试用例对应的从机与所述总线连接的接口处返回的输出结果,对返回的输出结果进行拆分,得到该测试用例对应的从机的验证结果;根据该测试用例对应的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图7示出根据本公开实施例的电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图7,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958(I/O接口)。电子设备1900可以操作基于存储在存储器1932的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (13)

1.一种***总线互联验证方法,其特征在于,所述方法用于验证***的总线的设置方式,所述***包括总线以及连接所述总线的多个主机、多个从机,每个所述主机通过所述总线连接至少一个从机,每个所述从机访问所述***的至少一个地址块,所述方法包括:
获取包括所述地址块的信息的第一文件、包括所述总线的设置方式的通用验证信息的第二文件、包括所述主机和所述从机的连接关系的第三文件;
解析所述第一文件、所述第二文件、所述第三文件,得到满足预定义的数据格式的第四文件和第五文件,所述第四文件包括所述地址块的信息、所述从机与所述地址块的映射信息、所述主机和所述从机的连接关系,所述第五文件包括所述通用验证信息;
解析所述第四文件和所述第五文件,得到连接组件,所述连接组件包括所述主机与所述总线连接的接口、所述从机与所述总线连接的接口;
解析所述第四文件和所述第五文件,得到全局数据库,所述全局数据库包括存储所述通用验证信息的第一资源池、存储所述地址块的信息的第二资源池、存储所述主机和所述从机的连接关系的第三资源池、存储所述从机与所述地址块的映射信息的第四资源池,各资源池互相隔离;
根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,所述测试用例集合包括相连接的每一组主机和从机所对应的测试用例;
执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
2.根据权利要求1所述的方法,其特征在于,解析所述第一文件和所述第三文件,得到所述第四文件的过程中,在得到所述从机与所述地址块的映射信息时,增加指示所述从机是否允许验证的标识,每个从机的标识的初始状态均为允许验证状态;
在用户指示不验证某一从机时,将该从机的标识修改为不允许验证状态。
3.根据权利要求1所述的方法,其特征在于,所述第一文件包括的所述地址块的信息,包括:
所述地址块的名称、起始地址、结束地址、大小以及安全属性中的一种或多种。
4.根据权利要求3所述的方法,其特征在于,所述第二文件包括的所述总线的设置方式的通用验证信息,包括:
信息提供对象名称、接口名称、接口类型、接口激活状态、接口支持的总线协议类型、接口位宽、总线与接口的连接点的连接路径、总线与接口的连接点的信息所在的文件名称、接口工作时钟、接口复位时钟、总线与接口之间通信的信号名称中的一种或多种。
5.根据权利要求4所述的方法,其特征在于,每个所述主机位于所述***的一个子***内,所述第三文件包括的所述主机和所述从机的连接关系,包括:
主机接口名称、从机接口名称、相连接的每一组主机和从机之间的互联关系类型、每一主机所属的子***、每一从机所属的子***。
6.根据权利要求5所述的方法,其特征在于,所述解析所述第一文件、所述第二文件、所述第三文件包括:
检查所述第二文件是否正确;
检查所述第三文件中主机接口名称、从机接口名称与所述第二文件中接口名称是否一致;
在所述第二文件正确且所述第三文件中的主机接口名称、从机接口名称与所述第二文件中的接口名称一致时,解析所述第一文件、所述第二文件、所述第三文件。
7.根据权利要求1所述的方法,其特征在于,所述预定义的数据格式包括文本格式。
8.根据权利要求1所述的方法,其特征在于,所述接口支持的总线协议类型包括高级可扩展接口AXI类型、高级***总线APB类型、高级高性能总线AHB类型中的一种。
9.根据权利要求8所述的方法,其特征在于,所述验证环境包括与每一主机和每一从机分别对应的多个子验证环境,所述根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,包括:
根据所述连接组件和所述全局数据库,生成每一主机对应的子验证环境和每一从机对应的子验证环境,每一主机对应的子验证环境与该主机的接口支持的总线协议类型关联,每一从机对应的子验证环境与该从机的接口支持的总线协议类型关联;
获取每一总线协议类型对应的激励序列;
根据所述激励序列生成相连接的每一组主机和从机所对应的测试用例。
10.根据权利要求9所述的方法,其特征在于,所述执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性,包括:
根据所述测试用例对应的主机与所述总线连接的接口支持的总线协议类型,选择该总线协议类型对应的激励序列,将该激励序列包括的激励信号发送至该测试用例对应的主机与所述总线连接的接口;
采样该测试用例对应的主机与所述总线连接的接口处的激励信号,对采样的激励信号进行拆分,得到该测试用例对应的主机的验证结果;
采样该测试用例对应的从机与所述总线连接的接口处返回的输出结果,对返回的输出结果进行拆分,得到该测试用例对应的从机的验证结果;
根据该测试用例对应的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
11.一种***总线互联验证装置,其特征在于,所述装置用于验证***的总线的设置方式,所述***包括总线以及连接所述总线的多个主机、多个从机,每个所述主机通过所述总线连接至少一个从机,每个所述从机访问所述***的至少一个地址块,所述装置包括:
输入模块,用于获取包括所述地址块的信息的第一文件、包括所述总线的设置方式的通用验证信息的第二文件、包括所述主机和所述从机的连接关系的第三文件;
预定义数据格式生成模块,用于解析所述第一文件、所述第二文件、所述第三文件,得到满足预定义的数据格式的第四文件和第五文件,所述第四文件包括所述地址块的信息、所述从机与所述地址块的映射信息、所述主机和所述从机的连接关系,所述第五文件包括所述通用验证信息;
连接组件生成模块,用于解析所述第四文件和所述第五文件,得到连接组件,所述连接组件包括所述主机与所述总线连接的接口、所述从机与所述总线连接的接口;
全局数据库生成模块,用于解析所述第四文件和所述第五文件,得到全局数据库,所述全局数据库包括存储所述通用验证信息的第一资源池、存储所述地址块的信息的第二资源池、存储所述主机和所述从机的连接关系的第三资源池、存储所述从机与所述地址块的映射信息的第四资源池,各资源池互相隔离;
验证环境和测试用例生成模块,用于根据所述连接组件和所述全局数据库生成验证环境和测试用例集合,所述测试用例集合包括相连接的每一组主机和从机所对应的测试用例;
执行所述测试用例时,将激励信号输入所述验证环境,根据所述验证环境输出的同一组主机和从机的验证结果的比对情况,确定所述***的总线设置方式的正确性。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述存储器存储的指令时,实现权利要求1至10中任意一项所述的方法。
13.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至10中任意一项所述的方法。
CN202311451342.0A 2023-11-02 2023-11-02 ***总线互联验证方法、装置、电子设备、存储介质 Active CN117172207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311451342.0A CN117172207B (zh) 2023-11-02 2023-11-02 ***总线互联验证方法、装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311451342.0A CN117172207B (zh) 2023-11-02 2023-11-02 ***总线互联验证方法、装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN117172207A CN117172207A (zh) 2023-12-05
CN117172207B true CN117172207B (zh) 2024-01-30

Family

ID=88947293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311451342.0A Active CN117172207B (zh) 2023-11-02 2023-11-02 ***总线互联验证方法、装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN117172207B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113544645A (zh) * 2019-03-08 2021-10-22 国际商业机器公司 在安全虚拟机环境中测试存储保护硬件
CN113887161A (zh) * 2021-10-26 2022-01-04 上海燧原科技有限公司 一种片上网络设计实例的验证方法、装置、设备及介质
CN116049014A (zh) * 2023-02-20 2023-05-02 联芸科技(杭州)股份有限公司 Amba总线的验证平台生成方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210326244A1 (en) * 2020-04-21 2021-10-21 UiPath, Inc. Test automation for robotic process automation
US11726904B2 (en) * 2021-09-23 2023-08-15 International Business Machines Corporation Controlled input/output in progress state during testcase processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113544645A (zh) * 2019-03-08 2021-10-22 国际商业机器公司 在安全虚拟机环境中测试存储保护硬件
CN113887161A (zh) * 2021-10-26 2022-01-04 上海燧原科技有限公司 一种片上网络设计实例的验证方法、装置、设备及介质
CN116049014A (zh) * 2023-02-20 2023-05-02 联芸科技(杭州)股份有限公司 Amba总线的验证平台生成方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UVM的I~2S验证IP设计;倪伟;袁琳;王笑天;;合肥工业大学学报(自然科学版)(第01期);全文 *

Also Published As

Publication number Publication date
CN117172207A (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
CN106557340B (zh) 一种配置方法及装置
CN111683066B (zh) 异构***集成方法、装置、计算机设备和存储介质
TW201439792A (zh) 資料庫訪問系統及方法
US9965405B2 (en) Initial enumeration of empty endpoint slots using endpoint emulation
CN106648838B (zh) 一种资源池管理的配置方法及装置
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
CN112363935A (zh) 数据联调方法、装置、电子设备及存储介质
US10067894B1 (en) Cable-based configuration
CN117172207B (zh) ***总线互联验证方法、装置、电子设备、存储介质
CN112543109B (zh) 一种云主机创建方法、***、服务器及存储介质
CN109039784B (zh) OpenStack的节点部署方法和装置
CN116112412A (zh) 一种虚拟网卡绑定冗余功能测试方法、***、装置及介质
CN114157662B (zh) 一种云平台参数适配方法、装置、终端设备及储存介质
US11729246B2 (en) Apparatus and method for determining types of uniform resource locator
CN117194388B (zh) 数据管理方法、装置、电子设备及存储介质
CN117172205B (zh) 性能分析方法、装置、电子设备及存储介质
US10664636B2 (en) Pin number definition based analytics
WO2019179522A1 (zh) Vnfd多部署规格的部署方法、装置、网元设备、管理设备及存储介质
CN112272125A (zh) 一种负载均衡协议的测试方法、***、终端及存储介质
CN117172208B (zh) 验证环境的隔离方法、装置、电子设备及存储介质
CN114968864B (zh) 验证环境的搭建方法、芯片的验证方法及***
CN117171065B (zh) 地址管理方法、装置、电子设备及存储介质
CN117172206A (zh) 测试用例生成方法、装置、电子设备及存储介质
US11722436B2 (en) Transport control word architecture for physical port mirroring
CN109240740B (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
GR01 Patent grant
GR01 Patent grant