☰
基于Xilinx 7系列的pcie以太网卡demo
2026/10/13 18:14:52 网站建设 项目流程

demo综述

1、本demo基于xc7a35tfgg484芯片,pcie部分使用axi memory mapped to pci express,外挂vivado自带的axi dma,网卡mac模块移植开源的eth,实现一个千兆带宽的pcie网卡。
2、工程结构如下

3、demo整体框图

┌────────────────────────────────────────────────────────────────┐ │ Host (Linux x86) │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ pcie_axienet.ko │ │ │ │ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ TX 路径 │ │ RX 路径 │ │ ISR/NAPI │ │ │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ └────────┼──────────────┼──────────────┼────────────────────┘ │ │ │ │ │ │ │ ┌────────▼──────────────▼──────────────▼────────────────────┐ │ │ │ Linux 网络协议栈 (netdev/NAPI) │ │ │ └──────────────────────────────────────────────────────────┘ │ └───────────┬──────────────┬──────────────┬───────────────────────┘ │ │ │ │ PCIe Bus (Gen2/Gen3 x4) │ │ │ │ ┌───────────▼──────────────▼──────────────▼───────────────────────┐ │ FPGA │ │ │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ PCIe AXI Bridge (10EE:7022) │ │ │ │ ┌────────────┐ ┌────────────────┐ │ │ │ │ │ BAR0 → │ │ MSI Vector 0 │────────────────┐ │ │ │ │ │ AXI-Lite │ │ MSI Vector 1 │──────────────┐ │ │ │ │ │ └──────┬─────┘ └────────────────┘ │ │ │ │ │ └─────────┼───────────────────────────────────────────┼─┼──────┘ │ │ │ │ │ ┌─────────▼────────────────────────────────────┐ │ │ │ │ AXI DMA (32-bit, no css) │ │ │ │ │ ┌────────────┐ ┌────────────┐ │ │ │ │ │ │ MM2S │ │ S2MM │ │ │ │ │ │ └─────┬──────┘ └─────▲──────┘ │ │ │ │ │ │ mm2s_introut │ s2mm_introut│ │ │ │ └────────┼────────────────────────┼────────────┼──────┼─┘ │ │ │ │ │ │ AXIS │ (TX) AXIS │ (RX) │ │ │ ▼ │ ▼ │ │ ┌─────────────────────────────────┴─────────────────┐ │ │ │ 自定义 MAC (无寄存器配置) │ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │ │ │ TX MAC │ │ RX MAC │ │ │ │ │ └────┬─────┘ └────▲─────┘ │ │ │ └───────┼────────────────────────────────┼─────────┘ │ │ ▼ │ │ │ GT/GPHY ────── Ethernet ────── PHY/对端 │ │ │ └────────────────────────────────────────────────────────┘

4、pcie+DMA模块如下

5、最终抓了一些ila资源消耗刚好够用。

6、驱动安装自动创建网卡并分配IP地址

7、测试可以正常上网能够ping通www.baidu.com

8、使用iperf3进行带宽测试基本可以跑满千兆带宽

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询