WO2025124183A1 - 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 - Google Patents
加速智能网卡芯片验证定位的软硬件协同仿真验证平台 Download PDFInfo
- Publication number
- WO2025124183A1 WO2025124183A1 PCT/CN2024/136019 CN2024136019W WO2025124183A1 WO 2025124183 A1 WO2025124183 A1 WO 2025124183A1 CN 2024136019 W CN2024136019 W CN 2024136019W WO 2025124183 A1 WO2025124183 A1 WO 2025124183A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- verification
- simulation
- network
- host
- hardware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present application belongs to the field of chip verification technology, and in particular, relates to a hardware-software collaborative simulation verification platform for accelerating the verification and positioning of smart network card chips.
- Smart NIC chips integrate Ethernet interfaces, PCIe (Peripheral Component Interconnect Express) bus interfaces, multi-core processors (CPUs), and optional field programmable gate arrays (FPGAs). They are mainly used to assist host servers to achieve virtual switching acceleration, network offload acceleration, storage acceleration, and security acceleration, and are used in cloud computing network virtualization solutions.
- the chip development cycle includes functional requirement specification formulation, architecture design, code design, UVM (Universal Verification Methodology) functional simulation verification, FPGA prototype verification, software development and testing, and chip post-silicon product application testing.
- UVM functional simulation verification and FPGA prototype verification take up most of the development cycle. Therefore, accelerating chip verification convergence means shortening the chip development cycle and improving chip product quality.
- the verification environment platform can enter any place of DUT (Design Under Test) that needs to be verified, generate sufficiently accurate data packets at a specific time, and perform simulation verification.
- the operation of the verification tool can be paused or interrupted at any time.
- the simulation waveform can be opened through the graphical interface and combined with the simulation log to quickly locate the problem, which improves the efficiency of problem location.
- network acceleration mainly includes OVS (Open vSwitch, open source virtual switch) acceleration, TCP offload, Vxlan/GRE tunnel message offload, reliable UDP (User Datagram Protocol), NAT/PAT, RDMA (Remote Direct Memory Access), etc.; storage acceleration includes NVMe-OF (NVMe Over Fabrics), support for local PCIe SSD disks, support for remote NVMe arrays, etc.; security acceleration includes IPSec plus (Internet Protocol Security) decryption offload, message filtering, firewall, DPI, DDoS, etc.
- OVS Open vSwitch, open source virtual switch
- TCP offload Vxlan/GRE tunnel message offload
- reliable UDP User Datagram Protocol
- NAT/PAT NAT/PAT
- RDMA Remote Direct Memory Access
- storage acceleration includes NVMe-OF (NVMe Over Fabrics), support for local PCIe SSD disks, support for remote NVMe arrays, etc.
- security acceleration includes IPSec plus
- the hardware simulation speed is very fast. Using FPGA hardware simulation can improve the verification speed and shorten the verification time;
- the purpose of this application is to provide a hardware-software collaborative simulation verification platform that accelerates the verification and positioning of smart network card chips, thereby improving the problem location speed, improving the chip verification efficiency, shortening the overall chip development cycle, and improving the chip quality.
- the host-side thread adapter implements the interaction between the UVM SystemVerilog program and the C program of the host-side QEMU virtual machine through the DPI-C interface.
- the UVM verification platform includes a global environment configuration, an APP component, a MAC simulation model, a DDR simulation model, a reference model, a scoreboard, and an instantiated design under test (DUT).
- a global environment configuration an APP component, a MAC simulation model, a DDR simulation model, a reference model, a scoreboard, and an instantiated design under test (DUT).
- the network-side data stream adapter implements data type conversion of Ethernet messages received and sent by the UVM verification platform through a DPI-C interface.
- the network side data packet transceiver is further used to encapsulate the Ethernet message according to the control address, payload, data packet length and data packet type.
- the network-side data packet transceiver is further used to inject various abnormal Ethernet messages to generate damaged Ethernet data messages and perform a network abnormal message sending and receiving test.
- the network-side data packet transceiver performs a message legitimacy check on the Ethernet message returned by the network-side data stream adapter, and performs the following processing according to the check result: message reception, discarding or replying.
- simulation waveforms and simulation logs generated by the host-side QEMU virtual machine, UVM verification platform and network-side data packet transceiver are used to open the waveforms and the design code of the design DUT to be tested through a graphical interface tool, and combined with the simulation logs, scenario problems in FPGA prototype verification are located.
- the driver software can run directly on the hardware-software co-simulation platform.
- the software driver can be used directly on the UVM functional simulation verification platform to reduce the repeated development of the driver software.
- the simulation stimulus source is not limited to the traditional UVM verification platform, and it can simulate various network, storage, and security acceleration scenarios more realistically, which not only reduces repeated driver development, but also improves the coverage of test scenarios, thereby improving the verification quality.
- Software drivers can be used directly on the UVM functional simulation verification platform to reduce the repeated development of driver software.
- the simulation stimulus source is not limited to the traditional UVM verification platform, and can more realistically simulate various network, storage, and security acceleration scenarios, which not only reduces repeated driver development, but also improves the coverage of test scenarios, thereby improving verification quality.
- FIG1 is a structural diagram of a hardware-software co-simulation verification platform for accelerating verification and positioning of a smart network card chip according to an embodiment of the present application
- FIG. 3 is a schematic diagram of data flow of a hardware-software co-simulation platform in a problem reproduction process of a smart network card chip system verifying a network message sending scenario according to an embodiment of the present application;
- FIG4 is a data flow diagram of a hardware-software collaborative simulation platform in the problem reproduction process of a network message receiving scenario for verification of a smart network card chip system according to an embodiment of the present application.
- installed should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements.
- installed should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements.
- UVM It is a verification platform development framework based on the SystemVerilog class library. Its reusable components can be used to build a functional verification environment with standardized hierarchical structures and interfaces.
- QEMU Quality EMUlator
- QEMU uses a virtualization simulator implemented purely by software and can simulate almost any hardware device.
- PCIe Peripheral Component Interconnect express
- PCIe Peripheral Component Interconnect express
- the connected devices are allocated exclusive channel bandwidth and do not share bus bandwidth. It mainly supports active power management, error reporting, end-to-end reliable transmission, hot plugging, and quality of service (QOS) and other functions.
- QOS quality of service
- DDR Double Data Rate SDRAM
- DDR Double Data Rate SDRAM
- double data rate synchronous dynamic random access memory transmits data twice in one clock cycle. It can transmit data once during the rising period and once during the falling period of the clock.
- MAC Media Access Control
- Physical addressing is defined here, as is the logical topology (the path that the signal takes through the physical topology). Line control, error notification (uncorrected), frame delivery order, and optional flow control are also implemented in this sublayer.
- the present application proposes a hardware-software collaborative simulation verification platform for accelerating the verification and positioning of smart network card chips, including: a host-side QEMU virtual machine 100, a host-side thread adapter 200, a UVM verification platform 300, a network-side data stream adapter 400 and a network-side data packet transceiver 500.
- the host-side QEMU virtual machine 100 is used to simulate hardware devices, issue IO requests, respond to IO requests, and call device drivers to implement driver execution of the host-side hardware devices.
- the host-side QEMU virtual machine 100 determines the test scenario for FPGA prototype verification. For example, hot-swap storage with streaming, number of hanging disks, IO size, number of plug-ins, where errors occur, etc. Then the host-side QEMU virtual machine 100 is started.
- the host-side QEMU virtual machine 100 simulates various hardware devices through QEMU software.
- the host-side QEMU virtual machine 100 simulates IO requests issued to the front-end driver of the hardware device.
- the host-side QEMU virtual machine 100 implements back-end processing and responds to IO requests.
- the hardware devices include virtio-blk, virtio-net and other devices.
- the host-side QEMU virtual machine 100 sends IO requests to the front-end drivers of the virtio-blk and virtio-net devices, and QEMU implements a back-end processing program to respond to the IO requests.
- the host-side QEMU virtual machine 100 can also start by directly calling the device driver (device driver) through the QEMU virtual machine to implement the driver execution of the host-side hardware devices, such as Virtio devices.
- device driver device driver
- the host-side thread adapter 200 (Thread Adapter is used for inter-process communication, converting the multi-threaded processing program of the host-side QEMU virtual machine 100 into a single-threaded processing program suitable for processing by the UVM verification platform 300, thereby realizing the interactive communication between the host-side QEMU virtual machine 100 and the UVM verification platform 300.
- the host-side thread adapter 200 implements the interaction between the UVM SystemVerilog program and the QEMU virtual machine C program through the DPI-C (Direct Programming Interface) interface, thereby realizing the interactive communication between the host-side QEMU virtual machine 100 and the UVM verification platform 300.
- DPI-C Direct Programming Interface
- the UVM verification platform 300 is used to perform simulation reproduction of the FPGA prototype verification of the smart network card chip according to the Ethernet message sent from the network side data stream adapter 400, generate simulation waveforms and simulation logs, and send them to the network side data stream adapter 400 in the form of Ethernet messages.
- the UVM verification platform 300 includes a global environment configuration, an APP component, a MAC simulation model, a DDR simulation model, a reference model, a scoreboard, and an instantiated design under test (DUT).
- the network-side data stream adapter 400 (Data Streaming Adapter) converts the data type of the Ethernet message received from the network-side data packet transceiver 500 through the DPI-C interface, and sends the converted data to the UVM verification platform 300; and converts the data type of the Ethernet message returned by the UVM verification platform 300 through the DPI-C interface, and sends the converted data to the network-side data packet transceiver 500.
- Data Streaming Adapter converts the data type of the Ethernet message received from the network-side data packet transceiver 500 through the DPI-C interface, and sends the converted data to the UVM verification platform 300; and converts the data type of the Ethernet message returned by the UVM verification platform 300 through the DPI-C interface, and sends the converted data to the network-side data packet transceiver 500.
- the network side packet transceiver 500 (Packet Generator) is used to simulate and generate Ethernet packets, encapsulate Ethernet data packets by controlling the address, payload, packet length, packet type, etc., send Ethernet packets to the network side data stream adapter 400 in the message format and data structure specified by the TCP/IP (Transmission Control Protocol/Internet Protocol), and perform a message legitimacy check on the Ethernet packets returned by the network side data stream adapter 400.
- TCP/IP Transmission Control Protocol/Internet Protocol
- the simulation waveforms and simulation logs generated by dynamic simulation of the EDA (Electronic Design Automation) simulation tool the scenario problems in the FPGA prototype verification are reproduced and located, and corrections and regression tests are performed, and regression tests are performed on the FPGA prototype verification.
- the network-side data packet transceiver 500 is also used to inject various abnormal Ethernet messages, generate damaged Ethernet data messages, and perform network abnormal message sending and receiving tests.
- the network side data packet transceiver 500 performs a message legitimacy check on the Ethernet message returned by the network side data stream adapter 400 according to the data format specified by the TCP/IP protocol, and performs the following processing according to the check result: message reception, discarding or replying.
- the simulation waveforms and simulation logs generated by the host-side QEMU virtual machine 100, the UVM verification platform 300 and the network-side data packet transceiver 500 are used to open the waveforms and the design code of the design DUT to be tested through a graphical interface tool, and combined with the simulation logs, the scenario problems in the FPGA prototype verification are located.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台,属于芯片验证技术领域,该平台包括:主机侧QEMU虚拟机模拟硬件设备,发出IO请求、响应IO请求,并且调用设备驱动程序,实现主机侧硬件设备的驱动执行;主机侧线程适配器将主机侧QEMU虚拟机的多线程处理程序转化为单线程处理程序;UVM验证平台进行智能网卡芯片的FPGA原型验证的仿真复现,生成仿真波形与仿真日志;网络侧数据流适配器将以太网报文进行数据类型转换;网络侧数据包收发器对网络侧数据流适配器返回的以太网报文进行报文合法性检查。本申请的平台,可以提高问题定位速度和芯片验证效率,缩短整体芯片开发周期,提高了芯片质量。
Description
相关申请的交叉引用
本申请要求在2023年12月12日提交中国专利局、申请号为202311704639.3、发明名称为“加速智能网卡芯片验证定位的软硬件协同仿真验证平台”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于芯片验证技术领域,尤其涉及一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台。
智能网卡(Smart NIC)芯片集成以太网接口、PCIe(Peripheral Component Interconnect Express)总线接口、多核处理器(CPU)、可选现场可编程门阵列(FPGA),主要用于协助主机服务器,实现虚拟交换加速、网络卸载加速、存储加速和安全加速等功能,应用于云计算网络虚拟化解决方案中。芯片开发周期包括功能需求规格制定、架构设计、代码设计、UVM(Universal Verification Methodology,通用验证方法)功能仿真验证、FPGA原型验证、软件开发和测试、芯片硅后产品应用测试等多个阶段。
UVM功能仿真验证与FPGA原型验证,占用了开发周期的大部分时间,所以,加快芯片验证收敛,意味着可以缩短芯片开发周期,还可以提高芯片产品质量。
(1)UVM功能仿真验证
UVM功能仿真验证的优点在于:
1、编译与仿真速度快,特别是模块级的功能验证,功能仿真工具的编译速度和仿真速度较快,这在一定程度上会加快本申请整体项目的验证速度;
2、问题定位方便,验证环境平台可以进入到DUT(Design Under Test,待测设计)的任何一个需要被验证的地方,在特定时刻产生足够精确的数据包,进行仿真验证,可以随时暂停或者中断验证工具的运行,还可以通过图形化界面打开仿真波形,结合仿真日志,快速进行问题定位,提高了问题定位的效率。
UVM功能仿真验证的缺点在于:
1、DUT规模较大时,仿真性能急速下降,当DUT设计规模比较大时,系统级功能仿真速度会变得很慢,验证速度会大打折扣,进而影响整体项目的验证速度;
2、激励源模拟有限,基于约束的随机仿真,有助于覆盖较低抽象层,包括设计的系统级行为的极端情况,但在模拟软件事务驱动方面,特别是智能网卡,涉及网络加速、存储加速、安全加速等业务功能,其中,网络加速主要包括了OVS(Open vSwitch,开源的虚拟交换机)加速、TCP卸载、Vxlan/GRE隧道报文卸载、可靠UDP(User Datagram Protocol,是用户数据报协议)、NAT/PAT、RDMA(Remote Direct Memory Access的缩写,远程直接内存访问)等;存储加速包括NVMe-OF(NVMe Over Fabrics)、支持本地PCIe SSD盘、支持远端NVMe阵列等;安全加速包括IPSec加(Internet Protocol Security,互联网安全协议)解密的卸载、报文过滤、防火墙、DPI、DDoS等。这些业务所使用到的软件驱动,包括OVS虚拟交换、SDN/NFV虚拟化标准软件、TCP/UDP卸载、SR-IOV(Single Root I/O Virtualzation)、LinuxNet/DPDK(Intel Data Plane Development Kit)、Express Virtio(XVIO)、vPDA等,如此复杂的功能业务与软件驱动,功能仿真模拟与真实软件运行还存在差距,会由于应用场景模拟不充分,导致bug遗漏,验证质量得不到保证。
FPGA原型验证的主要优点:
1、硬件仿真速度特别快,利用FPGA硬件仿真,可以提高验证速度,缩短验证的时间;
2、提前进行软件开发测试,软件工程师可以提前在FPGA原型平台上进行软件驱动和应用开发,当芯片回来后,只需要数周的时间就可以移植软硬件,从而加速产品的发布。
FPGA原型验证的主要缺点:
1、编译时间比较长,由于硬件仿真需要对设计文件进行逻辑综合并且把综合的结果对应到真实的硬件电路上去进行仿真加速,而对于基于软件的功能仿真却并不需要逻辑综合生成物理电路,这就使得它的编译时间相对功能仿真会很长;
2、问题定位不方便,FPGA也是芯片产品,所以内部的信号无法直接观测,需要借助于FPGA的Debug工具在生成Bit文件前选取要观察的信号,同时受限于Block RAM(块随机存储器)的容量,只能观察部分信号,每次重新选取观察信号与触发条件,都要重新编译生成Bit文件,调试的效率很低,影响验证效率。这意味着需要投入大量的时间进行问题复现、定位、解决,需要更长的开发周期,芯片的整体产品质量也得不到保障。
综上,传统芯片验证,UVM功能仿真验证,相当于软件仿真验证平台,FPGA原型验证,相当于硬件仿真验证平台。这是两套完全独立的验证平台。在智能网卡芯片这种复杂业务验证中,UVM功能仿真验证不能完全模拟智能网卡所有的业务,FPGA原型验证中发现的问题,在UVM功能仿真验证平台中也很难复现,只能通过不断添加定位逻辑与信号、不断出FPGA版本来定位问题,通过FPGA原型验证平台定位问题的验证方法,定位难度大、需要花费大量的时间与精力,定位效率极低,最终会影响到整个项目的开发周期。
所以如何根据FPGA原型验证发现的问题,在UVM功能仿真平台复现,通过仿真波形与仿真日志,快速定位到DUT设计出错的地方,进行修复解决,从而加速芯片验证收敛,提高验证质量,缩短芯片的整体开发周期,是当前在验证智能网卡芯片需要解决的痛点。
鉴于以上现有技术的不足,本申请的目的在于提供一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台,提高了问题定位速度,提高了芯片验证效率,缩短整体芯片开发周期,提高了芯片质量。
本申请提出了一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台,包括:主机侧QEMU虚拟机、主机侧线程适配器、UVM验证平台、网络侧数据流适配器和网络侧数据包收发器,其中,
所述主机侧QEMU虚拟机用于模拟硬件设备,发出IO请求、响应IO请求,并且调用设备驱动程序,实现主机侧硬件设备的驱动执行;
所述主机侧线程适配器用于进程间通信,将所述主机侧QEMU虚拟机的多线程处理程序,转化为适于所述UVM验证平台处理的单线程处理程序,实现所述主机侧QEMU虚拟机与所述UVM验证平台的交互通信;
所述UVM验证平台用于根据来自所述网络侧数据流适配器发送的以太网报文进行智能网卡芯片的FPGA原型验证的仿真复现,生成仿真波形与仿真日志,并通过以太网报文形式发送至所述网络侧数据流适配器;
所述网络侧数据流适配器将接收到的来自所述网络侧数据包收发器产生的以太网报文进行数据类型转换,将转换的数据发送至所述UVM验证平台;并且将所述UVM验证平台返回的以太网报文进行数据类型转换,将转换的数据发送至所述网络侧数据包收发器;
所述网络侧数据包收发器用于模拟并产生以太网报文,以TCP/IP协议规定的报文格式和数据结构向所述网络侧数据流适配器发送所述以太网报文,并对所述网络侧数据流适配器返回的以太网报文进行报文合法性检查;根据EDA仿真工具动态仿真产生的仿真波形和仿真日志,对FPGA原型验证中的场景问题进行复现、定位,并进行修正与回归测试,在FPGA原型验证上进行回归测试。
可选地,所述主机侧QEMU虚拟机模拟对硬件设备前端驱动发出的IO请求,主机侧QEMU虚拟机实现后端处理,对IO请求进行响应处理。
可选地,所述主机侧线程适配器通过DPI-C接口实现UVM SystemVerilog程序与所述主机侧QEMU虚拟机的C程序交互。
可选地,所述主机侧QEMU虚拟机调用设备驱动程序,对主机系统与待测设计DUT进行初始化,包括主机侧系统内存管理与分配、PCIe驱动、Virtio驱动和OVS驱动,通过调用智能网卡相关驱动对待测设计DUT初始配置。
可选地,所述UVM验证平台包括全局环境配置、APP组件、MAC仿真模型、DDR仿真模型、参考模型、记分板和实例化待测设计DUT。
可选地,所述网络侧数据流适配器通过DPI-C接口实现与所述UVM验证平台收发的以太网报文进行数据类型转换。
可选地,所述网络侧数据包收发器还用于根据控制地址、有效载荷、数据包长度和数据包类型对以太网报文进行封装。
可选地,所述网络侧数据包收发器还用于注入各种异常以太网报文,产生损坏的以太网数据报文,进行网络异常报文收发测试。
可选地,所述网络侧数据包收发器对所述网络侧数据流适配器返回的以太网报文进行报文合法性检查,根据检查结果进行以下处理:报文接收、丢弃或回复。
可选地,所述主机侧QEMU虚拟机、UVM验证平台和网络侧数据包收发器,产生的仿真波形和仿真日志,通过图形化界面工具打开波形和待测设计DUT的设计代码,并结合仿真日志,对FPGA原型验证中场景问题进行定位。
本申请有益效果如下:
(1)解决UVM功能仿真激励源不足的问题,驱动软件可以直接在软硬件协同仿真平台上运行。软件驱动可以在UVM功能仿真验证平台直接使用,减少驱动软件的重复开发,同时仿真激励源不受限于传统UVM验证平台,更真实地模拟各种网络、存储、安全加速场景,既减少重复的驱动开发,又提高了测试场景覆盖率,从而提高验证质量。
(2)可以在软硬件协同仿真平台上复现FPGA原型验证中发现的问题。通过软硬件协同仿真验证平台,软件驱动程序、应用测试程序,可以直接在UVM功能仿真平台上运行,FPGA原型验证中发现的问题,可以直接在软硬件协同仿真验证平台复现,通过仿真波形与仿真日志,快速进行问题定位并修复DUT设计缺陷,同时在软硬件协同仿真平台与FPGA原型验证平台进行回归测试,从而加速智能网卡芯片验证的问题定位,加速芯片的验证收敛。
(3)通过引入主机侧QEMU虚拟机,实现各种各样的硬件设备的模拟与主机侧硬件设备驱动的执行。
(4)通过软硬件协同仿真验证,提高了问题定位速度,提高了芯片验证效率,缩短整体芯片开发周期,提高了芯片质量。
(5)通过引入主机侧线程适配器,实现多线程程序与单线程处理程序之间的进程间通信,通过DPI-C接口实现UVM SystemVerilog程序与QEMU虚拟机C程序交互,实现多进程与单线程之间通信,进而实现QEMU虚拟机与UVM验证环境的交互通信。
(6)通过引入网络侧数据流适配器,实现网络报文收发的数据类型转换,进而实现网络报文收发器与UVM验证环境的交互通信。
(7)通过引入网络侧数据包收发器,实现以太网报文的模拟产生与接收处理。
(8)软件驱动可以在UVM功能仿真验证平台直接使用,减少驱动软件的重复开发,同时仿真激励源不受限于传统UVM验证平台,更真实地模拟各种网络、存储、安全加速场景,既减少重复的驱动开发,又提高了测试场景覆盖率,从而提高验证质量。
附图仅用于示出具体实施例的目的,而并不认为是对本申请的限制,在整个附图中,相同的参考符号表示相同的部件。显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例的加速智能网卡芯片验证定位的软硬件协同仿真验证平台的结构图;
图2为本申请实施例的加速智能网卡芯片验证定位的软硬件协同仿真验证平台的示意图;
图3为本申请实施例的智能网卡芯片系统验证网络报文发送场景问题复现流程下,软硬件协同仿真平台的数据流示意图;
图4为本申请实施例的智能网卡芯片系统验证网络报文接收场景问题复现流程下,软硬件协同仿真平台的数据流示意图。
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。应该理解,这些描述只是示例性的,并非用于限定本申请的范围。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请公开的概念。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和系统的例子。
本申请的实施例提出了一种加速智能网卡芯片验证问题定位的软硬件协同仿真验证平台与测试方法,通过引入主机侧QEMU虚拟机、主机侧线程适配器、网络侧数据包收发器、网络侧数据流适配器,结合UVM验证平台,构造软硬件协同仿真平台,在软硬件协同仿真平台上复现FPGA原型验证中发现的问题,通过仿真波形与仿真日志,查看DUT内部信号的各种行为,快速定位DUT设计缺陷并修复,从而提高了问题定位速度,提高了芯片验证效率,缩短整体芯片开发周期,提高了芯片质量。
下面对本申请实施例中涉及的技术术语进行说明:
UVM:是一个以SystemVerilog类库为主体的验证平台开发框架,可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。
QEMU(Quick EMUlator),一套模拟处理器软件,QEMU使用纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备。
PCIe(Peripheral Component Interconnect express),一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。
DDR(Double Data Rate SDRAM),双倍速率同步动态随机存储器,一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据。
MAC(Media Access Control),介质访问控制层,定义数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
如图1和图2所示,本申请提出了一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台,包括:主机侧QEMU虚拟机100、主机侧线程适配器200、UVM验证平台300、网络侧数据流适配器400和网络侧数据包收发器500。
主机侧QEMU虚拟机100用于模拟硬件设备,发出IO请求、响应IO请求,并且调用设备驱动程序,实现主机侧硬件设备的驱动执行。
首先确定FPGA原型验证的测试场景。例如,存储带流热插拔,挂盘数量、IO大小、插拔次数,出错的地方等。然后主机侧QEMU虚拟机100启动。主机侧QEMU虚拟机100通过QEMU软件模拟各种各样的硬件设备,主机侧QEMU虚拟机100模拟对硬件设备前端驱动发出的IO请求,主机侧QEMU虚拟机100实现后端处理,对IO请求进行响应处理。
硬件设备例如为virtio-blk、virtio-net等设备,主机侧QEMU虚拟机100对virtio-blk、virtio-net设备前端(frondend)驱动发出的IO请求,QEMU实现后端处理程序(backend),对IO请求进行响应处理。
主机侧QEMU虚拟机100启动也可以通过QEMU虚拟机直接调用设备驱动程序(device driver),实现主机侧硬件设备,比如Virtio设备的驱动执行。
主机侧线程适配器200(Thread Adapter用于进程间通信,将主机侧QEMU虚拟机100的多线程处理程序,转化为适于UVM验证平台300处理的单线程处理程序,实现主机侧QEMU虚拟机100与UVM验证平台300的交互通信。
具体来说,主机侧线程适配器200通过DPI-C(Direct Programming Interface)接口实现UVM SystemVerilog程序与QEMU虚拟机C程序交互,进而实现主机侧QEMU虚拟机100与UVM验证平台300的交互通信。
UVM验证平台300用于根据来自网络侧数据流适配器400发送的以太网报文进行智能网卡芯片的FPGA原型验证的仿真复现,生成仿真波形与仿真日志,并通过以太网报文形式发送至网络侧数据流适配器400。
在本申请的实施例中UVM验证平台300包括全局环境配置、APP组件、MAC仿真模型、DDR仿真模型、参考模型、记分板和实例化待测设计DUT等。
网络侧数据流适配器400(Data Streaming Adapter)将接收到的来自网络侧数据包收发器500产生的以太网报文,通过DPI-C接口进行数据类型转换,将转换的数据发送至UVM验证平台300;并且将UVM验证平台300返回的以太网报文通过DPI-C接口进行数据类型转换,将转换的数据发送至网络侧数据包收发器500。
网络侧数据包收发器500(Packet Generator)用于模拟并产生以太网报文,通过控制地址,有效载荷,数据包长度,数据包类型等来封装以太网数据报文,以TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)协议规定的报文格式和数据结构向网络侧数据流适配器400发送以太网报文,并对网络侧数据流适配器400返回的以太网报文进行报文合法性检查,根据EDA(Electronic Design Automation)仿真工具动态仿真产生的仿真波形和仿真日志,对FPGA原型验证中的场景问题进行复现、定位,并进行修正与回归测试,在FPGA原型验证上进行回归测试。
此外,网络侧数据包收发器500还用于注入各种异常以太网报文,产生损坏的以太网数据报文,进行网络异常报文收发测试。
在本申请的实施例中,网络侧数据包收发器500依据TCP/IP协议规定的数据格式对网络侧数据流适配器400返回的以太网报文进行报文合法性检查。根据检查结果进行以下处理:报文接收、丢弃或回复。
主机侧QEMU虚拟机100、UVM验证平台300和网络侧数据包收发器500,产生的仿真波形和仿真日志,通过图形化界面工具打开波形和待测设计DUT的设计代码,并结合仿真日志,对FPGA原型验证中场景问题进行定位。
本申请实施例的加速智能网卡芯片验证定位的软硬件协同仿真验证平台进行问题复现测试,主要流程为:首先启动QEMU,等待其远程端口(RP)上的连接;启动仿真器,仿真器可以是VCS,IRUN/Xcelium,ModelSim/QuestaSim等主流仿真器,仿真器将开始编译DUT设计代码、UVM验证环境代码,编译后准备开始仿真;将QEMU虚拟机与仿真器连接,QEMU启动和加载Linux内核;QEMU调用系统相关驱动程序与应用程序;网络报文收发器接收或发送网络报文;仿真器运行仿真,生成仿真波形与仿真日志;结束仿真,通过图形化界面工具(Verdi)打开波形、设计代码,结合仿真日志,进行问题定位。
下面参考图3对本申请实施例的智能网卡芯片系统验证网络报文发送场景问题复现流程进行说明。
a)首先启动QEMU,等待其远程端口(RP)上的连接。
b)启动仿真器,这里以VCS仿真器为例,VCS仿真器将开始编译DUT设计代码、UVM验证环境代码,编译后准备开始仿真。
c)将QEMU虚拟机与仿真器连接,QEMU启动和加载Linux内核。
d)仿真器开始运行仿真,生成仿真波形与仿真日志。
e)QEMU首先调用系统相关驱动程序,对主机系统与DUT进行初始化,包括主机侧系统内存管理与分配、PCIe驱动、Virtio驱动、OVS驱动等,通过调用智能网卡相关驱动对DUT初始配置。
f)初始化DUT后,QEMU调用iperf应用程序,进行网络TCP或者UDP网络报文发送。
g)线程适配器将QEMU下发的DUT初始化配置与网络报文发送多线程处理请求,转化为UVM验证环境能够处理的单线程处理请求,发送给app driver。
h)App driver将线程适配器下发的请求,转换为DUT能够识别的接口时序。
i)DUT根据QEMU下发的驱动配置与应用程序,进行一系列相关操作,包括模式初始化、读取主机侧内存中各种初始化好的描述符、根据描述符读取需要发送的数据,更新描述符、回写相关状态到主机侧、上报中断等,最后将网络报文通过MAC口发送给mac agent。
j)mac agent中的monitor将接收的网络报文发给网络侧数据流适配器400,数据流适配器将接收的网络报文,通过DPI-C接口,进行数据类型转换,处理后传递到网络报文收发器。
k)网络报文收发器将接收到的网络报文,进行合法性检查,并做相应的处理,包括报文接收、丢弃、回复等处理。
l)结束仿真,通过图形化界面工具(Verdi)打开波形、DUT设计代码,结合仿真日志,进行问题定位。
下面参考图4对本申请实施例的智能网卡芯片系统验证网络报文接收场景问题复现流程进行说明。
a)首先启动QEMU,等待其远程端口(RP)上的连接。
b)启动仿真器,这里以VCS仿真器为例,VCS仿真器将开始编译DUT设计代码、UVM验证环境代码,编译后准备开始仿真。
c)将QEMU虚拟机与仿真器连接,QEMU启动和加载Linux内核。
d)仿真器开始运行仿真,生成仿真波形与仿真日志。
e)QEMU首先调用系统相关驱动程序,对主机系统与DUT进行初始化,包括主机侧系统内存管理与分配、PCIe驱动、Virtio驱动、OVS驱动等,通过调用智能网卡相关驱动对DUT初始配置。
f)线程适配器将QEMU下发的DUT初始化配置多线程处理请求,转化为UVM验证环境能够处理的单线程处理请求,发送给app driver。
g)App driver将线程适配器下发的请求,转换为DUT能够识别的接口时序。
h)DUT根据QEMU下发的驱动配置与应用程序,进行一系列相关操作,包括模式初始化、读取主机侧内存中各种初始化好的描述符,进行预取描述符,更新描述符、回写相关状态到主机侧、上报中断等。
i)网络侧数据包收发器500模拟并产生以太网报文,通过控制地址,有效载荷,数据包长度,数据包类型等来定义以太网数据报文,以固定的格式与数据结构发送给网络侧数据流适配器400。
j)数据流适配器将接收的网络报文,通过DPI-C接口,进行数据类型转换,处理后发送给mac driver。
k)mac driver将数据流适配器下发的请求,转换为DUT能够识别的接口时序。
l)DUT将接收到网络报文,经过相关处理后,发送给app agent。
m)app agent中的monitor将接收的网络报文发给线程适配器,线程适配器将接收的网络报文,通过DPI-C接口,进行数据类型转换,处理后传递到QEMU。
n)QEMU将接收到的网络报文,进行合法性检查,并做相应的处理,包括报文接收、丢弃、回复等处理。
o)结束仿真,通过图形化界面工具(Verdi)打开波形、DUT设计代码,结合仿真日志,进行问题定位。
本申请实施例的加速智能网卡芯片验证定位的软硬件协同仿真验证平台与测试方法,将软件驱动直接在UVM功能验证平台上运行,采用软硬协同仿真方式,快速复现FPGA原型验证中发现的问题,通过引入主机侧QEMU虚拟机、主机侧线程适配器、网络侧数据包收发器、网络侧数据流适配器,结合UVM验证平台,构建软硬件协同仿真验证平台。本申请除了可以直接应用于智能网卡芯片验证项目中,还可以在不同的芯片验证项目中使用,包括GPU、智能AI芯片的验证,可以显著加速芯片验证的问题定位,从而加速芯片的验证收敛。
根据本申请实施例的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,具有以下有益效果:
(1)解决UVM功能仿真激励源不足的问题,驱动软件可以直接在软硬件协同仿真平台上运行。软件驱动可以在UVM功能仿真验证平台直接使用,减少驱动软件的重复开发,同时仿真激励源不受限于传统UVM验证平台,更真实地模拟各种网络、存储、安全加速场景,既减少重复的驱动开发,又提高了测试场景覆盖率,从而提高验证质量。
(2)可以在软硬件协同仿真平台上复现FPGA原型验证中发现的问题。通过软硬件协同仿真验证平台,软件驱动程序、应用测试程序,可以直接在UVM功能仿真平台上运行,FPGA原型验证中发现的问题,可以直接在软硬件协同仿真验证平台复现,通过仿真波形与仿真日志,快速进行问题定位并修复DUT设计缺陷,同时在软硬件协同仿真平台与FPGA原型验证平台进行回归测试,从而加速智能网卡芯片验证的问题定位,加速芯片的验证收敛。
(3)通过引入主机侧QEMU虚拟机,实现各种各样的硬件设备的模拟与主机侧硬件设备驱动的执行。
(4)通过软硬件协同仿真验证,提高了问题定位速度,提高了芯片验证效率,缩短整体芯片开发周期,提高了芯片质量。
(5)通过引入主机侧线程适配器,实现多线程程序与单线程处理程序之间的进程间通信,通过DPI-C接口实现UVM SystemVerilog程序与QEMU虚拟机C程序交互,实现多进程与单线程之间通信,进而实现QEMU虚拟机与UVM验证环境的交互通信。
(6)通过引入网络侧数据流适配器,实现网络报文收发的数据类型转换,进而实现网络报文收发器与UVM验证环境的交互通信。
(7)通过引入网络侧数据包收发器,实现以太网报文的模拟产生与接收处理。
(8)软件驱动可以在UVM功能仿真验证平台直接使用,减少驱动软件的重复开发,同时仿真激励源不受限于传统UVM验证平台,更真实地模拟各种网络、存储、安全加速场景,既减少重复的驱动开发,又提高了测试场景覆盖率,从而提高验证质量。
最后应说明的是,以上实施例仅用以说明本申请实施例的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,任何熟悉本技术领域的技术人员在本申请公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
- 一种加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,包括:主机侧QEMU虚拟机、主机侧线程适配器、UVM验证平台、网络侧数据流适配器和网络侧数据包收发器,其中,所述主机侧QEMU虚拟机用于模拟硬件设备,发出IO请求、响应IO请求,并且调用设备驱动程序,实现主机侧硬件设备的驱动执行;所述主机侧线程适配器用于进程间通信,将所述主机侧QEMU虚拟机的多线程处理程序,转化为适于所述UVM验证平台处理的单线程处理程序,实现所述主机侧QEMU虚拟机与所述UVM验证平台的交互通信;所述UVM验证平台用于根据来自所述网络侧数据流适配器发送的以太网报文进行智能网卡芯片的FPGA原型验证的仿真复现,生成仿真波形与仿真日志,并通过以太网报文形式发送至所述网络侧数据流适配器;所述网络侧数据流适配器将接收到的来自所述网络侧数据包收发器产生的以太网报文进行数据类型转换,将转换的数据发送至所述UVM验证平台;并且将所述UVM验证平台返回的以太网报文进行数据类型转换,将转换的数据发送至所述网络侧数据包收发器;所述网络侧数据包收发器用于模拟并产生以太网报文,以TCP/IP协议规定的报文格式和数据结构向所述网络侧数据流适配器发送所述以太网报文,并对所述网络侧数据流适配器返回的以太网报文进行报文合法性检查,根据EDA仿真工具动态仿真产生的仿真波形和仿真日志,对FPGA原型验证中的场景问题进行复现、定位,并进行修正与回归测试,在FPGA原型验证上进行回归测试。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述主机侧QEMU虚拟机模拟对硬件设备前端驱动发出的IO请求,主机侧QEMU虚拟机实现后端处理,对IO请求进行响应处理。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述主机侧线程适配器通过DPI-C接口实现UVM SystemVerilog程序与所述主机侧QEMU虚拟机的C程序交互。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述主机侧QEMU虚拟机调用设备驱动程序,对主机系统与待测设计DUT进行初始化,包括主机侧系统内存管理与分配、PCIe驱动、Virtio驱动和OVS驱动,通过调用智能网卡相关驱动对待测设计DUT初始配置。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述UVM验证平台包括全局环境配置、APP组件、MAC仿真模型、DDR仿真模型、参考模型、记分板和实例化待测设计DUT。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述网络侧数据流适配器通过DPI-C接口实现与所述UVM验证平台收发的以太网报文进行数据类型转换。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述网络侧数据包收发器还用于根据控制地址、有效载荷、数据包长度和数据包类型对以太网报文进行封装。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述网络侧数据包收发器还用于注入各种异常以太网报文,产生损坏的以太网数据报文,进行网络异常报文收发测试。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述网络侧数据包收发器对所述网络侧数据流适配器返回的以太网报文进行报文合法性检查,根据检查结果进行以下处理:报文接收、丢弃或回复。
- 根据权利要求1所述的加速智能网卡芯片验证定位的软硬件协同仿真验证平台,其特征在于,所述主机侧QEMU虚拟机、UVM验证平台和网络侧数据包收发器,产生的仿真波形和仿真日志,通过图形化界面工具打开波形和待测设计DUT的设计代码,并结合仿真日志,对FPGA原型验证中场景问题进行定位。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311704639.3 | 2023-12-12 | ||
| CN202311704639.3A CN117875256B (zh) | 2023-12-12 | 2023-12-12 | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025124183A1 true WO2025124183A1 (zh) | 2025-06-19 |
Family
ID=90593682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/136019 Pending WO2025124183A1 (zh) | 2023-12-12 | 2024-12-02 | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117875256B (zh) |
| WO (1) | WO2025124183A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120692189A (zh) * | 2025-08-22 | 2025-09-23 | 苏州元脑智能科技有限公司 | 网卡稳定性测试方法、电子设备、存储介质及程序产品 |
| CN121547397A (zh) * | 2026-01-20 | 2026-02-17 | 格通智联技术(上海)有限公司 | 用于芯片重传功能的多场景动态验证装置及方法 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117875256B (zh) * | 2023-12-12 | 2025-07-29 | 天翼云科技有限公司 | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 |
| CN119621502B (zh) * | 2024-11-07 | 2025-10-28 | 深圳云豹智能股份有限公司 | 一种带rdma网卡前后端仿真实现方法、系统、设备及存储介质 |
| CN120256230B (zh) * | 2025-06-05 | 2025-09-16 | 上海芯力基半导体有限公司 | 基于多层架构的虚拟化硬件验证方法及验证系统 |
| CN120881177B (zh) * | 2025-09-24 | 2026-01-23 | 中移(苏州)软件技术有限公司 | 一种通信方法、装置及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
| US20180364304A1 (en) * | 2017-06-14 | 2018-12-20 | Sandisk Technologies Llc | Stimulus generation for component-level verification |
| CN116681013A (zh) * | 2023-08-01 | 2023-09-01 | 无锡沐创集成电路设计有限公司 | 网络芯片的仿真验证方法、平台、装置、设备及介质 |
| CN117875256A (zh) * | 2023-12-12 | 2024-04-12 | 天翼云科技有限公司 | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10664563B2 (en) * | 2017-04-02 | 2020-05-26 | Mentor Graphics Corporation | Concurrent testbench and software driven verification |
-
2023
- 2023-12-12 CN CN202311704639.3A patent/CN117875256B/zh active Active
-
2024
- 2024-12-02 WO PCT/CN2024/136019 patent/WO2025124183A1/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180364304A1 (en) * | 2017-06-14 | 2018-12-20 | Sandisk Technologies Llc | Stimulus generation for component-level verification |
| CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
| CN116681013A (zh) * | 2023-08-01 | 2023-09-01 | 无锡沐创集成电路设计有限公司 | 网络芯片的仿真验证方法、平台、装置、设备及介质 |
| CN117875256A (zh) * | 2023-12-12 | 2024-04-12 | 天翼云科技有限公司 | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 |
Non-Patent Citations (1)
| Title |
|---|
| DENG RUI, YU HONG, MO ZHANGJIE, YUE TIANTIAN, AND WANG DANYU: "Design and Implementation of a Hardware-Software Co-Verification Platform for SoC Chips Based on the Cortex-M3 Core", DIGITAL TECHNOLOGY & APPLICATION, vol. 41, no. 6, 25 June 2023 (2023-06-25), CN, pages 197 - 199, XP093322858, ISSN: 1007-9416, DOI: 10.19695/j.cnki.cn12-1369.2023.06.62 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120692189A (zh) * | 2025-08-22 | 2025-09-23 | 苏州元脑智能科技有限公司 | 网卡稳定性测试方法、电子设备、存储介质及程序产品 |
| CN121547397A (zh) * | 2026-01-20 | 2026-02-17 | 格通智联技术(上海)有限公司 | 用于芯片重传功能的多场景动态验证装置及方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117875256B (zh) | 2025-07-29 |
| CN117875256A (zh) | 2024-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117875256B (zh) | 加速智能网卡芯片验证定位的软硬件协同仿真验证平台 | |
| CN114818599B (zh) | 芯片仿真验证系统 | |
| CN115146568B (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
| CN114036013B (zh) | 一种基于uvm的应答器芯片多模块同步验证平台和验证方法 | |
| US10521544B2 (en) | Traffic shaping in networking system-on-chip verification | |
| CN102508753B (zh) | Ip核验证系统 | |
| CN104965750B (zh) | 基于Python语言的Rapidio切换器逻辑仿真验证平台及方法 | |
| CN116028292B (zh) | 用于远程直接内存访问仿真验证的仿真验证系统及方法 | |
| CN103235756A (zh) | 一种面向嵌入式系统分区应用程序软件的仿真测试方法 | |
| CN117806892B (zh) | 存储芯片模型测试方法、装置、通信设备及存储介质 | |
| CN117785593B (zh) | 一种基于UVM的xHCI驱动的实现系统及方法 | |
| WO2024130861A1 (zh) | 一种云原生的硬件逻辑仿真fpga加速方法及系统 | |
| CN116414526A (zh) | 一种基于虚拟机的仿真装置和方法 | |
| CN116225992A (zh) | 一种支持虚拟化仿真设备的NVMe验证平台及方法 | |
| CN114428702A (zh) | 含有通用接口模块的信息物理测试系统 | |
| CN119201357B (zh) | 计算机系统 | |
| CN110263459B (zh) | 一种基于测试序列分析的uvm验证加速方法 | |
| CN119621502B (zh) | 一种带rdma网卡前后端仿真实现方法、系统、设备及存储介质 | |
| Werthmann et al. | VMSimInt: a network simulation tool supporting integration of arbitrary kernels and applications. | |
| Cho et al. | A full-system vm-hdl co-simulation framework for servers with pcie-connected fpgas | |
| CN112231160A (zh) | Fpga板动态调试方法及fpga板动态调试装置 | |
| Osman | Emulating the Internet of Things with QEMU | |
| CN116611375A (zh) | 软硬件协同仿真平台及软硬件测试方法 | |
| CN118312366A (zh) | 用于片上系统或者封装上系统的调试、可生存性和内场测试的技术 | |
| CN119814581B (zh) | 一种系统级验证收敛系统、方法和产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24902604 Country of ref document: EP Kind code of ref document: A1 |