QuartusII下载文件有这三种:sof、pof、jic,这三个文件的区别是什么呢?见下:
sof和pof是bin文件,调试时下载到FPGA的RAM里面,掉电丢失,再次上电需要重新烧过;
sof是通过JTAG下载到RAM里的,pof是通过AS接口下载的。
pof属于主动方式:上电主动将程序读入FPGA芯片
jic属于被动方式:上电由FPGA主动读取
jic是Prom文件,是会写在EPCSxx (详见备注)里面的,FPGA上电后,会先去这里把bin下载到自己ram里面。(由flash芯片加载程序到FPGA芯片)
一般在程序调试结束后需要将 .sof文件转换成 .jic文件烧写到flash芯片中
下图是sof转jic文件的具体步骤:
---------------------------------------------------------------------------------------------------------------------
1、sof文件
sof文件是编译(分析、综合、布线、生成、时序)过程中生成的一个文件,如下图红圈过程中所示,
生成的sof文件是可以直接通过JTAG口下载到FPGA的SRAM中去并直接执行。所以sof文件可以“看成”是raw binary文件,当然还是有区别的,就相当于HEX文件和BIN文件的区别一样,HEX文件和BIN文件可以互相转换。
2、pof文件
pof文件和sof文件一样也是在Assemble过程中生成的,但是pof文件是不能直接下载到FPGA的SRAM中去的,而是通过ASP端口直接下载到FPGA的配置芯片中去的。配置芯片一般是串行FLASH芯片,在上电的时候FPGA会主动的从配置芯片中读取数据并烧写内部的SRAM数据然后执行程序。
3、jic文件
jic文件不是在编译过程中生成的,而是需要使用Quartus II软件的“Convert Programing File”功能将sof文件转换得到的。得到的jic文件,通过JTAG口可以将jic文件通过FPGA作为桥接芯片下载到配置芯片中去。如下图:
可以看出来jic文件的性质和pof文件的性质是一样的,都是固化在配置芯片中的,但是下载方式是不一样的,pof文件是直接通过ASP端口直接下载到配置芯片中去的,而jic文件需要通过FPGA作为桥接再下载到配置芯片中去,两种方法各有各的好处,使用jic文件省了一个ASP端口,使用pof文件不需要转换直接就能下载。
————————————————
原文链接:https://blog.youkuaiyun.com/tq384998430/article/details/84951569