2. Agilex 5架构基础
Agilex 5 是 Intel 面向中端边缘与嵌入式市场推出的 SoC FPGA 系列,其核心价值在于把一颗多核 ARM 处理器系统(HPS)与可编程逻辑(FPGA fabric)集成在同一芯片内,并通过高带宽片上互联打通两者。理解 Agilex 5 的架构,是后续做 DDR5 内存子系统、PCIe 高速接口以及 HPS-FPGA 协同设计的前提。本节从 HPS 组成、互联结构、器件选型与开发板资源四个角度建立整体认知。
一、HPS 硬核处理器系统组成
Agilex 5 的 HPS 是一个独立的硬核子系统,不占用 FPGA 逻辑资源,上电即可运行。它主要由以下部分构成:
- 处理器核心:双核 ARM Cortex-A76 与双核 Cortex-A55 组成的大小核集群(部分型号为 A55 四核),共享二级缓存,支持 Linux、RTOS 等操作系统。
- 缓存与一致性:每个核心带独立 L1,集群共享 L2,并通过 CCI/CMN 类一致性互连管理大小核与加速器之间的缓存一致性。
- 内存控制器:硬核 DDR5/LPDDR5 控制器,支持 ECC,是 HPS 与外部大容量内存之间的唯一通道。
- 外设子系统:包含 USB、以太网、SD/eMMC、UART、I2C、SPI、GPIO、定时器等硬核外设控制器。
- 系统管理:时钟复位管理、电源管理、安全启动与 TrustZone 支持。
需要强调的是,HPS 内的外设是硬核实现,性能与引脚位置固定;而 FPGA fabric 中的逻辑是软实现,可自由定制。两者定位不同,不能互相替代。
二、FPGA fabric 与 HPS 的互联结构
HPS 与 FPGA fabric 之间并非简单几根线,而是一组分层的片上互联通道,按用途可分为三类:
- 高带宽数据通道:如 AXI 主/从端口,用于 HPS 访问 fabric 中的加速器、DMA 数据搬运,是吞吐量最大的路径。
- 轻量控制通道:如轻量 AXI(LWHPS2FPGA、FPGA2HPS),用于寄存器配置、状态读取,延迟低但带宽小。
- 中断与调试通道:fabric 逻辑可向 HPS 的 GIC 发送中断,HPS 也可通过 JTAG/调试接口访问 fabric。
互联的关键参数是位宽、时钟域和地址映射。HPS 访问 fabric 时,地址会经过桥接映射到 FPGA 侧;fabric 访问 HPS 外设时,则通过 HPS 的从端口进入。设计时必须明确每条通路的位宽与时钟,否则会出现带宽瓶颈或跨时钟域问题。
三、SoC 器件选型要点
Agilex 5 系列内部按逻辑密度、处理器配置、收发器速率和封装划分多个型号。选型时建议按以下顺序判断:
| 选型维度 | 关注点 | 典型影响 |
|---|---|---|
| 逻辑资源 | LE/ALM 数量、DSP、M20K 块 | 决定加速器与接口逻辑规模 |
| 处理器配置 | A76/A55 核数、主频 | 决定操作系统与算力上限 |
| 内存接口 | DDR5/LPDDR5 速率、位宽、ECC | 决定带宽与可靠性 |
| 高速收发器 | PCIe Gen、通道数、速率 | 决定与主机/外设互联能力 |
| 封装与功耗 | 引脚数、散热、供电 | 决定 PCB 层数与散热设计 |
四、开发板资源与实操场景
以 Agilex 5 开发板为例,典型资源包括:核心 SoC 器件、板载 DDR5 内存、PCIe 金手指或插槽、以太网 PHY、USB-Blaster/JTAG 调试口、SD 卡启动槽、用户 LED 与按键,以及扩展 GPIO 排针。这些资源对应到实际开发流程中:
# 典型启动与调试链路
SD 卡 / eMMC → 加载 U-Boot → 加载 Linux 内核 → 挂载根文件系统
JTAG → Quartus 下载 .sof → 配置 FPGA fabric
HPS 侧 → 通过 /dev/mem 或 UIO 访问 fabric 寄存器
PCIe 侧 → 枚举设备 → 映射 BAR → DMA 传输测试
一个常见场景是:HPS 运行 Linux 负责网络与存储,FPGA fabric 实现高速数据采集加速器,两者通过高带宽 AXI 与 DMA 交换数据,HPS 通过轻量 AXI 配置加速器寄存器。此时 DDR5 由 HPS 内存控制器统一管理,fabric 通过 HPS 从端口访问内存。
五、复盘与检查清单
- 是否明确 HPS 与 fabric 各自承担的功能边界?
- 是否确认了高带宽 AXI 与轻量 AXI 的位宽、时钟和地址映射?
- DDR5 控制器是否由 HPS 统一管理,fabric 访问路径是否清晰?
- PCIe 通道数与器件型号是否匹配,封装是否满足布线?
- 开发板启动方式(SD/JTAG)与调试链路是否验证通过?