FPGA网络协议栈从入门到精通
📚 共计 30 章节
01
网络协议栈概览
OSI七层模型与TCP/IP四层模型对比 · FPGA实现优势与挑战 · 课程路线图
基础
总览
02
以太网基础与PHY芯片
MII/RMII/GMII/RGMII接口 · MDIO配置 · 自动协商与链路建立
PHY
接口
03
MAC层设计(一)
以太网帧结构 · CRC32校验 · MAC发送状态机
MAC
发送
04
MAC层设计(二)
接收状态机 · 帧过滤与错误处理 · 全双工/半双工
MAC
接收
05
ARP协议实现
ARP格式 · 请求与应答 · 缓存表设计与维护
ARP
网络
06
IP协议实现(一)
IPv4首部 · 分片与重组 · IP校验和计算
IP
分片
07
IP协议实现(二)
路由表设计 · 最长前缀匹配 · 多接口支持
路由
LPM
08
ICMP协议实现
ICMP类型与格式 · Ping应答 · 不可达消息
ICMP
Ping
09
UDP协议实现
UDP首部 · 校验和(伪首部) · 发送/接收状态机
UDP
无连接
10
TCP协议实现(一)
TCP首部 · 状态机(CLOSED→ESTABLISHED)
TCP
状态机
11
TCP协议实现(二)
状态机(ESTABLISHED→CLOSED) · 三次/四次挥手硬件实现
TCP
挥手
12
TCP协议实现(三)
滑动窗口 · 流量控制 · 序列号与确认号管理
窗口
流量
13
TCP协议实现(四)
超时重传(RTO) · 快速重传与快速恢复
重传
RTO
14
TCP协议实现(五)
拥塞控制 · 慢启动/拥塞避免/快速恢复硬件实现
拥塞
硬件
15
协议栈架构设计
模块划分 · AXI4-Stream总线 · 数据/控制通路分离
架构
AXI
16
时钟域与跨时钟域处理
多时钟域划分 · 异步FIFO · CDC同步器
CDC
FIFO
17
存储管理
Packet Buffer(BRAM/URAM) · 描述符环 · 零拷贝
存储
描述符
18
校验和加速器
并行CRC32 · TCP/IP校验和卸载 · 硬件哈希
加速
CRC
19
DMA引擎设计
Scatter-Gather DMA · 多通道调度 · 中断聚合
DMA
高性能
20
高速接口适配
10G/25G/100G · PCS/PMA · FEC前向纠错
高速
以太网
21
协议栈验证方法学
UVM框架 · Scoreboard · 覆盖率驱动 · 带宽测量
验证
UVM
22
FPGA调试技巧
ChipScope/ILA · 协议分析仪 · 常见Bug修复
调试
ILA
23
轻量级协议栈设计
资源优化 · 嵌入式简化TCP/IP · FPGA资源估算
轻量
嵌入式
24
安全协议集成
IPsec加速 · TLS/DTLS卸载 · 防火墙规则匹配
安全
IPsec
25
多协议融合
TCP/IP与RoCEv2 · PTP(IEEE 1588) · AVB/TSN
融合
TSN
26
SoC集成
AXI总线封装 · Linux内核驱动 · DPDK用户态驱动
SoC
驱动
27
性能优化实战
流水线深度 · 时序收敛 · 逻辑利用率与吞吐率
优化
时序
28
案例研究(一)
金融交易加速器 · 低延迟UDP · 微秒级响应
金融
低延迟
29
案例研究(二)
视频流传输 · RTP/RTSP · JPEG2000优化
视频
流媒体
30
前沿趋势与总结
智能网卡(SmartNIC) · OpenFlow/P4 · 未来方向
前沿
SmartNIC