CN117632685A - 一种数据分析方法、装置及相关设备 - Google Patents

一种数据分析方法、装置及相关设备 Download PDF

Info

Publication number
CN117632685A
CN117632685A CN202311781317.9A CN202311781317A CN117632685A CN 117632685 A CN117632685 A CN 117632685A CN 202311781317 A CN202311781317 A CN 202311781317A CN 117632685 A CN117632685 A CN 117632685A
Authority
CN
China
Prior art keywords
data
instruction
command
read
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311781317.9A
Other languages
English (en)
Inventor
张飞
陈默
申彦垒
高希红
李娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haiguang Integrated Circuit Design Co Ltd
Original Assignee
Chengdu Haiguang Integrated Circuit Design 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 Chengdu Haiguang Integrated Circuit Design Co Ltd filed Critical Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority to CN202311781317.9A priority Critical patent/CN117632685A/zh
Publication of CN117632685A publication Critical patent/CN117632685A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种数据分析方法、装置及相关设备,所述方法包括:获取待测设计的仿真数据,仿真数据至少包括总线中各通道传输的待处理数据,及与待处理数据对应的时间信息;待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,时间信息用于记录待处理数据中各数据段基于通道进行传输的时间节点;根据时间信息对待处理数据中的数据段进行排序,得到数据段的传输顺序;根据时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息,从而实现对总线传输数据的分析。

Description

