fpga程序固化

文章目录


前言

  本期课程主要介绍FPGA主要的设计配置文件类型,以及演示sof文件转化为jic文件的步骤,将我们编写好的程序固化至FPGA芯片。


一、FPGA配置文件

  在FPGA中一般常用的三种文件类型sof、pof、jic进行设计配置。

  • sof(SRAM Object File)
       sof是在程序编译过程中产生的,如下图1所示Assembler阶段会产生一些files,这其中就包括sof文件,使用sublime打开sof发现是十六进制内容,如下图2所示。 FPGA中有SRAM(Static RAM),它保存的是FPGA设计配置信息。SRAM是一种掉电易失类型的内存,我们前期课程中的实验都是使用sof文件,通过JTAG将sof文件烧录至SRAM来配置FPGA。当我们按下电源键,重启开发板的时候,之前烧录的程序就没有了,每次运行都需要重新烧录。
  • pof(Programmer Object File)
      pof文件和sof文件类似,但是pof文件是不能直接下载到FPGA的SRAM中去的,而是通过ASP端口直接下载到FPGA的配置芯片中去的。配置芯片一般是串行FLASH芯片,在上电的时候FPGA会主动的从配置芯片中读取数据并烧写内部的SRAM数据然后执行程序。
  • jic(JTAG Indirect Configuration)
      jic文件不是在编译过程中生成的,而是需要使用Quartus Prime软件将sof文件转换得到的。通过JTAG口可以将jic文件通过FPGA作为桥接芯片下载到配置芯片(flash)中去。

fpga程序固化

图1. 汇编产生文件

fpga程序固化

图2. sof文件内容

二、sof转jic

fpga程序固化

图3. 文件转换选项

fpga程序固化

图4. 文件转换选项卡

fpga程序固化

图5. 器件选型

fpga程序固化

图6. 添加sof文件

fpga程序固化

图7. output_files文件夹中的sof文件

fpga程序固化

图8. 生成jic文件

fpga程序固化

图9. 转换成功

fpga程序固化

图10. jic文件位置

fpga程序固化

图11. 点击programmer

fpga程序固化

图12. sof更换jic

fpga程序固化

图13. programmer添加jic文件

fpga程序固化

图14. 选择jic文件

fpga程序固化

图15. 开始烧录

二、运行效果

<iframe allowfullscreen="true" data-mediaembed="bilibili" id="9lPwch2m-1644023933793" src="https://player.bilibili.com/player.html?aid=593816021"></iframe>

fpga程序固化


总结

  熟悉程序固化的步骤后,我们可以将编写好的程序固化至FPGA芯片中,以至于我们不需要每次掉电后重新烧录程序。以上就是本期的主要内容,谢谢你的观看!

上一篇:RFNoC 4.0 架构简介


下一篇:FPGA知识积累【2】