CN105574053B - Fpga配置文件的压缩方法和装置 - Google Patents

Fpga配置文件的压缩方法和装置 Download PDF

Info

Publication number
CN105574053B
CN105574053B CN201410635537.5A CN201410635537A CN105574053B CN 105574053 B CN105574053 B CN 105574053B CN 201410635537 A CN201410635537 A CN 201410635537A CN 105574053 B CN105574053 B CN 105574053B
Authority
CN
China
Prior art keywords
configuration file
subfile
fpga chip
fpga
identifier
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.)
Active
Application number
CN201410635537.5A
Other languages
English (en)
Other versions
CN105574053A (zh
Inventor
何轲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital Microelectronics Beijing Technology Co Ltd
Original Assignee
Capital Microelectronics Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Capital Microelectronics Beijing Technology Co Ltd filed Critical Capital Microelectronics Beijing Technology Co Ltd
Priority to CN201410635537.5A priority Critical patent/CN105574053B/zh
Publication of CN105574053A publication Critical patent/CN105574053A/zh
Application granted granted Critical
Publication of CN105574053B publication Critical patent/CN105574053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及一种FPGA配置文件的压缩方法和装置,所述方法包括:接收处理器发送的压缩指令;对进行RTL编码、综合、布局布线时FPGA芯片的第一配置文件进行分割,生成多个子文件;当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件单独子文件。

Description

FPGA配置文件的压缩方法和装置
技术领域
本发明涉及通信领域,尤其涉及一种现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)配置文件的压缩方法和装置。
背景技术
现有技术中对FPGA配置文件进行加载时,当配置文件的容量较大时,往往需要花费较长的时间进行配置文件的传输,导致配置文件加载的速率较慢,从而影响了FPGA芯片的配置速度。
发明内容
本发明的目的是解决现有技术中在进行FPGA配置文件加载时,需要花费较长的时间进行配置文件的传输,配置文件加载的速率较慢,FPGA芯片的配置速度慢的问题。
第一方面,本发明实施例提供了一种FPGA配置文件的压缩方法,所述方法包括:
接收处理器发送的压缩指令;
对进行寄存器传输级RTL编码、综合、布局布线时现场可编程逻辑门阵列FPGA芯片的第一配置文件进行分割,生成多个子文件;
当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;
删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件单独子文件。
可选地,遍历所述子文件,以所述多个子文件中没有出现过的组合字符作为标识符。
可选地,所述对进行RTL编码、综合、布局布线时FPGA芯片的第一配置文件进行分割,生成多个子文件具体包括:
根据所述第一配置文件的容量对所述第一配置文件进行分割。
可选地,所述方法还包括:
将所述第二配置文件加载到FPGA芯片,以配置所述FPGA芯片。
可选地,所述方法之后还包括:对所述加载到FPGA芯片的第二配置文件解码,以生成第一配置文件。
第二方面,本发明实施例提供了一种FPGA配置文件的压缩装置,所述装置包括:接收单元,分割单元,获取单元,删除单元;
所述接收单元,用于接收处理器发送的压缩指令;
所述分割单元,用于对进行RTL编码、综合、布局布线时FPGA的第一配置文件进行分割,生成多个子文件;
所述获取单元,用于当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;
所述删除单元,用于删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件。
可选地,所述获取单元具体用于,遍历所述子文件,以所述多个子文件中没有出现过的组合字符作为标识符。
可选地,所述分割单元具体用于,根据将所述第一配置文件的容量对所述第一配置文件进行分割。
本发明通过对FPGA配置文件在加载时,接收处理器发送的压缩指令;对进行RTL编码、综合、布局布线时FPGA芯片的第一配置文件进行分割,生成多个子文件;当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件单独子文件进行压缩,减少了配置文件的传输时间,从而进一步解决了配置文件加载的速率较慢,FPGA芯片的配置速度慢的问题。
附图说明
图1为本发明实施例一提供的FPGA配置文件的压缩方法流程图;
图2为本发明实施例一提供的FPGA配置文件加载的架构图;
图3为本发明实施例二提供的FPGA配置文件的压缩装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
本发明应用于将FPGA配置文件加载到FPGA芯片时的场景,通过对FPGA配置文件进行压缩,加快了配置文件的加载速度。
图1为本发明实施例一提供的FPGA配置文件的加载方法流程图。如图1所示,本实施例包括以下步骤:
S110,接收处理器发送的压缩指令。
S120,对进行RTL编码、综合、布局布线时FPGA芯片的第一配置文件进行分割,生成多个子文件。
具体地,如图2所示,图2为本发明的FPGA配置文件加载的架构图。图2中的压缩后的比特流即为第二配置文件,比特流解码器也可以简称为解码器,配置存储器可以作为FPGA芯片中的字典的载体。
利用电子设计自动化(Electronic Design Automation,EDA)工具,在经过寄存器传输级(register-transfer level,RTL)编码,综合,布局布线后,生成第一配置文件,当该第一配置文件较大时,加载到FPGA芯片时的加载速率不高,为了减小配置文件的大小,提高FPGA芯片的配置速度,可以通过按压EDA软件的“压缩”按键,向处理器发送压缩指令,处理器接收到压缩指令后,将第一配置文件进行压缩。
其中,该EDA工具为我司自主研发,该EDA工具的界面上有如上所述可以进行触发处理器进行压缩的按键。
在对第一配置文件压缩时,可以先对第一配置文件进行分割时,在对第一配置文件进行分割时,可以根据第一配置文件的容量对所述第一配置文件进行分割,将第一配置文件分割为多个子文件。示例而非限定,可以按照8bit一个子文件对第一配置文件进行分割,在另一个实施例中,也可以以16bit一个子文件对第一配置文件进行分割。
S130,当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表。
当多个子文件中的至少两个子文件相同时,可以获取该至少两个子文件中的任一子文件的相同值,并且获取该相同值的长度,并给该相同值和相同值的长度添加标识符,该相同值、相同值的长度和标识符构成查找表。其中,在添加标识符时,可以遍历全部子文件,以所述多个子文件中没有出现过的组合字符作为标识符。
在将相同的子文件做上述处理后,对于剩余的单独子文件,可以不做处理。
S140,删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件。
对所有子文件中的相同子文件进行S120-130的处理,对于子文件中的单独的子文件,其和查找表一起,构成第二配置文件。其中,所述单独子文件为所述多个子文件中不存在相同子文件的子文件。
可选地,在对FPGA芯片的第一配置文件进行压缩后,将生成的第二配置文件加载到FPGA芯片,以配置所述FPGA芯片。
具体地,将第二配置文件所在的用户设备(User Equipment,UE)和FPGA芯片相连接,通过下载线将第二配置文件下载到FPGA芯片中,FPGA芯片内部预先配置有解码器电路或者FPGA芯片的扩展接口上连接有解码器电路,解码器对第二配置文件进行解码,解码完成后,获取到第一配置文件,根据第一配置文件,FPGA芯片可以完成相关配置,比如,完成FPGA芯片的下载启动流程。
具体地,在解码时,可以先获取到第二配置文件中的查找表,通过读取查找表,恢复出相同的子文件,将恢复后的相同子文件和没有做处理的单独子文件,进行组合,生成第一配置文件。
需要说明的是,也可以利用游程编码算法或游程编码算法的变种对第一配置文件进行压缩,生成第二配置文件。
也可以利用LZ77、LZ78、LZSS、LZW算法、所述LZ77、LZ78、LZSS、LZW的变种算法、基于字典和滑动窗口的算法中的任意一种对第一配置文件进行压缩,生成第二配置文件。
也可以利用统计概率的压缩算法,如Shanno-Fano算法、霍夫曼编码、算术编码及基于所述Shanno-Fano算法、霍夫曼编码、算术编码的类似算法对第一配置文件进行压缩,生成第二配置文件。
也可以基于本申请的算法和上述三类算法,以任意顺序组合成新的算法。
通过应用本发明实施例提供的FPGA配置文件的加载方法,接收处理器发送的压缩指令;对进行寄存器传输级RTL编码、综合、布局布线时现场可编程逻辑门阵列FPGA芯片的第一配置文件进行分割,生成多个子文件;当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件,使得配置文件的尺寸大幅度减小,从而在将配置文件加载到FPGA芯片时,减少了加载时间,从而增加了FPGA芯片的配置效率。
需要说明的是,也可以利用LZ77、LZ78、LZSS、LZW算法、所述LZ77、LZ78、LZSS、LZW的变种算法、基于字典和滑动窗口的算法中的任意一种对第一配置文件进行压缩,生成第二配置文件。
图3为本发明实施例二提供的FPGA配置文件的压缩装置示意图。如图3所示,该压缩装置包括:接收单元310,分割单元320,获取单元330,删除单元340。
所述接收单元310,用于接收处理器发送的压缩指令;
所述分割单元320,用于对进行RTL编码、综合、布局布线时FPGA的第一配置文件进行分割,生成多个子文件;
所述获取单元330,用于当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述相同值、长度和标识符构成查找表;
所述删除单元340,用于删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件。
可选地,所述获取单元330具体用于,遍历所述子文件,以所述多个子文件中没有出现过的组合字符作为标识符。
可选地,所述分割单元320具体用于,根据将所述第一配置文件的容量对所述第一配置文件进行分割。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种FPGA配置文件的压缩方法,其特征在于,所述方法包括:
接收处理器发送的压缩指令;
对进行寄存器传输级RTL编码、综合、布局布线时现场可编程逻辑门阵列FPGA芯片的第一配置文件根据所述第一配置文件的容量进行分割,生成多个子文件;
当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述标识符为遍历多个子文件后,其中没有出现过的组合字符,所述相同值、长度和标识符构成查找表;
删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件单独子文件;
将所述第二配置文件加载到FPGA芯片,以配置所述FPGA芯片,并对加载到FPGA芯片的第二配置文件进行解码,先获取第二配置文件中的查找表,通过查找表恢复出相同的子文件,将恢复后的相同的子文件和所述单独子文件进行组合以生成第一配置文件;
所述解码器预先配置在FPGA芯片内,或通过扩展接口连接所述FPGA芯片。
2.一种FPGA配置文件的压缩装置,应用于如权利要求1所述的方法,其特征在于,所述装置包括:接收单元,分割单元,获取单元,删除单元;
所述接收单元,用于接收处理器发送的压缩指令;
所述分割单元,用于对进行RTL编码、综合、布局布线时FPGA的第一配置文件根据所述第一配置文件的容量进行分割,生成多个子文件;
所述获取单元,用于当所述多个子文件中存在相同子文件时,获取所述相同子文件的相同值以及所述相同值的长度,并添加标识符,所述标识符为遍历多个子文件后,其中没有出现过的组合字符,所述相同值、长度和标识符构成查找表;
所述删除单元,用于删除所述第一配置文件中的相同子文件,将所述查找表和单独子文件构成第二配置文件;
所述解码器预先配置在FPGA芯片内,或通过扩展接口连接所述FPGA芯片。
CN201410635537.5A 2014-11-05 2014-11-05 Fpga配置文件的压缩方法和装置 Active CN105574053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410635537.5A CN105574053B (zh) 2014-11-05 2014-11-05 Fpga配置文件的压缩方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410635537.5A CN105574053B (zh) 2014-11-05 2014-11-05 Fpga配置文件的压缩方法和装置

