《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于Kintex7和SPI Flash實(shí)現(xiàn)FPGA的多重加載
基于Kintex7和SPI Flash實(shí)現(xiàn)FPGA的多重加載
2014年電子技術(shù)應(yīng)用第7期
陳 嵐1,李紀(jì)云1,朱人杰2
1.上海應(yīng)用技術(shù)學(xué)院 電氣與電子工程學(xué)院,上海201418; 2.中國(guó)科學(xué)院上海天文臺(tái),上海2000
摘要: Xilinx 7系列FPGA是Xilinx公司最新推出的一個(gè)芯片系列,Kintex7是該系列芯片中的一種,擁有大量的可編程資源。即便如此,在一些多模式的大型復(fù)雜的系統(tǒng)設(shè)計(jì)中,芯片的資源還是遠(yuǎn)遠(yuǎn)不能滿足設(shè)計(jì)需求。FPGA的多重加載可以解決可編程資源不足的難題。FPGA多重加載是將設(shè)計(jì)的多個(gè)模式的比特文件存儲(chǔ)到Flash,用戶可以根據(jù)需要選擇加載不同模式的比特文件。FPGA的多重加載解決了可編程資源不足的問題,提高了FPGA可編程資源的利用率。
關(guān)鍵詞: FPGA 重配置 SPIFLASH Xilinx Kintex7
中圖分類號(hào): TN79
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)07-0024-03
中文引用格式:陳嵐,李紀(jì)云,朱人杰.基于Kintex7和SPI Flash實(shí)現(xiàn)FPGA的多重加載[J].電子技術(shù)應(yīng)用,2014,40(07):24-26.
Implementation of FPGA multiboot based on Kintex7 and SPI Flash
Chen Lan1,Li Jiyun1,Zhu Renjie2
1.School of Electronic Engineer, Shanghai Institute of Technology, Shanghai 201418,China;2.Shanghai Astronomical Observatory, Chinese Academy of Science,Shanghai 200010,China
Abstract: 7 series FPGA of Xilinx is the newest series chips, and kintex7 is one of them, which has a great number of programming resources. However, resources could not be satisfied with the demound of the design of a several-mode complicate system. This problem can be solved by FPGA reconfiguration. Several bit files should be stored in the SPI Flash, and user can choose to reconfigure FPGA with the selected bit file on the fly. Reconfiguration of FPGA solves the shortage of programming resources and improves the availability of FPGA programming resources.
Key words : reconfiguration;FPGA;SPI Flash;Xilinx

       隨著通信技術(shù)的快速發(fā)展,多模式通信體制在現(xiàn)代通信中廣泛存在,如時(shí)分多址、空分多址、空分多址、頻分多址等。而調(diào)制、解調(diào)技術(shù)又分為FM、FSK、BPSK、QPSK等多種調(diào)制及解調(diào)技術(shù)。在一個(gè)通信系統(tǒng)中往往采用多種通信模式,這對(duì)硬件設(shè)備資源提出了比較高的要求,特別是對(duì)可編程芯片資源的要求。另外,多模式系統(tǒng)設(shè)計(jì)的復(fù)雜性也大大提高,同時(shí)對(duì)系統(tǒng)的維護(hù)和升級(jí)提出了挑戰(zhàn)。

        近些年FPGA技術(shù)得到了飛速的發(fā)展,其作為可編程資源廣泛應(yīng)用在大型復(fù)雜通信系統(tǒng)設(shè)計(jì)中。盡管FPGA在資源集成度方面近些年取得了可觀的成果,但是在多模式的大型系統(tǒng)設(shè)計(jì)中,單片F(xiàn)PGA資源遠(yuǎn)遠(yuǎn)不能夠滿足設(shè)計(jì)需求,有時(shí)可能需要多個(gè)芯片。然而FPGA價(jià)格相對(duì)較高,這大大提高了設(shè)計(jì)成本,而且不易于產(chǎn)品升級(jí)和維護(hù)。

        FPGA多重加載技術(shù)[1-2]實(shí)際是對(duì)可編程資源的復(fù)用,用戶可以根據(jù)需求選擇加載不同的比特文件,從而實(shí)現(xiàn)多模式功能。FPGA多重加載技術(shù)可以解決可編程資源不足的問題,提高了可編程資源的利用率,同時(shí)降低了系統(tǒng)設(shè)計(jì)的復(fù)雜性,增加了系統(tǒng)設(shè)計(jì)的靈活性,減小了多模式系統(tǒng)的耦合性,便于系統(tǒng)升級(jí)和維護(hù)。

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

        Kintex7和SPI Flash物理連接的硬件設(shè)計(jì)如圖1所示。SPI Flash的容量選擇與設(shè)計(jì)的加載模式的個(gè)數(shù)和FPGA芯片的種類有關(guān),本設(shè)計(jì)實(shí)現(xiàn)4種模式切換,SPI Flash內(nèi)存儲(chǔ)4個(gè)比特文件,SPI Flash的容量是512 Mbit。

