《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Kintex7和SPI Flash實現FPGA的多重加載
基于Kintex7和SPI Flash實現FPGA的多重加載
2014年電子技術應用第7期
陳 嵐1,李紀云1,朱人杰2
1.上海應用技術學院 電氣與電子工程學院,上海201418; 2.中國科學院上海天文臺,上海2000
摘要: Xilinx 7系列FPGA是Xilinx公司最新推出的一個芯片系列,Kintex7是該系列芯片中的一種,擁有大量的可編程資源。即便如此,在一些多模式的大型復雜的系統設計中,芯片的資源還是遠遠不能滿足設計需求。FPGA的多重加載可以解決可編程資源不足的難題。FPGA多重加載是將設計的多個模式的比特文件存儲到Flash,用戶可以根據需要選擇加載不同模式的比特文件。FPGA的多重加載解決了可編程資源不足的問題,提高了FPGA可編程資源的利用率。
中圖分類號: TN79
文獻標識碼: A
文章編號: 0258-7998(2014)07-0024-03
中文引用格式:陳嵐,李紀云,朱人杰.基于Kintex7和SPI Flash實現FPGA的多重加載[J].電子技術應用,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

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

        近些年FPGA技術得到了飛速的發展,其作為可編程資源廣泛應用在大型復雜通信系統設計中。盡管FPGA在資源集成度方面近些年取得了可觀的成果,但是在多模式的大型系統設計中,單片FPGA資源遠遠不能夠滿足設計需求,有時可能需要多個芯片。然而FPGA價格相對較高,這大大提高了設計成本,而且不易于產品升級和維護。

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

1 硬件設計

        Kintex7和SPI Flash物理連接的硬件設計如圖1所示。SPI Flash的容量選擇與設計的加載模式的個數和FPGA芯片的種類有關,本設計實現4種模式切換,SPI Flash內存儲4個比特文件,SPI Flash的容量是512 Mbit。

2 控制部分的設計

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

3 重加載模塊的設計

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

        FPGA內的重配置邏輯接收到IPROG命令后,FPGA執行復位操作,但不對重配置邏輯進行復位,并且將INIT_B和DONE引腳拉低。FPGA清除了所有的配置存儲后,INIT_B端口被拉高。最后,WBSTAR寄存器的值被用來重新配置FPGA。

        IPROG命令序列通過狀態機實現,狀態機中最少有8個狀態才能生成整個IPROG命令序列,否則,IPROG命令序列不能夠生成,FPGA不能重新配置。另外,IPROG命令的發送由ICAPE2模塊執行,ICAPE2模塊的輸出時序和SelectMAP的輸出時序是一致的,SelectMAP的輸出數據格式是位轉換格式,所以IPROG命令序列生成的過程中需要將配置數據進行位轉換。這里位轉換是指字節內位轉換,即最高有效位變為最低有效位,以此為規則進行字節內的位互換。位轉換結果如表2所示。

4 生成PROM文件

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

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

5 測試結果及分析

        本設計使用Chipscope軟件對信號進行捕捉,圖3是FPGA重新加載時對ICAPE2模塊的輸入信號的捕捉結果。可以觀察到,狀態機成功生成了IPROM命令,并將其發送給ICAPE2模塊。

        本設計在硬件平臺上進行了多模式啟動的測試,測試過程及結果:用戶通過上位機的控制界面向終端發送模式切換命令,上位機與終端用1 G(TCP協議)網絡通信,以PowerPC為處理器搭建的嵌入式控制系統負責接收模式切換指令,終端接收到命令后通過EPC(圖1)接口寫入Kintex7寄存器,Kintex7的控制邏輯會根據指令觸發相應的重加載模式,最后通過終端設備上的LED燈觀測到FPGA正確加載。

        FPGA是否正確重加載的依據是:FPGA配置文件的功能都是點亮同一個LED燈,區別在于它們點亮LED的頻率不同,通過觀察LED燈的閃爍頻率可以確定FPGA是否正確加載了相應模式。

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

參考文獻

[1] 李鵬,蘭巨龍.用CPLD和Flash實現FPGA配置[J].電子技術應用,2006,32(6):101-102.

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

[3] 李煒.基于MicroBlaze的FPGA重配置系統設計[J].科學技術與工程,2007,7(23):6190-6192.

[4] 張江偉.基于Virtex-5和FLASH實現FPGA的多重配置[J].計算機與網絡,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.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费成人网www| 欧美午夜精品伦理| 亚洲一区二区三区777| 亚洲精品系列| 亚洲人成在线观看| 亚洲福利一区| 欧美一区精品| 欧美在线免费观看亚洲| 欧美一区二区三区日韩| 亚洲综合国产激情另类一区| 亚洲最新合集| 一区二区欧美激情| 一级日韩一区在线观看| 一本色道久久综合狠狠躁篇怎么玩| 亚洲日本va午夜在线电影| 亚洲国产精品一区二区第四页av| 韩国精品一区二区三区| 国产自产v一区二区三区c| 国产视频自拍一区| 国产一区视频观看| 激情一区二区| 亚洲第一在线综合在线| 亚洲第一毛片| 亚洲人午夜精品免费| 日韩一级黄色大片| 中国女人久久久| 亚洲女人天堂av| 性色av香蕉一区二区| 欧美影院午夜播放| 亚洲国产三级在线| 999在线观看精品免费不卡网站| 野花国产精品入口| 亚洲一区图片| 久久精品久久99精品久久| 久久综合伊人| 欧美久久影院| 国产精品日本欧美一区二区三区| 国产精品视频在线观看| 狠狠色丁香久久婷婷综合丁香| 娇妻被交换粗又大又硬视频欧美| 亚洲国产mv| 亚洲色图自拍| 欧美一区三区三区高中清蜜桃| 亚洲狠狠婷婷| 亚洲一区日韩| 久久久噜噜噜久久| 欧美岛国激情| 国产精品久久九九| 经典三级久久| 中文精品视频| 久久se精品一区二区| 亚洲每日更新| 欧美一区二区免费观在线| 久久综合一区| 欧美视频国产精品| 国产一区二区视频在线观看| 91久久国产综合久久| 亚洲一区二区在线免费观看视频| 久久国内精品自在自线400部| 亚洲免费观看高清完整版在线观看| 亚洲女爱视频在线| 久久在线视频在线| 欧美日韩视频在线| 国产一区欧美日韩| 99re6这里只有精品视频在线观看| 亚洲女性裸体视频| 日韩视频在线永久播放| 欧美一级理论性理论a| 免费在线播放第一区高清av| 国产精品国产三级国产专播精品人| 黑人中文字幕一区二区三区| 亚洲美女在线观看| 久久精品国产亚洲精品| 亚洲综合日韩| 欧美成年人网站| 国产精品一区二区久激情瑜伽| 亚洲第一伊人| 欧美一区1区三区3区公司| 中日韩美女免费视频网址在线观看| 欧美在线免费视频| 欧美日韩在线观看一区二区三区 | 欧美一级久久久久久久大片| 欧美大片在线看| 国产一区二区三区久久 | 一本久道久久综合婷婷鲸鱼| 久久久亚洲午夜电影| 国产精品久久一卡二卡| 亚洲精品欧美日韩专区| 亚洲电影免费观看高清| 欧美一级视频| 欧美日韩中文字幕日韩欧美| 亚洲电影免费观看高清完整版在线| 亚洲综合视频一区| 一区二区三区久久精品| 欧美成人伊人久久综合网| 国产一区二区中文字幕免费看| 亚洲一区精彩视频| 亚洲天堂av图片| 欧美全黄视频| 亚洲欧洲在线观看| 亚洲国产日韩欧美| 老**午夜毛片一区二区三区| 国产亚洲激情| 亚洲欧美一区二区视频| 亚洲一卡二卡三卡四卡五卡| 欧美精品自拍| 91久久线看在观草草青青| 亚洲国产欧美另类丝袜| 久久青草福利网站| 国产视频一区欧美| 欧美一区二区三区免费看| 欧美一区二区精美| 国产日韩欧美精品综合| 亚洲欧美日韩国产综合| 亚洲欧美一区二区三区久久| 欧美系列电影免费观看| 日韩视频久久| 一区二区三区日韩精品视频| 欧美日韩成人在线观看| 亚洲精品一区二区三区婷婷月 | 在线视频你懂得一区| 欧美日韩另类视频| 99国产精品国产精品毛片| 亚洲午夜国产一区99re久久| 欧美日韩一区不卡| 一区二区欧美在线观看| 亚洲综合精品一区二区| 国产精品免费观看在线| 亚洲在线免费观看| 欧美有码在线观看视频| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲高清激情| 欧美不卡在线视频| 亚洲精品乱码久久久久久久久| 9l国产精品久久久久麻豆| 欧美日韩综合另类| 亚洲欧美日韩成人| 久久久久国产成人精品亚洲午夜| 国产视频在线观看一区| 久久精品久久综合| 欧美激情一区二区三区| 在线视频一区二区| 欧美主播一区二区三区| 狠狠色伊人亚洲综合成人| 亚洲欧洲一区二区三区| 欧美日韩国产综合视频在线| 亚洲少妇自拍| 久久久久91| 亚洲精品裸体| 午夜精品区一区二区三| 韩国自拍一区| 亚洲免费高清| 国产精品美女久久久浪潮软件| 欧美一区二区三区播放老司机 | 欧美日韩国产成人在线91| 亚洲少妇在线| 久久一区中文字幕| 亚洲精品之草原avav久久| 性久久久久久| 在线播放视频一区| 亚洲午夜av电影| 国产亚洲日本欧美韩国| 最近看过的日韩成人| 国产精品国产馆在线真实露脸 | 欧美一区二区视频在线观看2020| 激情综合色综合久久综合| 99热免费精品| 国产伦精品一区二区三区免费| 亚洲电影免费观看高清完整版在线 | 久久精品国产清高在天天线| 欧美久久一区| 欧美伊人久久| 欧美日韩中文字幕日韩欧美| 欧美在线一级视频| 欧美日韩免费视频| 久久精品国产99| 欧美色图一区二区三区| 久久精品视频99| 国产精品久久二区| 亚洲区中文字幕| 国产欧美一区二区三区沐欲| 亚洲人午夜精品| 国产日韩欧美高清| 一二三四社区欧美黄| 国色天香一区二区| 亚洲字幕在线观看| 亚洲国产欧美久久| 久久精品国产免费观看| 一区二区三区欧美视频| 蜜臀va亚洲va欧美va天堂| 亚洲在线1234| 欧美激情一区在线| 久久福利一区| 国产精品私人影院| 中日韩视频在线观看| 在线看日韩av| 久久精品视频在线免费观看| 在线亚洲一区观看| 欧美激情视频在线播放| 久久精品亚洲|