技术文章

AGM FPGA 开发流程|从写代码到量产烧录,新手也能照着落地

发布 2026年11月5日
/
阅读 1 分钟

不少刚接触 AGM 国产 FPGA 的工程师,网上资料零散,不知道完整开发链路,经常卡在管脚约束、时序收敛、Flash 固化环节。本篇整理标准化 AGM FPGA 开发全流程,搭配 AG10K 图像处理 Demo 作为案例,从需求、编码、Supra 工程、调试、量产烧录全链路讲清楚,新手、项目负责人都可以拿来做开发规范。

 

 

第一步:器件选型与方案评审。先明确需求:逻辑资源数量、BRAM 缓存需求、PLL 时钟数量、差分 IO、工作温度、功耗、成本。如果是图像预处理,有行缓存需求,必须选 FPGA(AG10K/AG16K);如果只是复位、IO 时序、简单组合逻辑,直接选 AG256SL100 CPLD,不要选错架构。评审阶段同步确认 PCB 方案:Flash 选型、电源、差分对布局、JTAG 调试口预留。

第二步:Verilog 代码设计与模块划分。推荐模块化设计,以工业图像预处理为例,拆分为:传感器同步采集模块、PLL 时钟模块、灰度转换模块、3×3 滤波模块、BRAM 行缓存模块、输出同步模块。模块内部先做仿真,保证功能逻辑正确,再上板,避免所有问题堆到硬件调试阶段。代码尽量写标准 Verilog,减少 Altera/Xilinx 专属原语,方便国产器件迁移复用。

第三步:Supra 工程创建、器件选择、管脚分配。打开 Supra,新建工程,器件型号选择 AG10KL144 或者 AG10KF256;导入所有.v 源码;进入 Pin Planner 管脚分配界面,对照 PCB 原理图,绑定时钟、数据、行场同步、电源相关 IO;IO 标准设置 LVCMOS33/LVDS,设置驱动强度、上拉、转换速率,这一步对信号完整性非常关键,工业板卡容易忽略,导致干扰问题。

第四步:时序约束添加、综合布局布线。这是 FPGA 开发最核心环节,很多新手只分配管脚不加约束,时序报告大量违例,设备高温之后不稳定。必须添加主时钟约束、虚假路径约束、多时钟域约束。完成约束之后执行综合,综合通过之后运行布局布线。布局布线完成,导出 STA 时序报告,逐一检查 Setup 建立时间、Hold 保持时间违例,调整约束、修改代码流水线、调整布局优先级修复时序。

第五步:功能仿真与在线 JTAG 调试。模块级仿真验证逻辑;硬件上板,USB Blaster 下载器连接 JTAG 口,Supra 进入 Program 界面,识别器件 ID,下载 bit 流到 FPGA SRAM,在线调试。可以抓取内部信号波形,查看行场同步、像素数据流,定位滤波、缓存 bug。SRAM 模式断电丢失程序,只适合研发调试,不能直接出货。

第六步:生成固化文件、烧录外挂 SPI Flash。调试全部稳定之后,在 Supra 里面生成可固化的配置文件,连接 Flash,通过 JTAG 把配置文件烧到外挂 SPI Flash;上电之后 FPGA 自动从 Flash 加载 bit 流,正常启动运行,这是量产版本。如果是 AG256SL100 这类 CPLD,不需要外挂 Flash,直接烧录器件内置 UFM,上电即运行,步骤更简单。

第七步:可靠性测试、量产烧录。上高低温箱 – 40~100℃循环测试、长时间老化、EMC 静电测试,验证时序和功能在极限环境稳定;测试通过之后,对接产线离线烧录工装,批量烧录,安排来料烧录或者板上烧录两种方案。

真实案例:广州一家智能传感器厂商,第一次用 AG10K 开发同步采集板,一开始没有做时钟约束,常温正常,70℃高温就出现采样丢数。严格按照这套流程补充时钟约束、修复时序违例之后,高低温 8 小时老化无异常,顺利量产。

总结流程关键点:先仿真、再加约束、时序报告必看、调试 SRAM、量产固化 Flash;CPLD 开发流程大体一致,省去外挂 Flash 环节,上电启动更简单。

更多推荐