2 控制部分的設(shè)計(jì)

        控制部分的設(shè)計(jì)是基于PowerPC[3]處理器實(shí)現(xiàn)的,用于對(duì)整個(gè)數(shù)據(jù)采集系統(tǒng)的控制,這里只對(duì)FPGA模式加載控制做簡(jiǎn)單說明。FPGA的加載模式控制信息由上位機(jī)發(fā)送,上位機(jī)的1 G(TCP協(xié)議)網(wǎng)絡(luò)將加載模式控制信息發(fā)送到數(shù)據(jù)采集系統(tǒng)的1 G網(wǎng)絡(luò);數(shù)據(jù)采集系統(tǒng)控制部分解析TCP數(shù)據(jù)包,提取有效信息,判斷加載模式,將加載信息通過EPC(外設(shè)控制器)寫到FPGA的寄存器中,Kintex7會(huì)根據(jù)寄存器中的值選擇加載模式。外設(shè)控制器(EPC)是FPGA與PowerPC之間通信的橋梁,在重加載控制過程中主要負(fù)責(zé)傳遞加載模式信息到FPGA寄存器內(nèi),另外還需要將加載成功后的模式信息進(jìn)行回讀,并且通過1 G網(wǎng)絡(luò)送到上位機(jī)界面,判斷是否重加載成功。嵌入式控制部分的設(shè)計(jì)如圖2所示。

3 重加載模塊的設(shè)計(jì)

        IRPOG命令序列是實(shí)現(xiàn)FPGA重加載的重要環(huán)節(jié)。IPROG命令的效果與在PROGRAM_B引腳產(chǎn)生一個(gè)脈沖的效果類似,但是IPROG命令不對(duì)重配置[4]邏輯進(jìn)行復(fù)位。Kintex7內(nèi)部ICAPE2模塊能夠執(zhí)行IPROG命令,IPROG命令觸發(fā)FPGA從SPI Flash中重新加載比特文件,加載地址是Kintex7中WBSTAR寄存器指定的地址。IPROG命令發(fā)送后,F(xiàn)PGA完成3個(gè)動(dòng)作:發(fā)送同步字節(jié)(AA995566);向Kintex7的WBSTAR寄存器寫入下一個(gè)加載地址(表1地址為00000000);發(fā)送IPORG命令(0000000F)。表1是通過ICAPE2向重配置模塊發(fā)送IPROG命令的比特流,Multiboot[5]控制器用一個(gè)狀態(tài)機(jī)向ICAPE2發(fā)送表1中的IPROG命令序列。一般情況下,重配置控制器等待外部的激勵(lì)信號(hào),當(dāng)激勵(lì)信號(hào)到達(dá)后,控制器向ICAPE2發(fā)送表1命令序列,在發(fā)送命令序列之前,控制器先把WRITE端口置為低電平,在下一個(gè)時(shí)鐘的上升沿把CE端口置為低電平,接下來發(fā)送表1指令序列。

        FPGA內(nèi)的重配置邏輯接收到IPROG命令后,F(xiàn)PGA執(zhí)行復(fù)位操作,但不對(duì)重配置邏輯進(jìn)行復(fù)位,并且將INIT_B和DONE引腳拉低。FPGA清除了所有的配置存儲(chǔ)后,INIT_B端口被拉高。最后,WBSTAR寄存器的值被用來重新配置FPGA。

        IPROG命令序列通過狀態(tài)機(jī)實(shí)現(xiàn),狀態(tài)機(jī)中最少有8個(gè)狀態(tài)才能生成整個(gè)IPROG命令序列,否則,IPROG命令序列不能夠生成,F(xiàn)PGA不能重新配置。另外,IPROG命令的發(fā)送由ICAPE2模塊執(zhí)行,ICAPE2模塊的輸出時(shí)序和SelectMAP的輸出時(shí)序是一致的,SelectMAP的輸出數(shù)據(jù)格式是位轉(zhuǎn)換格式,所以IPROG命令序列生成的過程中需要將配置數(shù)據(jù)進(jìn)行位轉(zhuǎn)換。這里位轉(zhuǎn)換是指字節(jié)內(nèi)位轉(zhuǎn)換,即最高有效位變?yōu)樽畹陀行?,以此為?guī)則進(jìn)行字節(jié)內(nèi)的位互換。位轉(zhuǎn)換結(jié)果如表2所示。

