FPGA有多種配置/加載方式。粗略可以分為主動和被動兩種。主動加載是指由FPGA控制配置流程,被動加載是指FPGA僅僅被動接收配置數據。
最常見的被動配置模式就是JTAG下載bit文件。此模式下,主動發起操作的設備是計算機,數據通路是JTAG,FPGA會被動接收數據,根據需要的操作來進行更新FPGA配置。而上位機如何獲取配置數據就非常靈活了,可能是本地運行EDA工具生成的,也可以是網絡/USB存儲設備獲取的。
主動配置就是FPGA在配置過程中處于主導地位,主動發起對Flash的讀寫,獲取配置信息進行配置。
下面利用間EDA工具自帶的燒錄Flash的操作為例,分析一下具體的燒錄過程。
通常情況下,完整的過程是:
1.上位機主動發起配置,FPGA被動接收數據進行重配置,此時的配置模式是上文提到的基于JTAG的被動配置。此操作的結果是將FPGA配置為一個Flash的讀寫器。
2.配置完成后,上位機開始發送/接收Flash的數據,數據通道為JTAG。FPGA通過JTAG接收到數據之后,根據需求發起對Flash的讀寫操作,將需要更新的數據寫入Flash,完成更新。此過程是更新Flash的過程,燒錄過程中Flash只收到FPGA的控制。
3.Flash更新完畢后,在合適的時候讓FPGA進行重新配置(例如重新上下電),FPGA會開始主動配置過程,從Flash中讀取配置數據完成加載。
Intel(Altera)的這種模式使用的文件后綴是jic,全稱是JTAG Indirect Configuration File。直接翻譯是JTAG間接配置文件。在Quartus的Programmer界面中,當添加了Jic文件之后,可以看到有一個Factory default SFL image,就是將FPGA配置為Flash控制器的鏡像。
根據配置的不同,也可以分為主動更新和被動更新兩種。
如果是被動更新,那么通常配置過程會有一個主動發起的設備,常見有MCU。這樣配置過程相對容易,數據的傳輸、存儲和讀取都交給主設備操作。整個更新過程按要求更新即可,然后再合適的時間重新加載FPGA即可。FPGA本身幾乎和更新過程完全隔離,所以也很容易滿足需求。
主動更新則相對麻煩。首先,Flash很可能只于FPGA有數據接口,表明Flash的讀寫只能從FPGA來發起;其次,由于FPGA需要發起Flash的更新寫入,所以FPGA如何獲取數據也是需要考慮的問題。可以參考上文,主動配置更新Flash完整過程的描述,可以看到FPGA需要一個數據通路(JTAG)接收配置數據,并實現一個Flash的讀寫控制器來讀寫Flash。更新Flash完成之后,下一次配置被觸發(重新上下電)會主動發起讀Flash的操作,加載配置數據完成配置。
-
FPGA
+關注
關注
1630文章
21801瀏覽量
606352
原文標題:FPGA配置方式
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
FPGA上電加載時序介紹
有關FPGA加載方式的問題,急急急!
Xilinx FPGA的JTAG配置方式和PROM配置方式的問題
勇敢的芯伴你玩轉Altera FPGA連載52:Altera FPGA配置方式之AS/PS/JTAG配置方式
FPGA配置相關筆記
FPGA有哪些主要配置方式?
![<b class='flag-5'>FPGA</b>有哪些主要<b class='flag-5'>配置</b><b class='flag-5'>方式</b>?](https://file.elecfans.com/web1/M00/E4/AC/o4YBAGBLJ1KAMv8RAAAKC3Ox_44858.jpg)
評論