基于SPI FLASH的FPGA多重配置_第1頁
基于SPI FLASH的FPGA多重配置_第2頁
基于SPI FLASH的FPGA多重配置_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于SPIFLASH的FPGA多重配置現(xiàn)代硬件設(shè)計規(guī)模逐漸增大,單個程序功能越來越復(fù)雜,當(dāng)把多個功能復(fù)雜的程序集成到一個FPGA上實現(xiàn)時,由于各個程序的數(shù)據(jù)通路及所占用的資源可能沖突,使得FPGA控制模塊的結(jié)構(gòu)臃腫,影響了整個系統(tǒng)工作效率。通過FPGA的多重配置可以有效地精簡控制結(jié)構(gòu)的設(shè)計,同時可以用邏輯資源較少的FPGA器件實現(xiàn)需要很大資源才能實現(xiàn)的程序。以Virtex5系列開發(fā)板和配置存儲器SPIFLASH為基礎(chǔ),從硬件電路和軟件設(shè)計兩個方面對多重配置進(jìn)行分析,給出了多重配置實現(xiàn)的具體步驟,對實現(xiàn)復(fù)雜硬件設(shè)計工程有一定的參考價值。0引言現(xiàn)代硬件程序設(shè)計規(guī)模越來越大,功能越來越復(fù)雜,當(dāng)多個應(yīng)用程序同時在一個硬件平臺上實現(xiàn)時,各個程序的資源使用和數(shù)據(jù)通路可能會沖突,這增加了控制電路設(shè)計的復(fù)雜程度,給開發(fā)人員增加了工作量和開發(fā)難度。通過多重配置,可以將多個應(yīng)用程序根據(jù)需要分時加載到FPGA中,不僅精簡了電路設(shè)計,而且使系統(tǒng)更加靈活。FPGA多重配置的特點(diǎn)可以讓特定條件下的用戶選擇片上資源不多的FPGA去實現(xiàn)需要很多資源FPGA才能實現(xiàn)的功能,這大大降低了開發(fā)費(fèi)用,同時提高了FPGA的利用率。Xilinx公司Virtex5系列的FPGA具有多重配置的特性,允許用戶在不掉電重啟的情況下,根據(jù)不同時刻的需求,可以從FLASH中貯存的多個比特文件選擇加載其中的一個,實現(xiàn)系統(tǒng)功能的變換。1總體設(shè)計當(dāng)FPGA完成上電自動加載初始化的比特流后,可以通過觸發(fā)FPGA內(nèi)部的多重啟動事件使得FPGA從外部配置存儲器(SPIFLASH)指定的地址自動下載一個新的比特流來重新配置。FPGA的多重配置可以通過多種方式來實現(xiàn)。本文采用的是基于ICAP核的狀態(tài)機(jī)編碼方式。通過調(diào)用Xilinx自帶的ICAP核,編寫狀態(tài)機(jī)按照一定的指令流程對ICAP核進(jìn)行不斷的配置,可以控制FPGA重新配置。這種方式可以在源代碼中加很多注釋,讓后來的開發(fā)者很清楚地明白ICAP核指令流順序,以及多重配置地址計算方法,是一種簡單實用的實現(xiàn)方法。1.1硬件電路多重配置的硬件主要包括FPGA板卡和貯存配置文件的FLASH芯片。FPGA選用XILINX公司Virtex-5系列中的ML507,該產(chǎn)品針對FPGA多重配置增加了專用的內(nèi)部加載邏輯。FLASH芯片選用XILINX公司的SPIFLASH芯片M25P32,該芯片存貯空間為32Mb,存貯文件的數(shù)量與文件大小以及所使用的FPGA芯片有關(guān)。實現(xiàn)多重配置首先要將FPGA和外部配置存儲器連接為從SPIFLASH加載配置文件的模式。配置電路硬件連接框圖如圖1所示。在FPGA配置模式中,M2,M1,M0為0,0,1,這種配置模式對應(yīng)邊界掃描加上拉,F(xiàn)PGA在這種模式下所有的I/O只在配置期間有效。在配置完成后,不用的I/O將被浮空[5].M2,M1,M0三個選擇開關(guān)對應(yīng)于ML507開發(fā)板上的SW3開關(guān)中的4,5,6位,在FPGA上電之前將上述開關(guān)撥為0,0,1狀態(tài)。1.2軟件設(shè)計從軟件設(shè)計的角度可以將FPGA多重配置主要分為兩個部分。第一部分是用戶自己開發(fā)的程序,這一部分包括用戶要在FPGA上邊實現(xiàn)的功能,同時也包括為重載模塊提供時鐘信號,以及觸發(fā)信號,本文觸發(fā)信號是通過用戶程序編寫串口通信協(xié)議棧來接收PC端傳輸?shù)臄?shù)字作為觸發(fā)信號。第二部分是FPGA重載配置模塊。FPGA多重配置首先要調(diào)用ICAP核,當(dāng)滿足觸發(fā)條件后,采用狀態(tài)機(jī)編碼的方式對ICAP核進(jìn)行賦值配置。FPGA多重配置的軟件結(jié)構(gòu)圖如圖2所示。重載模塊首先要調(diào)用ICAP核。ICAP原語在Xilinx的編譯軟件ISE中調(diào)用,調(diào)用路徑為Edit→LanguageTemplates,VHDL/Verilog→DevicePrimitiveInstantia-tion→Virtex5FPGA→Config/BSCANComponents→In-ternalConfigAccessPor(tICAP_VIRTEX5)。ICAP_VIRTEX5調(diào)用接口如下:ICAP核支持X8,X16,X32三種數(shù)據(jù)帶寬模式。在整個FPGA重配置的過程中并沒有用到ICAP核的輸出,因此在重載模塊的狀態(tài)機(jī)控制程序中不關(guān)注BUSY,O信號的值,可以不對它們賦值。用戶程序在使用接口時只需對CE,CLK,I,WRITE4個信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論