PLD Configuration Bitstream Compression Using Repeated Data Frames
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


