1. 程式人生 > >Altera FPGA開發過程中sof、pof、jic檔案的區別

Altera FPGA開發過程中sof、pof、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檔案不需要轉換直接就能下載。