一种数据分析方法、装置及相关设备
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种数据分析方法、装置及相关设备。
背景技术
AXI(Advanced eXtensible Interface,高级可扩展接口)协议是一种高性能、高带宽、低延迟的总线协议,AXI总线是基于AXI协议实现的一种总线架构,用于连接处理器、内存和外设等硬件模块,被广泛应用于SOC(System-on-a-Chip,系统级芯片/片上系统)设计中。
在基于AXI总线的SOC系统架构的实际应用中,由于AXI总线既可以作为传输内存地址的控制总线,也可以作为传输数据的数据总线,从而可以(例如,在仿真验证过程中)通过分析AXI总线上传输的数据,确定SOC系统的运行状态。因此,如何提供技术方案,以在进行SOC系统的仿真验证时,实现对总线传输数据的分析,显得尤为重要。
发明内容
有鉴于此,本申请实施例提供一种数据分析方法、装置及相关设备,能够在进行SOC系统的仿真验证时,实现对总线传输数据的分析,进而提高SOC系统的仿真验证效率。
第一方面,本申请实施例提供一种数据分析方法,包括:
获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点;
根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序;
根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;
基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
可选的,所述仿真数据还包括配置信息,所述配置信息用于指示数据段中对应各字段数据信息的排列顺序和位宽信息;
所述根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序之后,所述根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段之前,还包括:
根据所述配置信息对所述数据段进行拆分,得到对应各字段的字段数据信息。
可选的,所述根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段,具体为:
根据所述时间信息,依次获取一指令对应的指令命令数据段;
根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段;
判断所述指令命令数据段是否为所述待处理数据中的最后一指令命令数据段;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述时间信息,依序获取一指令对应的指令命令数据段,以及,根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,以确定属于该指令的指令信息数据段的步骤,直至所述指令命令数据段为所述待处理数据中的最后一指令命令数据段。
可选的,所述指令命令数据段为写命令,所述写命令中的字段包括写命令标识字段;所述指令信息数据段包括写数据和写响应数据;
所述根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,以确定属于该指令的指令信息数据段,包括:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据;
根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据;
其中,所述写命令对应于写命令通道,所述写数据对应于写数据通道,所述写响应信息对应于写响应通道。
可选的,所述数据段中的字段至少包括结束字段,在所述写数据中,所述结束字段为写数据结束字段;
所述根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据,具体为:根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据,直至读取到所述写数据结束字段对应的字段数据信息为第一值。
可选的,所述写响应数据中的字段包括写响应标识字段;
所述根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据,具体为:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据;
判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同;若是,则所述写响应数据与所述写命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据,以及,判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同的步骤,直至所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段相同。
可选的,所述基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述写命令、所述写数据和所述写响应数据中对应的字段数据信息。
可选的,所述指令命令数据段为读命令,所述读命令中的字段包括读命令标识字段;所述指令信息数据段包括读数据;
所述根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,以确定属于该指令的指令信息数据段,包括:
根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据;
根据所述读命令中的读命令标识字段,确定与之匹配的读数据;
其中,所述读命令对应于读命令通道,所述读数据对应于读数据通道。
可选的,所述读数据中的字段包括读标识字段;
所述根据所述读命令中的读命令标识字段,确定与之匹配的读数据,具体为:
判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同;若是,则所述读数据与所述读命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同的步骤,直至所述读数据中的读标识字段与所述读命令中的读命令标识字段相同。
可选的,所述数据段中的字段至少包括结束字段,在所述读数据中,所述结束字段为读数据结束字段;
所述判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同之后,还包括:
判断所述读数据结束字段对应的字段数据信息是否为第一值;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同,以及,判断所述读数据结束字段对应的字段数据信息是否为第一值的步骤,直至所述读数据结束字段对应的字段数据信息为第一值。
可选的,所述基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述读命令和所述读数据中对应的字段数据信息。
可选的,还包括:
根据指令的内容信息,确定对应该指令的数据段的传输情况,采用不同于传输完成的数据段的显示方式显示未传输完成的数据段。
第二方面,本申请实施例提供一种数据分析装置,包括:
获取模块,用于获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点;
排序模块,用于根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序;
数据确定模块,用于根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;
信息确定模块,用于基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
第三方面,本申请实施例提供一种仿真验证系统,至少包括如上述第二方面所述的数据分析装置。
第四方面,本申请实施例提供一种电子设备,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如上述第一方面所述的数据分析方法。
第五方面,本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如上述第一方面所述的数据分析方法
本申请实施例所提供的数据分析方法、装置及相关设备中,所述数据分析方法通过获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点,进而,根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序,并根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段,从而能够基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
可以看出,本申请实施例基于获取待测设计的仿真数据,在所述仿真数据至少包括总线中各通道传输的对应多个数据段的待处理数据,及与所述待处理数据对应的时间信息的情况下,能够在待测设计的仿真验证过程中,对总线进行传输监测,并且,通过时间信息,能够得到待处理数据中的数据段的传输顺序,以及依次确定与各指令命令数据段属于同一指令的指令信息数据段,进而基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息,从而实现对总线传输数据的分析。
进一步的,通过确定属于同一指令的指令信息,能够确定该指令的数据传输情况,从而准确定位总线传输的问题点,例如同一指令的数据信息未传输完成的异常情况,并对该问题点进行对应调试,提高了仿真验证效率。进而,在进行芯片设计时,基于仿真验证的效率提升,也能够有效提升芯片的设计周期。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例提供的数据分析方法的可选流程示意图;
图2和图3是本申请实施例提供的对应总线通道的数据传输时序图;
图4是本申请实施例提供的Emulator的可选结构示意图;
图5是本申请实施例提供的总线的接口可选示意图;
图6是本申请实施例提供的数据采集示意图;
图7是本申请实施例提供的数据分析方法的另一可选流程示意图;
图8是本申请实施例提供的确定与各指令命令数据段属于同一指令的指令信息数据段的可选流程示意图;
图9是本申请实施例提供的确定与各指令命令数据段属于同一指令的指令信息数据段的另一可选流程示意图;
图10是本申请实施例提供的确定属于同一指令的指令信息数据段的一可选流程示意图;
图11是本申请实施例提供的确定与各指令命令数据段属于同一指令的指令信息数据段的再一可选流程图;
图12是本申请实施例提供的确定属于同一指令的指令信息数据段的另一可选流程示意图;
图13是本申请实施例提供的数据分析方法的再一可选流程示意图;
图14和图15是本申请实施例提供的数据分析结果展示示意图;
图16是本申请实施例提供的数据分析装置的可选结构示意图;
图17是本申请实施例提供的数据分析装置的另一可选结构示意图;
图18是本申请实施例提供的数据分析装置的再一可选结构示意图;
图19是本申请实施例提供的电子设备的可选框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
AXI(Advanced eXtensible Interface,高级可扩展接口)协议是一种高性能、高带宽、低延迟的总线协议,AXI总线是基于AXI协议实现的一种总线架构,用于连接处理器、内存和外设等硬件模块,被广泛应用于SOC(System-on-a-Chip,系统级芯片/片上系统)设计中。基于AXI协议规则,AXI总线可以包括多个信号线,例如控制信号线、数据信号线等,其中,控制信号线用于控制数据传输的开始和结束,以及传输的类型和方向等信息;数据信号线用于传输实际的数据。AXI总线还可以支持多种传输类型,例如:读传输、写传输等。而且,在基于AXI总线的SOC系统架构的实际应用中,由于AXI总线既可以作为传输内存地址的控制总线,也可以作为传输数据的数据总线,从而通过对AXI总线上传输的数据进行分析,能够确定SOC系统的运行状态。
因此,在对预先设计的SOC系统进行仿真验证时,可以基于在仿真验证过程中获取的AXI总线传输的数据,确定SOC系统的运行状态,以在SOC系统的运行发生错误时,对应调试程序的问题代码,排除故障,从而节约SOC系统的仿真验证时间,为缩短SOC系统的设计周期提供技术基础。
在对预先设计的SOC系统进行仿真验证的具体示例中,可以利用Emulator(硬件仿真加速器)将预先设计的SOC系统中的集成电路转换为硬件电路,并在硬件上运行,从而实现SOC系统的仿真验证。Emulator是一种基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)或ASIC(Application-Specific Integrated Circuit,专用集成电路)等硬件加速技术的仿真平台,具有更高的性能和更高的准确性,可以加速验证过程,提高设计效率,降低设计成本。
然而,发明人发现:在Emulator上进行基于AXI总线的SOC系统验证时,若软件执行出现了问题,可以通过根据Emulator输出的波形,将运行时的出错位置的所有信号转储(Dump)到本地文件中,以便开发人员分析AXI总线数据,确定软件执行的问题点,进行对应调试。但是,在将运行时的出错位置的信号转储到本地文件时,由于待存储的数据量较大,需要较多的存储空间,并且信号转储的时间较短,一般发生在1毫秒(ms)以内,导致只能转储部分信号的数据,无法将AXI总线的完整传输过程的信号覆盖,不能在仿真验证过程中实现AXI总线的传输监测,并且,对于运行过程中首次出错的位置不能呈现,无法实现对AXI总线传输数据的准确分析。
可见,提供准确、快速的数据分析方案,显得尤为必要。
基于此,本申请实施例提出改进的数据分析方案,基于获取待测设计的仿真数据,在所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息情况下,能够在待测设计的仿真验证过程中,对总线进行传输监测,确定属于同一指令的指令信息,使得在待测设计的仿真验证过程中进行总线的传输监测,并且,通过时间信息,能够得到待处理数据中的数据段的传输顺序,以及依次确定与各指令命令数据段属于同一指令的指令信息数据段,进而确定该指令的内容信息,实现对总线传输数据的分析。而且,通过对同一指令的指令信息的确定,能够确定该指令的数据传输情况,从而准确定位总线传输的问题点,并进行对应调试,提高了仿真验证效率。
基于上述思路,图1示例性的示出了本申请实施例提供的数据分析方法的可选流程示意图,所述数据分析方法可以是基于与Emulator通过网络连接的服务器执行实现的。如图1所示,该方法可以包括:
步骤S101,获取待测设计的仿真数据。
所述待测设计可以理解为是设计的基于AXI总线(下称“总线”)的SOC系统。在基于Emulator进行仿真验证的具体示例中,所述待测设计可以被称为是DUT(Design UnderTesting)。
所述仿真数据可以是对待测设计进行仿真验证时,得到的基于总线传输的数据信息。在一可选示例中,总线可以包括多个传输通道,从而所述仿真数据可以至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息。
所述待处理数据可以理解为是基于指令的执行,在总线上传输的对应指令的数据。基于总线的特性考虑,例如总线上可以传输多个设备的通信信息,总线中各通道传输的待处理数据可以是对应多个指令的数据,一个指令的执行可以具有相应的数据段,所述数据段为对应数据属性的字段,用于指示相应属性的值,例如数据的名称、类型、默认值等属性。从而,基于对应多个指令,所述待处理数据可以包括多个数据段。
其中,在总线具有多个传输通道的情况下,可以以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段。所述指令命令数据段可以是与指令相关的数据信息,所述指令信息数据段可以是与指令执行相关的数据信息。
所述时间信息可以是用于记录所述待处理数据中,各数据段基于通道进行传输的时间节点。
需要说明的是,在总线基于总线协议实现的情况下,可以根据总线协议的特性,将总线分为多个通道。在一个具体示例中,总线可以分为5个通道,例如AR通道、R通道、AW通道、W通道和B通道。其中,AR通道为读命令通道,用于传输主设备(Master)向从设备(Slave)发送的读命令对应的地址信息与控制信息,其中,所述地址信息用于指定读命令的目标地址,所述控制信息包括读命令对应的数据传输类型、传输长度、传输大小和传输标识等;R通道为读数据通道,用于传输AR通道对应的读回数据以及Slave向Master返回的读响应信息;AW通道为写命令通道,用于传输Master向Slave发送的写命令对应的地址信息与控制信息,其中,所述地址信息用于指定写命令的目标地址,所述控制信息包括写命令对应的数据传输类型、传输长度、传输大小和传输标识等;W通道为写数据通道,用于传输AW通道对应的写数据;B通道为写响应通道,用于传输Slave向Master返回的写响应数据。从而,对应总线的多个传输通道,对于获取的待处理数据中的多个数据段,可以以指令通道(例如AW通道或AR通道)传输的数据段为指令命令数据段,以其他通道(例如W通道或B通道或R通道)传输的数据段为指令信息数据段。
在总线包括AR通道、R通道、AW通道、W通道和B通道的可选示例中,总线各通道传输的数据段内容可以如下所示:
对于AW通道传输的数据段内容为,DATA_AW={AWADDR,AWBURST,AWCACHE,AWID,AWLEN,AWLOCK,AWPORT,AWREGION,AWSIZE,AWUSER};
其中,AWADDR:表示写命令对应写入的目标地址;AWBURST:表示传输的突发类型,用于指示传输是顺序传输还是递增传输;AWCACHE:表示缓存类型,用于指示主设备如何处理写入的数据;AWID:表示写事务的唯一标识符(ID),用于在主设备和从设备之间识别传输;AWLEN:表示传输长度,用于指示传输包含多少个数据;AWLOCK:表示传输锁定位,用于指示是否锁定传输,以防止其他主设备同时访问相同的地址;AWPORT:表示写端口号,用于指示从设备接收写入的数据的端口;AWREGION:表示写入的区域,用于指示写入的数据的区域;AWSIZE:表示写入的数据大小,用于指示写入的数据宽度;AWUSER:表示附加的用户自定义数据,用于扩展AXI协议以满足特定的应用需求。
对于AR通道传输的数据段内容为,DATA_AR={ARADDR,ARBURST,ARCACHE,ARID,ARLEN,ARLOCK,ARPORT,ARREGION,ARSIZE,ARUSER};
其中,ARADDR:表示读命令对应读取的目标地址;ARBURST:表示传输的突发类型;ARCACHE:表示缓存类型;ARID:表示读事务的唯一标识符(ID),用于在主设备和从设备之间识别传输;ARLEN:表示传输长度,用于指示传输包含多少个数据;ARLOCK:表示传输锁定位;ARPORT:表示读端口号;ARREGION:表示地区位;ARSIZE:表示传输大小;ARUSERR:表示附加的用户自定义数据。
对于R通道传输的数据段内容为,DATA_RD={RDATA,AID,RLAST,RRESP,RUSER};
其中,RDATA:表示读取的数据;AID:表示读命令的唯一标识符(ID);RLAST:表示最后一个读数据标志;RRESP:表示读响应结果;RUSER:表示用户自定义位。
对于W通道传输的数据段内容为,DATA_W={WDATA,WLAST,WSTRB,WUSER};
其中,WDATA:表示写入的数据;WLAST:表示最后一个写数据标志;WSTRB:表示写字节掩码;WUSER:表示用户自定义位。
对于B通道传输的数据段内容为,DATA_B={BID,BRESP,BUSER};
其中,BID:表示写命令的唯一标识符;BRESP:表示写响应结果;BUSER:表示用户自定义位。
在执行读命令和写命令的可选示例中,总线上数据的传输方向可以分为数据的读传输和写传输。其中,数据的读传输是指从内存或外设中读取数据,数据的写传输是指将数据写入内存或外设中。对应数据的不同传输方向,图2和图3示例性的示出了本申请实施例中对应总线通道的数据传输时序图,其中,图2为数据读传输对应的读时序图,图3为数据写传输对应的写时序图。
通过对图2和图3进行分析,发明人发现:在VALID信号和READY信号同时为1时,执行有效数据的传输。因此,可以将VALID信号和READY信号同时为1作为总线通道的数据传输依据,即在VALID信号和READY信号同时为1时,记录总线中各通道的数据段传输到缓存或者直接传输至服务器侧,并对应记录传输的时间节点。
需要进一步说明的是,Emulator支持基于transaction(事务)的仿真加速,即使用事务级别的仿真来加速软硬件联合仿真。因此,本申请实施例在基于Emulator对待测设计(下称“DUT”)进行仿真验证时,可以是通过Emulator建立测试平台和DUT之间的事务级通信,并使用编译器技术,将测试平台的部分内容和DUT映射到硬件电路,从而加速仿真验证。测试平台和DUT之间的事务级通信可以是基于硬件/软件联合仿真的标准实现,例如:SCE-MI标准。
图4示例性的示出了本申请实施例中Emulator的可选结构示意图。如图4所示,Emulator包括:硬件侧和软件侧,硬件侧和软件侧基于相应的消息端口,以及Emulator的基础设施进行通信。其中,不同生产厂家生产的Emulator的基础设施会有所差异,但其实现的功能大致相同,因此,本申请实施例对Emulator的生成厂家并不进行限制。
Emulator软硬件协同加速仿真的主要事务建模结构可以包括:位于软件侧的SystemVerilog DPI(直接编程接口)导入/导出任务和事务管道(图中未示出),以及位于硬件侧的虚拟接口和TLM FIFO(事务级模型先进先出缓存)(图中未示出)。
位于软件侧的SystemVerilog DPI是用于在SystemVerilog和C/C++或其他高级编程语言之间进行交互的接口,可以在仿真时将C/C++代码嵌入到SystemVerilog代码中,以实现仿真加速。DPI允许SystemVerilog模块调用C/C++函数,也允许C/C++代码调用SystemVerilog任务和函数。
位于硬件侧的虚拟接口和TLM FIFO是用于在硬件和软件之间进行通信的接口,可以实现高效的事务传输和数据交换。虚拟接口通常用于连接测试平台和DUT,以及连接不同的验证组件;TLM FIFO通常用于连接不同的模块。
Emulator能够自动生成C/C++、SystemC或SystemVerilog环境与仿真平台上的DUT之间的直接通信接口(Transtor),并且,Emulator支持使用SystemVerilog语言中最常见的、用于描述模块的行为和功能的行为结构,来建立事务模型,以实现模块之间的通信。Emulator通过将这些结构合成和映射到硬件中,加速测试平台环境的模拟测试。
Emulator进行仿真验证时,在硬件侧建立测试平台和DUT之间的事务级通信,实现RTL(Register Transfer Level,寄存器传输级别)的仿真加速,进行仿真数据采集。而且,为了准确确定总线的数据传输过程中的问题点,本申请实施例对DUT的数据传输的整体过程,通过记录待处理数据中各数据段基于通道进行传输的时间节点的方式进行体现,以确定最先出现问题的传输时刻。为实现通道传输待处理数据中各数据段的时间节点的记录,本申请实施例在硬件侧的模块中,针对总线中各通道设计有一个计数器,例如64bit的计数器,其中,各通道可以共用该计数器。该计数器从Emulator上电运行开始计数,在Emulator的运行过程中,一直进行累加,当DUT发生数据传输时,会在采集总线通道传输的待处理数据中的数据段的同时,对通道传输该数据段的传输时刻的计时器值进行采集,得到通道传输该数据段的时机,即待处理数据中的数据段基于通道进行传输的时间节点,从而基于总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息能够得到仿真数据。并且,通过DPI调用的方式将采集得到的仿真数据传递给软件侧,从而软件侧能够将仿真数据保存到相应文件上,例如磁盘,进而通过网络传输至服务器,以使服务器完成验证分析等相关的软件功能。
作为一种可选实现,基于DPI的C代码设计将硬件侧传递过来的仿真数据转存为文件,本申请实施例可以将硬件侧传递至软件侧的数据以16进制的形式转储到文件中,在仿真数据包括时间信息的情况下,能够将时间信息排在文件中的第一列,传输的数据段,即协议数据,排在文件中第二列。其中,得到的包含仿真数据的文件格式如下表1所示:
0018446282 000000002f00021b80008820000001
0018446567 000000002f00021b80008820000001
0018448847 000000002f00021b80008820000001
表1
其中,以第一行数据为例,对文件中的数据表示进行说明:0018446282表示传输000000002f00021b800088200000001的时间信息,对应数据传输时的计数器值;
000000002f00021b800088200000001表示该通道传输的数据段。
可以理解的是,在测试平台和DUT之间的事务级通信基于SCE-MI标准实现的示例中,可以根据SCE-MI标准实现SCEMI桥的执行,以在不同的仿真环境之间传输数据和控制信息。其中,本申请实施例为了更好的利用SCEMI桥的性能,总线中各通道的数据传输可以采用字节对齐的方式,每个通道的数据例如可以包括8个字节的计数器值和通道数据的集合。而且,为了高效的利用SCEMI桥的数据带宽,该8个字节的计数器值和通道数据的集合可以按照bit形式进行组合,并按照从低到高的顺序进行排列,若最终数据的长度不是字节的整数倍,则可以通过补零的方式,使数据的长度为字节的整数倍。
另外,由于总线中的每个通道均具有独立的VALID和READY信号,各通道可以独立进行数据传输,为有效利用SCEMI桥的带宽,本申请实施例可以将通道中所有的数据合并,即将通道中的所有数据合并统一进行采集,从而获取仿真数据。
进一步的,为了保证采集数据的准确性,本申请实施例可以在Emulator的硬件侧集成时,对应在数据采集阶段使用总线的接口时钟,从而得到基于时钟变化的数据,以对每个通道根据时钟变化的判断条件进行数据的提取。如图5所示总线的接口可选示意图,由于总线接口与信号传输通道是一一对应的,从而可以将总线接口(图中未示出)按照信号传输通道(图中示为“AW、AR、RD”)进行对应连接。其中,“组包”指的是将通道采集的数据进行组合的模组;对应通道的VALID信号和READY信号为1,将数据(Data package)传输至Transactor。Transactor指的是将获取的没有时钟信息的对应命令执行的事务数据(transaction)转换成具有基于时钟的对应命令执行的事务数据(transation),Transactor的输出箭头指向的是Emulator的数据传输通道。
在一些可选实现中,对应待测设计的不同传输场景需求,总线的数据传输控制方式不同,本申请实施例中对应总线的不同数据传输控制方式,采用的数据采集方式也不同。其中,图6示例性的示出了本申请实施例中的数据采集示意图。如图6所示,总线的数据传输控制方式可以包括AXI1、AXI2和AXI3三种。
AXI1为基于AXI协议1实现的总线1,其可以应用于对数据传输的实时性要求不高、数据传输间隔不规律的监测场景,可以使用FIFO(First Input First Output,先进先出缓存器)缓存数据,将数据进行定时均匀的数据传输,从而有效利用SCEMI桥的带宽,不会在某个时刻进行大量数据传输时导致仿真暂停。其中,Time out Flash表示通过定时的方式进行数据传输,可以通过设置计数器实现,该计数器的值可以配置。
AXI2为基于AXI协议2实现的总线2,其可以应用于通用场景,由Emulator根据当前SCEMI桥自身的状态进行数据传输。其中,Auto Flush表示Emulator根据自身缓存状态进行数据传输。
AXI3为基于AXI协议3实现的总线3,其可以应用于对实时性要求高的场景,即一旦发生数据需要传输,则立即启动SCEMI桥传输。其中,Update Flush表示只要检测到数据有更新就会进行数据传输。
步骤S102,根据时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序。
总线中各通道传输数据的时机不同,从而在获取的仿真数据中包括用于记录待处理数据中各数据段基于通道进行传输的时间节点的时间信息情况下,可以根据时间信息对待处理数据中的数据段进行排序,得到待处理数据中的数据段的传输顺序。其中,在待处理数据对应多个指令的示例中,得到的数据段的传输顺序可以是对应多个指令执行的数据传输顺序。
步骤S104,根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段。
总线中,指令命令数据段为指令通道传输的数据段,指令信息数据段为其他通道传输的数据段,在总线的数据传输是以指令执行为基础的情况下,所述指令信息数据段可以是与所述指令命令数据段对应的,属于同一指令的信息。从而在传输时机上,指令命令数据段可以与指令信息数据段具有一定的先后顺序。因此,根据时间信息,能够依次确定与各指令命令数据段属于同一指令的指令信息数据段。
步骤S105,基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
该指令的内容信息可以是与指令,以及指令执行相关的信息,例如指令对应的发送时刻、指令的目标地址、指令执行的数据内容等信息。
基于指令命令数据段对应于与指令相关的数据信息,指令信息数据段对应于与指令执行相关的数据信息,从而,在确定与各指令命令数据段属于同一指令的指令信息数据段之后,可以基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
可以看出,本申请实施例基于获取待测设计的仿真数据,在所述仿真数据至少包括总线中各通道传输的对应多个数据段的待处理数据,及与所述待处理数据对应的时间信息的情况下,能够在待测设计的仿真验证过程中,对总线进行传输监测,并且,通过时间信息,能够得到待处理数据中的数据段的传输顺序,以及依次确定与各指令命令数据段属于同一指令的指令信息数据段,进而基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息,从而实现对总线传输数据的分析。
进一步的,通过确定属于同一指令的指令信息,能够确定该指令的数据传输情况,从而准确定位总线传输的问题点,例如同一指令的数据信息未传输完成的异常情况,并对该问题点进行对应调试,提高了仿真验证效率。进而,在进行芯片设计时,基于仿真验证的效率提升,也能够有效提升芯片的设计周期。
在一些实施例中,基于Emulator对DUT进行仿真验证的可选示例,Emulator在生成对应DUT的硬件模块时,可以生成与该DUT的总线通道传输相关的配置信息,例如:通道传输的数据段的形式、长度等,并将配置信息通过配置文件的形式传递至服务器,以使服务器获取待测设计的总线通道配置参数。并且,为了便于数据的传输和处理,总线通道的数据段通常以字段形式进行传输。因此,为实现对总线上传输数据的分析,在获取待测设计的仿真数据时,所述仿真数据还可以包括配置信息,所述配置信息可以用于指示数据段中对应各字段数据信息的排列顺序和位宽信息。
在一个可选示例中,对应总线中各通道传输的数据段内容,获取的配置信息的文件格式可以如下所示:
[“.AWADDR_W(36)”,“.AWUSER_W(5)”,“.AWCACHE(3)”,....,
“.ARADDR_W(36)”,“.ARUSER_W(5)”,“.ARCACHE(3)”,....,
“.RDATA(36)”,“.AID(5)”,“.AID(3)”,....,
“.WDATA(36)”,“.WLAST(5)”,“.WSTRB(3)”,....,
“.BID(36)”,“.BRESP(5)”,“.BUSER(3)”,....,
]
[“AW”=>[“AWADDR”,“AWBUSRT”,“AWCACHE”,...],
“AR”=>[“ARADDR”,“ARBURST”,“ARCACHE”,...],
“RD”=>[“RDATA”,“AID”,“RLAST”,...],
“W”=>[“WDATA”,“WLAST”,“WSTRB”,...],
“B”=>[“BID”,“BRESP”,“BUSER”,...],
]
其中,配置信息的第一行包含各通道传输的数据段中对应各字段的位宽信息,例如:AWADDR_W(36)表示W通道传输的数据段中AWADDR字段的位宽为【35:0】;配置信息的第二行包含各通道传输的数据中对应各字段的排列顺序,例如:“AW”=>[“AWADDR”,“AWBUSRT”,“AWCACHE”,...]表示AW通道传输的数据段中对应各字段的排列顺序为“AWADDR”、“AWBUSRT”、“AWCACHE”、......。
需要说明的是,本申请实施例为了将硬件侧(RTL)中的数据与软件侧中的数据进行转换,Emulator的硬件侧在集成过程中可以指定信号位宽,同时使用软件自动生成总线接口的配置信息,从而使得待测设计的集成方式更加简单快捷,实现快速应用至不同总线的接口。而Transactor一般不用指定位宽,对于不需要指定位宽的情况,本申请实施例并不进行限制。
另外,为了更好的利用实现通信传输的SCE-MI的性能,数据传输可以采用字节对齐方式,其中,每个通道的数据可以包括8个字节的计数器值和通道数据的集合。而且,为了高效的利用数据带宽,通道数据集合可以按照bit形式进行的组合,数据从低到高进行排列,若最终数据不是字节的整数倍,则补零到字节的整数倍。
在一个可选实现中,由于不同Emulator数据传输不相同,可以通过实验测试的方式找到最佳字节长度,而且为了提高整个EMU系统的效率,不同通道采用的数据段的格式可以不同,其中,字段内容少的可以采用较小的数据位宽,字段内容多的可以采用较大的数据位宽,从而充分利用传输带宽。
从而,在仿真数据包括配置信息的情况下,对应配置信息的获取,图7示例性的示出了本申请实施例的数据分析方法的另一可选流程示意图。如图7所示,在步骤S102之后,还可以包括:
步骤S103,根据配置信息对所述数据段进行拆分,得到对应各字段的字段数据信息。
为便于理解基于配置信息对数据段的拆分,下面以AW通道为例进行说明。其中,配置信息中对应AW通道的数据段中各字段的位宽信息为“.AWADDR_W(36)”,
“.AWUSER_W(5)”,“.AWCACHE(3)”,....,”;字段的排列顺序为“AW=>[“AWADDR”,“AWBUSRT”,“AWCACHE”,...]”,从而对AW通道传输的数据段,根据配置信息进行拆分,得到的对应各字段的字段数据信息可以如下所示:
{5’h0,Timecnt[63:0],AWADDR[35:0],AWBUSRT[1:0],AWCACHE[3:0],AWID[9:0],AWLEN[7:0],AWLOCK,AWPORT[2:0],AWREGION[3:0],AWSIZE[2:0],AWUSER[35:0]}
其中,5’h0是一个5位的字段,其表示一个固定的值,“h”表示十六进制,对应采集的仿真数据的转储文件格式;本申请实施例中与Emulator通过网络连接的服务器获取的仿真数据为,Emulator的硬件侧传递至软件侧,以进位制的形式转储到文件中的数据,该进位制例如16进制,因此,基于仿真数据能够确定文件的格式为“h”十六进制。Timecnt[63:0]是一个64位的字段,表示计数器的值,以指示时间信息。AWADDR[35:0]是一个36位的字段,表示命令对应的地址信息。AWBUSRT[1:0]是一个2位的字段,表示总线传输类型。
AWCACHE[3:0]是一个4位的字段,表示缓存控制信息。AWID[9:0]是一个10位的字段,表示命令对应的传输ID。AWLEN[7:0]是一个8位的字段,表示传输的数据长度。AWLOCK是锁类型,这个信号提供有关转移的原子特性的附加信息。AWPORT[2:0]是一个3位的字段,表示数据保护类型,指示传输事务的正常(normal)、私有(privileged)或安全保护(secureprotection)级别,以及事务是数据访问(data access)还是指令访问(instructionaccess)。AWREGION[3:0]是一个4位的字段,表示传输的区域。AWSIZE[2:0]是一个3位的字段,表示传输的突发长度。AWUSER[35:0]是一个36位的字段,表示用户自定义数据。
基于对待处理数据中的各数据段进行拆分,根据时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段的步骤,可以具体如图8所示,包括:
步骤S201,根据时间信息,依次获取一指令对应的指令命令数据段。
在指令通道传输的数据段为指令命令数据段,各通道传输的数据段对应一指令命令的执行情况下,可以根据时间信息,依次获取一指令对应的指令命令数据段。进而,执行步骤S202。
步骤S202,根据数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段。
总线中各传输通道传输的内容不同,在总线包括AR通道、R通道、AW通道、W通道和B通道的可选示例中,以AW通道、W通道和B通道对数据段的传输顺序进行说明。其中,AW通道传输对应写命令的目标地址和控制信息,W通道传输写数据,该写数据为在上述写命令控制下,待写入上述目标地址的数据;B通道传输写响应数据,该写响应数据为上述写数据写入目标地址后反馈给主设备的响应信息。可以看出,基于命令的执行,指令信息数据段的传输可以是与指令命令数据段相对应的。而且,在根据配置信息对数据段进行拆分的情况下,根据AW通道传输的对应写命令的,数据段中的字段数据信息,例如地址字段对应的地址信息,或者标识字段对应的标识信息,能够确定W通道传输的写入该地址字段的数据,或者B通道传输的与标识字段相对应的响应数据。因此,根据数据段的传输顺序,以及指令命令数据段中的字段数据信息,能够确定属于该指令的指令信息数据段。
步骤S203,判断指令命令数据段是否为待处理数据中的最后一指令命令数据段。
可以理解的是,当指令命令数据段为指令通道传输的最后一指令命令数据段,即在该指令命令数据段之后不存在其他指令命令数据段,则基于该最后一指令命令数据段对应的指令信息数据段的确定,总线中传输的对应多个指令的待处理数据,其包含的多个数据段分析完毕。因此,通过判断指令命令数据段是否为所述待处理数据中的最后一指令命令数据段,可以确定总线中传输的待处理数据是否分析完成。
若判断结果为是,即指令命令数据段为指令通道传输的最后一指令命令数据段,则可以执行步骤S204,待处理数据处理完毕。
若判断结果为否,即指令命令数据段不为指令通道传输的最后一指令命令数据段,则可以执行根据时间信息,依序获取一指令对应的指令命令数据段,以及,根据数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段的步骤,直至指令命令数据段为所述待处理数据中的最后一指令命令数据段。
在一些实施例中,总线上传输的待处理数据的多个数据段可以是对应读命令的数据段,也可以是对应写命令的数据段。而且,本申请实施例通过对AXI协议进行分析得到:对于不同AID之间的事务,基于AXI协议的特性,为提高总线的传输效率和吞吐量,消息的顺序可能会发生变化,即总线支持不同AID之间的事务的乱序传输(out of order);而对于相同AID的事务,要保证事务的顺序性,即总线支持相同AID的事务的顺序传输(不支持out oforder)。其中,AID表示Transaction ID信号,指的是在AXI协议中用于标识事务的ID信号。从而,通过比对标识可以区分不同的事务。
因此,作为一种可选实现,指令命令数据段可以为写命令,在基于配置信息对数据段拆分后,写命令中的字段可以包括写命令标识字段。并且,在指令命令数据段为写命令情况下,对应指令命令数据段的指令信息数据段可以包括写数据和写响应数据。从而,在根据数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定数据该指令的指令信息数据段时,可以根据数据段的传输顺序对应读取相应的写数据和写响应数据。
其中,图9示例性的示出了本申请实施例中确定与各指令命令数据段属于同一指令的指令信息数据段的另一可选流程示意图。如图9所示,在步骤S201,根据时间信息,依次获取一指令对应的指令命令数据段之后,可以对应执行:
步骤S31,根据数据段的传输顺序,读取与写命令传输顺序相适应的写数据。
所述写命令可以对应于写命令通道,所述写数据可以对应于写数据通道。在写数据基于写命令执行写入的条件下,可以根据数据段的传输顺序,读取与写命令传输顺序相适应的写数据。在一个具体示例中,写数据的传输可以发生在对应写命令传输后。
步骤S32,根据写命令中的写命令标识字段,确定与之匹配的写响应数据。
所述写响应数据可以对应于写响应通道。
基于AXI协议的特性,不同AID之间的事务为乱序传输,相同AID的事务为顺序传输,从而根据写命令中的写命令标识字段,可以确定与写命令对应匹配的写响应数据。
在一些实施例中,总线上的数据传输是以LAST信号作为标志,指示数据的完整传输,该LAST信号对应数据段中的字段为结束字段,并且,基于结束字段对应的数据,可以确定该LAST信号的使能状态,例如,当结束字段为1时,表示LAST使能,即数据传输结束;当结束字段为0时,表示LAST未使能,即数据传输未结束。因此,为实现数据的准确分析,本申请实施例中的数据段中的字段可以至少包括结束字段。
在写数据中,所述结束字段可以为写数据结束字段。在一个可选示例中,所述写数据结束字段可以被称为WLAST。
其中,如图10所示确定属于同一指令的指令信息数据段的一可选流程示意图,根据数据段的传输顺序,读取与写命令传输顺序相适应的写数据的步骤可以具体为:步骤S311,根据数据段的传输顺序,读取与写命令传输顺序相适应的写数据,直至读取到写数据结束字段对应的字段数据信息为第一值。
所述第一值可以是指示写数据结束字段对应的LAST信号使能的数值,例如第一值为1。其中,基于数据段的传输顺序读取的,与写命令传输顺序相适应的写数据中,从开始读取至写数据结束字段对应的字段数据信息为第一值时,读取的所有数据可以均为写命令对应的写数据。
在一些实施例中,对应写命令中的字段包括写命令标识字段,写响应数据中的字段可以包括写响应标识字段。对应一写命令,所述写响应标识字段可以是与写命令标识字段相同的,以指示写响应数据为该写命令的响应数据。从而,在根据写命令中的写命令标识字段,确定与之匹配的写响应数据时,可以基于写响应数据的写响应标识字段进行确定。继续参见图10所示,根据写命令中的写命令标识字段,确定与之匹配的写响应数据的步骤可以包括:
步骤S321,根据数据段的传输顺序,读取与写命令传输顺序相适应的写响应数据。
基于写响应数据与写命令的对应关系,可以根据数据段的传输顺序,读取与写命令传输顺序相适应的写响应数据。在一个具体示例中,写响应数据的传输可以发生在对应写命令传输后。
步骤S322,判断写响应数据中的写响应标识字段与写命令中的写命令标识字段是否相同。
基于AXI协议的特性,不同AID之间的事务为乱序传输,相同AID的事务为顺序传输,因此根据写响应数据中的写响应标识字段,可以确定与写命令对应匹配的写响应数据,具体的,可以通过判断写响应数据中的写响应标识字段与写命令中的写命令标识字段是否相同,以确定写响应数据与写命令是否对应。
若判断结果为是,即写响应数据中的写响应标识字段与写命令中的写命令标识字段相同,则可以确定写响应数据与写命令相匹配,即步骤S323,从而可以基于确定的写数据和写响应数据,继续执行后续步骤。
若判断结果为否,即写响应数据中的写响应标识字段与写命令中的写命令标识字段不同,则可以执行根据数据段的传输顺序,读取与写命令传输顺序相适应的写响应数据,以及,判断写响应数据中的写响应标识字段与写命令中的写命令标识字段是否相同的步骤,直至写响应数据中的写响应标识字段与写命令中的写命令标识字段相同。
在一些实施例中,对应指令命令数据段为写命令,指令信息数据段包括写数据和写响应信息,在基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息可以至少包括写命令、写数据和写响应数据中对应的字段数据信息。
作为另一种可选实现,指令命令数据段可以为读命令,在基于配置信息对数据段拆分后,读命令中的字段可以包括读命令标识字段。并且,在指令命令数据段为读命令情况下,对应指令命令数据段的指令信息数据段可以包括读数据。从而,在根据数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定数据该指令的指令信息数据段时,可以根据数据段的传输顺序对应读取相应的读数据。
其中,在确定属于同一指令的指令信息数据段的步骤中,图11示例性的示出了本申请实施例中确定与各指令命令数据段属于同一指令的指令信息数据段的再一可选流程示意图。如图11所示,在步骤S201,根据时间信息,依次获取一指令对应的指令命令数据段之后,可以对应执行:
步骤S41,根据数据段的传输顺序,读取与读命令传输顺序相适应的读数据。
所述读命令可以对应于读命令通道,所述读数据可以对应于读数据通道。在读数据基于读命令执行读取的条件下,可以根据数据段的传输顺序,读取与读命令传输顺序相适应的读数据。在一个具体示例中,读数据的传输可以发生在对应读命令传输后。
步骤S42,根据读命令中的读命令标识字段,确定与之匹配的读数据。
基于AXI协议的特性,不同AID之间的事务为乱序传输,相同AID的事务为顺序传输,从而根据读命令中的读命令标识字段,可以确定与读命令对应匹配的读数据。
在一些实施例中,对应读命令中的字段包括读命令标识字段,读数据中的字段可以包括读标识字段。对应一读命令,所述读标识字段可以是与读命令标识字段相同的,以指示读数据为该读命令对应读取的数据。从而,在根据读命令中的读命令标识字段,确定与之匹配的读数据时,可以基于读数据的读标识字段进行确定。
其中,如图12所示确定属于同一指令的指令信息数据段的另一可选流程示意图,在步骤S41,根据数据段的传输顺序,读取与读命令传输顺序相适应的读数据之后,可以对应执行:
步骤S421,判断读数据中的读标识字段与读命令中的读命令标识字段是否相同。
基于AXI协议的特性,不同AID之间的事务为乱序传输,相同AID的事务为顺序传输,因此根据读数据中的读标识字段,可以确定与读命令对应匹配的读数据,具体的,可以通过判断读数据中的读标识字段与读命令中的读命令标识字段是否相同,以确定读数据与读命令是否对应。
若判断结果为是,即读数据中的读标识字段与读命令中的读命令标识字段相同,则读数据与读命令相匹配,可以执行后续的判断步骤。
若判断结果为否,即读数据中的读标识字段与读命令中的读命令标识字段不同,其中,当读数据中的读标识字段与读命令中的读命令标识字段不同时,说明总线中的读命令为乱序执行,则可以执行根据数据段的传输顺序,读取与读命令传输顺序相适应的读数据,以及,判断读数据中的读标识字段与读命令中的读命令标识字段是否相同的步骤,直至读数据中的读标识字段与读命令中的命令标识字段相同。
在一些实施例中,为实现数据的准确分析,本申请实施例中的数据段中的字段可以至少包括结束字段。
在读数据中,所述结束字段可以为读数据结束字段。在一个可选示例中,所述读数据结束字段可以被称为RLAST。参见图12所示,在步骤S421之后,还可以包括:
步骤S422,判断读数据结束字段对应的字段数据信息是否为第一值。
所述第一值可以是指示读数据结束字段对应的RLAST信号使能的数值,例如第一值为1。
在总线的数据传输以LAST信号作为标志,指示数据的完整传输的情况下,基于读数据结束字段对应的字段数据信息,可以确定读数据是否传输完成。因此,需要对读数据结束字段对应的字段数据信息是否为第一值进行判断。
若判断结果为是,即读数据结束字段对应的字段数据信息为第一值,RLAST信号使能,则可以确定读数据与读命令相匹配,即步骤S423,从而可以基于确定的读数据,继续执行后续步骤。
若判断结果为否,即读数据结束字段对应的字段数据信息不为第一值,RLAST信号未使能,可以执行根据数据段的传输顺序,读取与读命令传输顺序相适应的读数据,以及,判断读数据中的读标识字段与读命令中的读命令标识字段是否相同,以及,判断读数据结束字段对应的字段数据信息是否为第一值的步骤,直至读数据结束字段对应的字段数据信息为第一值。
在一些实施例中,对应指令命令数据段为读命令,指令信息数据段包括读数据,在基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息可以至少包括读命令和读数据中对应的字段数据信息。
在一些实施例中,基于确定同一指令的内容信息,本申请实施例可以将总线的待处理数据中,对应多个数据段的传输情况进行展示,图13示例性的示出了本申请实施例的数据分析方法的再一可选流程图,如图13所示,数据分析方法还可以包括:
步骤S106,根据指令的内容信息,确定对应该指令的数据段的传输情况,采用不同于传输完成的数据段的显示方式显示未传输完成的数据段。
可以理解的是,基于确定同一指令的内容信息,可以对应确定该指令的数据段的传输情况,进而可以采用不同于传输完成的数据段的显示方式,显示未传输完成的数据段,以将总线的数据传输情况展示给用户,使得用户能够基于数据传输情况确定待测设计的运行状态,并进行对应调整,实现提高SOC系统的验证效率。
作为一种可选实现,可以将相关内容采用8列的形式进行向用户展示,如图14和图15所示的数据分析结果展示示意图,其中,图14为传输正常情况,图15为传输异常情况,即针对数据传输未完成的部分,通过高亮方式展示,以提示数据段传输未完成(图中黑色加粗部分)。
其中,TIME表示请求命令发送的时刻;ID:读写请求的ID值,AWID或者ARID;TYPE:读写类型,写操作WR,读操作RD;ADDR:读写请求对应的地址,写请求对应的是AWADDR,读请求对应的是ARADDR;USER:读写请求对应的USER字段,写请求对应AWUSER,读请求对应ARUSER;RESP:读请求对应RD通道RRESP,写请求对应B通道的BRESP,读写resp个的格式相同,其内容有OKAY、EXOKAY、SLVERR、DECERR;DATA:读写数据,写请求对应W通道WDATA,读请求对应R通道RDATA;MASK:写数据的MASK(掩码)信息,对应W通道WSTRB。
本申请实施例基于获取待测设计的仿真数据,在所述仿真数据至少包括总线中各通道传输的对应多个数据段的待处理数据,及与所述待处理数据对应的时间信息的情况下,能够在待测设计的仿真验证过程中,对总线进行传输监测,并且,通过时间信息,能够得到待处理数据中的数据段的传输顺序,以及依次确定与各指令命令数据段属于同一指令的指令信息数据段,进而基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息,从而实现对总线传输数据的分析。
进一步的,通过确定属于同一指令的指令信息,能够确定该指令的数据传输情况,从而准确定位总线传输的问题点,例如同一指令的数据信息未传输完成的异常情况,并对该问题点进行对应调试,提高了仿真验证效率。进而,在进行芯片设计时,基于仿真验证的效率提升,也能够有效提升芯片的设计周期。
本申请实施例还提供一种数据分析装置,如图16所示本申请实施例的数据分析装置的可选结构示意图,所述数据分析装置可以包括:
获取模块161,用于获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点;
排序模块162,用于根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序;
数据确定模块164,用于根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;
信息确定模块165,用于基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
在一些实施例中,所述获取模块161获取的仿真数据还可以包括配置信息,所述配置信息用于指示数据段中对应各字段数据信息的排列顺序和位宽信息;
如图17所示数据分析装置的另一可选结构示意图,在所述排序模块162,根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序之后,在所述数据确定模块164,根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段之前,所述数据分析装置还可以包括:
拆分模块163,用于根据所述配置信息对所述数据段进行拆分,得到对应各字段的字段数据信息。
在一些实施例中,所述数据确定模块164,根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段的步骤,可以具体为:
根据所述时间信息,依次获取一指令对应的指令命令数据段;
根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段;
判断所述指令命令数据段是否为所述待处理数据中的最后一指令命令数据段;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述时间信息,依序获取一指令对应的指令命令数据段,以及,根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段的步骤,直至所述指令命令数据段为所述待处理数据中的最后一指令命令数据段。
在一些实施例中,所述指令命令数据段为写命令,所述写命令中的字段包括写命令标识字段;所述指令信息数据段包括写数据和写响应数据;
所述数据确定模块164,根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段的步骤,包括:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据;
根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据;
其中,所述写命令对应于写命令通道,所述写数据对应于写数据通道,所述写响应信息对应于写响应通道。
在一些实施例中,所述数据段中的字段至少包括结束字段,在所述写数据中,所述结束字段为写数据结束字段;
所述数据确定模块164,根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据的步骤,可以具体为:根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据,直至读取到所述写数据结束字段对应的字段数据信息为第一值。
在一些实施例中,所述写响应数据中的字段包括写响应标识字段;
所述数据确定模块164,根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据的步骤,可以具体为:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据;
判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同;若是,则所述写响应数据与所述写命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据,以及,判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同的步骤,直至所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段相同。
在一些实施例中,所述信息确定模块165,基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述写命令、所述写数据和所述写响应数据中对应的字段数据信息。
在一些实施例中,所述指令命令数据段为读命令,所述读命令中的字段包括读命令标识字段;所述指令信息数据段包括读数据;
所述数据确定模块164,根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段的步骤,包括:
根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据;
根据所述读命令中的读命令标识字段,确定与之匹配的读数据;
其中,所述读命令对应于读命令通道,所述读数据对应于读数据通道。
在一些实施例中,所述读数据中的字段包括读标识字段;
所述数据确定模块164,根据所述读命令中的读命令标识字段,确定与之匹配的读数据的步骤,可以具体为:
判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同;若是,则所述读数据与所述读命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同的步骤,直至所述读数据中的读标识字段与所述读命令中的读命令标识字段相同。
在一些实施例中,所述数据段中的字段至少包括结束字段,在所述读数据中,所述结束字段为读数据结束字段;
所述数据确定模块164,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同之后,还可以包括:
判断所述读数据结束字段对应的字段数据信息是否为第一值;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同,以及,判断所述读数据结束字段对应的字段数据信息是否为第一值的步骤,直至所述读数据结束字段对应的字段数据信息为第一值。
在一些实施例中,所述信息确定模块165,基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述读命令和所述读数据中对应的字段数据信息。
在一些实施例中,图18示例性的示出了本申请实施例的数据分析装置的再一可选结构示意图。如图18所示,所述数据分析装置还可以包括:
展示模块166,用于根据指令的内容信息,确定对应该指令的数据段的传输情况,采用不同于传输完成的数据段的显示方式显示未传输完成的数据段。
在本申请实施例提供的数据分析装置基于获取待测设计的仿真数据,在所述仿真数据至少包括总线中各通道传输的对应多个数据段的待处理数据,及与所述待处理数据对应的时间信息的情况下,能够在待测设计的仿真验证过程中,对总线进行传输监测,并且,通过时间信息,能够得到待处理数据中的数据段的传输顺序,以及依次确定与各指令命令数据段属于同一指令的指令信息数据段,进而基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息,从而实现对总线传输数据的分析。
进一步的,通过确定属于同一指令的指令信息,能够确定该指令的数据传输情况,从而准确定位总线传输的问题点,例如同一指令的数据信息未传输完成的异常情况,并对该问题点进行对应调试,提高了仿真验证效率。进而,在进行芯片设计时,基于仿真验证的效率提升,也能够有效提升芯片的设计周期。
本申请实施例提供一种仿真验证系统,至少包括如上述所述的数据分析装置。
本申请实施例还提供一种电子设备,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如本申请实施例提供的数据分析方法。
作为可选实现,图19为本申请实施例提供的电子设备的可选框图,如图19所示,该电子设备可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
可选的,通信接口2可以为用于进行网络通信的通信模块的接口。
可选的,处理器1可能是CPU(中央处理器),GPU(Graphics Processing Unit,图形处理器),NPU(嵌入式神经网络处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),TPU(张量处理单元),AI芯片,特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本申请实施例的数据分析方法。
本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如上述所述的数据分析方法。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (16)

