《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > FPGA的配置及接口電路
FPGA的配置及接口電路
摘要: 與CPLD不同,F(xiàn)PGA是基于門陣列方式為用戶提供可編程資源的,其內(nèi)部邏輯結(jié)構(gòu)的形成是由配置數(shù)據(jù)決定的。這些配置數(shù)據(jù)通過外部控制電路或微處理器加載到FPGA內(nèi)部的SRAM中,由于SRAM的易失性,每次上電時(shí),都必須對(duì)FPGA進(jìn)行重新配置,在不掉電的情況下,這些邏輯結(jié)構(gòu)將會(huì)始終被保持,從而完成用戶編程所要實(shí)現(xiàn)的功能。
關(guān)鍵詞: FPGA
Abstract:
Key words :

    與CPLD不同,FPGA是基于門陣列方式為用戶提供可編程資源的,其內(nèi)部邏輯結(jié)構(gòu)的形成是由配置數(shù)據(jù)決定的。這些配置數(shù)據(jù)通過外部控制電路或微處理器加載到FPGA內(nèi)部的SRAM中,由于SRAM的易失性,每次上電時(shí),都必須對(duì)FPGA進(jìn)行重新配置,在不掉電的情況下,這些邏輯結(jié)構(gòu)將會(huì)始終被保持,從而完成用戶編程所要實(shí)現(xiàn)的功能。

FPGA的配置方式分為主動(dòng)式和被動(dòng)式,數(shù)據(jù)寬度有8位并行方式和串行方式兩種。在主動(dòng)模式下,F(xiàn)PGA在上電后,自動(dòng)將配置數(shù)據(jù)從相應(yīng)的外存儲(chǔ)器讀入到SRAM中,實(shí)現(xiàn)內(nèi)部結(jié)構(gòu)映射;而在被動(dòng)模式下,F(xiàn)PGA則作為從屬器件,由相應(yīng)的控制電路或微處理器提供配置所需的時(shí)序,實(shí)現(xiàn)配置數(shù)據(jù)的下載。 1配置引腳

FPGA的配置引腳可分為兩類:專用配置引腳和非專用配置引腳。專用配置引腳只有在配置時(shí)起作用,而非專用配置引腳在配置完成后則可以作為普通的I/O口使用。

專用的配置引腳有:配置模式腳M2、M1、M0;配置時(shí)鐘CCLK;配置邏輯異步復(fù)位PROG,啟動(dòng)控制DONE及邊界掃描TDI,TDO,TMS,TCK。非專用配置引腳有Din,D0:D7,CS,WRITE,BUSY,INIT。

在不同的配置模式下,配置時(shí)鐘CCLK可由FPGA內(nèi)部產(chǎn)生,也可以由外部控制電路提供。

2 FPGA的配置模式

FPGA共有四種配置模式:從串模式(Slave Serial),主串模式(MasterSerial),從并模式(Slave Farallel/S e 1 e c tMap)以及邊界掃描模式(Boundary-Scan)。具體的配置模式由模式選擇引腳M2、M1、M0決定。表1為不同的配置模式所對(duì)應(yīng)的M2、M1、M0,配置時(shí)鐘的方向以及相應(yīng)的數(shù)據(jù)位寬。

3配置過程

(1)初始化

系統(tǒng)上電后,如果FPGA滿足以下條件:Bank2 的I/O輸出驅(qū)動(dòng)電壓Vcc0_2大于lv;器件內(nèi)部的供電電壓Vccint為2.5v,器件便會(huì)自動(dòng)進(jìn)行初始化。在系統(tǒng)上電的情況下,通過對(duì)PROG引腳置低電子,便可以對(duì)FPGA進(jìn)行重新配置。初始化過程完成后,DONE信號(hào)將會(huì)變低。

(2)清空配置存儲(chǔ)器

在完成初始化過程后,器件會(huì)將INIT信號(hào)置低電平,同時(shí)開始清空配置存儲(chǔ)器。在清空完配置存儲(chǔ)器后,INIT信號(hào)將會(huì)重新被置為高電平。用戶可以通過將PROG或INIT信號(hào)(1NIT為雙向信號(hào))置為低電平,從而達(dá)到延長(zhǎng)清空配置存儲(chǔ)器的時(shí)間,以確保存儲(chǔ)器被清空的目的。

(3)加載配置數(shù)據(jù)

配置存儲(chǔ)器的清空完成后,器件對(duì)配置模式腳M2、N1、M0進(jìn)行采樣,以確定用何種方式來加載配置數(shù)據(jù)。

(4)CRC錯(cuò)誤檢查

器件在加載配置數(shù)據(jù)的同時(shí),會(huì)根據(jù)一定的算法產(chǎn)生一個(gè)CRC值,這個(gè)值將會(huì)和配置文件中內(nèi)置的CRC值進(jìn)行比較,如果兩者不一致,則說明加載發(fā)生錯(cuò)誤,INIT引腳將會(huì)被置低電平,加載過程被中斷。此時(shí)若要進(jìn)行重新配置,只需將PROG置為低電平即可。

(5)START-UP

START-UP階段是FPGA由配置狀態(tài)過渡到用戶狀態(tài)的過程。在START-UP完成后,F(xiàn)PGA便可實(shí)現(xiàn)用戶編程的功能。在START-UP階段中,F(xiàn)PGA會(huì)進(jìn)行一下操作:

①將DONE信號(hào)置高電平,若DONE信號(hào)沒有置高,則說明數(shù)據(jù)加載過程失??;