Publications (2)

Publication Number Publication Date
CN105574053A CN105574053A (zh) 2016-05-11
CN105574053B true CN105574053B (zh) 2019-09-06

Family

ID=55884192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410635537.5A Active CN105574053B (zh) 2014-11-05 2014-11-05 Fpga配置文件的压缩方法和装置

Country Status (1)

Country Link
CN (1) CN105574053B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037695B (zh) * 2017-11-29 2020-10-27 深圳市紫光同创电子有限公司 现场可编程门阵列及其自动配置方法
CN110413580B (zh) * 2019-07-31 2021-10-29 中国科学院自动化研究所 针对fpga配置码流的压缩方法、***、装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099454A (ja) * 2000-09-21 2002-04-05 Nec Corp ファイル管理システムおよび方法
CN101149765A (zh) * 2007-11-09 2008-03-26 北京航空航天大学 高可靠性数字集成电路设计方法
CN101834757A (zh) * 2010-04-01 2010-09-15 深圳英飞拓科技股份有限公司 自动检测光传输监控网络拓扑的方法及实现装置
CN102129872A (zh) * 2010-01-14 2011-07-20 珠海扬智电子有限公司 资料压缩、解压缩方法及其装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262547A (zh) * 2010-05-31 2011-11-30 中兴通讯股份有限公司 场可编程门阵列加载方法和装置
CN107426183B (zh) * 2012-09-24 2021-02-09 华为技术有限公司 一种媒体文件消重的方法、服务器及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099454A (ja) * 2000-09-21 2002-04-05 Nec Corp ファイル管理システムおよび方法
CN101149765A (zh) * 2007-11-09 2008-03-26 北京航空航天大学 高可靠性数字集成电路设计方法
CN102129872A (zh) * 2010-01-14 2011-07-20 珠海扬智电子有限公司 资料压缩、解压缩方法及其装置
CN101834757A (zh) * 2010-04-01 2010-09-15 深圳英飞拓科技股份有限公司 自动检测光传输监控网络拓扑的方法及实现装置

