特点相 结合,提出了一种基于 ZYNQ 的千兆以太网
数据包处理结构。该结构具有高灵活性、高吞吐率
以及低时延的特点。
1 系统设计
1.1 整体架构
所设计的千兆以太网数据包处理架构如图 1 所
示,分为 PS 以及 PL 两部分。PL 中主要的模块包括
Xilinx 三速以太网 IP 核(Tri-Mode Ethernet MAC)、管
理模块(Manage Module)、前处理模块(Pre Process)、
数据包分发模块(Package switch)、数据包输出队列
模块(Package Queue)、DMA 控制模块(DMA Control)
以及用户逻辑模块(User Logic)。
图 1 千兆以太网数据包处理架构
本设计包含两路千兆以太网网口,一路为内网
网 口 ETH0,另 一 路 为 外 网 网 口 ETH1。 以 从 ETH0
接收 数据 ,并 发送 至 ETH1 为例 简要 说明 数据 处理
流程 。首先外置 PHY 芯片完成 了对 物理层协议 的
解 析 ,将 来 自 于 RJ45 接 口 的 电 信 号 转 变 为 MII、
GMII 或 RGMII 格式的数据。之后,经由 Xilinx 三速
以太网 IP 核,将 3 种格 式的数据统 一封装成 AXI4-
Stream 格式并发送至前处理模块。前处理模块中,
完成了 如五 元组检 测等 数据包 通用 操作。 在数 据
包分 发模块中,根据当前配置及 策略 ,决 定该 数据
包该进行何种处理,当判决该数据包为硬件处理数
据后,交由用户逻辑模块。用户逻辑模块根据所需
要的 功能、配置 及策略对数据进 行相 关硬 件处 理。
数据包输出队列模块将多个来源的数据进行调度,
依次发送至外网网口的三速以太网 IP 核,并最终通
过 外 网 网 口 PHY 芯 片 ,经 由 ETH1 的 RJ45 接 口 输
出。此外,管理模块对这一流程中的使用到的配置
及策略进行统一管理,使得从 ETH0 发送至 ETH1 的
数据可 以改 变不同 的处 理方式 。本 设计将 网口 接
收到的数据包分为三类进行不同的处理:软件处理
数 据包,硬件 处 理 数 据包以及 PS 网 口 数 据 包。硬
件处理数据包的特点为:其数据处理算法适用于使
用硬件 描述 语言来 实现 并且数 据包 的相关 处理 对
实时性 以及 延时要 求高 。硬件 处理 数据包 将被 分
发至用户逻辑模块。软件处理数据包的特点为:数
据包 的相关处理算法 复杂 ,不 易被 并行 处理,数据
包对处 理速 度及时 延要 求较低 。软 件处理 数据 包
将通过 AXIS-DMA 发送至 PS 进行处理。PS 内部的
吉 比特以 太 网 控 制 器通过 GMII 接 口 ,将 数据引 至
ETH0 内网网口 ,这样从 ETH0 就 可 以 访 问 PS 端 的
网口。
1.2 PS-PL 数据通路
在 PS 与 PL 之间,本设计架设了 3 条数据通路,
包括管理配置通路、高速数据通路以及 PS 网口数据
通路。
管理配置通路使用 AXI-Lite 总线协议,通路的
两端分别为 PS 端的 AXI 主控制器以及 PL 端的管理
控 制 模 块(Manage Module)。 管 理 配 置 通 路 采 用
50 MHz 时 钟 ,数 据 位 宽 可 以根据实际 需 求 进 行 调
整。其用于 PS 端对 PL 端的运行逻辑,管理配置及策
略进行控制及监控。
高 速 数 据 通 路 的 两 端 分 别 为 PS 端 的 AXIS-
DMA 模 块 以 及 PL 端 的 DMA 控 制 模 块(DMA
Control)。该通路用于高速传输软件处理数据包,采
用 AXI4-Stream 接口协议。为适配千兆网络数据包
的传输速率,接口时钟定为 125 MHz,接口位宽定位
8 字 节 。 通 过 该 通 路 ,软 件 处 理 数 据 包 可 以 通 过
DMA 的方式,快速发送至 PS 端进行处理;PS 端处理
完成处理后再通过该通路返回至 PL 端
[8-9]
。
PS 网口数据通路用于将 PS 端吉比特以太网控
制 器(Gigabyte Ethernet Controller)(以 下 简 称 PS 网
口)的 数 据 接 口 连 接 至 内 网 网 口 ETH0,这 样 通 过
ETH0 可以访问到 PS 网口。由于 PS 端可搭载 Linux
操作系统,其对于本身网口的驱动较为完善,拥有完
诸俊辉,等 基于ZYNQ的千兆以太网数据包处理架构
--103
评论0
最新资源