首页> 中文学位 >基于HLS的Gzip无损压缩硬件设计实现
【6h】

基于HLS的Gzip无损压缩硬件设计实现

代理获取

目录

声明

插图索引

表格索引

符号对照表

缩略语对照表

第一章 绪论

1.1引言

1.2课题背景

1.3研究意义和研究现状

1.4本文的研究内容及安排

第二章 数据压缩原理与压缩算法分析

2.1引言

2.2数据压缩技术的发展和分类

2.3 Gzip压缩的基本原理

2.4本章小结

第三章 Gzip压缩硬件架构设计

3.1高级综合

3.2 Gzip压缩硬件架构

3.3硬件架构各模块设计

3.4本章小结

第四章 Gzip压缩硬件架构实现

4.1硬件结构优化

4.2实验结果分析

4.3本章小结

第五章 结束语

5.1论文研究工作总结

5.2进一步研究计划

参考文献

致谢

作者简介

展开▼

摘要

随着大数据时代来临,大量信息需要通过互联网进行传输,占用的网络资源急剧增加,给网络传输带来极大的压力。数据压缩技术能够节约数据存储空间、传输时间和带宽,从而缓解传输压力。无损压缩Gzip是目前最常用的一种压缩工具,被广泛应用在网络资料的下载和数据备份等领域。其中开源代码zlib是Gzip算法最著名的实现版本,但因其算法本身计算量较大,导致压缩的数据吞吐率较低。FPGA在数据处理速度上有着通用处理器无法比拟的巨大优势,但硬件开发通常需要消耗较长周期。为了缩短开发周期,Xilinx公司推出的高级综合工具 Vivado-HLS能够将 C/C++、System C等高级编程语言描述的算法或行为级直接转换成硬件电路,并进行RTL级仿真验证。相比传统的硬件开发,使用高级综合工具更易于实现设计模块的仿真验证和迭代优化,从而极大缩短硬件开发周期。
  为解决Gzip压缩吞吐率较低的问题,本文在仔细研究Gzip压缩原理的基础上,根据算法的特点设计了适合硬件实现的流水和并行结构,并且使用Vivado-HLS工具进行实现。本文的主要工作有:
  1.提出一种多级流水的Gzip压缩设计架构。将压缩过程划分为读取数据、哈希表更新、匹配查找和选择、Huffman编码、Huffman码流打包以及压缩码流输出六个模块,利用并行处理窗口的设计实现数据压缩的并行处理,通过匹配选择消除了并行处理的相关性。另外在模块间建立起多级流水,最终提高Gzip压缩数据吞吐率。
  2.利用Vivado-HLS工具完成了满足高吞吐率的Gzip数据压缩架构的实现。针对提出的Gzip压缩硬件架构,利用HLS工具分别对压缩子模块进行实现及优化。通过约束 ARRAY_PARTITION将数组的存储结构映射为寄存器,约束 UNROLL将顺序执行的循环处理过程映射为并行处理,实现并行窗口结构达到缩短处理时延的目的;通过约束 PIPELINE和 DATAFLOW实现模块之间的多级流水处理结构;最后利用HLS工具对压缩架构进行RTL仿真验证。
  本文针对Gzip压缩的硬件实现,提出了一种多级流水的并行处理硬件架构,并通过 Vivado-HLS工具进行实现。实验结果表明,该架构能够在227MHz的频率下,当并行处理窗口大小为16时获得3.46GB/s的吞吐率,相比目前zlib提供的软件实现的吞吐率提高了10.4倍。另外本文提供的硬件加速设计结构具备规模可扩充性,其中并行窗口的大小与资源规模和吞吐率成比例增长。本文所提出的Gzip压缩的架构具备数据吞吐率高,可适应不同规模的FPGA进行实现。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号