1. Agilex FPGA 架构概述

Agilex 7 系列是 Intel 基于 10nm SuperFin 工艺打造的高性能 FPGA 平台,其核心设计理念是 异构计算融合——将传统可编程逻辑、高速串行收发器、数字信号处理(DSP)与 AI 推理加速单元、大容量嵌入式存储以及硬核处理器系统(HPS)集成在同一芯片上。理解这一架构是后续进行 HLS 与 RTL 混合设计、接口协同优化的基础。

1.1 芯片整体架构与关键模块

Agilex 7 的 die 布局可划分为以下几个主要功能域,它们通过高带宽的片上互联网络(如 Intel 的 Agilex NoC 或传统 Avalon/AXI 总线)进行数据交换:

架构要点: Agilex 7 的异构特性意味着 HLS 开发者需要针对不同计算单元(逻辑单元、DSP、AI Tensor Block)选择不同的抽象层级,而 RTL 设计者则需关注物理接口时序与协议适配。
Agilex 7 芯片顶层架构示意 Agilex 7 芯片顶层架构 FPGA 可编程逻辑 (Fabric) • 自适应逻辑模块 (ALM) • 查找表 (LUT) / 寄存器 • 路由与互联资源 • 分布式 RAM HSSI 收发器 PCIe 5.0 / 以太网 DSP 模块 INT8 / FP16 / FP32 M20K 内存块 20 Kb / 块,总容量大 AI Tensor Block 矩阵乘法 / 卷积加速 硬核处理器系统 (HPS) ARM Cortex-A76 / A55 说明: 各模块通过高速片上网络(NoC)或 AXI 总线互联。HLS 可针对 DSP/Tensor Block 生成高效数据通路, RTL 则负责精确控制 HSSI 与 HPS 的低延迟接口。

1.2 HSSI 收发器

Agilex 7 的 HSSI(High-Speed Serial Interface)收发器支持从 1 Gbps 到 116 Gbps 的数据速率,覆盖 PCIe 5.0、100G/400G 以太网、CPRI 等协议。其物理编码子层(PCS)和物理介质附加子层(PMA)可独立配置,允许 RTL 设计者直接操作串行/解串逻辑,而 HLS 则可通过 Intel 提供的 HSSI IP 核进行高层抽象。

特性参数适用场景
最大速率116 Gbps (PAM4)超高速背板 / 光互连
协议支持PCIe 5.0 / 100G-KR / CPRI数据中心 / 5G 前传
PCS 功能64B/66B 编码、FEC、CRC降低误码率
RTL 控制粒度PMA 级:EQ、CDR、TX 预加重物理层调优

1.3 DSP 模块与 AI Tensor Block

DSP 模块支持 INT8、FP16、FP32 等多种精度,每个模块可独立配置为乘法器、累加器或浮点单元。AI Tensor Block 则进一步集成脉动阵列(Systolic Array),专为矩阵乘法与卷积运算优化,是 HLS 实现深度学习推理加速的关键硬件单元。

HLS 设计提示: 使用 HLS 开发 AI 加速时,应优先将卷积循环映射到 Tensor Block 的脉动阵列,而将非规则控制逻辑(如激活函数、池化)保留在 FPGA 逻辑中,实现最佳资源利用率。
DSP 模块与 AI Tensor Block 结构对比 DSP 模块 vs AI Tensor Block 内部结构 DSP 模块 (单个) 乘法器 (18x19) 累加器 (48-bit) 浮点单元 (FP16/32) 级联链 → 适合 FIR / 复数乘法 / 浮点运算 AI Tensor Block 脉动阵列 (Systolic Array) 8x8 ~ 16x16 权重缓冲 激活缓冲 累加 / 池化后处理 → 适合矩阵乘法 / 卷积 / 推理加速 HLS 可将卷积循环直接映射到 Tensor Block 脉动阵列,而 DSP 模块更适合标量或小规模向量运算。

1.4 M20K 内存块

M20K 是 Agilex 7 的专用嵌入式存储器,每个块容量 20 Kb,支持双端口操作、字节写使能以及多种宽度配置(如 x1、x2、x4、x8、x16、x20)。多个 M20K 可级联形成更大的 RAM 或 FIFO,是 HLS 设计中缓存行缓冲、查找表、中间结果存储的首选资源。

  • 容量: 每个块 20 Kb,芯片总容量可达数十 Mb。
  • 端口模式: 简单双端口、真双端口、ROM。
  • HLS 映射: 使用 hls::stream 或 hls::FIFO 时,工具自动推断为 M20K 实现。
  • RTL 控制: 可手动实例化 altera_mem 原语,精确控制读写时序与功耗。

1.5 硬核处理器系统 (HPS)

Agilex 7 的 HPS 集成多核 ARM Cortex-A76(高性能)与 Cortex-A55(高效能)处理器,支持对称多处理(SMP)与非对称多处理(AMP)模式。HPS 通过 AXI 总线与 FPGA 逻辑紧密耦合,提供三种主要接口:

接口类型带宽典型用途
FPGA-to-HPS 桥~256 GbpsFPGA 向 HPS 发送数据流
HPS-to-FPGA 桥~256 GbpsHPS 配置/控制 FPGA 加速器
轻量级桥~32 Gbps低延迟控制/状态寄存器访问
混合设计注意: HPS 与 FPGA 之间的时钟域跨越(CDC)是常见错误来源。HLS 生成的 AXI 接口应使用 hls::axis 并配合 ap_ack 握手协议,而 RTL 侧需显式插入同步器或异步 FIFO。

1.6 小结:架构对混合设计的影响

Agilex 7 的异构架构决定了 HLS 与 RTL 的分工边界:

  • HLS 擅长: 数据通路密集、控制逻辑规整的算法(如 DSP 滤波、AI 卷积、图像处理),可快速生成可综合代码。
  • RTL 擅长: 物理接口时序(HSSI 的 PMA 调优)、低延迟控制逻辑、自定义协议解析、以及 HPS 的底层驱动。
  • 协同关键: 通过 AXI-Stream 或 Avalon-ST 接口进行数据交换,HLS 负责计算内核,RTL 负责接口适配与系统集成。