本來講一講FPGA的重構(gòu),在說FPGA重構(gòu)之前,需要先了解FPGA的配置方式。
FPGA 配置
所有現(xiàn)代FPGA的配置分為兩類:基于SRAM的和基于非易失性的。其中,前者使用外部存儲器來配置FPGA內(nèi)的SRAM后者只配置一次。 Lattice和Actel的FPGA使用稱為反熔絲的非易失性配置技術(shù),其主要優(yōu)點是系統(tǒng)設(shè)計更加簡單、不需要外部存儲器和配置控制器、功耗低、成本低和FPGA配置時間更快。最大的缺點在于配置是固定的。 大多數(shù)現(xiàn)代FPGA都是基于SRAM包括Xilinx Spartan和Virtex系列。每個FPGA上電后或在后續(xù)的FPGA配置期間,從外部非易失性存儲器中讀取比特流,由配置控制器處理,并加載到內(nèi)部配置SRAM中。SRAM保持了配置邏輯、IO、嵌入式存儲器、布線、時鐘、收發(fā)器和其他FPGA原語等所有的設(shè)計信息。 下圖是Xilinx 的配置結(jié)構(gòu)。
配置是由FPGA內(nèi)部的配置控制器執(zhí)行。比特流存儲在外部非易失性存儲器(如Flash)中。外部存儲器通過使用SelectMAP接口連接到配置控制器,這是Xilinx特有的。額外的膠合邏輯可能需要架起SelectMAP和外部存儲器接口之間的橋梁。此外,比特流可以通過JTAG或ICAP加載到配置控制器中。比特流可以選擇加密,以提高安全性。內(nèi)部電池備份RAM(BBR)和eFuse保存用于比特流解密的加密密鑰。 FPGA配置存儲器也稱為配置存儲器單元,它的每一位與比特流中的對應(yīng)位一起初始化。每個存儲器單元的輸出連接到可配置的功能塊上,如LUT寄存器、BRAM10、布線等。圖2是配置存儲器單元連接到多路復(fù)用器,以設(shè)置FPGA架構(gòu)中元件之間的特定布線路徑。在FPGA配置階段,邏輯狀態(tài)被置位為1或0。
圖 2 FPGA 的布線配置
Xilinx 的 FPGA 配置模式
多種FPGA配置模式可滿足不同的使用模式。圖3是XilinxFPGA配置模式的分類。
圖3FPGA配置模式的分類 配置模式分為兩類:主動(master)模式和被動(slave)模式。在主動配置模式下,F(xiàn)PGA控制配置過程。在被動模式下,由外部設(shè)備(如單片機、CPLD或其他FPGA)控制FPGA的配置過程。此外,還有兩個特殊的配置模式,即使用JTAG和內(nèi)部配置訪問端口(ICAP) 有4種數(shù)據(jù)寬度支持不同的外部存儲器:32位、16位、8位、1位(串行)。下面是配置模式的簡要介紹。 JTAG JTAG接口主要在調(diào)試期間使用。為了與Xilinx Chip Scope和IMPACT軟件應(yīng)用程序接口,特殊的適配器連接到專用FPGA引腳上。 ICAP 專用的ICAP原語用于與用戶邏輯的接口,在FPGA架構(gòu)內(nèi)進行配置。 主動串行模式 在主動串行模式中,F(xiàn)PGA控制Xilinx Platform Flash,以提供配置數(shù)據(jù)Xilinx Platform Flash是一種特殊的非易失性存儲器,旨在通過使用Select MAP接口直接與Xilinx FPGA接口。 主動SPI Flash模式 在主動SPI Flash模式中,F(xiàn)PGA控制串行SPI閃存,以提供配置數(shù)據(jù)。 主動Selec tMAP模式 在主動Select MAP模式中,F(xiàn)PGA控制Xilinx Platform Flash,以提供8位或16位的配置數(shù)據(jù)。 主動BPI模式 在主動BPI模式中,F(xiàn)PGA控制并行NOR Flash,以提供8位或16位的配置數(shù)據(jù)。 被動串行和Select MAP模式 在被動串行模式下,外部設(shè)備(如單片機、CPLD或其他FPGA)控制FPGA的配置過程。 設(shè)計FPGA配置方案 對于特定設(shè)計來說,有一些設(shè)計考慮用于選擇最合適的FPGA配置方案。主要的選擇標準是 ?選擇是否通過外部設(shè)備(被動模式)或由FPGA本身(主動模式)控制配置過程。從系統(tǒng)復(fù)雜性角度來看,主動模式最簡單,但未必適合所有設(shè)計。被動模式接口作為簡單的串行接口,直接連接到處理器的10引腳,讀取比特流數(shù)據(jù)進人配置控制器。 ?選擇外部非易失性存儲器的類型和大小,用于存儲一個或多個FPGA比特流。盡管與FPGA的成本相比,外部存儲器的成本相對較低,但仍然是不可忽略的。設(shè)計者可以在SHFlash并行NOR Flash或Xilinx Platform Flash之間進行選擇。在某些設(shè)計中,F(xiàn)PGA可以使用連接到被動模式下的FPGA配置控制器直接配置。 ?數(shù)據(jù)寬度的選擇—串行、8位、16位或32位—影響配置速度和FPGA中用于設(shè)計的10數(shù)目。 ?現(xiàn)場升級配置比特流可以是一個重要的需求。配置方案必須解決當(dāng)比特流正在編程進入非易失性存儲器時發(fā)生損壞的情況。 ?Xilinx FPGA提供了一個選項,用來加密在更高設(shè)計安全要求情況下的比特流。解密密鑰可以存儲在內(nèi)部的BBR或者eFuse中。BBR存儲器是易失性的,需要外部電池。使用BBR與使用非易失性eFuse相比,重新編程相對容易。 計算配置時間 在許多應(yīng)用中,F(xiàn)PGA配置時間很關(guān)鍵,要準確估計配置方案選擇過程中的時間是很重要的。配置時間取決于比特流大小、時鐘頻率和配置接口的數(shù)據(jù)寬度,按下列公式定義: 配置時間=比特流大小x時鐘頻率x數(shù)據(jù)寬度 表1提供了配置接口在不同數(shù)據(jù)寬度下,對于使用50MHz時鐘的最小和最大Xilinx Virtex-6 FPGA的預(yù)期配置時間。 表 1 FPGA 配置時間
Xilinx 配置相關(guān)的原語
表 2 提供了 Xilinx FPGA 支持的與配置相關(guān)的原語列表。 表 2 Xilinx Virtex-6 配置相關(guān)的原語
文章出處:【微信公眾號:OpenFPGA】
責(zé)任編輯:gt
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603384 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3428瀏覽量
106002 -
存儲器
+關(guān)注
關(guān)注
38文章
7492瀏覽量
163834
原文標題:【Vivado那些事】FPGA的配置方式
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論