4 生成PROM文件

        本設(shè)計(jì)的可編程文件是.mcs文件,生成.mcs文件有兩種方法:(1)用戶ISE中用命令行的格式生成,在用命令行的方式生成時(shí)需要把其他模式的頂層比特文件拷貝到當(dāng)前工作路徑,用promgen+參數(shù)的方式生成.mcs文件;(2)使用軟件Impact中的PROM File Formatter生成.mcs文件,PROM File Formatter為用戶提供了可視化的.mcs文件生成環(huán)境。本設(shè)計(jì)的.mcs文件是由4個(gè)比特文件組合而成,每個(gè)比特文件代表一種不同的設(shè)計(jì)模式,其在Flash中存放的首地址和Kintex7中重配置寄存器地址保持一致。

        本設(shè)計(jì)選用S25FL512S Flash,可以存放4個(gè)配置Kintex7的比特文件。這4個(gè)比特文件的首地址與狀態(tài)機(jī)生成的首地址不同,狀態(tài)機(jī)生成的加載首地址必須進(jìn)行位轉(zhuǎn)換。4個(gè)比特文件存放的首地址分別為表2中左側(cè)的4個(gè)地址,位轉(zhuǎn)換后的加載首地址如表3右側(cè)所示,這是由ICAPE2的輸出時(shí)序決定的,ICAPE2的輸出時(shí)序和SelectMAP的讀寫時(shí)序一致。另外,ICAPE2的輸入時(shí)鐘范圍是1~100 MHz,若超出該范圍則不能夠正確執(zhí)行相關(guān)寄存器的配置。

5 測(cè)試結(jié)果及分析

        本設(shè)計(jì)使用Chipscope軟件對(duì)信號(hào)進(jìn)行捕捉,圖3是FPGA重新加載時(shí)對(duì)ICAPE2模塊的輸入信號(hào)的捕捉結(jié)果??梢杂^察到,狀態(tài)機(jī)成功生成了IPROM命令,并將其發(fā)送給ICAPE2模塊。

        本設(shè)計(jì)在硬件平臺(tái)上進(jìn)行了多模式啟動(dòng)的測(cè)試,測(cè)試過程及結(jié)果:用戶通過上位機(jī)的控制界面向終端發(fā)送模式切換命令,上位機(jī)與終端用1 G(TCP協(xié)議)網(wǎng)絡(luò)通信,以PowerPC為處理器搭建的嵌入式控制系統(tǒng)負(fù)責(zé)接收模式切換指令,終端接收到命令后通過EPC(圖1)接口寫入Kintex7寄存器,Kintex7的控制邏輯會(huì)根據(jù)指令觸發(fā)相應(yīng)的重加載模式,最后通過終端設(shè)備上的LED燈觀測(cè)到FPGA正確加載。

        FPGA是否正確重加載的依據(jù)是:FPGA配置文件的功能都是點(diǎn)亮同一個(gè)LED燈,區(qū)別在于它們點(diǎn)亮LED的頻率不同,通過觀察LED燈的閃爍頻率可以確定FPGA是否正確加載了相應(yīng)模式。

        本實(shí)驗(yàn)在重加載前后,LED燈的顯示頻率分別為1 Hz和2 Hz,說明FPGA重加載成功。對(duì)另外兩種模式也進(jìn)行了重加載測(cè)試,LED閃爍頻率分別是4 Hz和8 Hz。本實(shí)驗(yàn)最后觀測(cè)到LED燈閃爍情況滿足預(yù)期結(jié)果。綜上所述,F(xiàn)PGA可以在不掉電的情況下正確重加載,并且任何兩種模式可以相互切換,提高了芯片可編程資源的利用率。