1.一种数据分析方法,其特征在于,包括:
获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点;
根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序;
根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;
基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
2.根据权利要求1所述的数据分析方法,其特征在于,所述仿真数据还包括配置信息,所述配置信息用于指示数据段中对应各字段数据信息的排列顺序和位宽信息;
所述根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序之后,所述根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段之前,还包括:
根据所述配置信息对所述数据段进行拆分,得到对应各字段的字段数据信息。
3.根据权利要求2所述的数据分析方法,其特征在于,所述根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段,具体为:
根据所述时间信息,依次获取一指令对应的指令命令数据段;
根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段;
判断所述指令命令数据段是否为所述待处理数据中的最后一指令命令数据段;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述时间信息,依序获取一指令对应的指令命令数据段,以及,根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段的步骤,直至所述指令命令数据段为所述待处理数据中的最后一指令命令数据段。
4.根据权利要求3所述的数据分析方法,其特征在于,所述指令命令数据段为写命令,所述写命令中的字段包括写命令标识字段;所述指令信息数据段包括写数据和写响应数据;
所述根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段,包括:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据;
根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据;
其中,所述写命令对应于写命令通道,所述写数据对应于写数据通道,所述写响应信息对应于写响应通道。
5.根据权利要求4所述的数据分析方法,其特征在于,所述数据段中的字段至少包括结束字段,在所述写数据中,所述结束字段为写数据结束字段;
所述根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据,具体为:根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写数据,直至读取到所述写数据结束字段对应的字段数据信息为第一值。
6.根据权利要求4所述的数据分析方法,其特征在于,所述写响应数据中的字段包括写响应标识字段;
所述根据所述写命令中的写命令标识字段,确定与之匹配的写响应数据,具体为:
根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据;
判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同;若是,则所述写响应数据与所述写命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述写命令传输顺序相适应的写响应数据,以及,判断所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段是否相同的步骤,直至所述写响应数据中的写响应标识字段与所述写命令中的写命令标识字段相同。
7.根据权利要求4至6任一项所述的数据分析方法,其特征在于,所述基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述写命令、所述写数据和所述写响应数据中对应的字段数据信息。
8.根据权利要求3所述的数据分析方法,其特征在于,所述指令命令数据段为读命令,所述读命令中的字段包括读命令标识字段;所述指令信息数据段包括读数据;
所述根据所述数据段的传输顺序,以及指令命令数据段中的字段数据信息,确定属于该指令的指令信息数据段,包括:
根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据;
根据所述读命令中的读命令标识字段,确定与之匹配的读数据;
其中,所述读命令对应于读命令通道,所述读数据对应于读数据通道。
9.根据权利要求8所述的数据分析方法,其特征在于,所述读数据中的字段包括读标识字段;
所述根据所述读命令中的读命令标识字段,确定与之匹配的读数据,具体为:
判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同;若是,则所述读数据与所述读命令相匹配;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同的步骤,直至所述读数据中的读标识字段与所述读命令中的读命令标识字段相同。
10.根据权利要求9所述的数据分析方法,其特征在于,所述数据段中的字段至少包括结束字段,在所述读数据中,所述结束字段为读数据结束字段;
所述判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同之后,还包括:
判断所述读数据结束字段对应的字段数据信息是否为第一值;若是,则所述待处理数据处理完毕;若否,则执行所述根据所述数据段的传输顺序,读取与所述读命令传输顺序相适应的读数据,以及,判断所述读数据中的读标识字段与所述读命令中的读命令标识字段是否相同,以及,判断所述读数据结束字段对应的字段数据信息是否为第一值的步骤,直至所述读数据结束字段对应的字段数据信息为第一值。
11.根据权利要求8至10任一项所述的数据分析方法,其特征在于,所述基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息中,所述指令信息至少包括所述读命令和所述读数据中对应的字段数据信息。
12.根据权利要求1所述的数据分析方法,其特征在于,还包括:
根据指令的内容信息,确定对应该指令的数据段的传输情况,采用不同于传输完成的数据段的显示方式显示未传输完成的数据段。
13.一种数据分析装置,其特征在于,包括:
获取模块,用于获取待测设计的仿真数据,所述仿真数据至少包括总线中各通道传输的待处理数据,及与所述待处理数据对应的时间信息;所述待处理数据包括多个数据段,其中,以指令通道传输的数据段为指令命令数据段,以其他通道传输的数据段为指令信息数据段,所述时间信息用于记录所述待处理数据中各数据段基于通道进行传输的时间节点;
排序模块,用于根据所述时间信息对所述待处理数据中的数据段进行排序,得到所述数据段的传输顺序;
数据确定模块,用于根据所述时间信息,依次确定与各指令命令数据段属于同一指令的指令信息数据段;
信息确定模块,用于基于同一指令的指令命令数据段和指令信息数据段,确定该指令的内容信息。
14.一种仿真验证系统,其特征在于,至少包括如权利要求13所述的数据分析装置。
15.一种电子设备,其特征在于,包括至少一个存储器和至少一个处理器,所述存储器存储一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如权利要求1至12任一项所述的数据分析方法。
16.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如权利要求1至12任一项所述的数据分析方法。
CN202311781317.9A 2023-12-21 2023-12-21 一种数据分析方法、装置及相关设备 Pending CN117632685A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311781317.9A CN117632685A (zh) 2023-12-21 2023-12-21 一种数据分析方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311781317.9A CN117632685A (zh) 2023-12-21 2023-12-21 一种数据分析方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN117632685A true CN117632685A (zh) 2024-03-01

