《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 非定長碼高速實時拼接專用集成電路的研制

非定長碼高速實時拼接專用集成電路的研制

2008-12-18
作者:程子敬 張 浩

  摘? 要: 給出一種流水線與陣列處理相結合的VLSI系統結構,以實現非定長" title="定長">定長碼的高速實時拼接與存儲。該結構不但并行處理能力強,能夠在每個時鐘周期內拼接一個非定長碼,并且復雜度低,僅需10000門單元電路即可實現。利用ACTEL公司的現場可編程門陣列實現該功能,驗證結果表明,所研制的專用芯片工作頻率大于70MHz、功耗低于130mW、性能穩定可靠,具有良好的工程應用前景。?

  關鍵詞: 非定長碼? 并行處理? 實時? 大規模集成電路? 系統結構? 現場可編程門陣列?

?

  在數字圖像、視頻、語音等數據壓縮應用中,經常使用熵編碼" title="熵編碼">熵編碼,例如Huffman編碼、RICE編碼、算術編碼等。而這些二進制的編碼數據在表示中僅有若干位(即碼字長度)有效數字(碼字),這就要求去除冗余字位,把碼字按其長度依次連接,形成緊湊的定長字,經緩存后按恒定碼速率輸出。?

1 碼字拼接功能描述?

  圖1為數字圖像壓縮流程示意圖。數據經壓縮與熵編碼后,碼字長度不定,最短的碼字只有1位,最長的碼字需用16位表示,這些碼字包含在位寬為16的輸出數據中,如圖2所示。?

?

?

?

  M[15:0]為熵編碼輸出數據,M[15:n]中存放碼字,其中n等于15、14、13....2、1、0。由于每個輸出數據中僅有碼字長度個有效字位,這就要求去除熵編碼輸出數據中的冗余字位M[n-1:0],把這些有效的不定長的碼字M[15:n]拼接湊整,形成定長字。如兩個碼字A和B長度分別為10和6,用熵編碼輸出數據M1[15:6]和M2[15:10]表示,這兩個碼字的拼接結果為Q[15:0],則Q[15:6]存儲M1[15:6],Q[5:0] 存儲M2[15:10],即兩個碼字A、B拼接湊整為一個定長字Q[15:0],如圖3所示。?

?

?

  碼字拼接器就是為完成這一功能而設計的,它去除了原數據中的冗余信息,從而減少數據量,節省存儲空間、降低對傳輸信道的帶寬要求。在實際應用中,壓縮與熵編碼功能單元(如圖1所示)在每個時鐘周期輸出一個熵編碼數據,為保證實時性,要求碼字拼接器能于每個時鐘周期內完成一次拼接操作,并且每湊足16位,輸出定長字。以上功能的VerilogHDL行為描述如下(該描述不可綜合):?

??? module Connector(clock, code, codelength, dataout); //碼字拼接器模塊?

??? input clock; ?????????????? //時鐘?

??? input [15:0] code; ???? //碼字?

??? input [4:0]? codelength; ?? //碼長?

??? output [15:0] dataout; //定長字?

??? reg [4:0] counter;?

??? reg [31:0] tempdata;?

??? initial? ?????????????????? //初始化?

??????? begin?

??????????? counter = 0;?

??????? end?

??? always @(posedge clock) ??? //clock 上升沿?

??????? begin?

??????????? tempdata[(31-counter):(31-counter-15)]=code[15:0]; //緩存碼字?

??????????? counter=counter+codelength; //累計碼長?

??????????? if(counter>=16)//如果累計碼長大于等于16?

??????????????? begin?

??????????????????? dataout[15:0]=tempdata[31:16];//輸出一個定長字?

??????????????????? tempdata[31:16]=tempdata[15:0];?//低16位移動到高16位?

??????????????????? counter=counter-16;//累計碼長減16?

??????????? end;?

??????? end;?

??? endmodule?

