Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)

实际应用packet switching时,数据由PL侧生成通过PL Interface传递给AIE Kernel。这就要求PL侧需要按照packet的格式发送数据。
如下图所示,PL侧有4个数据源MM2S,产生4个数据流。这4个数据流由packet sender打包成一个数据流经一个PLIO channel进入AIE Array,再由pktsplit解复用器分发到4个相应的AIE Kernel
图片[1]-Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Packet sender由两部分构成。第一部分用于生成packet header,第二部分则是将4路数据分时发送到PLIO stream上。本质上就是分时复用一个PLIO channel。如下图所示。

图片[2]-Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[3]-Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
再看packet receiverPacket receiver收到的是一个打包好的数据流,因此,它需要根据packet header提供的信息将数据分发到不同的stream上。具体代码如下图所示。
图片[4]-Xilinx FPGA AI开发工具AIE(20)—Packet Switching(2)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
无论是packet sender还是packet receiver,都需要获知packet IDstream的对应关系,这可由packet_ids_c.h文件获取,如上述代码中的深蓝色方框所示。这个文件是在AIE编译完之后生成的。因此,一旦AIE侧发生改变就需要重新编译生成此文件。

 

请登录后发表评论

    没有回复内容