參考文獻(xiàn)

[1] 李鵬,蘭巨龍.用CPLD和Flash實(shí)現(xiàn)FPGA配置[J].電子技術(shù)應(yīng)用,2006,32(6):101-102.

[2] 劉釗,杜琪峰,許知博.基于Xilinx-Spartan6 FPGA的MultiBoot設(shè)計(jì)的實(shí)現(xiàn)[J].電子科技,2012,25(3):28-31.

[3] 李煒.基于MicroBlaze的FPGA重配置系統(tǒng)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2007,7(23):6190-6192.

[4] 張江偉.基于Virtex-5和FLASH實(shí)現(xiàn)FPGA的多重配置[J].計(jì)算機(jī)與網(wǎng)絡(luò),2012(Z1):3-4.

[5] HUSSEIN J,PATEL R.Multiboot with Virtex-5 FPGAs and platform Flash XL[EB/OL].(2008-11-06)[2014-04-07].http://www.xilinx.com/support/documentation/application_notes/xapp1100.pdf.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产色产综合色产在线视频| av成人福利| 欧美日韩精品三区| 老鸭窝91久久精品色噜噜导演| 亚洲永久网站| 亚洲天堂网在线观看| 99视频一区二区三区| 亚洲精品乱码久久久久久黑人| 午夜免费久久久久| 亚洲欧美日韩精品| 亚洲综合成人在线| 久久av一区| 欧美日韩精品在线| 久久精品人人做人人综合| 亚洲午夜女主播在线直播| 亚洲最新视频在线| 一区二区三区高清在线| 一本色道久久综合亚洲精品不| 日韩亚洲欧美成人一区| 99国产欧美久久久精品| 亚洲美女区一区| 在线视频精品一区| 亚洲一区欧美一区| 欧美一区成人| 亚洲国产精品一区二区www在线| 亚洲国产专区| 99国产麻豆精品| 亚洲视频专区在线| 午夜一区在线| 久久久精品国产一区二区三区| 久久婷婷人人澡人人喊人人爽| 久久综合九色| 欧美精品免费看| 国产精品国产馆在线真实露脸| 国产精品一区久久久| 国产一区二区看久久| 亚洲福利在线视频| 一区二区久久久久| 小辣椒精品导航| 亚洲精品1234| 亚洲欧美激情视频在线观看一区二区三区| 亚洲欧美日韩精品一区二区| 久久精品论坛| 欧美国产第二页| 欧美午夜寂寞影院| 国产午夜精品美女毛片视频| 亚洲高清在线| 亚洲一区二区免费看| 亚洲国产成人精品女人久久久| 一本大道久久a久久精二百| 亚洲欧美日韩一区二区| 久久另类ts人妖一区二区| 欧美高清视频在线 | 欧美成人国产一区二区| 欧美视频日韩| 国模套图日韩精品一区二区| 亚洲精品国产精品国自产观看浪潮 | 亚洲经典一区| 亚洲一区综合| 亚洲欧洲精品一区二区三区不卡 | 亚洲麻豆av| 欧美一区影院| 欧美激情综合| 国产日韩精品视频一区二区三区 | 久久国产精品久久精品国产| 一本久久综合亚洲鲁鲁五月天| 新67194成人永久网站| 免费在线国产精品| 国产精品视频免费在线观看| 亚洲国产高清在线观看视频| 亚洲女同性videos| 日韩小视频在线观看| 久久精品噜噜噜成人av农村| 欧美日韩一区二区三区在线观看免 | 伊人春色精品| 亚洲欧美精品在线观看| 亚洲精品女人| 久久久综合精品| 国产精品一二一区| 亚洲精品少妇| 亚洲国产成人高清精品| 欧美在线你懂的| 欧美色123| 亚洲激情六月丁香| 久久国产精品久久久久久电车 | 久久成人精品视频| 欧美色另类天堂2015| 在线日韩欧美| 欧美一区二区三区四区高清| 一本色道久久加勒比精品| 国产欧美一区二区精品性 | 最新日韩精品| 久久―日本道色综合久久| 国产精品剧情在线亚洲| 亚洲国产色一区| 亚洲免费在线播放| 欧美视频一区二区三区在线观看| 在线视频精品一区| 亚洲精品视频在线播放| 久久久成人网| 国产精品视频不卡| av成人免费在线| 亚洲欧洲日韩在线| 另类激情亚洲| 国内精品久久久久影院优| 亚洲欧美另类在线观看| 亚洲一区二区三区精品在线 | 欧美色道久久88综合亚洲精品| 亚洲国产精品高清久久久| 久久精品国产999大香线蕉| 欧美在线你懂的| 国产精品激情av在线播放| 日韩网站在线| 99ri日韩精品视频| 欧美国产亚洲视频| 亚洲国产精品999| 亚洲国产另类 国产精品国产免费| 久久国产欧美| 国产日产高清欧美一区二区三区| 亚洲一区二区三区在线视频| 亚洲午夜在线观看视频在线| 欧美日韩国产首页| 亚洲精品免费在线| 日韩图片一区| 欧美三区视频| 中文成人激情娱乐网| 亚洲一区二区精品在线| 欧美日韩一区二区视频在线观看 | 在线看片第一页欧美| 亚洲激情自拍| 欧美黄网免费在线观看| 亚洲国产精品悠悠久久琪琪| 亚洲精品国产精品乱码不99| 欧美成人精品一区| 亚洲精品一区二区三区在线观看| 99精品视频免费| 欧美日韩一区在线播放| 一区二区三区国产在线| 午夜国产一区| 国产亚洲欧美日韩一区二区| 欧美在线视频免费| 媚黑女一区二区| 亚洲人体1000| 亚洲综合精品| 国产一区二区三区久久久| 亚洲二区视频| 欧美日本亚洲视频| 亚洲天堂网站在线观看视频| 欧美一区二区三区在线视频 | 在线看国产一区| 一区二区三区高清视频在线观看| 欧美视频在线看| 午夜精品久久久久久久蜜桃app | 亚洲愉拍自拍另类高清精品| 久久精品视频免费| 亚洲国产精品一区制服丝袜| 亚洲无线一线二线三线区别av| 国产精品丝袜久久久久久app| 欧美一区二区视频97| 欧美jizzhd精品欧美喷水| 日韩视频一区二区| 午夜日本精品| 在线观看精品一区| 亚洲视频在线观看免费| 国产欧美日韩91| 亚洲精品国久久99热| 国产精品福利在线观看网址| 欧美一区二区大片| 欧美激情在线| 亚洲一级电影| 米奇777在线欧美播放| 日韩午夜精品视频| 久久久99国产精品免费| 亚洲日本中文| 欧美一区2区视频在线观看| 影音先锋中文字幕一区| 亚洲制服丝袜在线| 在线精品视频在线观看高清| 伊人久久综合97精品| 亚洲综合精品四区| 欧美福利电影网| 欧美一区二区视频在线| 久久九九国产精品| 亚洲精品在线观看免费| 久久精品欧洲| 亚洲日韩第九十九页| 久久99伊人| 日韩午夜电影在线观看| 久久夜色精品国产| 国产亚洲欧美日韩精品| 欧美在线视频二区| 亚洲少妇诱惑| av成人黄色| 国产精品一区二区男女羞羞无遮挡 | 欧美另类人妖| 午夜精品久久久久久99热| 欧美另类一区二区三区| 久久爱www久久做| 国产精品免费观看视频| 欧美精品亚洲一区二区在线播放|