• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)方法

      2014-09-06 10:50:37
      電子器件 2014年5期

      邵 龍

      (中國(guó)電子科技集團(tuán)公司第十研究所,成都 610036)

      ?

      一種基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)方法

      邵龍*

      (中國(guó)電子科技集團(tuán)公司第十研究所,成都 610036)

      摘要:在分析傳統(tǒng)FPGA動(dòng)態(tài)重構(gòu)方法性能缺陷的基礎(chǔ)上,創(chuàng)新性的提出了基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)方法,并詳細(xì)介紹了該方法的設(shè)計(jì)實(shí)現(xiàn)。與傳統(tǒng)FPGA動(dòng)態(tài)重構(gòu)方法對(duì)比測(cè)試結(jié)果表明,基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)方法不僅可以顯著提高FPGA動(dòng)態(tài)重構(gòu)的速度,而且可以降低對(duì)程序存儲(chǔ)器容量要求。目前,該技術(shù)已在重大工程項(xiàng)目中得到應(yīng)用。

      關(guān)鍵詞:FPGA;動(dòng)態(tài)重構(gòu);全局重構(gòu);游程編碼;重構(gòu)速度

      FPGA 動(dòng)態(tài)重構(gòu)是指切換FPGA其全部或部分邏輯資源功能的應(yīng)用方法[1-3]。FPGA動(dòng)態(tài)重構(gòu)可分為全局重構(gòu)和部分重構(gòu)。全局重構(gòu)是指重新配置FPGA的全部邏輯,重構(gòu)前后電路相互獨(dú)立,沒(méi)有關(guān)聯(lián)。部分重構(gòu)是指重新配置FPGA 的部分區(qū)域,重構(gòu)過(guò)程中,FPGA未重構(gòu)部分的工作狀態(tài)不受影響[4-5]。

      目前,實(shí)現(xiàn)FPGA全局重構(gòu)比較通用的方法有3種:方法1通過(guò)DSP或其他CPU讀取存儲(chǔ)器中的bit文件對(duì)FPGA進(jìn)行串行加載或并行加載[4],但重構(gòu)速度一般很低,不能實(shí)現(xiàn)狀態(tài)高速切換;方法2是使用Xilinx 公司的專用配置芯片XCFxxP系列[6],但由于該系列配置芯片存儲(chǔ)容量有限,對(duì)于功能復(fù)雜的系統(tǒng),FPGA的軟件版本多,需要多片專用配置芯片,不能適應(yīng)小型化的要求;方法3是基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)[7],克服了方法1和方法2的缺點(diǎn),是在實(shí)際工程應(yīng)用中FPGA動(dòng)態(tài)重構(gòu)速度最快的方法。但隨著FPGA芯片規(guī)模增大,實(shí)現(xiàn)的功能也越來(lái)越復(fù)雜,bit文件大小也不斷增加,方案3在某些場(chǎng)景下已經(jīng)逐漸不能滿足對(duì)重構(gòu)速度的要求。本文在方案3的基礎(chǔ)上,提出了采用改進(jìn)型游程編碼進(jìn)一步提高FPGA動(dòng)態(tài)重構(gòu)速度的方法。

      1 基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)

      基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)工作原理框圖如所圖1示。FPGA被配置為被動(dòng)并行加載模式,CPLD接收到bit文件版本切換信號(hào)后,讀取對(duì)應(yīng)的bit文件并送入FPGA的被動(dòng)并行加載數(shù)據(jù)端口D[7:0],完成對(duì)FPGA的加載。

      基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)流程如圖2所示。首先拉低FPGA的PROG_B管腳一段時(shí)間再拉高FPGA的PROG_B管腳使FPGA復(fù)位,以清除配置存儲(chǔ)器;接著,等待FPGA的INIT_B管腳變高,CPLD開(kāi)始從FLASH相應(yīng)的地址讀取bit文件數(shù)據(jù)寫入FPGA的被動(dòng)并行加載數(shù)據(jù)端口D[7:0];最后,待bit文件全部寫入FPGA的D[7:0]端口后,等待FPGA的DONE管腳變高,如果在超時(shí)以前變高,則FPGA重構(gòu)成功,FPGA進(jìn)入正常工作狀態(tài),CPLD將FPGA重構(gòu)標(biāo)志寄存器置為成功,否則FPGA重構(gòu)失敗,CPLD將FPGA重構(gòu)標(biāo)志寄存器置為失敗。

      圖1 基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)原理框圖

      圖2 基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)流程圖

      基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)方法具有較高的動(dòng)態(tài)重構(gòu)速度,但是特定場(chǎng)景下重構(gòu)速度還是不能滿足系統(tǒng)要求,分析發(fā)現(xiàn)其重構(gòu)速度的瓶頸是FLASH的讀取時(shí)間[5],而讀取時(shí)間主要與FLASH芯片類型和FPGA程序文件的大小有關(guān)。因此要提高重構(gòu)速度,要么選用速度更快的FLASH芯片,要么減小存儲(chǔ)在FLASH中的FPGA程序文件的大小。選用速度更快的FLASH芯片成本較高,而且不適用已有設(shè)備,即使更換速度更快的FLASH芯片,還是可通過(guò)減小存儲(chǔ)在FLASH中的FPGA程序文件的大小進(jìn)一步提高重構(gòu)速度,因此,減小存儲(chǔ)在FLASH中的FPGA程序文件的大小的方法從經(jīng)濟(jì)和技術(shù)角度具有更廣泛的實(shí)用性。無(wú)損壓縮FPGA的bit文件正是減小存儲(chǔ)在FLASH中的FPGA程序文件大小最直接的方法。

      2 改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)

      游程編碼是一種簡(jiǎn)單、易于實(shí)現(xiàn)無(wú)損壓縮算法。游程編碼的原理十分簡(jiǎn)單:將一行中數(shù)值相同的相鄰點(diǎn)用一個(gè)計(jì)數(shù)字節(jié)和一個(gè)表示該數(shù)據(jù)值的數(shù)據(jù)字節(jié)來(lái)代替[8]。如果連續(xù)相同的字節(jié)很多,游程編碼具有很高的壓縮效率,但是孤立字節(jié)(與前后相鄰字節(jié)值均不同的字節(jié))會(huì)導(dǎo)致增加一個(gè)字節(jié)(長(zhǎng)度字節(jié))開(kāi)銷,影響壓縮效率。

      為了減小孤立字節(jié)對(duì)壓縮效率的影響,改進(jìn)型游程編碼的長(zhǎng)度字節(jié)用C0+N(N為連續(xù)相同字節(jié)的個(gè)數(shù),當(dāng)N>63時(shí)需要分多次壓縮),對(duì)于值為YZ的孤立字節(jié),只有當(dāng)YZ≥C0時(shí),才插入長(zhǎng)度字節(jié)C1,編碼數(shù)據(jù)為C1YZ,當(dāng)YZ

      基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)相對(duì)于基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)主要不同就是存儲(chǔ)在FLASH中的bit文件變成了經(jīng)過(guò)改進(jìn)型游程編碼編碼后的壓縮文件,原理框圖如圖3所示。FPGA被配置為被動(dòng)并行加載模式,CPLD接收到文件版本切換信號(hào)后,讀取對(duì)應(yīng)的壓縮文件并送入FPGA的被動(dòng)并行加載數(shù)據(jù)端口D[7:0],完成對(duì)FPGA的加載。

      圖3 基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)原理框圖

      基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)流程與基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)流程除了圖2虛線框中的內(nèi)容(對(duì)從FLASH中讀取出的數(shù)據(jù)后續(xù)處理)不同外,其他都相同。虛線框中的內(nèi)容變?yōu)榱烁倪M(jìn)型游程編碼解碼過(guò)程,流程如圖4所示。

      圖4 改進(jìn)型游程編碼解碼流程圖

      初始化時(shí)連續(xù)數(shù)值計(jì)數(shù)器的值為0,從FLASH讀取一個(gè)字節(jié)的數(shù)據(jù)V,首先需要判斷V是否大于0xC0以判斷該字節(jié)是否為長(zhǎng)度字節(jié),如果大于0xC0,則該字節(jié)為長(zhǎng)度字節(jié),長(zhǎng)度為V-0xC0,需要將長(zhǎng)度寫入連續(xù)數(shù)據(jù)計(jì)數(shù)器;如果小于等于0xC0,則需要判斷連續(xù)數(shù)值計(jì)數(shù)器的值R是大于0,如果大于0,則需要將該值向FPGA的被動(dòng)并行加載數(shù)據(jù)端口D[7:0]連續(xù)寫入R次,否則,直接將該值寫入到FPGA的D[7:0]端口。每次從FLASH中讀取一個(gè)字節(jié)后,FLASH的地址都要增加1。

      3 性能對(duì)比

      性能測(cè)試選用的FPGA目標(biāo)器件為XILINX Virtex Ⅳ XC4VLX60,功能文件為各種調(diào)制模式的數(shù)傳或話音功能文件。測(cè)試結(jié)果如表1所示,表中快速重構(gòu)是指基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu),改進(jìn)型快速重構(gòu)是指基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)??梢钥吹?基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)方法的重構(gòu)時(shí)間都相同為220 ms,這是由同一型號(hào)FPGA的bit文件大小一致并且重構(gòu)處理流程相同造成的。而基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)的重構(gòu)時(shí)間波動(dòng)較大,原因在于壓縮后的文件大小不一致以及游程編碼的解碼復(fù)雜度不同,但時(shí)間均不大于87 ms,速度提高60.4%以上。同時(shí),基于改進(jìn)型游程編碼的壓縮文件的對(duì)存儲(chǔ)空間占用大幅減小,存儲(chǔ)空間利用率提高61.8%以上。

      表1 重構(gòu)時(shí)間測(cè)試結(jié)果

      4 結(jié)論

      提出了一種基于改進(jìn)型游程編碼的FPGA動(dòng)態(tài)重構(gòu)方法,較傳統(tǒng)的FPGA動(dòng)態(tài)重構(gòu)方法有更快的重構(gòu)速度和更高的FLASH存儲(chǔ)空間利用率。雖然該加載方法是針對(duì)FPGA全局重構(gòu)設(shè)計(jì)實(shí)現(xiàn),但是該方法是通過(guò)減小FPGA程序文件大小實(shí)現(xiàn)重構(gòu)速度提高的,因此,對(duì)FPGA部分重構(gòu)同樣適用。這種FPGA動(dòng)態(tài)重構(gòu)方法已在航空電子系統(tǒng)上得到應(yīng)用,實(shí)踐證明該方法是一種高效可靠的FPGA動(dòng)態(tài)重構(gòu)方法。

      參考文獻(xiàn):

      [1]谷鑾,徐貴力,王友仁.FPGA動(dòng)態(tài)可重構(gòu)理論及其研究進(jìn)展[J].計(jì)算機(jī)測(cè)量與控制,2007,15(11):1415-1418.

      [2]范斌,常青.基于DSP 的FPGA動(dòng)態(tài)重構(gòu)系統(tǒng)研究與設(shè)計(jì)[J].信息與電子工程,2010,8(2):123-127.

      [3]覃祥菊,朱明程,張?zhí)?等.FPGA動(dòng)態(tài)可重構(gòu)技術(shù)原理及實(shí)現(xiàn)方法分析[J].電子器件,2004,27(2):277-282.

      [4]周盛雨,孫輝先,陳曉敏,等.基于FPGA的動(dòng)態(tài)可重構(gòu)系統(tǒng)實(shí)現(xiàn)[J].電子器件,2007,30(2):646-650.

      [5]王鵬,向厚振,張志杰.基于FPGA的動(dòng)態(tài)可重構(gòu)邊緣檢測(cè)系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2012,36(7):32-34.

      [6]李燕斌,李燕春.用XCF32P實(shí)現(xiàn)FPGA的高速動(dòng)態(tài)配置[J].電訊技術(shù),2006,46(6):199-202.

      [7]李燕春.基于CPLD的FPGA快速動(dòng)態(tài)重構(gòu)設(shè)計(jì)[J].電訊技術(shù),2008,48(7):87-89.

      [8]吳樂(lè)南.數(shù)據(jù)壓縮的原理與應(yīng)用[M].北京:電子工業(yè)出版社,1995.

      邵龍(1982-),男,漢族,四川通江人,碩士研究生。現(xiàn)任中國(guó)電子科技集團(tuán)公司第十研究所工程師。研究方向?yàn)樾盘?hào)處理,shaolong1223@163.com。

      AnApproachtoDynamicReconfigurationofFPGABasedonImprovedRun-LengthCoding

      SHAOLong*

      (The 10th Institute of China Electronic Technology Group Corporation,ChengDu,610036)

      Abstract:Based on the analysis of shortages in the conventional dynamic reconfiguration method,a novel approach based on improved run-length coding was advanced to improve the performance of dynamic reconfiguration of FPGA.The design and implementation of the approach were also described in detail.The performance results compared with the conventional dynamic reconfiguration method show that not only the speed of dynamic reconfiguration of FPGA can be improved but also the requirement of the storage capacity can be reduced by this approach.Now,it has already been proved in the major projects.

      Key words:FPGA;dynamic reconfiguration;global reconfiguration;run-length coding;speed of dynamic reconfiguration

      doi:EEACC:6120B10.3969/j.issn.1005-9490.2014.05.045

      中圖分類號(hào):TN791

      文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1005-9490(2014)05-1009-04

      收稿日期:2013-10-10修改日期:2013-10-26

      嘉兴市| 罗平县| 芦溪县| 虎林市| 屏东市| 大理市| 公安县| 汽车| 辽宁省| 舟曲县| 涿州市| 叶城县| 石城县| 青川县| 朝阳市| 盖州市| 乐山市| 庄河市| 四会市| 怀安县| 湘阴县| 海南省| 黔西县| 兰州市| 濮阳市| 迭部县| 崇左市| 长宁区| 宝兴县| 茶陵县| 华蓥市| 亳州市| 贵港市| 庆阳市| 建瓯市| 津市市| 农安县| 二连浩特市| 社旗县| 永吉县| 大荔县|