CN113746486A - 一种针对fpga配置码流并行流水线式解压缩装置 - Google Patents
一种针对fpga配置码流并行流水线式解压缩装置 Download PDFInfo
- Publication number
- CN113746486A CN113746486A CN202111080274.2A CN202111080274A CN113746486A CN 113746486 A CN113746486 A CN 113746486A CN 202111080274 A CN202111080274 A CN 202111080274A CN 113746486 A CN113746486 A CN 113746486A
- Authority
- CN
- China
- Prior art keywords
- data
- state
- decompression
- shift register
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种针对FPGA配置码流并行流水线式解压缩装置,属于通信技术领域。该装置包括,状态生成器和若干并行结构体;所述状态生成器与各个并行结构体相连,所述并行结构体接收用于配置所述FPGA的压缩数据;所述并行结构体包括配置码流解析器、移位寄存器和解压缩单元,构成三级流水线方式的处理结构。本发明采用并行结构体方式,灵活提高装置并行度,提高解压缩效率;采用三级流水线方式,较串行方式使得解压缩时间缩短到三分之一,解压缩更加高效。
Description
技术领域
本发明涉及一种针对FPGA配置码流并行流水线式解压缩装置,属于通信技术领域。
背景技术
随着FPGA芯片逻辑资源规模越来越大,配置数据量非常巨大,配置过程中的传输时间成为瓶颈,提高传输带宽,缩短配置时间,提高配置效率变得关键和敏感。
发明内容
本发明要解决的技术问题是:如何在配置数据量巨大的情况下,缩短配置时间提高配置效率, 在保证同LZ77算法同性能前提下,简化了LZ77算法的实现复杂度,简化了LZ77算法的数据结构方式。(LZ77算法是采用自适应的字典模型,也就i是将已经编码的信息作为字典,如果要编码的字符曾经出现过,就输出该字符串的出现位置以及长度,否则输出新的字符串。)
为了解决上述技术问题,本发明提出的技术方案是:一种针对FPGA配置码流并行流水线式解压缩装置,包括状态生成器和若干并行结构体;所述状态生成器与各个并行结构体相连,所述并行结构体接收用于配置所述FPGA的压缩数据;
所述状态生成器,用于对所述压缩数据通过片选使能控制方式对配置码流数据进行纷发控制;发出状态信息,包括空闲状态、接收包头状态、解压缩状态、完成状态;用于所述装置的控制器并发出系统信息,所述系统信息包括,接收包头状态下计数信息、解压缩状态下的计数信息、配置压缩码流的片选控制信息;
所述并行结构体包括配置码流解析器、移位寄存器和解压缩单元,构成三级流水线方式的结构;
所述配置码流解析器接收所述状态信息和所述系统信息,并根据提供所述压缩数据的压缩装置中对数据的定义的所述压缩数据进行分析处理,并将解析后的数据传输到所述移位寄存器;
所述移位寄存器接收所述解析数据,并根据所述解析数据的特征进行所述移位寄存器的移位、更新和初始化;
所述解压缩输出单元根据所述压缩数据的解析结果在移位寄存器中进行按位截取并输出。
上述技术方案的改进是:所述移位寄存器接收到包头状态下的解析数据,初始化所述移位寄存器;所述移位寄存器接收到解压缩状态下收到可压缩数据/不可压缩数据,进行移位寄存器的移位和更新。
上述技术方案的改进是:所述配置码流解析器解析出的数据包括,包头数据、偏移量、匹配个数、可压缩数据和不可压缩数据。
本发明的有益效果是:本发明采用并行结构体方式,灵活提高装置并行度,提高解压缩效率;采用三级流水线方式,较串行方式使得解压缩时间缩短到三分之一,解压缩更加高效。
此外,此装置将配置码流分为可压缩数据和不可压缩数据,在保证同LZ77算法同性能前提下,简化了LZ77算法的实现复杂度,简化了LZ77算法的数据结构方式。
附图说明
图1是本发明实施例一的一种针对FPGA配置码流并行流水线式解压缩装置的结构示意图。
图2是本发明实施例一的一种针对FPGA配置码流并行流水线式解压缩装置中可压缩数据结构和不可压缩数据结构移位更新对比框图。
图3是本发明实施例一的一种针对FPGA配置码流并行流水线式解压缩装置中三级流水进行数据处理的原理示意图。
图4是本发明实施例一的一种针对FPGA配置码流并行流水线式解压缩装置的解压缩流程示意图。
具体实施方式
实施例一
本实施例为一种针对FPGA配置码流并行流水线式解压缩装置,如图1,所示,包括状态生成器和若干并行结构体;所述状态生成器与各个并行结构体相连,所述并行结构体接收用于配置所述FPGA的压缩数据;
所述状态生成器,用于对所述压缩数据通过片选使能控制方式对配置码流数据进行纷发控制;发出状态信息,包括空闲状态、接收包头状态、解压缩状态、完成状态;用于所述装置的控制器并发出系统信息,所述系统信息包括,接收包头状态下计数信息、解压缩状态下的计数信息、配置压缩码流的片选控制信息;
所述并行结构体包括配置码流解析器、移位寄存器和解压缩单元;
所述配置码流解析器接收所述状态信息和所述系统信息,并根据提供所述压缩数据的压缩装置中对数据的定义的所述压缩数据进行分析处理,并将解析后的数据传输到所述移位寄存器;
所述移位寄存器接收所述解析数据,并根据所述解析数据的特征进行所述移位寄存器的移位、更新和初始化;
所述解压缩输出单元根据所述压缩数据的解析结果在移位寄存器中进行按位截取并输出。
所述移位寄存器接收到包头状态下的解析数据,初始化所述移位寄存器;所述移位寄存器接收到解压缩状态下收到可压缩数据/不可压缩数据,进行移位寄存器的移位和更新。
所述配置码流解析器解析出的数据包括,包头数据、偏移量、匹配个数、可压缩数据和不可压缩数据。
图1示出了配置码流并行流水式解压缩装置的结构框图,表明本装置的工作机制:第一,状态生成,整个装置工作周期分为:空闲状态、接收包头状态、解压缩状态、完成状态;第二,并行性,采用并行结构体方式,灵活提高装置并行度,提高解压缩效率;第三,流水线,采用解析、移位、解压输出三级流水线方式,较串行方式使得解压缩时间缩短到三分之一,解压缩更加高效。
前述提到关于可压缩数据和不可压缩数据,二者经过寄存器移位更新后的对比,如图2所示。在解压缩状态下收到可压缩数据结构,进行移位寄存器的移位和更新,偏移量为A,匹配个数为B=N-A(N>A),则移位寄存器进行右移,将低N-A个字节移出,将移位寄存器更新前的[N-1,A]字节更新到高N-A个字节补位;在解压缩状态下收到不可压缩数据结构,进行移位寄存器的移位和更新,偏移量为0XFF意味着未有匹配,则B=DATA为未匹配的数据,则移位寄存器进行右移一个字节,将字节0移出,将DATA数据更新到最高字节。
本实施例的装置解压缩是时,以如图4所示流程进行,
1、装置初始进入空闲状态等待数据有效信号;
2、当装置接收到数据有效信号,装置进入接收包头状态;
3、接收包头状态下完成初始化移位寄存器;等待包头计数完成信号;输出包头数据。
4、当装置接收到到状态发生器输出的包头计数完成信号,装置进入解压缩状态;
5、解压缩状态下按照三级流水的方式进行配置码流解析、移位更新寄存器、解压缩输出。
前文提到的三级流水的方式即本实施例中组成一个并行结构体的结构,具体原理如图3所示,共三级流水,每个流水级2个周期:一个周期接收偏移量,一个周期接收匹配个数。
(1)接收的偏移量为A==0XFF,解析为不可压缩数据结构,未有匹配则B=DATA为未匹配的数据,则按照图2中可压缩数据结构(A,B)的方式进行移位更新。
移位更新的算法表达为:
Shift_reg={DATA,shift_reg[header_length*8-1: 8]}
其中header_length:包头长度(注:长度按照字节计数)
(2)接收的偏移量为A!=0xFF,则匹配个数为B=N-A(N>A),解析为可压缩数据结构,则按照图2中不可压缩数据结构(A,B)的方式进行移位更新。
移位更新的算法表达为:
shift_reg={shift_reg[(offset,match_cnt)*8-1:offset*8],shift_reg[header_length*8-1:match_cnt*8]}
其中offset:偏移量;match_cnt:匹配计数;header_length:包头长度(注:长度,计数按照字节计数)
6、结合压缩数据的解析结果和更新后的移位寄存器进行按位截取并输出解压缩数据。
(1)接收的偏移量为A==0XFF,解析为不可压缩数据结构,未有匹配则B=DATA为未匹配的数据,则解压缩输出的算法表达为:
decompress_O={x’b0,DATA};
decompress_val={x’b0, 1{1’b1} };
(2)接收的偏移量为A!=0xFF,则匹配个数为B=N-A(N>A),解析为可压缩数据结构,则解压缩输出的算法表达为:
decompress_O={x’b0,shift_reg[(offset,match_cnt)*8-1:offset*8]};
decompress_val={x’b0, {match_cnt}{1’b1} };
其中match_cnt:匹配计数;header_length:包头长度(注:长度,计数按照字节计数)。
可以看出本发明将配置码流分为可压缩数据和不可压缩数据。其中可压缩数据结构为:(偏移量,匹配个数);不可压缩数据结构为:(0xFF,无匹配数据)。保证同LZ77算法同性能前提下,简化了LZ77算法的实现复杂度,简化了LZ77算法的数据结构方式。
本发明不局限于上述实施例所述的具体技术方案,除上述实施例外,本发明还可以有其他实施方式。对于本领域的技术人员来说,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等形成的技术方案,均应包含在本发明的保护范围之内。
Claims (3)
1.一种针对FPGA配置码流并行流水线式解压缩装置,其特征在于:该装置包括,状态生成器和若干并行结构体;所述状态生成器与各个并行结构体相连,所述并行结构体接收用于配置所述FPGA的压缩数据;
所述状态生成器,用于对所述压缩数据通过片选使能控制方式对配置码流数据进行纷发控制;发出状态信息,包括空闲状态、接收包头状态、解压缩状态、完成状态;用于所述装置的控制器并发出系统信息,所述系统信息包括,接收包头状态下计数信息、解压缩状态下的计数信息、配置压缩码流的片选控制信息;
所述并行结构体包括配置码流解析器、移位寄存器和解压缩单元,构成三级流水线式的结构;
所述配置码流解析器接收所述状态信息和所述系统信息,并根据提供所述压缩数据的压缩装置中对数据的定义的所述压缩数据进行分析处理,并将解析后的数据传输到所述移位寄存器;
所述移位寄存器接收所述解析数据,并根据所述解析数据的特征进行所述移位寄存器的移位、更新和初始化;
所述解压缩输出单元根据所述压缩数据的解析结果在移位寄存器中进行按位截取并输出。
2.如权利要求1所述的针对FPGA配置码流并行流水线式解压缩装置,其特征在于:所述移位寄存器接收到包头状态下的解析数据,初始化所述移位寄存器;所述移位寄存器接收到解压缩状态下收到可压缩数据/不可压缩数据,进行移位寄存器的移位和更新。
3.如权利要求1所述的针对FPGA配置码流并行流水线式解压缩装置,其特征在于:所述配置码流解析器解析出的数据包括,包头数据、偏移量、匹配个数、可压缩数据和不可压缩数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080274.2A CN113746486B (zh) | 2021-09-15 | 2021-09-15 | 一种针对fpga配置码流并行流水线式解压缩装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080274.2A CN113746486B (zh) | 2021-09-15 | 2021-09-15 | 一种针对fpga配置码流并行流水线式解压缩装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746486A true CN113746486A (zh) | 2021-12-03 |
CN113746486B CN113746486B (zh) | 2022-09-02 |
Family
ID=78739000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111080274.2A Active CN113746486B (zh) | 2021-09-15 | 2021-09-15 | 一种针对fpga配置码流并行流水线式解压缩装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746486B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003101788A (ja) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | 復号方法、復号装置、画像処理装置、パケットヘッダ生成方法、パケットヘッダ生成装置 |
US6822589B1 (en) * | 1999-01-29 | 2004-11-23 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US20050097293A1 (en) * | 2003-08-29 | 2005-05-05 | Tsuneo Hayashi | Pipeline processing system and information processing apparatus |
US20080222392A1 (en) * | 2007-03-09 | 2008-09-11 | On Demand Microelectronics | Method and arrangements for pipeline processing of instructions |
CN102244518A (zh) * | 2010-05-10 | 2011-11-16 | 百度在线网络技术(北京)有限公司 | 并行解压缩的硬件实现的系统及方法 |
CN102469307A (zh) * | 2010-11-12 | 2012-05-23 | 珠海全志科技股份有限公司 | 解码器及码流解析装置 |
CN103761075A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度动态可重构数据规整控制单元结构 |
CN105306951A (zh) * | 2015-10-11 | 2016-02-03 | 华南理工大学 | 数据压缩编码的流水线并行加速方法及其系统架构 |
CN105337618A (zh) * | 2014-08-06 | 2016-02-17 | 上海明波通信技术股份有限公司 | 并行向下兼容的多模ira_ldpc译码器及其译码方法 |
CN109361398A (zh) * | 2018-10-11 | 2019-02-19 | 南威软件股份有限公司 | 一种基于并行和流水线设计的lz过程硬件压缩方法及系统 |
-
2021
- 2021-09-15 CN CN202111080274.2A patent/CN113746486B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6822589B1 (en) * | 1999-01-29 | 2004-11-23 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
JP2003101788A (ja) * | 2001-09-25 | 2003-04-04 | Ricoh Co Ltd | 復号方法、復号装置、画像処理装置、パケットヘッダ生成方法、パケットヘッダ生成装置 |
US20050097293A1 (en) * | 2003-08-29 | 2005-05-05 | Tsuneo Hayashi | Pipeline processing system and information processing apparatus |
US20080222392A1 (en) * | 2007-03-09 | 2008-09-11 | On Demand Microelectronics | Method and arrangements for pipeline processing of instructions |
CN102244518A (zh) * | 2010-05-10 | 2011-11-16 | 百度在线网络技术(北京)有限公司 | 并行解压缩的硬件实现的系统及方法 |
CN102469307A (zh) * | 2010-11-12 | 2012-05-23 | 珠海全志科技股份有限公司 | 解码器及码流解析装置 |
CN103761075A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度动态可重构数据规整控制单元结构 |
CN105337618A (zh) * | 2014-08-06 | 2016-02-17 | 上海明波通信技术股份有限公司 | 并行向下兼容的多模ira_ldpc译码器及其译码方法 |
CN105306951A (zh) * | 2015-10-11 | 2016-02-03 | 华南理工大学 | 数据压缩编码的流水线并行加速方法及其系统架构 |
CN109361398A (zh) * | 2018-10-11 | 2019-02-19 | 南威软件股份有限公司 | 一种基于并行和流水线设计的lz过程硬件压缩方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113746486B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5179378A (en) | Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques | |
EP4012928B1 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
JPH08274649A (ja) | Lempel−Zivタイプ・アルゴリズムを用いたデータ圧縮装置 | |
US6348881B1 (en) | Efficient hardware implementation of a compression algorithm | |
KR20020075889A (ko) | 보다 효율적인 데이터 압축 | |
JP2005535175A (ja) | ロスレスデータ圧縮 | |
WO2016065732A1 (zh) | 高效自适应地震数据流无损压缩及解压缩方法 | |
CN112347020A (zh) | 一种基于cgra的fast行情解析系统和方法 | |
CN111884660A (zh) | 一种哈夫曼编码设备 | |
CN113746486B (zh) | 一种针对fpga配置码流并行流水线式解压缩装置 | |
CN101292429A (zh) | 使用多个马尔可夫链进行压缩 | |
Salama et al. | Design and implementation of FPGA-based systolic array for LZ data compression | |
JP6168595B2 (ja) | データ圧縮器及びデータ解凍器 | |
CN108932315A (zh) | 一种数据解压的方法以及相关装置 | |
CN115913246A (zh) | 基于自适应瞬时熵的无损数据压缩算法 | |
CN113890540A (zh) | 一种并行加速lz77解码方法及装置 | |
US9344113B1 (en) | Lempel Ziv compression architecture | |
Wang et al. | Lossless compression of bitstream configuration files: towards FPGA cloud | |
Chen et al. | VLSI design for high-speed LZ-based data compression | |
Tuama et al. | A new compression algorithm for small data communication in wireless sensor network | |
CN115665268B (zh) | 一种适用于存算一体芯片的数据传输装置及方法 | |
CN107894966A (zh) | 一种基于流水线的块浮点模式下的fft处理器引擎原型 | |
CN117833929A (zh) | 一种基于fpga的lz4压缩与解压缩系统与介质 | |
Mostafa et al. | FPGA implementation of Lempel-Ziv data compression | |
Shimura et al. | On-the-fly data compression/decompression mechanism with expether |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |