FPGA下載文件在實為裝載數據到內部配置RAM中,然后初始化FPGA整個電路連線以及設置片內LUT的初始值,一個系統無論大小都會初始化整片FPGA,所以在同一款芯片中無論什么設計,下載文件大小都為固定值如下圖所示,和MCU不一樣,MCU會隨着程序大小不一樣產生二進制下載文件大小不一,兩種下載含義也不一樣,FPGA為配置電路版圖,MCU為配置Flash。
AlteraFPGA包含多種下載格式文件,其中最常用的即為SOF文件和POF文件,但是無論什么格式的下載文件,最終下載到FPGA中的文件都為.rbf的原始二進制文件,cycloneIII的下載文件數據大小在不同芯片中的字節數如下圖所示:
下面詳細介紹ALTERA各種配置文件文件總類:
1.SRAM配置文件(SOF)
SOF文件為在線直接燒寫FPGA配置區,采用可以采用JTAG和PS模式下載。Quartues自動默認生成。
2.Programmer文件(POF)
POF文件用於對ALTERA的配置芯片進行數據下載時候使用,Quartues自動生成。
3.原始二進制文件(RBF)
RBF文件是芯片配置的原始二進制文件和一些控制碼,任何格式的配置文件最終下載到EPCS中的都為RBF文件。
4.原始編程數據文件(RPD)
RPD為包含cyclone系列芯片二進制位流數據和配置數據的二進制文件的合成文件,很少使用到,必須通過轉換得到,不建議轉成出RPD。
5.HEX文件
HEX文件不能直接對FPGA進行配置,只能通過第三方編程器對HEX進行解析后把數據區燒寫到EPCS中。
6.JAM文件
JAM文件時用來存儲器件變成信息的ASCII文本文件。
7.JBC文件
JBC文件時和JAM一樣的二進制文件,未使用過。
以上文件除了SOF和POF文件軟件自動生成,其余文件都有Quartues->File->Convert Programming Files進行轉換生成。
例如下面是一個SOF直接轉換到RBF文件的轉換結果
可以看出RBF還比SOF大了一些,由於SOF是直接對內部配置RAM進行擦寫的數據少了一些控制位,因此數據量比RBF更少。