FPGA可重構技術就是通過上位機控制在FPGA運行過程中加載不同的Bitstream文件,FPGA芯片根據文件內的不同邏輯將內部的資源全部或部分進行重新配置以達到多種功能任務動態切換的目標,從而提高了使用FPGA進行開發的靈活度。
FPGA芯片本身就具有可以反復擦寫的特性,允許FPGA開發者編寫不同的代碼進行重復編程,而FPGA可重構技術正是在這個特性之上,采用分時復用的模式讓不同任務功能的Bitstream文件使用FPGA芯片內部的各種邏輯資源,使得同一個邏輯電路在不同時間段上加載不同的功能模塊。從時間軸上看,系統的每一項任務功能在FPGA芯片上依次執行,系統的整體功能全部得以實現。從局部看,FPGA只執行了一項小任務,而從整體看,FPGA完成了整個系統任務。使用一塊FPGA芯片完成了需要多塊FPGA芯片的任務,由此可見FPGA內部資源的利用率得到很大提升。
FPGA上的可重構技術根據FPGA芯片內部的不同結構可以分為兩種,分別是動態可重構和靜態可重構。如果FPGA芯片是常規的SRAM結構,那么它只能做到靜態可重構,重構過程必須首先發送中斷指令停止正在運行的程序,之后再把全新的Bitstream文件加載到FPGA上。而如果FPGA芯片是特殊結構,那么它就可以進行動態可重構,重構過程可以在FPGA運行時期進行,動態可重構不但可以在系統運行時期隨時改變模塊參數,甚至可以在系統運行時期在FPGA內部的可重構區域動態重構電路邏輯。
FPGA的動態可重構又可以分為動態全局可重構和動態局部可重構。動態全局可重構是指上位機給FPGA芯片加載一個全新的配置文件,而這個配置文件包含了新的任務需求所要涉及的整片FPGA內所有資源,從而實現FPGA重新配置,上一個任務實現的所有邏輯電路將全部消除。在重構操作執行前,首先在外掛存儲器中加載多個不同任務需求的配置文件,同時每個配置文件中都包含該任務所需要涉及的FPGA芯片全部邏輯資源。正是因為每一個配置文件都包含了整塊FPGA芯片的所有資源,所以動態全局可重構只能從外掛存儲器中選擇將一個配置文件加載到FPGA芯片中。當這個配置文件對應的任務結束后,再選擇另一個新的配置文件加載到FPGA芯片中,通過不同配置文件的分時加載實現系統功能任務的切換。
這種動態全局可重構的實現方式比較容易,只需要在配置文件中寫入該功能任務所包含的FPGA全部資源,但是這種實現方式因為包含全部資源而導致文件較大,配置的時間也就相應變長。尤其是在兩個功能任務對應的邏輯電路相差不大的配置文件先后進行重構時,本可以只改變相差部分的邏輯電路,卻要對FPGA芯片內部的全部資源重新進行改變。
相比于動態全局可重構,動態局部可重構具有更大的靈活性。它只需要針對兩個功能需求之間不同的部分邏輯功能生成配置文件,并加載到FPGA中指定的可重構區域進行重新配置,而在FPGA中指定的靜態區域中的邏輯電路并不需要發生改變。假設一個系統要先后切換兩個功能,而這兩個功能需要使用4個配置文件。其中功能1需要使用配置文件1、配置文件2和配置文件3,功能2需要使用配置文件1和配置文件4。由于配置文件1在功能1和功能2中都需要,因此首先向FPGA的靜態區域加載兩個功能都需要的配置文件1,然后在可重構區域加載配置文件2和配置文件3。功能1運行結束后切換成功能2,由于配置文件1在功能2中仍然需要,因此在動態局部可重構中只需要將之前加載到FPGA可重構區域的配置文件2和配置文件3對應的邏輯電路消除,重新加載配置文件4生成對應的邏輯電路就可以完成功能2的運行。在兩個功能切換的過程中配置文件1所在的靜態區域并沒有發生改變。
動態局部可重構因為只重構部分區域,所以配置文件中的重構內容也相應變小,重構時間也隨之縮短。但是動態局部可重構的難點在于靜態區域和可重構區域的大小劃分是否可以滿足系統功能要求、分別處在兩個區域的模塊之間如何進行通信以及如何在可重構區域進行合理的布局布線。因此使用動態局部可重構的實現過程相對復雜。
審核編輯 :李倩
-
FPGA
+關注
關注
1626文章
21665瀏覽量
601828 -
芯片
+關注
關注
453文章
50396瀏覽量
421793 -
存儲器
+關注
關注
38文章
7452瀏覽量
163604
原文標題:學點不一樣的技術:FPGA可重構技術——FPGA芯片
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論