国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于TS201的FPGA配置設(shè)計(jì)

2015-01-09 03:57王維何菲玲陳卓
聲學(xué)與電子工程 2015年3期
關(guān)鍵詞:數(shù)據(jù)總線管腳低電平

王維何菲玲陳卓

(1.第七一五研究所,杭州,310023;2.海軍駐杭州地區(qū)軍事代表室,杭州,310023)

基于TS201的FPGA配置設(shè)計(jì)

王維1何菲玲1陳卓2

(1.第七一五研究所,杭州,310023;2.海軍駐杭州地區(qū)軍事代表室,杭州,310023)

主要介紹了Xilinx公司FPGA的配置原理,并提出了一種基于DSP芯片TS201加載FPGA配置數(shù)據(jù)的方法。通過將DSP程序及配置數(shù)據(jù)存儲在系統(tǒng)Flash中,利用DSP的外部數(shù)據(jù)總線和通用IO口完成對FPGA的配置;重點(diǎn)論述了以8 bit的被動并行模式配置FPGA的流程及軟硬件設(shè)計(jì)實(shí)現(xiàn)。該設(shè)計(jì)可以實(shí)現(xiàn)對FPGA的動態(tài)重置,并能精簡電路、減少成本。

FPGA;配置原理;TS201;被動并行模式

在很多高速實(shí)時(shí)信號處理系統(tǒng)中,常采用FPGA+DSP的硬件架構(gòu)。絕大部分FPGA都是基于SRAM工藝。由于SRAM工藝的數(shù)據(jù)易失性,系統(tǒng)在上電時(shí)外部電路需要將FPGA配置數(shù)據(jù)載入到片內(nèi)的配置RAM中。實(shí)現(xiàn)FPGA配置數(shù)據(jù)的加載主要有兩種方式:一種是采用專用的配置器件來存儲配置數(shù)據(jù),并在系統(tǒng)上電時(shí),一次性的加載到FPGA內(nèi)部配置RAM中,并在系統(tǒng)運(yùn)行過程中保持不變。另一種是利用微處理器外接的大容量FLASH存放多個(gè)FPGA配置數(shù)據(jù),在上電后或者系統(tǒng)運(yùn)行時(shí)由微處理器根據(jù)需要,動態(tài)加載相應(yīng)的FPGA配置數(shù)據(jù)[1,2]。在FPGA+DSP 結(jié)構(gòu)的信號處理系統(tǒng)中,DSP芯片可以作為FPGA配置電路中的微處理器。這樣不僅實(shí)現(xiàn)了對FPGA的動態(tài)配置,同時(shí)也可以精簡電路,減少系統(tǒng)成本。本文從FPGA的被動并行配置模式入手,介紹利用DSP芯片TS201來實(shí)現(xiàn)對Xilinx公司Virtex5 系列FPGA芯片XC5VFX70T的動態(tài)配置設(shè)計(jì)方法與實(shí)現(xiàn)。

1 FPGA的配置原理

1.1 Virtex5 FPGA的配置模式選擇

Virtex5系列FPGA是Xilinx公司采用65 nm工藝制造,是面向高速邏輯、數(shù)字信號處理(DSP)、嵌入式處理和串行連接性應(yīng)用等領(lǐng)域的高性能FPGA。本文設(shè)計(jì)中采用的FPGA芯片XC5VFX70T就是Virtex5系列其中的一款。它支持如表1所示的多種配置模式,在具體的實(shí)際的應(yīng)用中,配置模式由芯片的模式引腳M[2:0]決定。

在本文設(shè)計(jì)中,DSP芯片TS201作為主控制芯片按照一定的時(shí)序加載FPGA的配置數(shù)據(jù)流,可以選擇的配置模式只有被動-串行模式和被動-SelectMAP模式。兩種模式中,被動-串行模式需要連接的配置管腳較少,但速度較慢;被動-SelectMAP模式需要連接的管腳多,配置速度較快[3]。利用TS201芯片的少量通用IO腳,再配合外圍數(shù)據(jù)總線中的數(shù)據(jù)線和讀寫控制信號線,可以采用被動-SelectMAP模式實(shí)現(xiàn)對FPGA動態(tài)配置,以提高FPGA配置程序的加載速度。

