基于FPGA的miniLZO解压缩算法实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的miniLZO解压缩算法实现
现代电子技术
Modern Electronics Technique
2018年11月15日第41卷第22期
Nov.2018Vol.41No.22
0引言
LZO 是一个开源的无损压缩C 语言库,是致力于解
压速度的一种数据压缩算法,其程序是线性安全的,LZO 压缩和解压缩因其比较迅速且占用内存小等特点,广泛应用于网络传输中。
miniLZO 是一种轻量级的压缩和解压缩库,它是基于LZO 压缩和解压缩算法实现
的。
LZO 虽然功能强大,但是编译后的库文件较大,而miniLZO 编译后的库则小于5Kbit ,因此miniLZO 是为那些仅需要简单压缩和解压缩功能的程序而设计。
FPGA 采用流水线与并行运算,在数据处理中具有高效灵活的特点,适用于硬件的解压缩的实现[1?2]。
基于
FPGA 的硬件解压缩方案具有速度快、处理能力强的优点,因此得到了人们的重视。
本文首先对miniLZO 算法进行简单分析,然后根据解压缩算法原理设计出可移植的FPGA 电路,并进行测试与验证,最后对全文进行
总结。
1miniLZO 算法
LZO 压缩算法在压缩过程中会采用特定的算法判
断当前字符串是否会在历史字符串(已经处理过的字符串)中出现过,如果出现过(定义为重复字符),则计算重复字符串的长度和指回距离,采用(重复长度,指回距离)代替当前的重复字符串。
这里的重复长度是指,后
出现的字符串与先出现的字符串中连续相同部分的长度;指回距离是指,先后两个字符串之间相隔的距离(每个字符为一个单位),
如果没有出现过,就定义为新字符,则首先输出新字符的个数,再输出新字符。
例如待处理的字符串为“ABCDEFGHABCDEFJKLM ”,压缩算法逐个处理字符,处理“ABCDEFGH ”时没有发现重复字符;处理到“ABCDEF ”时发现这些字符在历史字符串中已经出现过,计算重复长度为6,指回距离为8,则用(6,8)代替“ABCDEF ”;处理到“JKLM ”时没发现重复字符。
字符串到此处理完毕,则整个字符被压缩成(08)H
基于FPGA 的miniLZO 解压缩算法实现
邓计才,尹红霞
(郑州大学信息工程学院,河南郑州
450001)
摘
要:miniLZO 解压缩算法是一种轻量级的无损解压缩算法,广泛应用于网络传输中。
为提高解压速度,降低传输
延迟,该文充分利用FPGA 的并行性,设计高速缓存方案和基于状态机的解压缩方案,实现了miniLZO 的硬件解压缩算法。
该硬件解压缩算法在Xilinx 公司XC7K325T FPGA 芯片上进行了工程实现,测试结果显示,最高吞吐率可达到164MB/s 。
该硬件解压缩方案速度快、功能完备、便于移植,具有较强的工程实用性。
关键词:miniLZO ;FPGA ;解压缩算法;网络传输;高速缓存;状态机中图分类号:TN919?34
文献标识码:A
文章编号:1004?373X (2018)22?0106?04
Implementation of miniLZO decompression algorithm based on FPGA
DENG Jicai ,YIN Hongxia
(School of Information Engineering ,Zhengzhou University ,Zhengzhou 450001,China )
Abstract :The miniLZO decompression algorithm is a lightweight lossless decompression algorithm ,which is widely
used in network transmission.The high?speed cache scheme and the decompression scheme based on the state machine are designed in this paper by making full use of the parallelism of the FPGA to implement the miniLZO hardware decompression algorithm ,so as to improve the decompression speed and reduce transmission delay.Engineering implementation of the hardware decompres?sion algorithm is performed on the XC7K325T FPGA chip of Xilinx Company.The test results show that the maximum through?
put of the algorithm can reach 164MB /s ,and the hardware decompression scheme has fast speed ,complete function ,and is easy to be transplanted ,which has a strong engineering practicability.
Keywords :miniLZO ;FPGA ;decompression algorithm ;network transmission ;high?speed cache ;state machine 收稿日期:2018?03?08
修回日期:2018?05?03
DOI :10.16652/j.issn.1004?373x.2018.22.026
106万方数据。