01
SmartNIC概述
从网卡到智能网卡的演进 · 核心价值 · 典型应用场景(云计算/存储/安全)
演进场景
02
SmartNIC硬件架构总览
主流架构(ASIC/FPGA/SoC) · 硬件模块划分:网络接口、处理单元、内存、PCIe
架构模块
03
网络接口与PHY层
以太网物理层 · SerDes · MAC与PHY交互 · 10G/25G/100G/400G
PHYSerDes
04
PCIe接口详解
Gen3/Gen4/Gen5对比 · DMA引擎 · BAR空间 · MSI-X中断
PCIeDMA
05
嵌入式处理器选型
ARM vs RISC-V · 多核缓存一致性 · 低功耗 · 项目踩坑
ARMRISC-V
06
硬件加速单元
数据包解析器 · 查找引擎(TCAM/哈希) · 流量管理器 · 加解密加速器
加速TCAM
07
内存子系统设计
HBM vs DDR4/DDR5 · 带宽计算 · NUMA · 缓存一致性
HBMDDR5
08
片上网络(NoC)
拓扑结构 · 路由算法 · QoS · 死锁避免
NoC路由
09
时钟与复位设计
时钟域划分 · 异步FIFO · 复位同步器 · 时钟抖动影响
时钟复位
10
电源管理
DVFS · 电源域划分 · 热管理 · 功耗估算
DVFS低功耗
11
开发环境搭建(上)
Linux服务器配置 · GCC/LLVM · Make/CMake · Git
工具链Git
12
开发环境搭建(下)
Verilator/VCS · GDB/OpenOCD · perf性能分析
仿真调试
13
RTL设计基础
Verilog/VHDL核心 · 组合/时序逻辑 · 状态机 · 代码规范
RTLVerilog
14
仿真验证方法
UVM基础 · 定向/随机测试 · 覆盖率驱动 · SVA断言
UVM验证
15
硬件-软件协同设计
功能划分 · HW/SW接口 · 寄存器抽象层 · 中断处理
协同RAL
16
设备驱动开发(上)
Linux内核模块 · PCIe枚举 · MMIO · DMA缓冲区
驱动MMIO
17
设备驱动开发(下)
NAPI轮询 · 多队列 · XDP/eBPF · 性能调优
NAPIeBPF
18
数据平面开发套件(DPDK)
DPDK架构 · UIO/VFIO · 内存池/环形缓冲区 · 无锁队列
DPDK无锁
19
网络协议卸载
TCP/IP卸载(TOE) · RDMA/RoCEv2 · NVMe-oF · VXLAN/Geneve
TOERDMA
20
安全功能实现
IPsec卸载 · TLS/SSL加速 · 信任根(RoT) · 安全启动
IPsecRoT
21
虚拟化支持
SR-IOV · VF直通 · virtio-net/blk · 硬件辅助虚拟化
SR-IOVvirtio
22
可编程数据平面
P4语言 · P4编译器 · 匹配-动作表 · 运行时重配置
P4可编程
23
性能基准测试
吞吐量(RFC2544) · 延迟测试 · CPU利用率 · iperf/trex
基准iperf
24
调试与排错
链路训练失败 · ECC错误 · 逻辑分析仪 · JTAG调试
调试JTAG
25
固件升级与管理
固件分区 · 双镜像备份 · 带外管理(BMC) · 安全升级
固件BMC
26
案例研究
开源项目Corundum/BlueField · 商业方案对比(NVIDIA/Intel/Broadcom)
开源商业
27
项目实战
需求分析 · 架构设计 · 模块划分 · 集成测试 · 性能调优
实战全流程
28
前沿技术
CXL互连 · DPU演进 · IPU概念 · 计算存储融合
CXLDPU
29
认证与标准
OCP NIC 3.0 · PCIe SIG · IEEE 802.3 · FIPS 140-3
OCP标准
30
职业发展
学习路径 · 推荐书籍/论文 · 开源社区 · ONS/OCP Summit
成长社区