Altera Stratix®10 和 Agilex™ 7 电源配置问题案例解析

概要
本文主要基于 Altera Stratix® 10 和 Agilex™ 7 FPGA 在客户实际应用中遇到的电源管理及配置问题,系统梳理了典型故障案例、解决方案与调试建议。内容主要涵盖:
- 电源与配置的流程
- 6 大实战案例解析
- 关键检查方向与调试建议
Stratix® 10 和 Agilex™ 7 是 Altera 的两款高端 FPGA (现场可编程门阵列) 产品系列。
Stratix® 10:
Altera Stratix® 系列可帮助交付性能高端、品质优异的产品。Stratix® 10 FPGA 和 SoC FPGA 在性能、能效、密度和系统集成方面都具有创新优势,工艺为 Altera 14nm 器件。Stratix® 10 器件采用变革性的英特尔® Hyperflex™ FPGA 架构,并结合英特尔 Embedded Multi-Die Interconnect Bridge (EMIB) 专利技术、Advanced Interface Bus (AIB) 和不断壮大的芯粒产品组合,性能比上一代高性能 FPGA 提升高达 2 倍。
Agilex™ 7:
Altera Agilex™ 7 FPGA 为 Altera 10nm 器件,采用第二代 Hyperflex™ FPGA 架构,支持 PCIE Gen5 X16,116Gpbs PMA4,32GBHBM2E,400G 硬 MAC,DDR5,最大 4.1 百万门逻辑资源等,广泛应用于数据中心加速、边缘计算、高带宽网络通信、高端仪器仪表等行业,以优异的性能广受客户喜爱。
Altera Stratix®10 和 Agilex™ 7
电源配置流程详解
下图 (图1) 为 Altera Stratix® 10/Agilex™ 7 电源管理及配置的界面。该系列支持的配置模式如下:
- Avalon® streaming (Avalon-ST)
- JTAG
- Configuration via Protocol (CvP)
- Active Serial (AS) normal and fast modes
- Remote System Update(RSU)

Altera Stratix®10/Agilex™ 7 配置流程如下:
Step1:上电 (Power UP)
- Altera Stratix 10®/Agilex™ 7 电源需根据电源管理用户指南中的器件的上电顺序要求进行供电。
- 电源达到正确操作电压后,一个器件范围 Power on Reset (POR) 会置位。在电源达到操作电压之前,外部电源斜坡 (ramp) 不得慢于最小斜坡速率 (ramping rate)。
- 配置期间,内部电路从内部拉低 SDM_IO0, SDM_IO8 和 SDM_IO16。内部电路将剩下的 SDM_IO 管脚拉至一个弱高电平。
- POR 之后,内部电路也将所有的 GPIO 管脚拉至一个弱高电平,直到器件进入用户模式 (user mode)。
Step2:SDM 启动 (SDM Startup)
- SDM 在上电期间对 MSEL 管脚进行采样。
- 如果 MSEL 设置为 JTAG,那么 SDM 保持在 Startup 状态。
- SDM 运行存储在 on-chip boot ROM 中的固件,然后进入 Idle 状态,直到主机驱高 nCONFIG。在所有时钟稳定之前,主机不应该驱高 nCONFIG。
Step3:空闲 (Idle)
- 在外部主机通过将 nCONFIG 管脚从低电平驱动为高电平来启动配置之前,SDM 一直保持在 IDLE 状态。或者 SDM 在退出错误状态后进入空闲状态。
Step4:配置开始 (Configuration Start)
- SDM 接收到一个配置启动请求(nCONFIG = HIGH)后, SDM 通过驱高 nSTATUS 管脚来表明配置开始。
- 接收到配置数据时, SDM 执行认证,解密和解压缩。
- nCONFIG 管脚在配置期间和用户模式下保持为高电平。主机持续监控 nSTATUS 管脚以查找配置错误。
Step5:配置通过 (Configuration Pass)
- SDM 在成功接收到完整比特流后驱高 CONF_DONE 管脚。
- CONF_DONE 管脚向外部主机发出信号,表示比特流传输成功。
Step6:配置错误 (Configuration Error)
- nSTATUS 管脚上的一个低脉冲表明一个配置错误。
- 错误要求重配置。
- 一个低脉冲 (表明一个错误) 后,配置停止。nSTATUS 管脚保持高电平。
- 发生错误后,SDM 在外部主机驱低 nCONFIG 之后驱低 nSTATUS。
- nSTATUS 管脚恢复到初始预配置低状态后,器件进入 Idle 状态。
Step7:用户模式 (User Mode)
- 初始化内部寄存器后,SDM 将 INIT_DONE 管脚驱动为高电平,并从高阻抗状态释放 GPIO 管脚。器件进入用户模式。整个器件不会同时进入用户模式。Altera 要求在设计中包括 Reset Release。使用 Reset Release Altera FPGA IP 的 nINIT_DONE 输出将应用逻辑保持在复位状态,直到整个 FPGA 架构处于用户模式。如果此 IP 没有包含在设计中,那么可能会导致间歇性的应用逻辑故障。
- nCONFIG 管脚应该在用户模式下保持高电平。
- 通过将 nCONFIG 管脚从低电平驱动到高电平,可以对器件进行重配置。
Step8:器件清理 (Device Clean)
- 在 Device Clean 状态中,设计停止运行。
- 器件清理 (device cleaning) 清除所有配置数据。
- 器件驱低 CONF_DONE 和 INIT_DONE。
- 当器件清理 (device cleaning) 完成后,SDM 驱低 nSTATUS 管脚。

如下图 (图3) 所示为配置时序。图的第一部分显示了正常上电复位后初始配置的预期时序。最初,应用逻辑驱低 nCONFIG 信号 (POR)。在正常情况下,nSTATUS 在nCONFIG 后面,因为 nSTATUS 反映了当前配置状态。nCONFIG 的值只有在与 nSTATUS 的值相同时才可以更改。当出现错误时,nSTATUS 拉低大约 1ms,当器件准备好接受重配置时置位高电平。时序图中的初始配置部分中的数字标记以下事件:
1. SDM 启动并采样 MSEL 信号以确定指定的 FPGA 配置方案。在下一次上电之前,SDM 不再对 MSEL 管脚进行采样。
2. 当 nCONFIG 信号为低电平时,SDM 引导后进入 Idle 模式。
3. 当外部主机驱高 nCONFIG 信号时,SDM 启动配置。SDM 驱高 nSTATUS 信号,表示 FPGA 配置的开始。SDM 接收 MSEL 总线在 Step 1中指定的接口上的配置比特流。上图显示了 AVST_READY 和 AVST_VALID 持续为高电平。AVST_READY 可以置低,这要求 AVST_VALID 在六个周期内置低。
4. SDM 驱高 CONF_DONE 信号,表明 SDM 成功接收到了比特流。
5. 当 FPGA 置位 INIT_DONE,表明 FPGA 已经进入用户模式 (user mode)。GPIO 管脚退出高阻抗状态。CONF_DONE 与INIT_DONE 的置位之间的时间是可变的。对于 FPGA 第一次配置,INIT_DONE 在 FPGA 架构的初始化 (包括寄存器和状态机) 后置位。对于 HPS 第一次配置,HPS 应用控制 CONF_DONE 与 INIT_DONE 之间的时间。运行在 HPS 上的软件 (如 U-Boot) 或者操作系统 (OS) 启动配置,FPGA 配置并进入用户模式后, INIT_DONE 才置位。

典型问题案例解析与解决方案
案例一:JTAG 识别器件异常 (PCN:1SX085H3F43E2VG)
问题描述:
在客户设计中,SmartVID 电源 VCC/VCCP 与 0.9V 电源 VCCERAM/VCCPLLDIG_SDM 共用电源轨,导致 JTAG 识别不到器件。
解决方案:
把两个电源轨分开即可正常识别器件。

案例二:PMBUS 调压失败 (PCN:1SX085H3F43E2VG)
问题描述:
客户选用的某国产电源芯片,电源芯片支持的调压方式为 Step,其调压步长定义为 1LSB = RA*0.5uA,一般的电源芯片是 1LSB = 1mV,我们器件通过 PMBUS 设置的为 Final Vout,导致调压不成功。
解决方案:
目前短期通过 INI 文件绕过 PMBUS,手动设置固定电压,后续更换为兼容 PMBUS 的电源芯片。

案例三:FPGA 断电重启失效 (PCN:1SX085H3F43E2VG)
问题描述:
加载 JIC 配置文件后,设备断电重启时 FPGA 无法正常完成配置。经分析,故障原因为客户电路板上的主控芯片对上电时序逻辑处理异常。具体表现为:
- 电源时序冲突:
(1) 系统上电顺序为主控芯片优先启动,目标 FPGA (Stratix® 10) 延迟上电。
(2) 主控芯片完成初始化后,立即将 nCONFIG 信号置为高电平,而非在 FPGA 的 IDLE 状态阶段触发该信号。 - 配置流程失效:
目标 FPGA 在 IDLE 阶段未检测到 nCONFIG 的有效上升沿,导致配置状态机未能激活,后续配置过程中断。
解决方案:
主控芯片上电不要去操作 nCONFIG,通过外部电路操作,上电 Flash 能够加载,需要 reconfig 时再通过主控芯片进行操作。

案例四:HPS First 模式加载概率性失败 (PCN:1SX110H1F43E2VG)
问题描述:
在 HPS First 启动模式下,系统通过 HPS 加载 FPGA 程序,FPGA 程序存储在 NAND flash。在测试中发现:
- 在测试中的 10 块板子中,有两块存在断电重启之后 FPGA 概率性无法启动现象,有时候可以启动,有时无法启动。但通过 JTAG 加载 FPGA first 模式后,都能够启动。
- 所有的板子初始供电电压都是 0.9V,通过示波器观察异常板子 VID 调压后,实际电压被调到了 0.94V,初始电压值和调压值压差过大,超过了默认的 ±3% (老版本最大限制为 ±3%,22.4 版本之后可以调到 ±8%)。
解决方案:
确认异常板卡固件版本,若低于 22.4 需更新版本到 22.4 或者 23.1,通过添加约束 set_global_assignment -name PWRMGT_ADV_VOUT_READING_ERR_MARGIN 28,把压差扩大到 8%。
Intel® Quartus® Prime Pro Edition Settings File Reference Manual

案例五:电源瞬态欠压保护 (PCN:AGFB027R24C2E1V)
问题描述:
本案例中使用到的电源芯片为:ADI LTM4680,当 FPGA 在下载大逻辑资源量 *.sof 的情况时 (60%以上),下载到 99% 时会显示失败。经过排查发现,当下载失败时,FPGA 的整板四组电源 RUN 使能管脚均被拉低断电。
由于板级存在上电时序管理芯片,一旦第一组核电发生异常,上电时序管理芯片会触发保护机制,后级将全部被关闭。为验证此问题,我们将上电时序改为 CPLD 独立控制。在此配置下,发现核电会出现短暂的“掉坑”现象,大约持续 240ms。通过与 ADI 电源厂家沟通,利用上位机工具对 FPGA 下载过程中的电源状态进行实时监控,成功复现了这一现象。
经过反复测试,抓取到电源异常时报出的一个输出欠压警告信息,经过 ADI 的 AE 和我们的 AE 一起分析,确认问题的根本原因为:在负载剧烈变化时,电源输出电压出现瞬态欠压,进而触发保护机制。
解决方案:
通过调整电源管理器的输出欠压保护阈值,将欠压门限从默认值降低至 0.2V,逻辑版本为 66% 和 70% 的资源量均可成功下载,电源系统也未再出现瞬态“掉坑”现象。

案例六:MBR 配置错误导致 JTAG 加载失败 (PCN:AGFB014R24B2E2V)
问题描述:
通过 jtag 加载 sof 文件时,加载到 35% 时会显示失败。经过分析,将问题定位在 MBR 配置不对,具体表现为:客户使用的电源芯片精度为 1LSB = 2mV,而当 MBR = 100 时,实际需要 1LSB = 1mV 的精度,两者存在规格不匹配的情况。
解决方案:
目前为客户提供了绕过 PMBUS 的 ini 文件,确保客户可先正常调试功能,同时也与电源芯片供应商进行技术沟通,以确定 MBR 参数的最佳配置方案。

Altera Stratix® 10 和 Agilex™ 7
电源配置问题检查方向
检查方向
- jtag 加载失败问题:首先要检查 quartus 配置参数是否与电源芯片相符,包括电源引脚,PMBUS 地址,MBR 参数设置值以及 valid unit 和 mode 等
- 器件识别异常:确认供电是否满足 datasheet 要求以及 pcg 要求
- Flash 加载异常和加载之后不工作:检查 MSEL 配置是否正确,以及 nconfig,nstatus,configdone,initial done 是否正常
Debug
- 每家电源厂家都有上位机软件监控电源状态,异常时可以通过电源上位机软件抓取电源状态,查看异常情况
- Quartus 提供了config debug 工具,异常时可以看到在什么阶段异常,错误码是什么,然后进行分析
- 如果是 PMBUS 问题,且暂时没有解决方案,可以提供绕过 PMBUS 的方法让客户先进行功能调试,这样不会阻塞客户调试进度 (该方案实测在最新版本 23.2 以及 agilex 上可用)
最重要一点是客户投板之前一定要进行原理图 review 和 pin map 验证
总结
本文通过列举 Altera Stratix® 10 和 Agilex™ 7 FPGA 在客户实际应用中遇到的电源管理及配置问题案例,为大家系统梳理了典型的故障问题分析,同时给出相应的解决方案与调试建议,供工程师们参考。
欲了解更多 Altera 相关方案或技术信息,可点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。