Compression module design
1、 压缩基本原理:
原文:compression algorithms can compress your file, you can learn compression algorithms from ednchina
压缩后:compression algorithms can (8,27) your file, you can learn (22,61) from ednchina
其中(8,27)表示重复长度为8(compress的长度),指回距离27(离前面compression的距离);(22,61)表示重复长度为22(compression algorithms的长度),指回距离61(离compression algorithms),很明显经过这种方法对数据进行处理会使数据信息减少,该算法的思想来源于LZ77算法,有兴趣的可以百度。
2、模块划分
Compression module可以简单分为:输入缓存模块,压缩模块,dictionary模块,输出缓存模块;缓存模块可以采用xilinx或者altera公司的ram去实现。压缩模块负责对数据进行压缩,dictionary模块缓存历史信息,dictionary模块决定着压缩率和压缩速度。
3、debussy工具打开代码后的界面
4、Compression module封装
为了对算法进行测试,将算法模块进行封装,采用avalon总线封装最后挂载到系统上;其实就是将自身的设计时序转换为总线要求的时序。
Avalon总线基本写传输(具体可以参考avalon总线规范一书)
5.系统集成
Compression module在系统中扮演的角色如上图中高亮部分:avalon-mm slave custom logic部分,该系统中部分模块可以进行裁剪,集成过程采用的工具时altera公司的sopc builder 工具。
6.软件测试
在IDE(Nios II嵌入式软核集成开发环境)编写c代码对compression module进行测试。
上面的很多过程要参考altera公司提供的参考手册,这些手册百度文库基本都有,不行的话官网也可以免费下载。
例举一下:
1、 Avalon_Interface_Specifications.pdf
2、 mnl_avalon_spec.pdf
3、 n2cpu_Embedded_Peripherals.pdf
4、 Nios_II_Hardware_Development_Tutorial.pdf
5、 Nios_II_Software_Developer’s_HandBook.pdf
6、 SOPC_Builder手册.pdf
用户403664 2013-7-10 11:19
sunyzz 2013-7-10 09:55
用户403664 2013-7-9 14:18