ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2018, Vol. 55 ›› Issue (5): 1049-1064.doi: 10.7544/issn1000-1239.2018.20170015

Previous Articles     Next Articles

MH-RLE: A Compression Algorithm for Dynamic Reconfigurable System Configuration Files Based on Run-Length Coding

Wu Weiguo1,2, Wang Chaohui1,2, Wang Jinyu1, Nie Shiqiang1,Hu Zhuang1   

  1. 1(School of Electronic and Information Engineering, Xi’an Jiaotong University, Xi’an 710049); 2(National Center of Data Broadcast Engineering and Technology (Xi’an Jiaotong University), Xi’an 710049)
  • Online:2018-05-01

Abstract: With the enhancing of integrated circuit technology, the scale of FPGA on-chip resources has increased dramatically, and the quantity of FPGA reconfigurable resources are rising. At the same time, corresponding increasing of the configuration file size and the configuration of reconfigurable system take too long time, which seriously hinder the extension of dynamic reconfigurable system in real-time applications. In order to solve this problem, the main solution at present is to compress the configuration file. We use upper computers to compress the configuration file firstly, and then use configuration circuits to decompress on-chip to reduce the size of the configuration file. In this paper, we propose an algorithm named MH-RLE for the compression of dynamic reconfigurable system configuration files. This algorithm is based on the characteristics distribution of “0” and “1” in a FPGA application binary configuration files. Firstly, the RLE fixed-length compression method is used to compress the configuration file. Secondly, we use the Huffman coding to solve zero placeholders of counters in the RLE fixed-length compression method. Finally, to further enhance the compression rate, we design a bitmask-based function to recompress. Simulation results show that the average compression rate of MH-RLE is 49.82% and comparing with 6 kinds of compression methods, MH-RLE is able to reduce to 12.4%.

Key words: dynamic reconfiguration, binary configuration file, run length coding, Huffman coding, mask compression

CLC Number: