ARM经模拟开关配置FPGA失败问题的完整解决方案

浏览: 作者:Robin 来源:AGM 时间:2026-09-03 分类:FPGA应用

一、问题场景说明

客户对产品有远程升级的需求,工程师使用的是AG10K/AG16K型号的AGM FPGA,额外增加模拟开关以实现JTAG烧录模式与ARM AS配置模式的切换。

通过JTAG烧录,Supra软件提示烧录成功,但是FPGA未能正常启动。经检查模拟开关硬件电路设计无误、通信链路正常,进行AS配置时,SPI FLASH的时钟与数据持续有信号,FPGA始终无法完成配置,也不能正常启动工作。


1


二、标准化解决流程

1.前置基础校验

首先完整排查硬件电路,确认硬件设计不存在错误,全链路通信状态正常。

2. 调整配置时钟频率

配置时钟速率过快是该场景下最常见的故障诱因,可通过修改ASF文件参数调整时钟速度:

  • 在.asf文件中添加全局配置语句:set_global_assignment -name OSC_FREQUENCY 1 -extension

  • 该参数的取值范围为0-7,其中0对应最慢配置时钟,7对应最快配置时钟

  • 修改保存.asf文件后,在supra软件中打开对应项目Project,重新执行编译Compile操作生成全新的烧录文件。

3.验证生效 将新生成的烧录文件,无论是通过JATG烧录,还是通过ARM配置给SPI FLASH完成FPGA加载,都可以让FPGA正常工作,故障即可完全排除!Successful!


2


三、配套核心背景知识

(一) 不同系列AGM FPGA烧写文件说明


3


1. AG256 / AG576系列

  • <design>.prg:通过JTAG烧写的标准烧写文件

  • <design>_download.prg:AGM Downloader专用编程器对应的烧写文件,适用于批量快速烧写场景

  • <design>_SRAM.prg:用于片内SRAM写入,通过JTAG烧写后掉电即失效,可用于设计调试环节

2. AG10K/16K系列

  • <design>_SRAM.prg:用于片内SRAM写入,通过JTAG烧写后掉电即失效,可用于设计调试环节

  • <design>_master.prg:适用于Master(AS)配置模式,是通过JTAG烧写外部配置FLASH的专用文件

  • <design>_master.bin:适用于Master(AS)配置模式,是配置Flash的标准烧写文件

  • <design>_master_as.prg:该文件会调用上述的_master.bin文件,可通过AS口直接完成FLASH烧写

  • <design>.bin:基础配置文件,既可以用来衍生生成其他类型的烧写文件,也可直接用于Slave(PS)配置方式

  • rbf文件:是将上述bin文件的字节高低位反向转换后得到的文件

(二) 附加烧写功能说明

  1. 烧写<design>_master.prg前需要预先擦除FLASH,操作时可勾选"Full chip erase before program"选项

  2. 通过JTAG擦除配置FLASH,可选择"Erase configuration flash"功能,支持全片擦除或者指定地址内容擦除

  3. 通过JTAG读取配置FLASH内容,可选择"Read configuration flash to file"功能,设置输出bin文件的存储路径与读取起止地址即可完成操作。

(三) JTAG配置电路注意事项

AGM FPGA/CPLD通过JTAG完成配置与烧写时,可直接使用AGM USB-Blaster下载线或者AGM DAP LINK,硬件电路设计与Altera器件完全兼容。



4


请注意:如果采用非标准10针插座,Pin-2和Pin-10均需接地。



5