②在配置過程中,器件的所有I/O引腳均為三態(tài),此時(shí),全局三態(tài)信號(hào)GTS置低電平,這些I/O腳將會(huì)從三態(tài)切換到用戶設(shè)置的狀態(tài);

③全局復(fù)位信號(hào)GSR置低電平,所有觸發(fā)器進(jìn)入工作狀態(tài);

④全局寫允許信號(hào)GWE置低電平,所有內(nèi)部RAM有效;

整個(gè)過程共有8個(gè)時(shí)鐘周期C0-C7。在默認(rèn)的情況下,這些操作都和配置時(shí)鐘CCLK同步,在DONE信號(hào)置高電子之前,GTS,GSR,GWE都保持高電平。

4 SelectMap并行配置模式

Virtex系列FPGA是Xilinx公司的一款高密度,大容量的現(xiàn)場(chǎng)可編程門陣列,其最大容量可達(dá)100萬門,最高工作頻率可達(dá)200M,支持多達(dá)16種I/O標(biāo)準(zhǔn),內(nèi)置了4個(gè)BLOCKRAM。這些特性使它在數(shù)字圖像處理,通信等領(lǐng)域得到了廣泛的應(yīng)用。

SelectMap模式是一種8位并行配置模式,它是Virtex系列FPGA最快的一種配置模式,其配置時(shí)鐘最高可達(dá)66MHZ,每個(gè)配置時(shí)鐘周期內(nèi)有8位配置數(shù)據(jù)下載到FPGA內(nèi)。在對(duì)配置速度要求較高的一些應(yīng)用場(chǎng)合,一般使用SelectMap模式。

SelectMap端口是一個(gè)8位雙向數(shù)據(jù)端口,通過它實(shí)現(xiàn)對(duì)Virtex的配置。利用SelectMap對(duì)Virtex進(jìn)行配置時(shí),共有8個(gè)數(shù)據(jù)信號(hào)D0-D7和7個(gè)控制/狀態(tài)信號(hào),分別為:CCLK,PROG,DONE,INIT,CS,WRITE,BUSY。

對(duì)Virtex進(jìn)行并行配置,應(yīng)用最為廣泛的接口電路便是CPLD+并行EPROM。

由于FPGA管腳內(nèi)部有上拉電阻,因此,當(dāng)管腳懸空時(shí),便是高電平。

CPLD所要實(shí)現(xiàn)的功能模塊包括:地 址發(fā)生器,寫控制寄存器,三態(tài)緩沖。 其中,PROG為全局復(fù)位,DONE為全局 三態(tài)控制,INIT和BUSY用來控制地址 發(fā)生器;地址發(fā)生器的總線位寬由存儲(chǔ)器的容量決定,若EPROM的容量為1MByte,則地址總線需要20位;在配置階段,CS和WRITE引腳必須置低電平。

對(duì)VIRTEX系列的FPGA而言,其配置時(shí)鐘最高可達(dá)66MHZ,但是,在一般情況下,配置時(shí)鐘是達(dá)不到66MHZ的,它由PROM的存儲(chǔ)時(shí)間(tACC)和FPGA配置數(shù)據(jù)的建立時(shí)間(tSMDCC)決定的:晶振頻率:1/(tACC+TSMDCC)。VIRTEX的TSMDCC為2.0ns,EPROM的存取時(shí)間通常為l00ns,在這種情況下,配置時(shí)鐘為9.6MHZ,要遠(yuǎn)遠(yuǎn)低于66MHZ,因此,提高配置速度關(guān)鍵是要選用存取速度快的EPROM。

5串行菊花鏈配置方式

串行菊花鏈配置方式是指將配置數(shù)據(jù)從串行PROM順序下載到主FPGA器件和從FPGA器件中。配置時(shí)鐘CCLK由主FPGA器件提供。

主器件將會(huì)被首先配置,在主器件配置完成前,其Dout引腳是沒有數(shù)據(jù)輸出的,從器件處于空閑狀態(tài)。在主器件配置完成后,其Din,Dout便形成直通狀態(tài),配置數(shù)據(jù)通過主器件的Dout進(jìn)入從器件的Din,對(duì)從器件進(jìn)行配置。

由于菊花鏈配置方式要求只能有一個(gè)用于下載的位流文件,因此,需要在軟件開發(fā)環(huán)境中利用PROM文件生成工具將將主器件和從器件的配置位流文件合成為一個(gè)文件。

主器件在配置完成后,并不立即啟動(dòng),進(jìn)入工作狀態(tài)。只有菊花鏈中所有FPGA的DONE引腳都被置為高電平時(shí),即所有的配置數(shù)據(jù)都下載到相應(yīng)的FPGA中,各個(gè)器件才會(huì)啟動(dòng),其各自的全局三態(tài)結(jié)束GTS、全局復(fù)位GSR、全局寫允許GWE才會(huì)置低電平。因此,雖然主從器件的配置是有先后順序的,但基本上它們是同時(shí)進(jìn)入工作狀態(tài)的。 6結(jié)束語

使用并行EPROM對(duì)FPGA進(jìn)行配置時(shí),速度相對(duì)較快,存儲(chǔ)容量較大;而在一些對(duì)空間較為敏感,速度要求不太高的應(yīng)用中,利用串行方法進(jìn)行配置,可以減小電路板的面積,同時(shí)可以簡(jiǎn)化系統(tǒng)結(jié)構(gòu)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。