1. 配置概述
Spartan6系列FPGA通過把應用程序數據導入芯片內部存儲器完成芯片的配置Spart-6 FPGA可以自己從外部非易失性存儲器導入編程數據,或者通過外界的微處理器、DSP等對其進行編程對以上任何一種情況,都有串行配置和并行配置之分,串行配置可以減少芯片對引腳的要求,并行配置對8bit/16bit Flash或者微處理器來說更合適
因為Xilinx的FPGA器件的配置數據存儲在CMOS 配置鎖存器內(CCL),因此Spartan6 FPGA器件上電后必須重新配置Spartan6器件有多種配置模式,包括:
JTAG配置模式
Master Serial/SPI配置模式(X1,X2,X4)
Slave Serial配置模式
Master SelectMAP/BPI配置模式(X8,X16)
Slave SelectMAP配置模式(X8,X16)
Spartan6系列FPGA的配置模式由引腳M[0:1]的狀態決定(詳細介紹見Spartan6系列之器件引腳功能詳述),在主配置模式中,CCLK默認來自與內部的振蕩器,也可以來自外部的GCLK0/USERCCLK.,the BitGen?-g ConfigRate選項可以設置內部時鐘的振蕩頻率,默認頻率為2MHZ;無論M[0:1]狀態如何,JTAG配置始終可用
對一個FPGA系統來說,可以有多種配置模式,但往往只有一種配置模式最適合自己的目標系統,應該要進行慎重的選擇當然,FPGA可以重新裝載多個鏡像文件,因此可以為1片FPGA提供多個配置文件,典型的應用為:當FPGA上電時,裝載一個自檢的鏡像文件,完成自檢后重新裝載最終的應用程序鏡像文件這種方法可大大提高FPGA的使用效率
因為FPGA的外部存儲器可以存儲多個鏡像文件,因此可以通過FPGA正在使用(已裝載的鏡像)更新外部存儲器內容,實現遠程鏡像更新升級
1.1. 主模式配置(master mode)
由FPGA自身將外部存儲器的配置數據裝載進內部的模式稱為主模式配置;主配置模式的各種連接方式如下圖1所示,左側為串行配置連接方式,右側為并行配置連接方式
圖 1主配置模式連接方式匯總
1.2. 從模式配置(slave mode)
由外部器件(主要指處理器)對FPGA進行配置的模式成為從模式;從配置模式的各種連接方式如下圖1所示,左側為串行配置連接方式,右側為并行配置連接方式
圖 2從配置模式連接方式匯總
2. 具體配置模式詳解
Spartan-6系列FPGA的配置模式由模式控制引腳決定,具體情況如表1所示
表格 1Spartan-6 FPGA配置模式
2.1. JTAG配置模式
在任何情況下,只要FPGA上電,就可以使用JTAG模式
2.2. Serial配置模式
在serial配置模式中,FPGA在每個CCLK周期載入1bit配置數據
圖 3Serial Configuration時序圖
2.2.1. Master Serial配置模式
在配置完成之前,done信號為0,將在整個配置過程中片選platform Flash;program_B是在配置FPGA之前對FPGA進行異步復位;由時序圖可以看出,若沒有CRC錯誤,FPGA的INIT_B是作為輸出始終將platform Flash的OE置高
圖 4Master Serial Mode 配置電路圖
2.2.2. Slave Serial配置模式
對FPGA的異步復位(PROGRAM_B)既可以由外部器件如按鈕產生,也可以由CPLD或microprocessor產生;數據及時鐘信號均由CPLD等產生;
圖 5Slave Serial 配置模式
2.3. SelectMAP配置模式
SelectMAP配置接口提供了8/16bit雙向數據接口,即可用于對FPGA的配置,也可用于對FPGA配置數據的回讀在SelectMAP模式中有多種配置思路,例舉如下:
單FPGA的master SelectMAP配置
單FPGA的slave SelectMAP配置
多個FPGA呈菊花鏈連接形式以SelectMAP總線配置不同image
多個FPGA呈并列一組形式以SelectMAP總線配置同一個image
表格 2 SelectMap接口中需特別說明的接口信號
圖 6 SelectMap配置接口
SelectMap配置模式有多種時序,因控制信號的不同而不同,主要有三種:連續的SelectMap配置模式數據載入時序、非連續數據總線可控的SelectMap配置模式數據載入時序、非連續時鐘可控的SelectMap配置模式數據載入時序數據總線寬帶可以是8/16bit寬,數據寬度取決于配置啟動階段對數據總線采樣的結果,在啟動階段,數據總線會輸出特殊的標志數據
圖 7連續的SelectMap配置模式數據載入時序
圖 8非連續數據總線可控的SelectMap配置模式數據載入時序
圖 9非連續時鐘可控的SelectMap配置模式數據載入時序
2.3.1. 單FPGA的Master SelectMap配置模式
在主模式下,CSI_B和EDWR_B接地,使能了SelectMap的數據線并使數據線的方向為輸入;因為是單FPGA,所以不需要用到CSO_B,浮置即可
圖 10單FPGA的主SelectMap配置模式
2.3.2. 單FPGA的Slave SelectMap配置模式
當使用CPLD/Microprocessor來配置FPGA時,即可使用master SelectMap模式也可使用slave SelectMap模式,但優先使用Slave SelectMap配置模式當CPLD/Microprocessor的SELECT等于0時,將使能FPGA的SelectMap配置模式數據總線;當CPLD/Microprocessor的READ/WRITE為0時,FPGA的SelectMap配置模式數據總線方向為輸入,這時可以將配置數據輸入到FPGA內部
圖 11單FPGA的從SelectMap配置模式
2.4. SPI配置模式
SPI配置模式只能工作于主模式,SPI接口允許FPGA把標準的工業SPI Flash作為配置數據存儲介質需要注意的是,在FPGA呈菊花鏈連接模式中,FPGA的SPI模式配置只能選擇SPIX1方式,不能選擇SPIX2或SPIX4模式要使能FPGA的SPIX4的配置模式,需要在ise的BitGen選項里增加“-g: spi_buswidth:4”
圖 12Spartan-6 FPGA SPI配置接口
圖 13Spartan-6 FPGA SPI配置接口電路圖
不同數據線傳輸模式根據SPI總線每次傳輸的命令區分,Single_Read的命令操作碼:0x03或0xE8;Dual_Read的命令操作碼:0x3B;Quad_Read的命令操作碼:0x6B
圖 14SPI總線Single_Read時序
圖 15SPI總線Dual_Read時序
圖 16SPI總線Quad_Read時序
2.5. BPI配置接口
BPI:Byte-Wide Peripheral Interface,字節寬度外設接口FPGA可以從一個工業標準的并行NOR Flash讀取配置數據Spartan-6 FPGA最高支持1Gb的NOR Flash,也就是說地址線最高可達26根,但是并不是每種Spartan-6 FPGA都支持BPI配置或者26位的地址線的,具體情況例舉如下:
MCB-M1(Bank1的存儲器控制模塊)可以用作BPI配置接口,但是,用戶只能選擇將MCB_M1用作存儲器控制接口或者BPI之一,不能同時作為兩種接口使用
6SLX4 、6SLX25/T FPGA不支持BPI配置接口
TQG144 和 CPG196封裝的FPGA不支持BPI配置接口
CSG225封裝中BPI配置地址線A22、A23不可用
圖 17BPI配置接口
表格 3BPI配置中特殊引腳說明
圖 18BPI配置總線電路連接圖
圖 19BPI配置總線時序圖
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602005 -
spartan6
+關注
關注
1文章
10瀏覽量
11258
發布評論請先 登錄
相關推薦
評論