Spartan6系列之芯片配置模式詳解


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接口中需特別說明的接口信號

引腳名

方向

用途

功能描述

CSI_B

Input

雙用途

低電平使能SelectMap的數據總線

RDWR_B

Input

雙用途

決定數據總線的方向,0代表輸入,1代表輸出;

CSO_B

Output

雙用途

菊花鏈模式中低有效的輸出片選信號,當只有1片FPGA時,可不連接

BUSY

Output

雙用途

回讀時使用

圖 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配置接口

引腳名

方向

描述

配置之后

MOSI/MISO[0]/CSI_B

Input/Output

FPGA串行數據輸出/輸入;連接到SPI Flash的從數據輸入引腳

User IO

DIN/D0/MISO/MISO[1]

Input

主FPGA數據輸入從SPIFlash數據輸出端口;連接到SPI Flash的數據輸出口

User IO

CSO_B

Output

片選信號,低有效

User IO

DOUT

Output

串行數據輸出,在FPGA的菊花鏈中使用,連接到下一片FPGA的DIN引腳

User IO

MISO[3:2]

Input

主FPGA串行數據輸出從SPI Flash數據輸出引腳

User IO

圖 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配置中特殊引腳說明

引腳名

方向

功能描述

FCS_B

Output

低有效的Flash片選信號

FOE_B

Output

低有效的Flash輸出使能信號

FWE_B

Output

低有效的寫使能信號

A[25:0]

Output

地址線

D[15:0]

Output

數據線

CSO_B

Output

FPGA菊花鏈連接時使用

HDC

Output

FPGA配置期間為高電平,用於16bit寬Flash的字節選擇

LDC

Output

FPGA配置期間為低電平,用於16bit寬Flash的字節選擇

 

圖 18BPI配置總線電路連接圖

 

圖 19BPI配置總線時序圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM