Hierarchical Identifier Compression for Faster Netlist Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing algorithms for compressing and decompressing large models and netlists are inefficient, resulting in high storage requirements and slow performance speeds, with a need for improved compressibility and reduced storage needs.

Innovation Solution

A prefix compressor algorithm that splits full names into hierarchy and remainder parts, compresses each separately using a general-purpose computer processor, and employs standard compressors like bzip2 to enhance compressibility, while allowing for efficient decompression through an inverse algorithm.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If known general purpose algorithms such as zip/gzip are used for compressing large models and netlists, then storage requirements are reduced, but compression and decompression operations perform very slowly

Engineering Contradiction:
Improvestorage requirementsVSAvoidcompression and decompression speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the hierarchical identifier into multiple components (hierarchy path, name, and extension) and processes each segment separately through targeted compression techniques. This segmentation allows the system to apply specialized compression methods to each component rather than treating the entire identifier as a single string, thereby improving both compression ratio and processing speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation by converting hierarchical paths into numeric indices and using variable-length encoding schemes. This parameter transformation enables more efficient storage and faster retrieval compared to traditional string-based compression methods, directly addressing the speed-performance issue while maintaining storage efficiency.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If known general purpose algorithms such as zip/gzip are used for compressing large models and netlists, then storage requirements are reduced, but compressibility of data is insufficient

Engineering Contradiction:
Improvestorage requirementsVSAvoidcompressibility of data
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

By dividing the hierarchical identifier into distinct segments (path components, name, extension), the patent enables targeted compression strategies for each segment. This segmentation reveals patterns and redundancies within each component that general-purpose algorithms miss, thereby improving overall data compressibility without losing information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different compression techniques to different segments of the hierarchical identifier based on their specific characteristics. For example, path components may use one compression method while names and extensions use another, optimizing compressibility for each local segment rather than applying a uniform approach.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7444347B1Systems, methods and computer products for compression of hierarchical identifiers
Publication Date: 2008.10.28 SAP SE
  • US7444347B1 patent drawing
  • US7444347B1 patent drawing
  • US7444347B1 patent drawing

AI summary

Management of hierarchical identifiers in simulation models and netlists is accomplished using a prefix compressor algorithm running on a general purpose computer processor. Full name compression is accomplished when hierarchy data and remainder data are split off and prefix compressed. Compressing prefixes of names in the hierarchy list is performed by comparing a previous entry to a current entry. Compressing prefixes of names in the name list is performed by running an output of compressing of prefixes of names in the hierarchy list and running an output of the compressing of prefixes of names in the name list through a standard compressor software application package. Decompressing of names uses sub operations inverse to the prefix compressor algorithm. The decompressing sub operations create a string pointed to by the prefix pointer and concatenated onto the string pointed to by the name pointer; and thus a full name is created.