FPGA Configuration Bitstream Compression With Simple Codeword Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing compression schemes for configuration bitstreams in programmable logic devices, such as LZW and Huffman encoding, are complex and resource-intensive, leading to increased costs and die space usage in SRAM-based FPGAs.

Innovation Solution

A method that encodes prevalent data words into specific codewords, allowing for efficient compression by representing null data words with a single-bit codeword, more-prevalent data words with a six-bit codeword, and less-prevalent data words with a ten-bit codeword, without requiring complex configuration logic or external components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If LZW compression algorithm is used to compress configuration bitstream, then compression ratio is improved, but device complexity and die space increase due to complex configuration logic required for decompression

Engineering Contradiction:
Improveconfiguration data sizeVSAvoidconfiguration logic complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent changes the parameter of codeword length distribution to optimize compression. Instead of using fixed-length codewords or complex adaptive algorithms, it uses a specific distribution where 0x00 is represented by 1 bit, 0x01-0x0F by 6 bits, and 0x10-0xFF by 10 bits. This parameter change achieves good compression ratio while keeping the decoding logic simple and deterministic.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies local quality by treating different data words with different codeword lengths based on their frequency of occurrence in configuration data. The most frequent byte value (0x00) gets the shortest codeword (1 bit), while less frequent values get longer codewords. This localized optimization at the data word level achieves overall compression without requiring complex global algorithms.

Inventive Principle:
Principle #3Local quality

2Loss of substance

If Huffman encoding is used to compress configuration bitstream, then compression ratio is improved, but device complexity and cost increase due to external decoders and associated memories

Engineering Contradiction:
Improveconfiguration data sizeVSAvoidexternal components requirement
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the decoding complexity from external components and integrates it into simple internal logic. By using a predetermined codeword distribution that is hardwired into the device, it eliminates the need for external Huffman decoders and associated memories, achieving compression without external complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The device performs decompression using its own internal logic without requiring external decoder components. The predetermined codeword distribution is built into the device's configuration logic, allowing it to self-decompress the bitstream using simple internal circuits rather than external hardware.

Inventive Principle:
Principle #25Self-service

3Loss of substance

If conventional compression schemes are used, then compression ratio is improved, but manufacturing cost increases due to increased die space

Engineering Contradiction:
Improveconfiguration data sizeVSAvoidmanufacturing cost
Core Design Contradiction:
Loss of substanceVSEase of manufacture

Solution Approach 1:

The patent changes the parameter of codeword allocation to optimize the balance between compression ratio and die space. By assigning 1 bit to the most frequent byte (0x00), 6 bits to intermediate frequencies (0x01-0x0F), and 10 bits to least frequent (0x10-0xFF), it achieves effective compression while minimizing the logic required for decoding, thus reducing die space and manufacturing cost.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7808405B1Efficient bitstream compression
Publication Date: 2010.10.05 LATTICE SEMICON CORP
  • US7808405B1 patent drawing
  • US7808405B1 patent drawing
  • US7808405B1 patent drawing

AI summary

In one embodiment of the invention, a method of generating a compressed configuration bitstream for a programmable logic device comprises encoding the most-prevalent data word within the configuration data of the bitstream into a codeword of a first type; encoding a set of more-prevalent data words within the configuration data into codewords of a second type; and including in the compressed bitstream at least some of the data words that are members of the set of more-prevalent data words. The included data words, when received by the programmable logic device, are adapted to be identified by the device as members of the set of more-prevalent data words. The included data words are stored for selection by the device when a codeword of the second type representing an included data word is received by the device.