PLD Configuration Bitstream Compression Using Repeated Data Frames

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The transfer of large uncompressed configuration data bitstreams to programmable logic devices (PLDs) is cumbersome, resulting in significant delays and increased system costs due to the need for large capacity boot ROMs, and existing compression methods are inefficient, especially when not dependent on continuous bulk erase bytes or require additional overhead for mapping tables.

Innovation Solution

A method that embeds data frames and instructions within a compressed bitstream to efficiently load configuration data into PLDs, utilizing a compression engine to identify repeated data frames and embed instructions for loading, reducing the need for multiple encodings and overhead, thereby achieving significant compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If large uncompressed bitstreams are transferred to PLDs, then complete configuration data is provided, but transfer time and loading delay increase significantly

Engineering Contradiction:
Improveconfiguration data completenessVSAvoidtransfer time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent creates a compressed copy of the configuration bitstream by identifying repeated data frames and replacing them with references to previously encountered frames. The compression engine stores only unique data frames in a dictionary structure, and subsequent repetitions are represented by compact reference codes, significantly reducing the total data volume that needs to be transferred while maintaining complete configuration capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the representation parameters of configuration data from raw binary sequences to compressed symbolic references. By changing how data is encoded (from direct bit representation to reference-based representation), the patent achieves substantial reduction in transfer size without loss of information, directly addressing the time-loss contradiction.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If uncompressed bitstreams are used, then all configuration data is available, but system cost increases due to large capacity boot ROM requirements

Engineering Contradiction:
Improveconfiguration data availabilityVSAvoidboot ROM capacity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The compression engine creates a compact representation of the configuration data by copying unique data frames into a dictionary and replacing repeated occurrences with reference codes. This reduces the boot ROM capacity requirement from storing entire uncompressed bitstreams to storing only unique frames plus compact references, significantly lowering hardware cost while maintaining full configuration data availability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the configuration bitstream into discrete data frames, identifies unique versus repeated frames, and organizes them in a dictionary structure. This segmentation allows the system to store only unique segments in the boot ROM and represent repeated segments through compact references, reducing overall storage requirements and device complexity.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If adaptive pattern recognition with mapping tables is used, then repeated data patterns are identified and compressed, but overhead for building and processing mapping tables increases

Engineering Contradiction:
Improvecompression ratioVSAvoidmapping table overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The compression engine performs self-service by automatically building the dictionary structure during a single pass through the bitstream, using the data itself to create the compression references. The engine identifies repeated frames and generates reference codes without requiring external mapping tables or additional processing structures, eliminating the overhead associated with traditional adaptive pattern recognition methods.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary compression by building the dictionary of unique data frames before the actual configuration loading process. This preliminary action creates a compact representation that can be directly loaded and executed, eliminating the need for runtime mapping table processing and reducing overall system complexity while maintaining high compression ratios.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8058898B1Compression and decompression of configuration data using repeated data frames
Publication Date: 2011.11.15 LATTICE SEMICON CORP
  • US8058898B1 patent drawing
  • US8058898B1 patent drawing
  • US8058898B1 patent drawing

AI summary

In one embodiment, a method of converting an uncompressed bitstream into a compressed bitstream for a programmable logic device (PLD) is disclosed. The method includes embedding a first data frame from the uncompressed bitstream into the compressed bitstream, wherein the first data frame comprises a first data set; embedding a first instruction into the compressed bitstream to load the first data frame into a first row of configuration memory of the PLD at an address associated with the first data frame; identifying a second data frame in the uncompressed bitstream, wherein the second data frame comprises the first data set; and embedding a second instruction into the compressed bitstream to load the first data frame into a second row of the configuration memory at an address associated with the second data frame.