所有現代FPGA的配置分為兩類:基于SRAM的和基于非易失性的。其中,前者使用外部存儲器來配置FPGA內的SRAM;后者只配置一次。
Lattice和Actel的FPGA使用稱為反熔絲的非易失性配置技術,其主要優點是系統設計更加簡單、不需要外部存儲器和配置控制器、功耗低、成本低和FPGA配置時間更快。最大的缺點在于配置是固定的。
大多數現代FPGA都是基于SRAM,包括Xilinx Spartan和Virtex系列。每個FPGA上電后或在后續的FPGA配置期間,從外部非易失性存儲器中讀取比特流,由配置控制器處理,并加載到內部配置SRAM中。SRAM保持了配置邏輯、IO、嵌入式存儲器、布線、時鐘、收發器和其他FPGA原語等所有的設計信息。
圖1是Xilinx Virtex-6 的配置結構。
配置是由FPGA內部的配置控制器執行。比特流存儲在外部非易失性存儲器(如Flash)中。外部存儲器通過使用SelectMAP接口連接到配置控制器,這是Xilinx特有的。額外的膠合邏輯可能需要架起SelectMAP和外部存儲器接口之間的橋梁。此外,比特流可以通過JTAG或ICAP加載到配置控制器中。比特流可以選擇加密,以提高安全性。內部電池備份RAM( BBR)和eFuse保存用于比特流解密的加密密鑰。 FPGA配置存儲器也稱為配置存儲器單元,它的每一位與比特流中的對應位一起初始化。每個存儲器單元的輸出連接到可配置的功能塊上,如LUT、寄存器、BRAM、IO、布線等。下圖是配置存儲器單元連接到多路復用器,以設置FPGA架構中元件之間的特定布線路徑。在FPGA配置階段,邏輯狀態被置位為1或0。
Xilinx的FPGA配置模式
多種FPGA配置模式可滿足不同的使用模式。圖3是Xilinx FPGA配置模式的分類。
配置模式分為兩類:主動( master)模式和被動(slave)模式。在主動配置模式下,FPGA控制配置過程。在被動模式下,由外部設備(如單片機、CPLD或其他FPGA)控制FPGA的配置過程。此外,還有兩個特殊的配置模式,即使用JTAG和內部配置訪問端口(ICAP)。有4種數據寬度支持不同的外部存儲器: 32位、16位、8位、1位(串行)。下面是配置模式的簡要介紹。
JTAG
JTAG接口主要在調試期間使用。為了與Xilinx ChipScope 和iMPACT軟件應用程序接口,特殊的適配器連接到專用FPGA引腳上。
ICAP
專用的ICAP原語用于與用戶邏輯的接口,在FPGA架構內進行配置。
主動串行模式
在主動串行模式中,FPGA控制Xilinx Platform Flash,以提供配置數據。Xilinx Platform Flash是一種特殊的非易失性存儲器,旨在通過使用SelectMAP接口直接與Xilinx FPGA接口。
主動SPI Flash模式
在主動SPI Flash 模式中,FPGA控制串行SPI閃存,以提供配置數據。
主動SelectMAP模式
在主動SelectMAP模式中,FPGA控制Xilinx Plaform Flash,以提供8位或16位的配置數據。
主動BPI模式
在主動BPI模式中,FPGA控制并行NOR Flash, 以提供8位或16位的配置數據。
被動串行和SelectMAP模式
在被動串行模式下,外部設備(如單片機、CPLD或其他FPGA)控制FPGA的配置過程。
設計FPGA配置方案
對于特定設計來說,有一些設計考慮用于選擇最合適的 FPGA配置方案。主要的選擇標準是: ●選擇是否通過外部設備(被動模式)或由FPGA本身(主動模式)控制配置過程。從系統復雜性角度來看,主動模式最簡單,但未必適合所有設計。被動模式接口作為簡單的串行接口,直接連接到處理器的IO引腳,讀取比特流數據進入配置控制器。 ●選擇外部非易失性存儲器的類型和大小,用于存儲一個或多個FPGA比特流。盡管與FPGA的成本相比,外部存儲器的成本相對較低,但仍然是不可忽略的。設計者可以在SPI Flash、并行NOR Flash、或Xilinx Platform Flash 之間進行選擇。在某些設計中,FPGA可以使用連接到被動模式下的FPGA配置控制器直接配置。 ●數據寬度的選擇---串行、 8位、16位或32位----影響配置速度和FPGA中用于設計的I0數目。 ●現場升級配置比特流可以是一個重要的需求。配置方案必須解決當比特流正在編程進入非易失性存儲器時發生損壞的情況。 ●Xilinx FPGA提供了一個選項,用來加密在更高設計安全要求情況下的比特流。解密密鑰可以存儲在內部的BBR或者eFuse中。BBR存儲器是易失性的,需要外部電池。使用BBR與使用非易失性eFuse相比,重新編程相對容易。 ●配置模式的選擇如圖所示,以Spartan-6為例,配置模式選擇如下圖所示:
●不同配置模式的硬件設計如下圖所示:
計算配置時間
在許多應用中,FPGA配置時間很關鍵,要準確估計配置方案選擇過程中的時間是很重要的。配置時間取決于比特流大小、時鐘頻率和配置接口的數據寬度,按下列公式定義:配置時間=比特流大小x時鐘頻率x數據寬度表1提供了配置接口在不同數據寬度下,對于使用50 MHz時鐘的最小和最大Xlinx Virtex-6 FPGA的預期配置時間。
Xilinx配置相關的原語
表2提供了Xilinx Virtex-6 FPGA支持的與配置相關的原語列表。
審核編輯 :李倩
-
FPGA
+關注
關注
1630文章
21769瀏覽量
604639 -
控制器
+關注
關注
112文章
16416瀏覽量
178753 -
存儲器
+關注
關注
38文章
7518瀏覽量
164074
原文標題:FPGA知識匯集-FPGA配置模式和配置設計
文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論