<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò )與存儲 > 設計應用 > 基于SPI FLASH的FPGA多重配置

基于SPI FLASH的FPGA多重配置

——
作者: 時(shí)間:2014-02-12 來(lái)源:摘自《電子發(fā)燒友》 收藏

  當狀態(tài)機從用戶(hù)程序接收到一個(gè)觸發(fā)條件后,會(huì )發(fā)送一系列如圖3所示的命令。Verilog編碼實(shí)現狀態(tài)機的過(guò)程中,必須按照圖3給出的指令順序發(fā)送這些命令,否則無(wú)法正確的與核通信。同時(shí)這些指令都具有自己特殊的定義而且必須服從Select-MAP數據順序,否則無(wú)法通信。指令的具體定義及說(shuō)明如表1所示。

本文引用地址:http://dyxdggzs.com/article/221428.htm
IPROG指令定義

  在上述配置指令過(guò)程中,第五步Warm Boot StartAddress Register(WBSTAR)指定了滿(mǎn)足觸發(fā)條件的比特流在SPI 中的起始地址,WBSTAR被賦值的地址必須和即將配置的bit流在SPI 中的物理位置相同,否則就無(wú)法從外部讀取bit流。WBSTAR被賦值的數值都是提前根據程序的要求計算好的。計算WBSTAR值的時(shí)候需要了解WBSTAR每一位的具體含義,如圖5所示。

WBSTAR寄存器

  WBSTAR共31位,高三位是保留位,RS[1:0]

  兩位指定了可以多重配置的bit流的個(gè)數。RS_TS_B是RS[1:0]的使能信號:0表示Disabled,1表示Enabled.

  START_ADDR表示要回讀的比特流在外部配置存儲器的起始地址。狀態(tài)機在對WBSTAR進(jìn)行賦值時(shí),要根據自己選擇的bit流個(gè)數以及對應各個(gè)bit流在外部配置存儲器貯存的地址自行計算WBSTAR地址。這里以4個(gè)bit流為例說(shuō)明WBSTAR地址的計算方法,如表2所示。狀態(tài)機使用的地址是服從SelectMAP數據順序的地址。專(zhuān)用配置邏輯在收到IPROG指令后,開(kāi)始執行內部復位操作(JATG管角和重載控制部分不進(jìn)行復位操作),擦除板卡上原有的程序,從芯片中WBSTAR所指向的起始地址開(kāi)始讀取新配置文件完成的重配置。

WBSTAR地址的計算示意

  2多重配置的實(shí)現

  Xilinx系列的FPGA需要將后綴名為mcs的內存鏡像文件固化到外部配置存儲器中,FPGA上電后才能自動(dòng)加載配置文件。一般的mcs文件只包含一個(gè)bit流文件,多重啟動(dòng)的固化文件(。mcs)包含多bit流文件。在將多個(gè)bit流整合到mcs文件的過(guò)程中,需要指定每個(gè)bit流的起始地址,這樣FPGA專(zhuān)用配置邏輯才能根據地址找到對應的bit流。首先將用戶(hù)開(kāi)發(fā)的應用程序和重載控制模塊添加到一個(gè)工程當中,利用ISE編譯軟件生成位流文件(。bit)。由于系列器件本身的特性,一般情況下生產(chǎn)的bit流文件大約為3 300 KB,而SPIFLASH的容量為32 Mb即4 MB,這個(gè)容量無(wú)法滿(mǎn)足在一個(gè)SPI FLASH上貯存多個(gè)bit流文件,需要對生成的bit流進(jìn)行壓縮。在用ISE軟件生成bit流文件時(shí),當完成了Synthesize-XST以及Implement Design后,執行到最后一步Generate Programming File時(shí),在Process Proper-ties中General Options選項中勾選Enable BitstreamCompression.通過(guò)這個(gè)壓縮設置可以對bit流進(jìn)行壓縮,壓縮后的bit流大約在500~600 KB之間,可以滿(mǎn)足在一個(gè)容量為32 Mb的SPI FLASH上貯存多個(gè)bit流文件。其次將需要進(jìn)行重配置的多個(gè)位流文件拷貝至一個(gè)工程目錄下,有兩種方法可以將多個(gè)bit流整合為一個(gè)mcs文件。第一種方法是通過(guò)ISE編譯軟件的命令行窗口,使用命令行命令將多個(gè)位流文件合并為一個(gè)FLASH存貯芯片M25P32中燒寫(xiě)的內存鏡像文件(。mcs)。第二種方法是用Impact軟件創(chuàng )建MultibootSPI FLASH,選擇相應的FPGA型號和FLASH的容量以及要包含的bit流的個(gè)數(版本的個(gè)數)。本文使用第一種方法來(lái)將多個(gè)bit流文件形成一個(gè)內存鏡像文件(。mcs)。使用promgen命令的具體格式為:

  promgen -spi -pmcs -oMulitBoot.mcs-s4096 -u0rev0.bit -u100000rev1.bit -u200000rev0.bit -u300000rev0.bit命令中各參數的說(shuō)明如下所述。-spi:表示生成的mcs文件要固化到SPI FLASH中;-p mcs:生成文件的格式是mcs格式;-o ML507.mcs:要生成的文件名,可以根據需要修改;-s 4096:定義了外部存儲器的容量,4096表示32 Mb;- u 0rev0.bit:表示名字為rev0的比特流文件在外部存儲器的起始地址為0;-u 100000 rev1.bit:表示名字為rev1的比特流文件在外部貯存的起始地址為100000.在生成mcs文件后,通過(guò)IM-PACT軟件將mcs文件固化到SPI FLASH中。

  FPGA上電自動(dòng)從外部SPI FLASH加載一個(gè)初始化的bit流,當需要執行新的程序時(shí),會(huì )根據觸發(fā)條件以及啟動(dòng)地址重新配置。在實(shí)驗中,通過(guò)PC機串口終端發(fā)送指令當做觸發(fā)條件實(shí)現多重配置。在實(shí)際應用中,還可以根據具體硬件實(shí)現,采用其他通信方式傳送控制指令來(lái)進(jìn)行觸發(fā)。

  3結語(yǔ)

  本文通過(guò)硬件電路和軟件設計兩個(gè)方面對FPGA的多重配置方法進(jìn)行了詳細介紹,本文所介紹的多重配置方法靈活方便、易于操作、電路簡(jiǎn)單,在工程中有很高的應用價(jià)值,同時(shí)關(guān)于bit流壓縮的方法也值得參考。

fpga相關(guān)文章:fpga是什么


存儲器相關(guān)文章:存儲器原理



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA Virtex5 FLASH ICAP IPROG 寄存器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>