2 VLSI體系結構?

  上述功能映射到VLSI結構,如圖4所示。該碼字拼接器采用并行陣列式結構,以流水線方式工作,能夠連續不斷地在每一個時鐘周期內完成1到16之間的任意碼長的碼字的拼接湊整,每湊足16位輸出定長字。

?

?

  圖4中陣列A與陣列B中D觸發器與十六選一多路" title="多路">多路選擇器對的結構如圖5所示。?

?

?

  圖4和圖5中,位寬為5的累加器" title="累加器">累加器模塊是五位累加器,對碼長求和,其輸出由累加和譯碼器譯碼,生成D觸發器與十六選一多路選擇器的鎖存" title="鎖存">鎖存信號Ln和選擇信號Seln[0:3]。當累加結果大于等于16時,多路選擇器輸出陣列A或B中的定長字。?

  陣列A和B各由16對圖5所示的D觸發器與十六選一多路選擇器對構成,D觸發器暫存碼字某一特定位。累加和譯碼器模塊對累加器的輸出進行譯碼,其輸出接到陣列A和B中32個十六選一多路選擇器的選擇信號端、D觸發器的鎖存信號端以及多路選擇器的選擇信號端。?

  多路選擇器模塊由16個二選一的多路選擇器構成。當累加器中的碼長和大于等于16時,該多路選擇器輸出陣列A或B中的定長字。?

  該VLSI結構工作原理為:時鐘發生有效跳變,累加器讀入碼長,并與原有數據累加。若累加器第五位由“0”跳變為“1”,則多路選擇器將在下個周期輸出陣列A的定長字;由“1”跳變為“0”,則輸出陣列B的定長字;若沒有跳變,不產生輸出,陣列A、B讀入碼字。累加器中原有數據由累加和譯碼器譯碼,產生陣列A、B中相應D觸發器的鎖存信號Ln和十六選一多路選擇器的選擇信號Seln[0:3],這兩個信號把碼字的全部16位存入D觸發器,為下一個周期作好數據準備。?

  由此可見,對5位累加器的輸出進行解釋的累加和譯碼器,是整個電路的控制核心。它有5位輸入,160位輸出,其中32位輸出L0~L31,控制D觸發器的鎖存;其它128位Sel0[0:3]~Sel31[0:3]控制32個十六選一多路選擇器。其功能的實現方法如下:當累加器為C時,說明陣列A與B的前C位D[31:31-C+1]已是有效碼字,當連接下個碼字時,這些位的鎖存信號為無效態,其它位允許鎖存;此時第C+1個十六選一多路選擇器輸出當前碼字最高位,存儲在第C+1個D觸發器中,第C+2個十六選一多路選擇器輸出碼字次高位,存儲在第C+2個D觸發器中,余下以此類推,全部碼字存儲在在16個D觸發器內。當累加器大于等于16時(即最高位由0到1跳變),說明陣列A內已經拼接湊整了一個16位定長字,此時多路選擇器輸出該值。當累加器再次小于16時(即最高位由1到0跳變。注釋:累加器只有5位,當C加碼長大于31時,C的實際值將小于16),此時表明陣列B內已經拼接湊整一個16位定長字,多路選擇器輸出該值。?

  第0個十六選一多路選擇器選擇信號Sel0[3:0]的VHDL描述如下[1]:?

??? case(C)?? ?

??? Sel0 <= ″1111″ when ″00000″, ?

??????????? ″1110″ when ″00001″,?

??????????? ″1101″ when ″00010″, ?

??????????? ″1100″ when ″00011″,?

??????????? ″1011″ when ″00100″,?

??????????? ″1010″ when ″00101″, ?

??????????? ″1001″ when ″00110″,?

??????????? ″1000″ when ″00111″,?

??????????? ″0111″ when ″01000″, ?

??????????? ″0110″ when ″01001″,?

??????????? ″0101″ when ″01010″,?

??????????? ″0100″ when ″01011″, ?

??????????? ″0011″ when ″01100″,?

??????????? ″0010″ when ″01101″,?

??????????? ″0001″ when ″01110″,?

??????????? ″0000″ when ″01111″,?

??????????? ″----″? when others;?

  第0個D觸發器的鎖存信號L0的VHDL描述:?

  with C select?

??? L0? <= '1' when ″00000″ | ″00001″ |″00010″|″00011″|″00100″|″00101″|″00110″|″00111″|″01000″| ″01001″ |″01010″|″01011″|″01100″|″01101″|″01110″|″01111″,?

'0' when others;?

  其它1到31的十六選一多路選擇器與D觸發器對的控制信號的描述與以上類似,在此不一一列出。?

3 基于FPGA的物理實現?

  選用ACTEL公司的eX256TQ100-STD FPGA[2]器件實現上述的VLSI結構,研制成非定長碼高速實時拼接專用集成電路[3],設計結果如表1。 ?

?

?

  使用ModelSim仿真器,對非定長碼高速實時拼接專用集成電路進行帶延時的后仿真,仿真驗證結果如表2。?

?

?

  本文提出的VLSI結構,適合圖像壓縮、視頻編碼等應用中非定長碼的高速實時拼接,其結構復雜度低,并行處理能力強。以ACTEL公司eX256 TQ100-STD FPGA實現該VLSI結構的專用集成電路,性能穩定可靠、工作頻率高、功耗低、具有良好的工程應用前景。?

參考文獻?

1 程子敬,周孝寬. 基于FPGA的緊湊位編碼器設計. IC集成電路應用,1999(3)2~4?

2 FPGA Data Book. Actel Corporation, 2001.?

3 程子敬,姜洪旭.高速低功耗FPGA設計技術.電子產品世界,2001(8,A版):37~38
本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩一区二区精品视频| 亚洲欧美日韩国产综合精品二区| 亚洲美女黄网| 亚洲国产欧美不卡在线观看| 国产伦精品一区二区三区高清版| 欧美一级视频精品观看| 亚洲性夜色噜噜噜7777| 日韩亚洲欧美高清| 亚洲精品在线免费| 亚洲精品乱码久久久久久黑人 | 午夜精品av| 亚洲制服欧美中文字幕中文字幕| 亚洲深夜福利视频| 亚洲视频一区| 亚洲一区在线直播| 午夜精品久久| 欧美一区二区免费| 久久成人精品一区二区三区| 欧美亚洲在线观看| 久久激情五月丁香伊人| 久久久999| 久久一区二区精品| 欧美xx69| 欧美日本成人| 国产精品高潮久久| 国产精品永久免费视频| 国产亚洲成av人片在线观看桃| 国产亚洲毛片在线| 伊人影院久久| 亚洲精品欧洲精品| 亚洲图片激情小说| 午夜精品免费在线| 久久精品国产91精品亚洲| 亚洲国产精品一区二区久| 亚洲精品美女久久久久| 在线亚洲伦理| 亚洲欧美中文字幕| 久久综合激情| 欧美精品一级| 国产精品每日更新| 国精品一区二区| 亚洲福利电影| 亚洲深夜影院| 欧美中文日韩| 亚洲美女中文字幕| 午夜在线视频观看日韩17c| 久久久久久精| 欧美国产另类| 国产精品狠色婷| 国内精品久久久久伊人av| 亚洲国产视频a| 亚洲在线播放电影| 亚洲激情社区| 亚洲欧美精品在线| 久久亚洲国产精品日日av夜夜| 欧美成人在线影院| 亚洲一区二区在线视频| 91久久久在线| 亚洲一区二区少妇| 亚洲国产综合在线看不卡| 在线亚洲一区| 久久久久久9999| 欧美日韩一区在线视频| 国产日韩欧美自拍| 亚洲人成网站在线观看播放| 亚洲天堂久久| 亚洲欧洲视频| 亚洲欧美日韩视频一区| 久久在线免费| 国产精品99免费看| 尤物精品国产第一福利三区| 一区二区三区日韩精品| 久久精品日产第一区二区三区 | 久久精品在线观看| 欧美区在线播放| 国产日韩欧美不卡| 亚洲精品之草原avav久久| 欧美一区二区视频免费观看| 在线亚洲一区二区| 欧美www在线| 国产亚洲精品久久久| 日韩午夜激情av| 亚洲福利专区| 欧美一级大片在线观看| 欧美日韩精品欧美日韩精品| 国产综合欧美| 亚洲欧美三级在线| 亚洲中午字幕| 欧美日本中文字幕| 尤物网精品视频| 欧美一区视频| 性做久久久久久久免费看| 欧美日韩成人在线播放| 在线免费观看欧美| 久久国产乱子精品免费女| 午夜精品免费| 国产精品va在线播放| 亚洲肉体裸体xxxx137| 亚洲国产网站| 久久久99精品免费观看不卡| 国产精品美女久久久久久2018| 亚洲精品久久久久中文字幕欢迎你 | 欧美一区二区三区久久精品茉莉花| 欧美日韩大片| 91久久精品国产91性色tv| 亚洲大片在线| 国产伦理一区| 亚洲精品国精品久久99热| 国产精品视频男人的天堂| 国产日韩在线不卡| 亚洲永久免费精品| 亚洲午夜久久久久久尤物| 欧美激情综合在线| 亚洲第一区色| 91久久久国产精品| 美女在线一区二区| 一区二区视频欧美| 久久精品男女| 久久综合色播五月| 极品av少妇一区二区| 久久成人免费电影| 久久免费国产| 激情欧美日韩| 亚洲国产精品成人综合色在线婷婷| 久久精品国产亚洲5555| 国产一区二区三区黄| 欧美一区二区黄| 久久国产婷婷国产香蕉| 国产性天天综合网| 欧美在线一二三四区| 久久久综合视频| 在线播放中文字幕一区| 亚洲第一区中文99精品| 久久综合婷婷| 亚洲激情电影在线| 99国产精品久久久久久久成人热| 欧美精品日韩www.p站| 日韩一二三在线视频播| 亚洲一区二区三区777| 国产精品久久影院| 性视频1819p久久| 久久深夜福利免费观看| 黄色另类av| 亚洲精品自在久久| 欧美精品福利视频| 一本色道久久综合亚洲精品不卡| 亚洲一区二区欧美| 国产欧美日韩亚州综合| 久久精品国语| 欧美a一区二区| 日韩一级不卡| 欧美在线免费| 在线播放不卡| 亚洲午夜国产成人av电影男同| 国产精品扒开腿做爽爽爽软件| 亚洲免费小视频| 久久夜色精品国产亚洲aⅴ| 91久久久久久国产精品| 亚洲在线观看视频| 国产一区二区三区在线观看免费 | 欧美视频一区二区三区在线观看| 亚洲一二区在线| 久久一区免费| 亚洲精品在线观看视频| 欧美一区激情视频在线观看| 伊人久久综合97精品| 在线综合亚洲欧美在线视频| 中日韩美女免费视频网址在线观看| 欧美网站在线观看| 欧美亚洲综合久久| 欧美电影打屁股sp| 亚洲深夜av| 女女同性精品视频| 亚洲网址在线| 美女日韩欧美| 亚洲一区二区三区精品视频 | 欧美日韩日本国产亚洲在线| 午夜精品福利在线观看| 欧美不卡在线视频| 亚洲自拍高清| 欧美国产一区在线| 亚洲欧美色婷婷| 欧美激情日韩| 性欧美1819性猛交| 欧美日韩国产精品一区| 欧美一区二区在线视频| 欧美日韩精品三区| 亚洲成人直播| 国产精品黄色| 亚洲人成网站精品片在线观看| 国产精品女主播在线观看| 91久久精品一区二区别| 欧美日韩在线观看一区二区| 亚洲人体一区| 女人天堂亚洲aⅴ在线观看| 亚洲区免费影片| 久久久免费精品| 一区二区日韩伦理片| 欧美日韩综合精品| 久久精品国产999大香线蕉|