基于LZW算法的數(shù)據(jù)無損壓縮硬件實現(xiàn)
LZW數(shù)據(jù)壓縮算法的FPGA硬件實現(xiàn),其內(nèi)部功能模塊劃分如圖2所示。

2.2 各功能模塊說明
輸入/輸出數(shù)據(jù)緩存模塊完成FPGA所有數(shù)據(jù)傳輸工作,為了保證異步時鐘域數(shù)據(jù)同步,使用FPGA片內(nèi)的Block RAM構(gòu)成一個FIFO對輸入數(shù)據(jù)進行緩存。
字典存儲器模塊需要存放字典項的三部分內(nèi)容:字典項編碼、前綴碼、當前碼。將存儲器的容量設計為1K。采用FPGA內(nèi)部宏單元lpm-ram-dp(單口RAM)設計字典存儲器。
算法實現(xiàn)模塊要實現(xiàn)匹配串的查找、判斷字典相應地址內(nèi)容是否為空、比較字典地址相應內(nèi)容是否匹配或沖突、沖突時重新生成地址、壓縮編碼輸出控制、壓縮結(jié)束控制等功能。
外接閃存數(shù)據(jù)寬度為8位,所以壓縮后輸出數(shù)據(jù)位數(shù)需要轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換模塊就是實現(xiàn)壓縮后數(shù)據(jù)由13位向8位的轉(zhuǎn)換。
時鐘處理與控制模塊主要完成時鐘的匹配與控制,對各個功能模塊分配時鐘,并初始化各使能端信號。
評論