表1 Virtex5 FPGA配置模式

1.2 FPGA配置管腳

在本文設(shè)計(jì)所使用的FPGA芯片中,與被動-SelectMAP模式有關(guān)的配置管腳主要有:(1) CCLK:配置時(shí)鐘,上升沿有效;(2) PROGRAM_ B:異步復(fù)位信號,低電平有效,復(fù)位所有配置邏輯;(3) INIT_B:用于指示器件準(zhǔn)備好接收配置數(shù)據(jù)和配置過程出錯(cuò)的情況,低電平有效;(4) D[7:0]:8位并行配置數(shù)據(jù)輸入口;(5) DONE:配置完成指示信號,復(fù)位時(shí)為低電平,配置成功后輸出高電平;(6) M[2:0]:模式選擇,選擇被動-SelectMAP模式時(shí),M2、M1接上拉電阻,M0接下拉電阻。

除上述信號外,與被動-SelectMAP模式有關(guān)的配置管腳還有CS_B、RDWR_B及BUSY信號[4]。CS_B、RDWR_B分別用于使能配置數(shù)據(jù)總線和控制配置數(shù)據(jù)總線D[7:0]的寫入或讀回,由于在本設(shè)計(jì)中沒有讀回操作,因此這兩個(gè)信號都直接下拉到GND。BUSY信號也只有在讀回操作時(shí)才用到,因此無需考慮。

1.3被動并行模式配置時(shí)序

以8 bit被動并行(即被動-SelcetMAP)模式為例,其配置過程主要分為四個(gè)步驟:

(1)系統(tǒng)上電。此時(shí),F(xiàn)PGA內(nèi)部的配置控制狀態(tài)機(jī)回到復(fù)位狀態(tài)。

(2)器件初始化。外部控制器將PROGRAM_ B拉低,并保持一定的時(shí)間,從而復(fù)位FPGA內(nèi)部配置存儲器。在PROGRAM_ B被拉低后,F(xiàn)PGA隨即也使INIT_B輸出一個(gè)低電平信號直到配置存儲器復(fù)位完成。

(3)配置數(shù)據(jù)加載。當(dāng)INIT_B信號電平從低向高跳轉(zhuǎn)時(shí),模式選擇腳M[2:0]被采樣,以決定采取何種配置模式。在此之后,配置數(shù)據(jù)流信息在外部輸入時(shí)鐘信號CCLK的控制下,通過8位數(shù)據(jù)線D[7:0]并行輸入到FPGA芯片中,并在每個(gè)CCLK的上升沿被采樣。

(4)啟動。當(dāng)最后的CRC校驗(yàn)完成且無錯(cuò)誤時(shí),F(xiàn)PGA進(jìn)入啟動過程,DONE輸出高電平,同時(shí)FPGA釋放全局三態(tài)信號(GTS),激活I(lǐng)O腳,并且釋放全局復(fù)位置位信號(GSR)和全局寫使能(GWE),從而開始執(zhí)行新的配置邏輯,進(jìn)入正常工作狀態(tài)。

2 硬件設(shè)計(jì)

本設(shè)計(jì)采用DSP芯片ADSP-TS201,是ADI公司的一款高性能通用信號處理器。ADSP-TS201最高工作主頻為600 MHz,具備24 MB片內(nèi)DRAM,擁有極強(qiáng)的浮點(diǎn)運(yùn)算能力,峰值運(yùn)算能力可達(dá)12 GFLOPS。除此之外,它還具有4路高速LINK口、14路獨(dú)立DMA、SDRAM控制器,64位外部總線接口、4個(gè)可編程FLAG引腳等豐富和功能強(qiáng)大的外圍支持電路。

TS201與FPGA的配置接口信號主要是PROG_B、CCLK、INIT、D[7:0]以及DONE這5種信號線[5],其硬件連接如圖1所示。

