本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
本期课程主要介绍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)中去。
图1. 汇编产生文件 图2. sof文件内容
二、sof转jic
图3. 文件转换选项 图4. 文件转换选项卡 图5. 器件选型 图6. 添加sof文件 图7. output_files文件夹中的sof文件 图8. 生成jic文件 图9. 转换成功 图10. jic文件位置 图11. 点击programmer 图12. sof更换jic 图13. programmer添加jic文件 图14. 选择jic文件 图15. 开始烧录三、运行效果
待定
总结
熟悉程序固化的步骤后,我们可以将编写好的程序固化至flash芯片中,以至于我们不需要每次掉电后重新烧录程序。以上就是本期的主要内容,谢谢你的观看!