CN106021465A - 一种FPGA bitfile的压缩方法 - Google Patents

一种FPGA bitfile的压缩方法 Download PDF

Info

Publication number
CN106021465A
CN106021465A CN201610327502.4A CN201610327502A CN106021465A CN 106021465 A CN106021465 A CN 106021465A CN 201610327502 A CN201610327502 A CN 201610327502A CN 106021465 A CN106021465 A CN 106021465A
Authority
CN
China
Prior art keywords
data
array
bitfile
fpga
zero
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.)
Pending
Application number
CN201610327502.4A
Other languages
English (en)
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.)
Inspur Group Co Ltd
Original Assignee
Inspur Group 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201610327502.4A priority Critical patent/CN106021465A/zh
Publication of CN106021465A publication Critical patent/CN106021465A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

本发明公开一种FPGA bitfile的压缩方法,属于文件管理技术领域;本发明将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,计算数组中数据的非零个数,如果非零个数小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数。

Description

一种FPGA bitfile的压缩方法
技术领域
本发明公开一种FPGA bitfile的压缩方法,属于文件管理技术领域。
背景技术
FPGA(Field Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式,而bitfile是配置FPGA的最终文件,由FPGA设计工具解析用户设计、约束等文件,综合而成的。FPGA使用过程中,bitfile文件需要压缩,以降低bitfile所需占用配置Flash的空间,提高MCU配置FPGA的速度。本发明提供一种FPGA bitfile的压缩方法,利用数组压缩存储的方式,降低bitfile所需占用配置Flash的空间,并实现FPGA的bitfile文件进行快速压缩,提高MCU配置FPGA的速度。
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
发明内容
本发明针对FPGA使用过程中,bitfile文件需要快速压缩,以降低bitfile所需占用配置Flash的空间,提高MCU配置FPGA的速度的问题,提供一种FPGAbitfile的压缩方法,具有通用性强、实施简便等特点。
本发明提出的具体方案是:
一种FPGA bitfile的压缩方法,将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,计算数组中数据的非零个数,如果非零个数小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数。
所述bitfile转化后的最后一个a[m][n]数组如果存在补位,补位数据使用三元组存储时使用(FF,FF,FF)表示,若使用数组形式存储,则无需补位。
所述每个数组中的数据分别与0xFF作位与运算,若结果为0,则表示数据为0,否则表示数据为非0。
若所述每个数组中的数据全为0,则用三元组(0,0,0)表示。
本发明的有益之处是:
本发明将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,计算数组中数据的非零个数,如果非零个数小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数;
利用本发明方法,对FPGA的bitfile文件进行快速压缩,降低bitfile所需占用配置Flash的空间,并提高MCU配置FPGA的速度。有利于提高FPGA的整体工作效率。
附图说明
图1本发明方法的流程示意图。
具体实施方式
一种FPGA bitfile的压缩方法,将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,计算数组中数据的非零个数,如果非零个数小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数。
根据上述方法及发明内容,结合附图对本发明做进一步说明。
一种FPGA bitfile的压缩方法,将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,将其设为x,计算数组中数据的非零个数,设其设为y,如果非零个数y小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数y不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数;
其中如果bitfile转化后的最后一个a[m][n]数组存在补位,补位数据使用三元组存储时使用(FF,FF,FF)表示,若使用数组形式存储,则无需补位;
将每个数组中的数据x分别与0xFF作位与运算,若结果为0,则表示数据x为0,否则表示数据x为非0;
若每个数组中的数据x全为0,则用三元组(0,0,0)表示。
具体例举一个简单实例:
比如将FPGA的bitfile转化为稀疏矩阵,将FPGA的bitfile划分为多个a[3][3]的数组,每个数组单元存储一个8bit数据x,数组中非0数据为0F、33、11,非零数据小于数组中数据数量/3,因此,采用三元组压缩存储。其中bitfile转化后使用数组形式存储,则无需补位,将每个数组中的数据x作位与运算,若结果为0,则表示数据x为0,否则表示数据x为非0,如下:
A [ 4 ] [ 4 ] = 00 0 F 00 00 00 00 00 00 33 00 00 00 00 11 00 00
由于非0数据个数为3,3<(3+1)*(3+1)/3,
所以A[4][4]中数据采用三元组存储如下:
(0,1,0F),(2,0,33),(3,1,11)。
利用本发明方法,对FPGA的bitfile文件进行快速压缩,降低bitfile所需占用配置Flash的空间,并提高MCU配置FPGA的速度。有利于提高FPGA的整体工作效率。

Claims (4)

1.一种FPGA bitfile的压缩方法,其特征是将FPGA的bitfile转化为稀疏矩阵,将稀疏矩阵存储为一定数量的a[m][n]数组,设置每个数组单元存储一个8bit数据,计算数组中数据的非零个数,如果非零个数小于(m+1)*(n+1)/L,则将数组中的零去掉,使用三元组(m,n,x)保存非零数据;如果非零个数不小于(m+1)*(n+1)/L,则使用a[m][n]数组形式保存数据,以便快速压缩bitfile,其中L为3以上的正整数。
2.根据权利要求1所述的方法,其特征是所述bitfile转化后的最后一个a[m][n]数组如果存在补位,补位数据使用三元组存储时使用(FF,FF,FF)表示,若使用数组形式存储,则无需补位。
3.根据权利要求2所述的方法,其特征是所述每个数组中的数据分别与0xFF作位与运算,若结果为0,则表示数据为0,否则表示数据为非0。
4.根据权利要求1-3任一项所述的方法,其特征是若所述每个数组中的数据全为0,则用三元组(0,0,0)表示。
CN201610327502.4A 2016-05-17 2016-05-17 一种FPGA bitfile的压缩方法 Pending CN106021465A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610327502.4A CN106021465A (zh) 2016-05-17 2016-05-17 一种FPGA bitfile的压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610327502.4A CN106021465A (zh) 2016-05-17 2016-05-17 一种FPGA bitfile的压缩方法

Publications (1)

Publication Number Publication Date
CN106021465A true CN106021465A (zh) 2016-10-12

Family

ID=57097379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610327502.4A Pending CN106021465A (zh) 2016-05-17 2016-05-17 一种FPGA bitfile的压缩方法

Country Status (1)

Country Link
CN (1) CN106021465A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413580A (zh) * 2019-07-31 2019-11-05 中国科学院自动化研究所 针对fpga配置码流的压缩方法、系统、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016097A1 (en) * 2009-07-16 2011-01-20 Teerlink Craig N Fast approximation to optimal compression of digital data
CN103226674A (zh) * 2013-05-23 2013-07-31 湖南大学 一种基于fpga技术的可恢复双重芯核水印认证方法
CN103516522A (zh) * 2013-10-12 2014-01-15 湖南科技大学 一种基于零知识证明协议的芯核水印盲检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016097A1 (en) * 2009-07-16 2011-01-20 Teerlink Craig N Fast approximation to optimal compression of digital data
CN103226674A (zh) * 2013-05-23 2013-07-31 湖南大学 一种基于fpga技术的可恢复双重芯核水印认证方法
CN103516522A (zh) * 2013-10-12 2014-01-15 湖南科技大学 一种基于零知识证明协议的芯核水印盲检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云影少年: ""稀疏矩阵的三元组表存储方法"", 《百度文库》 *
孙道让: ""基于GPRS的FPGA远程动态重构系统的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413580A (zh) * 2019-07-31 2019-11-05 中国科学院自动化研究所 针对fpga配置码流的压缩方法、系统、装置
CN110413580B (zh) * 2019-07-31 2021-10-29 中国科学院自动化研究所 针对fpga配置码流的压缩方法、系统、装置

Similar Documents

Publication Publication Date Title
Krawitz et al. Landau-Ginzburg/Calabi-Yau Correspondence of all Genera for Elliptic Orbifold $\mathbb {p}^ 1$
CN105205105A (zh) 一种基于storm的数据ETL系统及处理方法
Caudrelier Interplay between the inverse scattering method and Fokas's unified transform with an application
CN106021465A (zh) 一种FPGA bitfile的压缩方法
Chang et al. SDCNN: An efficient sparse deconvolutional neural network accelerator on FPGA
Lao On the distribution of integral ideals and Hecke Grössencharacters
Dehghan-Zadeh et al. Extremal tri-cyclic graphs with respect to the first and second Zagreb indices
Petrogradsky et al. Self-similar associative algebras
Patureau-Mirand Noninjectivity of the “hair” map
CN203574628U (zh) 按键扩展电路
RU2007103801A (ru) Цифровой интеллектуальный рекурсивный фильтр
Tong et al. Weak and strong convergence theorems for two finite families of asymptotically nonexpansive mappings in Banach spaces
Sun Three symmetric positive solutions for second-order nonlocal boundary value problems
CN202520517U (zh) 一种带带压起动装置的往复式压缩机
CN202352345U (zh) 智能u盘
CN203911914U (zh) 一种档案辅助管理系统
CN201906337U (zh) 一种动物内脏扩张器
Kolesnichenko et al. Text big data analytics case study «Third Wave»: Internet of words
CN203485613U (zh) 文件包
Zhuang et al. Convolutional neural networks Memory Optimization Inference with Splitting Image
CN201540573U (zh) 一种便携式容积计算器
CN202271728U (zh) 一种会计专业用组合尺具
Cohen et al. Remarks Concerning Lubotzky's Filtration
Acclavio Proof Diagrams as Concurrent Syntax for Sequent Calculi
RU98797U1 (ru) Светодиодный осветительный модуль

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication