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

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

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亚洲国产精品_日韩亚洲一区二区
影视先锋久久| 亚洲视频精选在线| 欧美日韩亚洲免费| 暖暖成人免费视频| 久久麻豆一区二区| 久久国产视频网| 久久都是精品| 欧美中文字幕| 久久精品国产免费看久久精品| 亚洲欧美日韩人成在线播放| 亚洲欧美综合v| 午夜老司机精品| 午夜免费久久久久| 校园春色国产精品| 欧美在线你懂的| 久久激情一区| 久久久亚洲欧洲日产国码αv| 久久久最新网址| 久久久夜夜夜| 欧美成人一区二免费视频软件| 欧美福利一区| 欧美日韩精品免费观看| 欧美日韩精选| 国产精品二区在线| 国产精品视频免费观看| 国产欧美日韩91| 国产主播一区二区三区| 狠狠综合久久av一区二区老牛| 伊人影院久久| 亚洲茄子视频| 亚洲一区bb| 欧美在线日韩精品| 亚洲国产视频一区二区| 99国产精品久久久久久久成人热| 亚洲午夜激情网站| 午夜一区在线| 久久噜噜噜精品国产亚洲综合| 老司机午夜精品视频| 欧美精品成人| 国产精品久久久久久久久免费| 国产精品一区二区你懂的| 韩日在线一区| 亚洲精品一区二区三| 亚洲一区视频在线| 久久成人精品一区二区三区| 最新国产拍偷乱拍精品| 亚洲一区二区日本| 欧美一区2区三区4区公司二百| 久久天堂av综合合色| 欧美精品久久久久a| 国产精品午夜av在线| 亚洲第一精品夜夜躁人人躁| 亚洲美女诱惑| 午夜亚洲影视| 亚洲精品在线视频| 欧美一级理论片| 蜜桃av一区二区| 国产精品va| 国产一区二区三区四区五区美女| 91久久国产综合久久| 亚洲在线观看免费视频| 亚洲国产美女久久久久| 亚洲自拍另类| 模特精品在线| 国产欧美日韩一区二区三区在线观看| 亚洲电影欧美电影有声小说| 亚洲天堂av高清| 最新国产成人av网站网址麻豆| 午夜激情久久久| 欧美激情第三页| 国产日韩欧美精品| 日韩视频在线播放| 久久激情视频久久| 亚洲欧美中文日韩在线| 欧美国产视频在线观看| 国产视频在线一区二区| 99re6热只有精品免费观看| 久久爱91午夜羞羞| 亚洲一级黄色av| 欧美成人午夜剧场免费观看| 国产亚洲免费的视频看| 一本色道久久综合狠狠躁的推荐| 亚洲福利一区| 久久国产精品72免费观看| 欧美午夜电影网| 最近中文字幕日韩精品| 久久xxxx精品视频| 午夜精品99久久免费| 欧美日韩黄视频| 亚洲激情精品| 亚洲高清激情| 久久精品国产清自在天天线| 国产精品二区在线观看| 日韩亚洲欧美精品| 亚洲精品久久久久中文字幕欢迎你| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久久久久免费| 亚洲精品一区二区三区樱花| 亚洲黄页一区| 久久乐国产精品| 国产日韩亚洲欧美| 亚洲伊人伊色伊影伊综合网| 亚洲一级黄色| 欧美日韩免费观看一区=区三区| 亚洲国产精品va| 亚洲激情黄色| 麻豆成人精品| 精品成人一区| 亚洲高清电影| 久久欧美中文字幕| 国产综合色精品一区二区三区| 午夜免费日韩视频| 午夜在线精品偷拍| 国产精品视频精品视频| 亚洲性感激情| 欧美一级视频精品观看| 国产精品欧美风情| 亚洲欧美日韩国产综合精品二区| 午夜精品国产更新| 国产农村妇女毛片精品久久麻豆| 亚洲先锋成人| 西西裸体人体做爰大胆久久久| 国产精品伦理| 亚洲欧美另类在线观看| 欧美一区激情| 国产精品一区二区久久精品 | 亚洲精品自在在线观看| 一区二区高清视频| 欧美日韩精品一二三区| 亚洲精品四区| 亚洲伊人伊色伊影伊综合网| 国产精品美女久久久| 亚洲欧美日韩一区二区在线| 久久av免费一区| 国内自拍亚洲| 亚洲三级免费| 欧美日韩一区二区在线观看视频| 一本色道久久综合| 欧美亚洲专区| 精品9999| 99视频国产精品免费观看| 欧美四级剧情无删版影片| 亚洲视频免费在线观看| 欧美一区二区视频97| 国产在线不卡视频| 亚洲人成高清| 欧美日韩久久| 午夜国产不卡在线观看视频| 久久久亚洲综合| 亚洲精品久久久久| 性欧美精品高清| 国产在线乱码一区二区三区| 91久久久亚洲精品| 欧美日韩少妇| 欧美在线高清| 欧美激情免费观看| 中文在线资源观看网站视频免费不卡 | 欧美成人黑人xx视频免费观看| 亚洲精品五月天| 欧美一区二区免费| 伊人春色精品| 亚洲香蕉成视频在线观看 | 国内视频精品| 一本色道久久综合亚洲精品按摩| 国产精品毛片在线看| 久久av资源网站| 欧美喷潮久久久xxxxx| 亚洲影视在线播放| 你懂的一区二区| 亚洲一区视频在线| 美日韩丰满少妇在线观看| 一区二区三区日韩| 久久婷婷国产麻豆91天堂| 9色精品在线| 久久人人爽人人爽爽久久| 99国产精品视频免费观看| 久久精品国产清高在天天线| 亚洲精品欧美| 久久久www成人免费无遮挡大片 | 亚洲午夜电影在线观看| 久久综合久久综合这里只有精品| 99这里只有精品| 巨乳诱惑日韩免费av| 亚洲视频精选| 欧美电影免费| 午夜免费在线观看精品视频| 欧美日韩精品不卡| 亚洲动漫精品| 国产精品在线看| 一区二区三区四区在线| 尤物在线观看一区| 亚洲欧美在线高清| 亚洲日本va午夜在线电影| 久久精品国产亚洲一区二区| 亚洲最新中文字幕| 男人的天堂亚洲在线| 欧美在线视频不卡| 国产精品白丝av嫩草影院| 亚洲精品国产精品久久清纯直播| 国产丝袜美腿一区二区三区|