4. 配置模式详解:FPP、PS、AS、JTAG 模式对比与选择

Agilex SoC 的 SDM(安全设备管理器)支持四种核心配置模式:FPP(快速被动并行)、PS(被动串行)、AS(主动串行)和JTAG。每种模式在数据宽度、时钟源、加载速度、引脚占用和适用场景上存在显著差异。本节将从架构原理、时序特征和工程选型三个维度进行深度对比。

4.1 四种模式的核心架构对比

下表从关键参数维度对四种模式进行横向对比,帮助快速建立选型框架:

对比维度 FPP (x8/x16/x32) PS (x1/x4) AS (x4) JTAG (IEEE 1149.1)
时钟源 外部时钟 (CCLK) 外部时钟 (DCLK) 内部振荡器 / 外部晶振 TCK (外部)
数据位宽 8 / 16 / 32 位并行 1 / 4 位串行 4 位串行 1 位串行 (TDI/TDO)
最大速率 ~400 MB/s (x32 @100MHz) ~50 MB/s (x4 @100MHz) ~50 MB/s (x4 @100MHz) ~10 MB/s (TCK 受限)
配置源 外部主机 (HPS/CPLD/CPU) 外部主机 (HPS/CPLD/CPU) 主动读取外部 Flash JTAG 下载器 (USB-Blaster II)
引脚占用 高 (40+ 引脚) 低 (6~10 引脚) 中 (12~16 引脚) 最低 (4 引脚)
HPS 参与度 高 (HPS 作为主机) 高 (HPS 作为主机) 低 (HPS 仅监控状态) 低 (调试阶段)
典型场景 高性能计算、视频处理 嵌入式控制、IoT 网关 独立运行、Flash 启动 调试、边界扫描、小批量烧录
选型提示: 在 Agilex HPS 与 FPGA 协同设计中,FPP 模式通常用于需要 HPS 在启动后快速加载 FPGA 比特流的场景(如 PCIe 加速卡);而 AS 模式更适合 FPGA 独立上电自加载,HPS 仅作为状态监控节点。

4.2 模式架构与数据流

下图展示了四种配置模式在 Agilex SoC 中的核心数据流路径与 SDM 控制关系:

Agilex SoC 四种配置模式数据流架构 SDM 配置控制器 FPP 模式 x8/x16/x32 并行 PS 模式 x1/x4 串行 AS 模式 主动读取 Flash JTAG 模式 边界扫描 / 调试 外部主机 (HPS/CPLD) 并行数据 + CCLK 外部主机 (HPS/CPLD) 串行数据 + DCLK 外部 Flash (QSPI/OSPI) 主动读取数据 JTAG 下载器 TCK/TDI/TDO/TMS HPS 与 FPGA 协同配置路径 FPP/PS:HPS 作为主动配置主机,通过 HPS-FPGA 桥加载比特流 AS/JTAG:HPS 作为被动监控节点,仅读取配置状态或调试接口

4.3 各模式深度解析

4.3.1 FPP(快速被动并行)模式

FPP 是 Agilex 中吞吐量最高的配置模式,适用于需要快速加载大型比特流的场景。SDM 在 FPP 模式下被动接收来自外部主机(通常是 HPS 或 CPLD)的并行数据。

  • 数据宽度:支持 x8、x16、x32 三种并行位宽,x32 模式下单周期可传输 4 字节。
  • 时钟特性:CCLK 由外部主机提供,最高频率可达 100 MHz(x32 模式受 PCB 信号完整性限制)。
  • HPS 协同:HPS 通过 FPGA Manager 接口将比特流从 DDR 或存储设备中读出,以并行方式写入 SDM。
  • 典型时序:nCONFIG 拉低 → nSTATUS 拉高 → CCLK 开始 → DATA[31:0] 有效 → CONF_DONE 拉高。
工程要点: FPP x32 模式在 Agilex 7 上可实现约 400 MB/s 的配置速率,适合 500K LE 以上规模器件的快速加载。PCB 设计时需确保 DATA 总线等长控制在 ±50 mil 以内,CCLK 与 DATA 之间满足建立/保持时间。

4.3.2 PS(被动串行)模式

