基于SPI FLASH的FPGA多重配置

    2014-02-12 21:16 來(lái)源:電子信息網(wǎng) 作者:蒲公英

    現(xiàn)代硬件設(shè)計(jì)規(guī)模逐漸增大,單個(gè)程序功能越來(lái)越復(fù)雜,當(dāng)把多個(gè)功能復(fù)雜的程序集成到一個(gè)FPGA上實(shí)現(xiàn)時(shí),由于各個(gè)程序的數(shù)據(jù)通路及所占用的資源可能沖突,使得FPGA控制模塊的結(jié)構(gòu)臃腫,影響了整個(gè)系統(tǒng)工作效率。

    通過(guò)FPGA的多重配置可以有效地精簡(jiǎn)控制結(jié)構(gòu)的設(shè)計(jì),同時(shí)可以用邏輯資源較少的FPGA器件實(shí)現(xiàn)需要很大資源才能實(shí)現(xiàn)的程序。以Virtex5系列開(kāi)發(fā)板和配置存儲(chǔ)器SPI FLASH為基礎(chǔ),從硬件電路和軟件設(shè)計(jì)兩個(gè)方面對(duì)多重配置進(jìn)行分析,給出了多重配置實(shí)現(xiàn)的具體步驟,對(duì)實(shí)現(xiàn)復(fù)雜硬件設(shè)計(jì)工程有一定的參考價(jià)值。

    現(xiàn)代硬件程序設(shè)計(jì)規(guī)模越來(lái)越大,功能越來(lái)越復(fù)雜,當(dāng)多個(gè)應(yīng)用程序同時(shí)在一個(gè)硬件平臺(tái)上實(shí)現(xiàn)時(shí),各個(gè)程序的資源使用和數(shù)據(jù)通路可能會(huì)沖突,這增加了控制電路設(shè)計(jì)的復(fù)雜程度,給開(kāi)發(fā)人員增加了工作量和開(kāi)發(fā)難度。通過(guò)多重配置,可以將多個(gè)應(yīng)用程序根據(jù)需要分時(shí)加載到FPGA中,不僅精簡(jiǎn)了電路設(shè)計(jì),而且使系統(tǒng)更加靈活。FPGA多重配置的特點(diǎn)可以讓特定條件下的用戶(hù)選擇片上資源不多的FPGA去實(shí)現(xiàn)需要很多資源FPGA才能實(shí)現(xiàn)的功能,這大大降低了開(kāi)發(fā)費(fèi)用,同時(shí)提高了FPGA的利用率。

    Xilinx公司Virtex5系列的FPGA具有多重配置的特性,允許用戶(hù)在不掉電重啟的情況下,根據(jù)不同時(shí)刻的需求,可以從FLASH中貯存的多個(gè)比特文件選擇加載其中的一個(gè),實(shí)現(xiàn)系統(tǒng)功能的變換。

    1總體設(shè)計(jì)

    當(dāng)FPGA完成上電自動(dòng)加載初始化的比特流后,可以通過(guò)觸發(fā)FPGA內(nèi)部的多重啟動(dòng)事件使得FPGA從外部配置存儲(chǔ)器(SPI FLASH)指定的地址自動(dòng)下載一個(gè)新的比特流來(lái)重新配置。FPGA的多重配置可以通過(guò)多種方式來(lái)實(shí)現(xiàn)。本文采用的是基于ICAP核的狀態(tài)機(jī)編碼方式。通過(guò)調(diào)用Xilinx自帶的ICAP核,編寫(xiě)狀態(tài)機(jī)按照一定的指令流程對(duì)ICAP核進(jìn)行不斷的配置,可以控制FPGA重新配置。這種方式可以在源代碼中加很多注釋?zhuān)尯髞?lái)的開(kāi)發(fā)者很清楚地明白ICAP核指令流順序,以及多重配置地址計(jì)算方法,是一種簡(jiǎn)單實(shí)用的實(shí)現(xiàn)方法。

    1.1硬件電路

    多重配置的硬件主要包括FPGA板卡和貯存配置文件的FLASH芯片。FPGA選用XILINX公司Virtex-5系列中的ML507,該產(chǎn)品針對(duì)FPGA多重配置增加了專(zhuān)用的內(nèi)部加載邏輯。FLASH芯片選用XILINX公司的SPI FLASH芯片M25P32,該芯片存貯空間為32 Mb,存貯文件的數(shù)量與文件大小以及所使用的FPGA芯片有關(guān)。實(shí)現(xiàn)多重配置首先要將FPGA和外部配置存儲(chǔ)器連接為從SPI FLASH加載配置文件的模式。配置電路硬件連接框圖如圖1所示。

    1


    在FPGA配置模式中,M2,M1,M0為0,0,1,這種配置模式對(duì)應(yīng)邊界掃描加上拉,F(xiàn)PGA在這種模式下所有的I/O只在配置期間有效。在配置完成后,不用的I/O將被浮空[5].M2,M1,M0三個(gè)選擇開(kāi)關(guān)對(duì)應(yīng)于ML507開(kāi)發(fā)板上的SW3開(kāi)關(guān)中的4,5,6位,在FPGA上電之前將上述開(kāi)關(guān)撥為0,0,1狀態(tài)。

    1 2 3 4 5 > 
    FPGA Flash SPI

    相關(guān)閱讀

    暫無(wú)數(shù)據(jù)

    一周熱門(mén)

    jizzjizz亚洲日本少妇| 亚洲精品视频在线观看视频| 亚洲色大成WWW亚洲女子| 亚洲成a人无码亚洲成av无码| 亚洲成人高清在线观看| 香蕉视频在线观看亚洲| 亚洲女久久久噜噜噜熟女| 国产偷窥女洗浴在线观看亚洲 | 国产亚洲漂亮白嫩美女在线| 亚洲美国产亚洲AV| 亚洲日韩精品无码专区加勒比☆ | 亚洲一级毛片在线观| 亚洲综合国产精品第一页| 亚洲中文字幕无码一去台湾| 亚洲人成网亚洲欧洲无码久久| 亚洲片国产一区一级在线观看| 女bbbbxxxx另类亚洲| 国产精品亚洲综合网站| 国产亚洲福利一区二区免费看 | WWW亚洲色大成网络.COM | 亚洲熟妇无码另类久久久| 国产亚洲精品看片在线观看| 久久久久亚洲AV成人网| 日本亚洲国产一区二区三区| 在线观看亚洲精品国产| 亚洲热线99精品视频| 亚洲国产第一站精品蜜芽| 午夜亚洲AV日韩AV无码大全| 亚洲男人都懂得羞羞网站| 久久久久亚洲精品日久生情 | 亚洲区小说区图片区| 亚洲人成色7777在线观看不卡 | 久久亚洲中文字幕精品一区四| 国产成人精品曰本亚洲79ren| 久久精品国产亚洲Aⅴ香蕉 | 亚洲国产av玩弄放荡人妇| 亚洲AV无码之国产精品| 婷婷综合缴情亚洲狠狠尤物| 日本亚洲免费无线码| 国产精品久久久久久亚洲影视| 亚洲av无码成人精品区在线播放 |