在被動并行配置模式下,配置數(shù)據(jù)在CCLK的上升沿被采樣,而且配置時(shí)鐘信號CCLK可以是非連續(xù)的受控時(shí)鐘,如圖2所示,其時(shí)序與ADSP-TS201的外部總線在慢速設(shè)備協(xié)議下的寫操作十分吻合。因此,可以用TS201的寫信號RD和片選信號MS1的邏輯或輸出可以模擬FPGA的配置時(shí)鐘CCLK,可編程IO引腳FLAG1輸出用于控制PROG_B信號,而FPGA的輸出信號INIT_B和DONE信號分別連接到中斷信號IRQ1和可編程IO腳FLAG2。

圖1 被動-SelectMAP配置模式硬件連接

圖2 SelectMAP模式非連續(xù)配置數(shù)據(jù)加載時(shí)序圖

由于在ADSP-TS201中,外部總線是采用的little-endian模式,進(jìn)行讀操作時(shí),其8位數(shù)據(jù)線的D7位為最高有效位,而Xilinx的FPGA配置數(shù)據(jù)總線使用的是big-endian模式,在接收配置數(shù)據(jù)時(shí),D0位為最高有效位。為解決這一問題,有兩種辦法:一種軟件方法,即在對FPGA加載配置數(shù)據(jù)前,通過ADSP-TS201軟件程序?qū)PGA配置數(shù)據(jù)按字節(jié)變換位序;另一種是硬件方法,即直接將DSP端和FPGA端的數(shù)據(jù)總線硬件連接位序變換,即ADSP-TS201的D0接FPGA的D7,D7接FPGA的D0,以此類推。很顯然,后者無需在DSP軟件程序中增加任何額外的操作過程,操作更為簡單。

系統(tǒng)采用16 MB的大容量FLASH作為DSP的程序和多個(gè)FPGA配置文件的存儲器。為了簡化設(shè)計(jì),這里將FLASH的存儲空間分為8 MB、4 MB、4 MB三部分,前8 MB空間用于存儲DSP程序數(shù)據(jù),后面兩個(gè)4 MB空間用于存儲FPGA配置數(shù)據(jù)。對于Xilinx的FPGA芯片來說,其配置文件的大小是相同的,不會因FPGA邏輯設(shè)計(jì)的改變而發(fā)生變化。具體到本文設(shè)計(jì)中使用的FPGA芯片XC5VFX70T,其對應(yīng)的配置文件大小為3.22 MB,因此兩個(gè)4 MB空間足夠存儲兩個(gè)不同的FPGA設(shè)計(jì)的配置數(shù)據(jù),以方便在信號處理系統(tǒng)運(yùn)行過程中,根據(jù)設(shè)計(jì)需要通過DSP動態(tài)的加載FPGA配置數(shù)據(jù),從而實(shí)現(xiàn)FPGA算法邏輯的實(shí)時(shí)切換。

3 DSP配置FPGA的軟件設(shè)計(jì)

3.1 FPGA配置數(shù)據(jù)的產(chǎn)生

在實(shí)現(xiàn)DSP對FPGA的動態(tài)加載配置之前,需要將FPGA設(shè)計(jì)的配置數(shù)據(jù)按照DSP可以識別的數(shù)據(jù)格式存入到DSP的外接FLASH器件中。Xilinx的集成開發(fā)軟件可以根據(jù)需求將用戶的FPGA設(shè)計(jì)生成多種格式的配置數(shù)據(jù)文件,常見的有mcs、bit和bin文件格式,本設(shè)計(jì)中選取只含有純配置數(shù)據(jù)的bin文件格式文件。為了將配置數(shù)據(jù)寫入Flash,首先要利用Matlab或其他軟件將FPGA的bin格式的數(shù)據(jù)文件轉(zhuǎn)換成dat文件,然后再編寫DSP程序?qū)⑴渲脭?shù)據(jù)分別寫入到Flash的后面兩個(gè)4 MB存儲空間。

3.2 配置操作的DSP軟件設(shè)計(jì)

TS201程序運(yùn)行以后,將從Flash中讀取配置數(shù)據(jù)轉(zhuǎn)存至SDRAM。當(dāng)DSP程序啟動對FPGA的配置進(jìn)程后,將按照圖3所示的流程完成FPGA配置。

圖3 TS201配置FPGA操作流程圖

在這一過程中,TS201的程序必須確保在加載FPGA程序時(shí),PROG_B、CCLK、DATA[7:0]等信號完全符合配置時(shí)序的要求,具體的配置過程如下:

(1)TS201置低FLAG0,使FPGA的PROGRAM_B保持為低,并保持2 μs以清除FPGA的配置存儲器,完成初始化。

(2)等待外部中斷IRQ1。IRQ1與FPGA的 INIT_B相連。如果FPGA初始化完成,INIT_B由低電平跳轉(zhuǎn)為高電平,則觸發(fā)TS201外部中斷IRQ1。

(3)TS201通過數(shù)據(jù)總線將3378176字節(jié)FPGA配置數(shù)據(jù)按照字節(jié)順序輸出到FPGA配置數(shù)據(jù)管腳D[7:0]上,直至配置數(shù)據(jù)發(fā)送完成。

(4)TS201檢測與FPGA的DONE信號相連的FLAG2,若其為高則表示配置成功,配置過程結(jié)束,若為低則跳轉(zhuǎn)至第1步,重新開始配置,如果重新配置的次數(shù)超過5次則DSP程序放棄加載配置,并輸出錯(cuò)誤信息。

上述流程不僅適用于信號處理系統(tǒng)上電啟動階段,在系統(tǒng)運(yùn)行的過程中,TS201也可以根據(jù)這一配置操作流程加載新的配置數(shù)據(jù),實(shí)現(xiàn)對FPGA的動態(tài)加載。

4 結(jié)語

本文介紹一種在TS201+FPGA信號處理系統(tǒng)上利用利用TS201外部總線和通用IO實(shí)現(xiàn)對FPGA動態(tài)加載配置的方法。采用該方法完成對FPGA芯片XC5VFX70T配置所需時(shí)間約為300 ms,滿足系統(tǒng)設(shè)計(jì)的要求。如果需要進(jìn)一步縮短FPGA的配置時(shí)間,可以考慮將配置數(shù)據(jù)輸入口位寬改為16 bit或32 bit,同時(shí)還可以通過優(yōu)化DSP程序設(shè)計(jì),如采用DMA方式輸出配置數(shù)據(jù)等方式,以提高配置數(shù)據(jù)的輸出速度。

[1]董宏成,魏楊.基于ARM和NAND Flash的FPGA加載配置在TD-LTE中的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(7):26-29.

[2]梅安華,田建生,劉歡,等.基于PCI總線的FPGA配置系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2005,13(4):375-377.

[3]胡修林,席向清,張?zhí)N玉.嵌入式系統(tǒng)中FPGA的被動串行配置方法[J].單片機(jī)及嵌入式應(yīng)用,2004,(3):21-31.

[4]Xilinx lnc.Virtex-5 FPGA Configuration User Guide[EB].2008.

[5]Xilinx lnc.Application Note:Using a Microprocessor to ConfigureXilinx FPGAs[Z].2002.

猜你喜歡
數(shù)據(jù)總線管腳低電平
鐵道車輛高/低電平信號智能發(fā)生器設(shè)計(jì)
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
智能電網(wǎng)調(diào)度控制系統(tǒng)中的數(shù)據(jù)總線技術(shù)研究
基于ASP.NETSignalR的實(shí)時(shí)Web功能的實(shí)現(xiàn)
基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
CMOS數(shù)字IC管腳電容的估算與測量
15-MeV電子直線加速器的低電平系統(tǒng)
現(xiàn)場總線技術(shù)在電廠自動化控制中的應(yīng)用
途安車數(shù)據(jù)總線診斷接口故障
HC08芯片JVT測試方法的探究