Also Published As

Publication number Publication date
CN105574053A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
US10187081B1 (en) Dictionary preload for data compression
US9454552B2 (en) Entropy coding and decoding using polar codes
US10547324B2 (en) Data compression coding method, apparatus therefor, and program therefor
CN113810057B (zh) 用于语义值数据压缩和解压缩的方法、设备和***
JP2020505820A (ja) レートマッチング方法、符号化装置、および通信装置
US10015285B2 (en) System and method for multi-stream compression and decompression
US9923577B1 (en) Hybrid software-hardware implementation of lossless data compression and decompression
US20130159811A1 (en) Method of Hybrid Compression Acceleration Utilizing Special and General Purpose Processors
KR102395669B1 (ko) 오류 벡터 크기 계산을 기반으로 한 데이터 압축 및 복원 장치와 그 방법
CN112165331A (zh) 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备
US20170078916A1 (en) Data processing method and apparatus
CN104199951B (zh) 网页处理方法及装置
CN106849956B (zh) 压缩方法、解压缩方法、装置和数据处理***
CN101534124B (zh) 一种用于短小自然语言的压缩算法
JP5656593B2 (ja) 符号化データを復号する装置及び方法
US6778109B1 (en) Method for efficient data encoding and decoding
CN105574053B (zh) Fpga配置文件的压缩方法和装置
CN112399479A (zh) 用于数据传输的方法、电子设备和存储介质
CN106688186A (zh) 在基于lz的压缩算法中在多个经压缩块之间共享初始词典和霍夫曼树
CN105573775B (zh) Fpga配置文件加载方法和解码器
CN109690957B (zh) 熵编码的***级测试
KR102659349B1 (ko) 데이터 압축 장치 및 방법
JP2022048930A (ja) データ圧縮方法、データ圧縮装置、データ圧縮プログラム、データ伸長方法、データ伸長装置およびデータ伸長プログラム
JP2016170750A (ja) データ管理プログラム、情報処理装置およびデータ管理方法
US20150236714A1 (en) Method and device for compressing digital data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant