13
Decoding-Aware Compression of FPGA Bitstream Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Embed Size (px)

Citation preview

Page 1: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Decoding-Aware Compression of FPGA

BitstreamXiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE

IEEE Transactions in VLSI Systems, March 2011

Presented by:Sidhartha Agrawal

Page 2: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Backgrounds Info (Quickly) Previous Work Major Contribution by present work

◦ Smart Placement◦ Fast decompression for VLC◦ Combine RLC and bit-mask based coding

Results Conclusion Question

Agenda

Page 3: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Code Compression Overview

Compressed Code(Memory)

DecompressionEngine

Processor(Fetch and Execute)

Application Program (Binary)

CompressionAlgorithm

Static Encoding(Offline)

Dynamic Decoding(Online)

Page 4: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Decompression Engine

Barrel Shifter

Input Buffer

Decoder

Output buffer

Page 5: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Input: Input bitstream Output: Compression Bitstream placed in memory Step 1 : Divide input bitstream in Fixed size

symbols Step 2 : Perform Bitmask based pattern selection Step 3 : Perform Dictionary Selection Step 4 : Compress symbol into code sequence

using bitmask and RLE Step 5 : Perform decode aware placement of code

Algorithm 1: Decode-Aware Bitstream Compression Already Done

Will Discuss Today

Page 6: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Run Length Encoding (RLE)

0000 00000000 00000000 00000000 00000000 00000000 000001000010

100100100100100100101

100

100100100100101

11 10 00 0

Marker

Count

Input Stream Without RLE With RLE

Page 7: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Definition: Power-Two n-bit Stream(“PT-n Stream”) is FLC stream of n-bit codes, where n is a power of two such as 20 , 21, 22, and so on.

PT-n Stream

Page 8: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Code Placement: Step1 of 2

c

Page 9: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Code Placement: Step 2 of 2

c

Page 10: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

The total number of unused bits Nw is less than (log2b + 2) * b

b is the memory bandwidth, For b = 8

◦ Nw = 40

Theorem

Page 11: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Decompression Engine (Revisited)

NEW

Page 12: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Bit mask based Compression (BMC) BMC with new dictionary selection (pBMC) pBMC with RLE

Overall Efficiency

BMC

pBMC• ~ 4%

pBMC + RLE• ~ 10%

Page 13: Xiaoke Qin, Member, IEEE Chetan Murthy, and Prabhat Mishra, Senior Member, IEEE IEEE Transactions in VLSI Systems, March 2011 Presented by: Sidhartha Agrawal

Decompression Aware Code Placement Use of RLE and BMC

Comments◦ Very Comprehensive Paper(s)

Questions ◦ ???

Conclusion