High-Level Compiler Automatic Data Compression Algorithm Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current electronic design automation (EDA) tools face challenges in automatically selecting and implementing optimal data compression algorithms during high-level compilation for complex systems on target devices like FPGAs and ASICs, requiring user intervention and additional work to determine compression methods and algorithms.

Innovation Solution

A method and apparatus for automatic data compression algorithm selection during high-level compilation, where a high-level compiler identifies data types in kernel arguments and instantiates appropriate hardware for compression/decompression units, allowing users to signal compression requirements through specific terms in the kernel definition, and tracks compression status to ensure consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automatic compression algorithm selection is implemented during high-level compilation, then user workload is reduced and efficiency is improved, but device complexity and compilation system complexity increase

Engineering Contradiction:
Improvecompilation efficiencyVSAvoidcompilation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compilation system performs self-service by automatically analyzing data types in kernel arguments and selecting appropriate compression algorithms without user intervention. The system inspects argument types (integer, float, double, structure) and autonomously determines compression strategies, reducing user workload while managing internal complexity through automated decision-making logic

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes compilation parameters dynamically based on data type detection. By identifying argument types (integer, float, double, structure) and their compression requirements, the compiler adjusts compression algorithm selection and hardware instantiation parameters automatically, improving efficiency while containing complexity through parameter-driven decision making

Inventive Principle:
Principle #35Parameter changes

2Reliability

If compression hardware is automatically instantiated based on data type, then appropriate compression methods are ensured, but device complexity and resource requirements increase

Engineering Contradiction:
Improvecompression method appropriatenessVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies local quality by instantiating compression hardware selectively based on specific data type requirements. Different compression algorithms are applied to different data types (integer, float, double, structure) only where needed in the kernel arguments, ensuring appropriateness while avoiding unnecessary hardware complexity in regions where compression is not required

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The compilation system changes hardware instantiation parameters based on detected data types. By analyzing argument types and their compression suitability, the system dynamically determines which compression hardware to instantiate and where, ensuring method appropriateness while managing hardware complexity through conditional instantiation based on data type parameters

Inventive Principle:
Principle #35Parameter changes

3Reliability

If compression status tracking is implemented, then data integrity is maintained, but system complexity and overhead increase

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback by tracking compression status of data associated with kernel arguments and generating notifications when compression state inconsistencies are detected. This feedback mechanism maintains data integrity by ensuring compressed and uncompressed data are used appropriately, while managing system complexity through targeted status tracking and notification rather than comprehensive monitoring

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10474441B1Method and apparatus for performing automatic data compression algorithm selection during high-level compilation
Publication Date: 2019.11.12 ALTERA CORP
  • US10474441B1 patent drawing
  • US10474441B1 patent drawing
  • US10474441B1 patent drawing

AI summary

A method for performing a high-level compilation of a computer program language (CPL) description of a system to generate a hardware description language (HDL) of the system includes inserting one or more compression/decompression units into the HDL in response to detecting a user inserted term in a kernel definition of an argument in the CPL description to indicate that the argument requires compression.