CN116028292B - 用于远程直接内存访问仿真验证的仿真验证***及方法 - Google Patents
用于远程直接内存访问仿真验证的仿真验证***及方法 Download PDFInfo
- Publication number
- CN116028292B CN116028292B CN202310175690.3A CN202310175690A CN116028292B CN 116028292 B CN116028292 B CN 116028292B CN 202310175690 A CN202310175690 A CN 202310175690A CN 116028292 B CN116028292 B CN 116028292B
- Authority
- CN
- China
- Prior art keywords
- memory access
- direct memory
- remote direct
- design
- tested
- 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
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种用于远程直接内存访问仿真验证的仿真验证***及方法。***包括:待测试设计,用于提供远程直接内存访问硬件逻辑;仿真器,用于模拟操作***以运行远程直接内存访问软件以及提供模拟设备,远程直接内存访问软件用于模拟与远程直接内存访问硬件逻辑相关联的软硬件交互,模拟设备用于与待测试设计交互从而协同待测试设计进行远程直接内存访问硬件逻辑的仿真验证;和网卡,用于与待测试设计交互以实现网卡互操作测试。***基于仿真器和网卡的观测结果生成远程直接内存访问硬件逻辑和远程直接内存访问软件的联合仿真验证结果。如此在逻辑验证过程中协同软件一起进行验证,有利于发现软硬件交互问题和提高验证效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种用于远程直接内存访问仿真验证的仿真验证***及方法。
背景技术
远程直接内存访问(Remote Direct Memory Access,RDMA)指的是从一台计算机的内存到另一台计算机的内存的直接访问,此过程中不涉及任何一方的操作***。RDMA技术应用在计算机网络相关领域,实现了高吞吐量、低延迟的网络,有利于组建大规模并行计算机集群。RDMA的基本工作原理是通过网络适配器将数据从物理线路直接拷贝到应用程序的内存,或者将数据从应用程序的内存直接拷贝到物理线路,在此过程中无需在应用程序的内存和操作***的数据缓冲区之间拷贝数据,因此数据传输不占用中央处理器(centralprocessing unit,CPU)资源和缓存,也不涉及上下文切换等,还可以使得数据传输和其他***操作并行进行。支持RDMA技术的网络适配器,例如网络接口卡(Network InterfaceCard,NIC)或者网卡等,具有不同的硬件实现方式,还可以支持不同的网络协议。因此,基于RDMA技术的产品方案往往要考虑硬件实现细节和软件驱动两个方面,例如在软件层面提供RDMA核心协议栈的支持以及在硬件层面提供优化设计。
对芯片设计的功能验证有助于在芯片生产之前验证芯片设计是否符合需求例如逻辑时序的正确性等,有利于提高流片效率和开发效率。但是,在现有技术中,RDMA软件驱动和RDMA逻辑验证是分开进行测试验证的。并且,在RDMA逻辑验证完成之前RDMA软件无法参与到逻辑验证中;而在逻辑验证过程中,也无法协同软件一起进行验证。这样不利于提前发现软硬件交互问题,也不利于提高验证效率。
基于上述现有技术中存在的技术难题,提供了一种用于远程直接内存访问仿真验证的仿真验证***及方法,用于解决现有技术中存在的问题。
发明内容
本申请实施例提供了一种用于远程直接内存访问仿真验证的仿真验证***及方法,用于解决现有技术中存在的问题。
第一方面,本申请提供了一种仿真验证***,用于远程直接内存访问仿真验证。所述仿真验证***包括:待测试设计,用于提供远程直接内存访问硬件逻辑;仿真器,用于模拟操作***以运行远程直接内存访问软件以及提供至少一个模拟设备,其中,所述远程直接内存访问软件用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证;和网卡,用于与所述待测试设计交互以实现网卡互操作测试。其中,所述仿真验证***基于所述仿真器和所述网卡的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果。
通过本申请的第一方面,实现了所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果,这样可以在逻辑验证过程中协同软件一起进行验证,有利于及时发现软硬件交互问题、软件问题、硬件问题还有逻辑内部的问题并进行改正,也有利于提高验证效率。
在本申请的第一方面的一种可能的实现方式中,所述观测结果包括所述待测试设计与所述网卡之间的交互特征以及所述仿真器接收的来自所述待测试设计的反馈。
在本申请的第一方面的一种可能的实现方式中,所述仿真验证***通过所述远程直接内存访问软件模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果。
在本申请的第一方面的一种可能的实现方式中,所述激励信号基于产品交付需求和用户偏好。
在本申请的第一方面的一种可能的实现方式中,所述联合仿真验证结果包括所述远程直接内存访问硬件逻辑的仿真验证结果和所述远程直接内存访问软件的正确性验证结果。
在本申请的第一方面的一种可能的实现方式中,所述联合仿真验证结果用于定位和修复所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件中的错误。
在本申请的第一方面的一种可能的实现方式中,所述仿真器是快速仿真器,所述网卡是标准远程直接内存访问网卡,所述待测试设计与所述标准远程直接内存访问网卡之间传输标准远程直接内存访问报文。
在本申请的第一方面的一种可能的实现方式中,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证,包括:所述至少一个模拟设备协同所述待测试设计进行以下至少一项:直接内存访问操作、中断操作、基地址寄存器空间读写和快捷外设互联标准设备配置空间读写。
在本申请的第一方面的一种可能的实现方式中,所述至少一个模拟设备包括用于协同所述待测试设计进行所述快捷外设互联标准设备配置空间读写的一个或者多个快捷外设互联标准设备。
在本申请的第一方面的一种可能的实现方式中,所述至少一个模拟设备包括用于协同所述待测试设计进行所述直接内存访问操作的一个或者多个存储介质。
在本申请的第一方面的一种可能的实现方式中,所述至少一个模拟设备与所述待测试设计之间的交互通过传输控制协议套接字实现。
在本申请的第一方面的一种可能的实现方式中,所述基地址寄存器空间读写和所述快捷外设互联标准设备配置空间读写通过配置参数套接字实现,所述直接内存访问操作和所述中断操作通过直接内存访问套接字实现。
在本申请的第一方面的一种可能的实现方式中,所述待测试设计用于解析所述配置参数套接字和所述直接内存访问套接字的数据包,所述待测试设计还用于通过报文套接字将远程直接内存访问报文发送给所述网卡以及通过所述报文套接字接收来自所述网卡的报文。
在本申请的第一方面的一种可能的实现方式中,所述仿真器通过所述直接内存访问套接字处理来自所述待测试设计的报文并通过所述远程直接内存访问软件上送处理结果。
在本申请的第一方面的一种可能的实现方式中,所述仿真验证***还包括:第一适配模块,用于将所述待测试设计与所述至少一个模拟设备之间的交互转换为待测试设计格式的输入输出;第二适配模块,用于将所述待测试设计与所述网卡之间的交互转换为所述待测试设计格式的输入输出。其中,所述第一适配模块、所述第二适配模块和所述待测试设计一起构成逻辑验证平台。
在本申请的第一方面的一种可能的实现方式中,所述仿真验证***是远程直接内存访问仿真验证***,所述远程直接内存访问仿真验证***生成的联合仿真验证结果是远程直接内存访问软硬件联合仿真验证结果。
在本申请的第一方面的一种可能的实现方式中,所述待测试设计所提供的所述远程直接内存访问硬件逻辑对应远程直接内存访问芯片的逻辑功能,所述远程直接内存访问芯片是现场可编程逻辑门阵列芯片或者专用集成电路芯片或者数据处理器。
第二方面,本申请提供了一种仿真验证方法,用于远程直接内存访问仿真验证。所述仿真验证方法包括:通过待测试设计提供远程直接内存访问硬件逻辑;通过仿真器,模拟操作***以运行远程直接内存访问软件以及提供至少一个模拟设备,其中,所述远程直接内存访问软件用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证;通过网卡与所述待测试设计交互以实现网卡互操作测试;和基于所述仿真器和所述网卡的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果。
在本申请的第二方面的一种可能的实现方式中,所述观测结果包括所述待测试设计与所述网卡之间的交互特征以及所述仿真器接收的来自所述待测试设计的反馈,所述仿真验证方法还包括:通过所述远程直接内存访问软件模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果。
在本申请的第二方面的一种可能的实现方式中,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证,包括:所述至少一个模拟设备协同所述待测试设计进行以下至少一项:直接内存访问操作、中断操作、基地址寄存器空间读写和快捷外设互联标准设备配置空间读写。
第三方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第五方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种基于参考模型进行远程直接内存访问逻辑验证的示意图;
图2为本申请实施例提供的一种用于远程直接内存访问仿真验证的仿真验证***的示意图;
图3为本申请实施例提供的一种用于远程直接内存访问仿真验证的仿真验证方法的流程示意图;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种用于远程直接内存访问仿真验证的仿真验证***及方法,用于解决现有技术中存在的问题。其中,本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为一种基于参考模型进行远程直接内存访问逻辑验证的示意图。如图1所示,激励信号生成器102用于生成激励信号,并且将同一激励信号分别发送给参考模型(ReferenceModel,RM)110和待测试设计(Design under Test,DUT)120。参考模型110和待测试设计120各自的输出结果送到比较器104进行比较。在芯片生产之前需要验证芯片设计是否符合预设需求以及满足逻辑时序正确性等,因此需要对芯片设计进行功能验证,例如对代表了芯片的一种或者多种功能的模块或***相关设计进行功能验证。图1中的待测试设计120,在进行远程直接内存访问(Remote DirectMemory Access,RDMA)逻辑验证的应用场景下,代表了待测试的RDMA逻辑。这里,RDMA指的是从一台计算机的内存到另一台计算机的内存的直接访问,此过程中不涉及任何一方的操作***。参考模型110是和待测试设计120预期要实现的逻辑功能相同的模块,通过让激励信号生成器102构造相同的激励输入给参考模型110和待测试设计120,再通过比较器104检查分别来自参考模型110和待测试设计120的输出结果,从而完成整个逻辑验证过程。待测试设计120所代表的待测试的RDMA逻辑,一般对应芯片上具有的RDMA逻辑功能或者用于支持RDMA的集成电路设计。因此,在图1中的基于参考模型进行远程直接内存访问逻辑验证的过程结束后,还需要通过编译器或者设计工具进行综合并生成版图,接着由代工厂制作出具有RDMA逻辑功能的芯片,或者通过带有编程功能的芯片如现场可编程逻辑门阵列(field-programmable gate array,FPGA)达成硬件实现,然后才能与相关的RDMA驱动软件一起进行调试测试。因此,基于参考模型进行远程直接内存访问仿真验证的方法,例如图1所示的基于参考模型进行远程直接内存访问逻辑验证,需要单独构建验证环境来验证RDMA逻辑,以及在硬件实现基础上再与RDMA驱动软件一起进行测试,这样意味着RDMA软件驱动和RDMA逻辑验证是分开进行测试验证的。并且,在RDMA逻辑验证完成之前RDMA软件无法参与到逻辑验证中;而在逻辑验证过程中,也无法协同软件一起进行验证。这样不利于提前发现软硬件交互问题,也不利于提高验证效率。另外,需要让激励信号生成器102构造大量的激励信号作为激励输入来测试RDMA逻辑,而这些激励输入所模拟的输入信号在RDAM的应用场景中原本是由软件传递给硬件逻辑的,因此也没有充分利用RDMA的应用场景中常见的软硬件交互应用来提升验证效果。下面结合图2和图3的实施例详细说明本申请提供的一种用于远程直接内存访问仿真验证的仿真验证***及方法如何应对上述挑战。
图2为本申请实施例提供的一种用于远程直接内存访问仿真验证的仿真验证***的示意图。如图2所示,仿真验证***包括:待测试设计220,用于提供远程直接内存访问硬件逻辑;仿真器202,用于模拟操作***以运行远程直接内存访问软件204以及提供至少一个模拟设备210,其中,所述远程直接内存访问软件204用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备210用于与所述待测试设计220交互从而协同所述待测试设计220进行所述远程直接内存访问硬件逻辑的仿真验证;和网卡201,用于与所述待测试设计220交互以实现网卡互操作测试。其中,所述仿真验证***基于所述仿真器202和所述网卡201的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果。这里,所述仿真器202和所述网卡201的观测结果可以包括反馈的数据和观测到的波形。仿真器202可以是快速仿真器(Quick Emulator,QEMU)或者其他合适的虚拟化模拟器,用于模拟硬件设备和运行计算机***从而实现模拟操作***以运行远程直接内存访问软件204以及提供至少一个模拟设备210。图2所示的仿真器202运行客户端操作***(未示出),然后在该客户端操作***上运行远程直接内存访问软件204。另外,图2中所示的模拟设备210代表了仿真器202提供的至少一个模拟设备,这些至少一个模拟设备与待测试设计220交互并且用于模拟实际应用中可能存在的与待测试设计220所代表的远程直接内存访问硬件逻辑交互的各种设备,例如快捷外设互联标准(peripheral component interconnect express,PCIE)设备。仿真器202可以提供的模拟设备210的数量和类型都是可以根据实际需要进行设定的,因此模拟设备210代表了一个或者多个模拟设备。应当理解的是,在一些实施例中,网卡201是相对于仿真器202和待测试设计220单独提供,网卡201可以是物理网卡或者虚拟网卡例如由数据处理器(dataprocessing unit,DPU)模拟的虚拟网卡。待测试设计220所提供的远程直接内存访问硬件逻辑可以用于逻辑验证,例如待测试设计220可以代表待测试的RDMA逻辑如芯片上具有的RDMA逻辑功能或者用于支持RDMA的集成电路设计;所述远程直接内存访问软件204用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,因此所述远程直接内存访问软件204可用于RDMA软件驱动的仿真验证;并且,图2所示的仿真验证***基于所述仿真器202和所述网卡201的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果,因此实现了在逻辑验证过程中协同软件一起验证,有助于发现软硬件交互方面的问题,而且不要求代工厂制作出芯片或者用FPGA硬件实现,有利于提高验证效率;另外,图2所示的仿真验证***通过网卡201与所述待测试设计220交互以实现网卡互操作测试,因此可以通过配置不同类型、不同标准的网卡来灵活地改变验证环境,进一步提高验证效率。在一些实施例中,通过改变图2所示的网卡201和远程直接内存访问软件204的有关配置和参数,可以使得网卡201和远程直接内存访问软件204支持各种RDMA网络协议,例如无限带宽(InfiniBand,IB)网络协议、基于以太网的RDMA(RDMA overEthernet,RoCE)协议、互联网广域RDMA(iWARP)协议。因此,图2所示的仿真验证***可以在不同的验证环境之间进行切换,例如根据实际需要提供相应的RDMA协议的验证环境,从而更好地提供远程直接内存访问仿真验证。并且,通过远程直接内存访问软件204可以便利地构造出用于远程直接内存访问仿真验证的激励输入,然后将这些激励输入由软件传递给硬件逻辑也就是通过仿真器202传递给待测试设计220,这样就不需要额外地通过激励信号生成器来构造激励信号也不需要额外的参考模型,可以充分利用RDMA的应用场景中的软硬件交互应用来提升验证效果。
总之,图2所示的仿真验证***,实现了所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件204的联合仿真验证结果,这样可以在逻辑验证过程中协同软件一起进行验证,有利于及时发现软硬件交互问题并进行改正,也有利于提高验证效率。
在一种可能的实施方式中,所述观测结果包括所述待测试设计220与所述网卡201之间的交互特征以及所述仿真器202接收的来自所述待测试设计220的反馈。如此,通过观测交互特征和所述仿真器202接收的反馈,实现了在逻辑验证过程中协同软件一起进行验证,有利于及时发现软硬件交互问题并进行改正,也有利于提高验证效率。在一些实施例中,所述仿真验证***通过所述远程直接内存访问软件204模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果。如此,通过远程直接内存访问软件204可以便利地构造出用于远程直接内存访问仿真验证的激励输入,这样就不需要额外地通过激励信号生成器来构造激励信号也不需要额外的参考模型,可以充分利用RDMA的应用场景中的软硬件交互应用来提升验证效果。在一些实施例中,所述激励信号基于产品交付需求和用户偏好。这里产品交付需求可以包括芯片设计的预期目标,例如要实现的逻辑功能、要达到的指标参数等,因此有利于应对具体的需要来灵活提供相应的验证环境。在一些实施例中,所述联合仿真验证结果包括所述远程直接内存访问硬件逻辑的仿真验证结果和所述远程直接内存访问软件204的正确性验证结果。如此实现了一起验证硬件逻辑的功能和验证软件的正确性。在一些实施例中,所述联合仿真验证结果用于定位和修复所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件204中的错误。通过观测结果例如观测波形和数据反馈,可以实现快速定位错误并进行修复,有助于早期发现软硬件交互问题、软件问题、硬件问题还有逻辑内部的问题。
在一种可能的实施方式中,所述仿真器202是快速仿真器,所述网卡201是标准远程直接内存访问网卡也即标准RDMA网卡,所述待测试设计220与所述标准远程直接内存访问网卡之间传输标准远程直接内存访问报文也即标准RDMA报文。应当理解的是,还可以采用其他类型的仿真器以及采用其他类型的网卡和报文。因此有助于灵活根据需求提供验证环境。
在一种可能的实施方式中,所述至少一个模拟设备(图2中以模拟设备210作为代表)用于与所述待测试设计220交互从而协同所述待测试设计220进行所述远程直接内存访问硬件逻辑的仿真验证,包括:所述至少一个模拟设备协同所述待测试设计220进行以下至少一项:直接内存访问(Direct Memory Access,DMA)操作、中断操作、基地址寄存器(BaseAddress Register,BAR)空间读写和快捷外设互联标准设备配置空间读写。这里,直接内存访问操作指的是将数据从一个地址空间复制到另一个地址空间进行数据传输,可用于存储器之间的高速数据传输。仿真器202提供的模拟设备210可以协同所述待测试设计220进行DMA操作从而模拟实际应用中的RDMA功能相关的DMA操作。中断操作指的是RDMA网卡运行时可能通过中断事件的方式上报给上层用户,例如数据包收发异常或RDMA网卡出现内部错误。在RDMA运行中,中断的作用一般体现为,例如,RDMA网卡收到数据包且该数据包是异常的,则通过上报中断通知上层用户;再例如,RDMA网卡运行过程中出现某种错误则通过上报中断通知上层用户;再例如,上层用户设定的需要RDMA网卡上报的中断事件,这类中断事件可能是正常的也可能是异常的。仿真器202提供的模拟设备210可以协同所述待测试设计220进行中断操作从而模拟实际应用中的RDMA功能相关的中断事件、中断模式、中断操作等。基地址寄存器空间读写也叫BAR空间读写,指的是对基地址寄存器空间进行的读写操作。基地址寄存器是存放基地址的寄存器,执行时要将基地址和相对地址相加得到实际地址。在RDMA相关实际应用中,在内存地址应用方面,需要借助基地址寄存器来识别设备内存地址,例如通过基地址寄存器中存储的数据来指示PCIE设备在PCIE地址空间中的基地址然后利用映射关系得到PCIE设备的设备内存地址。仿真器202提供的模拟设备210可以协同所述待测试设计220进行基地址寄存器空间读写从而模拟实际应用中的RDMA功能的与基地址寄存器空间相关联的读写操作、映射关系、映射函数等。快捷外设互联标准设备配置空间读写也即PCIE设备配置空间读写,指的是对PCIE设备配置空间进行读写操作。PCIE设备配置空间是与PCIE设备功能对应的配置空间(Configuration Space)。仿真器202提供的模拟设备210可以协同所述待测试设计220进行快捷外设互联标准设备配置空间读写从而模拟实际应用中的RDMA功能的与PCIE设备的配置空间有关的操作。
在一些实施例中,所述至少一个模拟设备包括用于协同所述待测试设计220进行所述快捷外设互联标准设备配置空间读写的一个或者多个快捷外设互联标准设备。在一些实施例中,所述至少一个模拟设备包括用于协同所述待测试设计220进行所述直接内存访问操作的一个或者多个存储介质。这里,存储介质应理解为包括内存的范畴,例如主存或者RAM,例如DDR内存条也叫双倍速率同步动态随机存储器等。RDMA网卡对主机的内存直接访问一般对主机内存进行读写。示例性的存储介质包括如DDR或者固态硬盘(Solid StateDriver,SSD)。
在一种可能的实施方式中,所述至少一个模拟设备与所述待测试设计220之间的交互通过传输控制协议套接字(TCP socket)实现。这里,传输控制协议(TransmissionControl Protocol,TCP)指的是面向连接的运输层协议,在RDMA有关应用中,可以构建起基于TCP/IP协议的网络,并使得RDMA可以工作在网络上层,从而实现多种传输类型来共享相同的物理连接,可以实现如网络、文件***、块存储器、处理器之间的消息通讯。套接字(socket)指的是在计算机之间进行通信的有关约定或者方式。通过套接字可以实现接收来自其他计算机的数据或者向其他计算机发送数据。套接字一般具有特定数据结构并且指示了连接种类和使用的协议,用于标识数据包的归属。在一些实施例中,传输控制协议套接字包括特定数据结构,例如四元组,并且指示了数据包来源的IP地址和接口以及目的地的IP地址和接口。在一些实施例中,所述基地址寄存器空间读写和所述快捷外设互联标准设备配置空间读写通过配置参数套接字(CFG socket)212实现,所述直接内存访问操作和所述中断操作通过直接内存访问套接字(DMA socket)214实现。这里,配置参数套接字212和直接内存访问套接字214分别代表了用于实现相应的设备交互和操作而定义的数据接收和发送数据的方式。在一些实施例中,配置参数套接字212和直接内存访问套接字214可以都属于传输控制协议套接字(未示出)。在一些实施例中,所述待测试设计220用于解析所述配置参数套接字212和所述直接内存访问套接字214的数据包,所述待测试设计220还用于通过报文套接字(packet socket)将远程直接内存访问报文发送给所述网卡201以及通过所述报文套接字接收来自所述网卡201的报文。在一些实施例中,所述仿真器202通过所述直接内存访问套接字214处理来自所述待测试设计220的报文并通过所述远程直接内存访问软件204上送处理结果。如此,通过定义多种套接字实现了仿真器202、待测试设计220以及网卡201之间的消息通讯。
在一种可能的实施方式中,所述仿真验证***还包括:第一适配模块222,用于将所述待测试设计220与所述至少一个模拟设备之间的交互转换为待测试设计格式的输入输出;第二适配模块224,用于将所述待测试设计220与所述网卡201之间的交互转换为所述待测试设计格式的输入输出。其中,所述第一适配模块222、所述第二适配模块224和所述待测试设计220一起构成逻辑验证平台230。上述的报文套接字可以被包括在第二适配模块224中,因此所述待测试设计220通过报文套接字将远程直接内存访问报文发送给所述网卡201以及通过所述报文套接字接收来自所述网卡201的报文也是通过第二适配模块224完成。或者,第二适配模块224可以与报文套接字分别提供。如此,通过第一适配模块222和第二适配模块224,实现了构建逻辑验证平台230用于验证待测试设计220所代表的RDMA逻辑,并且可以灵活地适配仿真器202和网卡201,也就有利于提供更灵活的验证环境。
在一种可能的实施方式中,所述仿真验证***是远程直接内存访问仿真验证***,所述远程直接内存访问仿真验证***生成的联合仿真验证结果是远程直接内存访问软硬件联合仿真验证结果。在一种可能的实施方式中,所述待测试设计220所提供的所述远程直接内存访问硬件逻辑对应远程直接内存访问芯片的逻辑功能,所述远程直接内存访问芯片是现场可编程逻辑门阵列芯片或者专用集成电路芯片或者数据处理器。如此,实现了对RDMA的软硬件联合仿真验证,有利于在芯片设计阶段就发现软硬件交互问题、软件问题、硬件问题还有逻辑内部的问题。
图3为本申请实施例提供的一种用于远程直接内存访问仿真验证的仿真验证方法的流程示意图。如图3所示,仿真验证方法包括以下步骤。
步骤S302:通过待测试设计提供远程直接内存访问硬件逻辑。
步骤S304:通过仿真器,模拟操作***以运行远程直接内存访问软件以及提供至少一个模拟设备。
其中,所述远程直接内存访问软件用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证。
步骤S306:通过网卡与所述待测试设计交互以实现网卡互操作测试。
步骤S308:基于所述仿真器和所述网卡的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果。
图3所示的仿真验证方法,实现了所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件204的联合仿真验证结果,这样可以在逻辑验证过程中协同软件一起进行验证,有利于及时发现软硬件交互问题并进行改正,也有利于提高验证效率。
在一种可能的实施方式中,所述观测结果包括所述待测试设计与所述网卡之间的交互特征以及所述仿真器接收的来自所述待测试设计的反馈,所述仿真验证方法还包括:通过所述远程直接内存访问软件模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果。
在一种可能的实施方式中,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证,包括:所述至少一个模拟设备协同所述待测试设计进行以下至少一项:直接内存访问操作、中断操作、基地址寄存器空间读写和快捷外设互联标准设备配置空间读写。
参见图4,图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者***实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processingunit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)、张量处理器(tensor processing unit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logicdevice,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(localinterconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledatarate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外设部件互连标准(peripheralcomponent interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherentinterconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种***,该***包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该***可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例***中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种仿真验证***,用于远程直接内存访问仿真验证,其特征在于,所述仿真验证***包括:
待测试设计,用于提供远程直接内存访问硬件逻辑;
仿真器,用于模拟操作***以运行远程直接内存访问软件以及提供至少一个模拟设备,其中,所述远程直接内存访问软件用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证;和
网卡,用于与所述待测试设计交互以实现网卡互操作测试,
其中,所述仿真验证***基于所述仿真器和所述网卡的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果,
所述观测结果包括所述待测试设计与所述网卡之间的交互特征以及所述仿真器接收的来自所述待测试设计的反馈,
所述仿真验证***通过所述远程直接内存访问软件模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果,
所述联合仿真验证结果包括所述远程直接内存访问硬件逻辑的仿真验证结果和所述远程直接内存访问软件的正确性验证结果。
2.根据权利要求1所述的仿真验证***,其特征在于,所述激励信号基于产品交付需求和用户偏好。
3.根据权利要求1所述的仿真验证***,其特征在于,所述联合仿真验证结果用于定位和修复所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件中的错误。
4.根据权利要求1所述的仿真验证***,其特征在于,所述仿真器是快速仿真器,所述网卡是标准远程直接内存访问网卡,所述待测试设计与所述标准远程直接内存访问网卡之间传输标准远程直接内存访问报文。
5.根据权利要求1所述的仿真验证***,其特征在于,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证,包括:
所述至少一个模拟设备协同所述待测试设计进行以下至少一项:直接内存访问操作、中断操作、基地址寄存器空间读写和快捷外设互联标准设备配置空间读写。
6.根据权利要求5所述的仿真验证***,其特征在于,所述至少一个模拟设备包括用于协同所述待测试设计进行所述快捷外设互联标准设备配置空间读写的一个或者多个快捷外设互联标准设备。
7.根据权利要求5所述的仿真验证***,其特征在于,所述至少一个模拟设备包括用于协同所述待测试设计进行所述直接内存访问操作的一个或者多个存储介质。
8.根据权利要求5所述的仿真验证***,其特征在于,所述至少一个模拟设备与所述待测试设计之间的交互通过传输控制协议套接字实现。
9.根据权利要求8所述的仿真验证***,其特征在于,所述基地址寄存器空间读写和所述快捷外设互联标准设备配置空间读写通过配置参数套接字实现,所述直接内存访问操作和所述中断操作通过直接内存访问套接字实现。
10.根据权利要求9所述的仿真验证***,其特征在于,所述待测试设计用于解析所述配置参数套接字和所述直接内存访问套接字的数据包,所述待测试设计还用于通过报文套接字将远程直接内存访问报文发送给所述网卡以及通过所述报文套接字接收来自所述网卡的报文。
11.根据权利要求9所述的仿真验证***,其特征在于,所述仿真器通过所述直接内存访问套接字处理来自所述待测试设计的报文并通过所述远程直接内存访问软件上送处理结果。
12.根据权利要求10所述的仿真验证***,其特征在于,所述仿真验证***还包括:
第一适配模块,用于将所述待测试设计与所述至少一个模拟设备之间的交互转换为待测试设计格式的输入输出;
第二适配模块,用于将所述待测试设计与所述网卡之间的交互转换为所述待测试设计格式的输入输出,
其中,所述第一适配模块、所述第二适配模块和所述待测试设计一起构成逻辑验证平台。
13.根据权利要求1所述的仿真验证***,其特征在于,所述仿真验证***是远程直接内存访问仿真验证***,所述远程直接内存访问仿真验证***生成的联合仿真验证结果是远程直接内存访问软硬件联合仿真验证结果。
14.根据权利要求1所述的仿真验证***,其特征在于,所述待测试设计所提供的所述远程直接内存访问硬件逻辑对应远程直接内存访问芯片的逻辑功能,所述远程直接内存访问芯片是现场可编程逻辑门阵列芯片或者专用集成电路芯片或者数据处理器。
15.一种仿真验证方法,用于远程直接内存访问仿真验证,其特征在于,所述仿真验证方法包括:
通过待测试设计提供远程直接内存访问硬件逻辑;
通过仿真器,模拟操作***以运行远程直接内存访问软件以及提供至少一个模拟设备,其中,所述远程直接内存访问软件用于模拟与所述远程直接内存访问硬件逻辑相关联的软硬件交互,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证;
通过网卡与所述待测试设计交互以实现网卡互操作测试;和
基于所述仿真器和所述网卡的观测结果生成所述远程直接内存访问硬件逻辑和所述远程直接内存访问软件的联合仿真验证结果,
所述观测结果包括所述待测试设计与所述网卡之间的交互特征以及所述仿真器接收的来自所述待测试设计的反馈,所述联合仿真验证结果包括所述远程直接内存访问硬件逻辑的仿真验证结果和所述远程直接内存访问软件的正确性验证结果,
所述仿真验证方法还包括:
通过所述远程直接内存访问软件模拟产生激励信号,以及通过比较所述观测结果和与所述激励信号对应的参考观测结果来生成所述联合仿真验证结果。
16.根据权利要求15所述的仿真验证方法,其特征在于,所述至少一个模拟设备用于与所述待测试设计交互从而协同所述待测试设计进行所述远程直接内存访问硬件逻辑的仿真验证,包括:
所述至少一个模拟设备协同所述待测试设计进行以下至少一项:直接内存访问操作、中断操作、基地址寄存器空间读写和快捷外设互联标准设备配置空间读写。
17.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求15或16所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求15或16所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310175690.3A CN116028292B (zh) | 2023-02-28 | 2023-02-28 | 用于远程直接内存访问仿真验证的仿真验证***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310175690.3A CN116028292B (zh) | 2023-02-28 | 2023-02-28 | 用于远程直接内存访问仿真验证的仿真验证***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028292A CN116028292A (zh) | 2023-04-28 |
CN116028292B true CN116028292B (zh) | 2023-06-06 |
Family
ID=86074270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310175690.3A Active CN116028292B (zh) | 2023-02-28 | 2023-02-28 | 用于远程直接内存访问仿真验证的仿真验证***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028292B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627888B (zh) * | 2023-07-25 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 硬件计算模块、设备、方法、电子设备及存储介质 |
CN116781152B (zh) * | 2023-08-24 | 2023-11-17 | 珠海星云智联科技有限公司 | 一种光线路终端设计验证***、方法、设备以及存储介质 |
CN117369906B (zh) * | 2023-12-07 | 2024-02-09 | 成都市楠菲微电子有限公司 | Pcie验证平台、方法、装置、存储介质及电子设备 |
CN117539705B (zh) * | 2024-01-10 | 2024-06-11 | 深圳鲲云信息科技有限公司 | 片上***的验证方法、装置、***及电子设备 |
CN118101515B (zh) * | 2024-04-24 | 2024-07-19 | 珠海星云智联科技有限公司 | 异常拓扑处理方法、***、设备以及集群 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499937A (zh) * | 2009-03-16 | 2009-08-05 | 盛科网络(苏州)有限公司 | 一种基于fpga的软硬件协同仿真验证***及方法 |
CN113312143A (zh) * | 2021-03-03 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | 云计算***、命令处理方法及虚拟化仿真装置 |
CN114880977A (zh) * | 2022-05-11 | 2022-08-09 | 北京百度网讯科技有限公司 | 软硬件联合仿真***、方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702826B2 (en) * | 2005-12-28 | 2010-04-20 | Intel Corporation | Method and apparatus by utilizing platform support for direct memory access remapping by remote DMA (“RDMA”)-capable devices |
CN108011878A (zh) * | 2017-11-29 | 2018-05-08 | 复旦大学 | 面向多用户软硬件设计项目的远程测试仿真***和方法 |
US11940935B2 (en) * | 2021-04-19 | 2024-03-26 | Mellanox Technologies, Ltd. | Apparatus, method and computer program product for efficient software-defined network accelerated processing using storage devices which are local relative to a host |
-
2023
- 2023-02-28 CN CN202310175690.3A patent/CN116028292B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499937A (zh) * | 2009-03-16 | 2009-08-05 | 盛科网络(苏州)有限公司 | 一种基于fpga的软硬件协同仿真验证***及方法 |
CN113312143A (zh) * | 2021-03-03 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | 云计算***、命令处理方法及虚拟化仿真装置 |
CN114880977A (zh) * | 2022-05-11 | 2022-08-09 | 北京百度网讯科技有限公司 | 软硬件联合仿真***、方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116028292A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116028292B (zh) | 用于远程直接内存访问仿真验证的仿真验证***及方法 | |
CN108170590B (zh) | 一种区块链***的测试***和方法 | |
CN114880977B (zh) | 软硬件联合仿真***、方法、装置、设备和存储介质 | |
CN113342583B (zh) | 芯片验证***、方法、装置、设备和存储介质 | |
US8726298B1 (en) | Cloud-based instrument driver system | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN111859832B (zh) | 一种芯片仿真验证方法、装置及相关设备 | |
CN109408247A (zh) | 交互数据处理方法及装置 | |
CN113656227A (zh) | 一种芯片验证方法、装置、电子设备及存储介质 | |
CN110071822A (zh) | 一种针对5g核心网基础设施的测试装置及测试方法 | |
CN114422010B (zh) | 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
WO2020037475A1 (zh) | 一种调试应用程序的方法及设备 | |
JP2024504393A (ja) | 分散不変データオブジェクトの試験 | |
EP3982268A2 (en) | Chassis simulation method and apparatus, server, storage medium and program product | |
Berger et al. | Does my bft protocol implementation scale? | |
CN111274144B (zh) | 一种基于网络文件***操作字接口的单元测试方法与*** | |
CN115904852B (zh) | 一种用于数据处理器的自动化测试方法、设备及介质 | |
WO2014000299A1 (zh) | 串口重定向处理方法、设备和*** | |
CN116611375A (zh) | 软硬件协同仿真平台及软硬件测试方法 | |
Hine et al. | Scalable emulation of enterprise systems | |
CN116306479A (zh) | 基于uvm的以太网phy通用验证平台及验证方法 | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、***及主板芯片 | |
CN116320052B (zh) | 用于通用验证方法学验证平台的网络报文自动生成方法 | |
US7702764B1 (en) | System and method for testing network protocols |
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 |