Family

ID=90025315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311781317.9A Pending CN117632685A (zh) 2023-12-21 2023-12-21 一种数据分析方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN117632685A (zh)

Similar Documents

Publication Publication Date Title
US9552448B2 (en) Method and apparatus for electronic system model generation
CN115146568B (zh) 一种基于uvm的芯片验证系统及验证方法
CN110321260B (zh) 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台
CN112286746A (zh) 针对axi从设备接口的通用验证平台及方法
CN114970411A (zh) 一种仿真验证方法及系统
Hussien et al. Development of a generic and a reconfigurable UVM-Based verification environment for SoC buses
CN115081367A (zh) 基于uvm存储模型的寄存器突发访问的建模方法
US10664637B2 (en) Testbench restoration based on capture and replay
CN103530166B (zh) 一种基于虚拟ram的面向多通道芯片的验证平台和验证方法
CN114510432A (zh) 一种寄存器调试平台和调试方法
CN110569162B (zh) 一种通信领域中fpga的自动测试方法及装置
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US6751752B1 (en) Checking events generated by a device
EP3961403A1 (en) Bus monitoring device and method, storage medium, and electronic device
CN117632685A (zh) 一种数据分析方法、装置及相关设备
US20060052995A1 (en) Simulation apparatus and method
JP2007249949A (ja) フォーマットする試験結果の文脈を提供する変数値を格納する装置
CN113496108B (zh) 一种应用于仿真的cpu模型
CN114398214A (zh) 性能验证方法、装置、存储介质及计算机设备
CN111258838B (zh) 验证组件生成方法、装置、存储介质及验证平台
US9547568B2 (en) Method and apparatus for verifying circuit design
US11914499B2 (en) Systems and methods for preparing trace data
Li et al. Functional verification of QSPI module based on UVM implementation
CN115983172B (zh) 用于后仿真的方法和仿真平台
CN110765721B (zh) Soc芯片加速验证方法、装置、计算机设备及存储介质

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