PS 模式以引脚少、布线简单为特点,适合引脚受限的嵌入式系统。SDM 被动接收串行比特流。

  • 数据宽度:支持 x1 和 x4 两种串行模式,x4 模式使用 4 根数据线并行传输。
  • 时钟特性:DCLK 由外部主机提供,最高频率通常为 100 MHz(x4 模式)。
  • HPS 协同:HPS 通过 SPI 或 GPIO 模拟方式输出串行比特流,适合 HPS 资源紧张的场景。
  • 典型时序:nCONFIG 拉低 → nSTATUS 拉高 → DCLK 开始 → DATA[3:0] 有效 → CONF_DONE 拉高。
注意: PS x1 模式配置速度较慢(约 12.5 MB/s @100MHz),对于大型 Agilex 器件(如 AGIB027R29)可能耗时数秒。若系统对启动时间敏感,建议使用 PS x4 或 FPP 模式。

4.3.3 AS(主动串行)模式

AS 模式是最常用的独立启动模式,SDM 主动从外部 Flash 读取配置数据,无需外部主机干预。

  • 数据宽度:固定 x4 串行模式,与 QSPI/OSPI Flash 直接连接。
  • 时钟特性:时钟由 Agilex 内部振荡器或外部晶振提供,SDM 自动产生读取时钟。
  • Flash 类型:支持 QSPI NOR Flash(如 MT25QU256)和 OSPI Flash(如 S28HS512T)。
  • HPS 协同:HPS 在配置完成后可通过 SDM 间接访问 Flash,用于固件升级或比特流更新。
  • 启动流程:上电 → SDM 读取 Flash 头部 → 加载配置数据 → 释放 FPGA 复位 → HPS 启动。
推荐实践: 在 Agilex HPS 系统中,建议将 FPGA 比特流与 HPS 第一阶段引导程序(SPL)存储在同一个 QSPI Flash 的不同分区中。SDM 先加载 FPGA 配置,然后 HPS 从同一 Flash 读取 SPL 启动。

4.3.4 JTAG 模式

JTAG 模式主要用于调试、边界扫描和小批量烧录,不适用于生产环境的大规模配置。

  • 接口标准:IEEE 1149.1,使用 TCK、TDI、TDO、TMS 四线接口。
  • 配置速度:受 TCK 频率限制(通常 10~25 MHz),配置速度较慢,适合调试阶段。
  • HPS 协同:HPS 可通过 JTAG 进行调试,但配置过程通常由外部下载器控制。
  • 特殊功能:支持边界扫描测试(BST)、加密比特流下载、安全密钥烧录。

4.4 模式选择决策树

以下决策树帮助工程师根据系统需求快速选择配置模式:

Agilex 配置模式选择决策树 需要 HPS 参与配置? 是 否 启动时间敏感? FPP (x32) PS (x4) 需要调试/烧录? JTAG AS (QSPI/OSPI) 注:JTAG 模式也可与 AS/FPP 组合使用,用于调试阶段的配置验证 生产环境推荐 FPP (x32) 或 AS (x4) 模式

4.5 模式组合与多阶段配置

在实际 Agilex HPS 系统中,配置模式并非互斥。SDM 支持多阶段配置,允许在不同阶段切换模式:

  • AS + JTAG 组合:上电时从 Flash 主动加载(AS),调试时通过 JTAG 覆盖配置或读取状态。
  • FPP + JTAG 组合:HPS 通过 FPP 快速加载主比特流,JTAG 用于边界扫描测试或安全调试。
  • PS + AS 组合:HPS 通过 PS 模式加载部分重配置比特流,AS 模式用于初始全片配置。
多阶段配置示例: 在 5G 基带处理系统中,第一阶段使用 AS 模式从 QSPI Flash 加载基础比特流(< 1s),第二阶段 HPS 通过 FPP x32 模式从 DDR 加载加速器比特流(< 100ms),实现快速启动与动态功能切换。

4.6 配置模式选择总结

根据上述分析,总结四种模式的推荐选型场景:

系统需求 推荐模式 理由
高性能计算、低延迟启动 FPP (x32) 最高吞吐量,HPS 可灵活控制加载时序
引脚受限、中等性能 PS (x4) 引脚少,布线简单,速度可接受
独立运行、无需外部主机 AS (x4) 上电自动加载,可靠性高
调试、小批量生产 JTAG 灵活、支持加密和安全功能
多阶段配置、动态加载 AS + FPP 兼顾快速启动与高性能加载
最终建议: 对于大多数 Agilex HPS 协同项目,推荐使用 AS 模式作为主启动模式(从 QSPI Flash 加载),同时保留 JTAG 接口用于调试。若 HPS 需要动态加载 FPGA 功能,则增加 FPP x32 模式作为第二配置通道。