RDMA设计37:RoCE v2 子系统模型设计

本博文主要交流设计思路,在本博客已给出相关博文160多篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。

RoCE v2 子系统模型是用来模拟 RoCE v2 功能仿真模型。在 RoCE v2 协议中,本地主机与远程主机之间往往需要进行复杂的指令、信息、数据交互,使得在进行仿真验证时如何模拟复杂网络环境成为一个急需解决的问题。

因此,本IP设计了一个RoCE v2 子系统模型并将其整合到验证平台中,使得 RoCE v2 高速数据传输系统能够进行复杂网络环境下的仿真验证。RoCE v2 子系统模型包含两个 AXIS 总线接口、一个虚拟内存管理器、一对输入输出缓冲、五个处理单元及一个 CM 管理器。

RoCE v2 子系统模型结构如图 所示。

1 所示:

图1 RoCE v2 子系统模型结构如图

AXIS 总线接口及输入输出缓冲:用于从 DUT 的 AXIS 总线接口接收网络数据包或向 DUT 的 AXIS 总线接口发送数据包。当接收到数据包时,将数据包存放到输入缓冲内并判断其操作类型,而后根据不同的操作类型将数据包分发到 CM 管理器或不同的包处理单元中。当需要发送数据包时,将数据包存放到输出缓冲中,输出缓冲内的数据包将按照存放顺序依次发出。

虚拟内存管理器:用于模拟远程主机的内存。由于 RoCE v2 协议是直接操作远程主机内存的协议,为了便于判断数据正确性,需要在 RoCE v2 子系统模型设置虚拟内存管理器用于模拟远程主机内存,来配合 DUT 进行数据读取或数据写入操作。

CM 管理器:用于进行连接管理和队列管理。配合 DUT 进行连接、断链、创建队列、删除队列等操作。同时存储队列信息,在收到数据包时进行队列有效性判断。

五个处理单元:分别用于处理 SEND、READ、WRITE、ACK 及 REP 包。其中,READ 处理单元、WRITE 处理单元及 REP 处理单元与虚拟内存管理器相连,这三个单元同时也负责数据的存取操作控制。

除此之外,RoCE v2 子系统模型也负责接收及发送 ARP 及 ICMP 数据包,其用于验证 DUT 中网络嗅探模块相关功能。

B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1mPV5eCE8z/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

相关推荐
XINVRY-FPGA1 天前
XCZU11EG-2FFVC1156I Xilinx Zynq UltraScale+ MPSoC EG FPGA
图像处理·嵌入式硬件·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
unicrom_深圳市由你创科技2 天前
USB通信在FPGA上怎么实现?
fpga开发
GateWorld2 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之基础二
fpga开发·lcd显示·minilvds·fpga点屏
禾刀围玉3 天前
基于FPGA的卷积神经网络实现-Step2 卷积模块设计
人工智能·fpga开发·cnn
fantasy_arch3 天前
fpga demo测试hello world
fpga开发
黑猫学长呀3 天前
存储宝典第6篇:测试机台的PE板和PPB板有什么区别?
测试工具·fpga开发·ssd·芯片测试·ate·存储芯片·测试机台
GateWorld3 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之基础一
fpga开发·lcd显示·fpga点亮屏幕·minilvds
Coder-hong3 天前
TopJTAG Probe连接zynq
fpga开发
Aaron15884 天前
RFSOC+VU13P/VU9P+GPU多通道同步一体化解决方案
人工智能·嵌入式硬件·算法·matlab·fpga开发·硬件架构·基带工程
ALINX技术博客4 天前
【黑金云课堂】FPGA技术教程Linux开发:串行通信接口与实时时钟模块
linux·fpga开发