新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 組合壓縮在存儲測試系統(tǒng)中的應(yīng)用

組合壓縮在存儲測試系統(tǒng)中的應(yīng)用

作者: 時間:2011-08-17 來源:網(wǎng)絡(luò) 收藏

3.2 算法的FPGA實現(xiàn)
系統(tǒng)的設(shè)計核心是壓縮算法實現(xiàn)。由于游程壓縮實現(xiàn)簡單,下面重點討論LZW算法的實現(xiàn)。用FPGA實現(xiàn)LZW算法要解決以下幾個問題[6]:
(1)壓縮過程中字典的緩存。因為所有數(shù)據(jù)處理和傳輸工作都是由FPGA 完成,字典的緩存必須使用FPGA內(nèi)部有限RAM 資源。(2)字典的建立與更新。字典的建立使用FPGA 片內(nèi)資源來完成, 大容量字典雖然會提高壓縮比,但必須考慮到FPGA內(nèi)部的資源量。因此選用9 bit的定長編碼方式對數(shù)據(jù)進行處理。(3)壓縮后輸出數(shù)據(jù)流的傳輸和存儲。由于壓縮后是9 bit的數(shù)據(jù)流,不利于數(shù)據(jù)的存儲。因此需將9 bit的數(shù)據(jù)流轉(zhuǎn)換成8 bit的數(shù)據(jù)流進行傳輸和存儲。FPGA設(shè)計過程中模塊劃分非常重要,好的模塊劃分能夠大大減少邏輯所消耗的面積和優(yōu)化功能的時序關(guān)鍵路徑。LZW算法實現(xiàn)劃分了8個模塊,各個模塊相互之間的連接如圖3所示。整個壓縮過程都是在狀態(tài)機控制模塊(U5)下進行的。

3.3 結(jié)果與分析
本文對所實現(xiàn)壓縮算法進行了綜合與仿真驗證,使用開發(fā)工具為Altera公司的QuartusII 7.2,使用Modelsim SE 6.1f仿真工具,用圖4所示的字符串作為輸入碼流進行測試。圖中datain表示輸入數(shù)據(jù),dataout表示壓縮輸出碼流,以16進制表示,用于驗證壓縮的正確性。仿真結(jié)果與通過計算機軟件壓縮的結(jié)果完全一致。如圖4所示,本設(shè)計完全可行。
經(jīng)過綜合, 算法的實現(xiàn)使用了20個引腳,占用了13%的邏輯單元,使用了33%的內(nèi)部RAM存儲容量,綜合所得最高時鐘工作頻率為80 MHz,實時壓縮速度達到8 MB。表2是一組實測數(shù)據(jù)的壓縮效果。
本文介紹的在以FPGA為核心的存儲測試系統(tǒng), 實現(xiàn)了數(shù)據(jù)的無損。通過相關(guān)仿真和綜合驗證, 壓縮效果顯著,大大減少了對存儲空間的要求,實現(xiàn)了壓縮性能與壓縮速度的統(tǒng)一。算法主體結(jié)構(gòu)用VHDL語言編寫, 具有可移植性,可廣泛地應(yīng)用于各種基于FPGA的數(shù)據(jù)壓縮系統(tǒng)中,有很大的應(yīng)用價值。
參考文獻
[1] 張文棟.存儲測試系統(tǒng)的設(shè)計理論及其應(yīng)用[M].北京:高等教育出版社, 2002.
[2] 吳家安.數(shù)據(jù)壓縮技術(shù)及應(yīng)用[M].北京:科學(xué)出版社, 2009.
[3] 朱琳,羅家融,田一海.核聚變實驗數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)壓縮算法的研究[J].計算機工程,2003,2(29):11-12.
[4] MARK N. LZW data compression[EB/OL].1989.http:marknelson.us/lzw-data-compression/.1989-10-01.
[5] Altera Corporation. Cyclone II device handbook,volume 1. 2007.
[6] 陳晉敏,黃春明,周軍.激光雷達數(shù)據(jù)無損壓縮的FPGA實現(xiàn)[J].計算機測量與控制,2007,15(1):100-102.


上一頁 1 2 下一頁

關(guān)鍵詞: 組合壓縮 組合壓縮

評論


技術(shù)專區(qū)

關(guān)閉