HDL Compiler Pattern Matching for Automated Code Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current HDL code transformation methods are manual, error-prone, resource-intensive, and impractical for complex IC designs, especially for legacy or third-party IP, as they require significant time and visibility to competitors, and often result in inconsistent and inefficient performance improvements.

Innovation Solution

An HDL extension is introduced with 'from' and 'to' patterns that allow an HDL compiler to transform HDL code on-the-fly without modifying the original code, using separate transformation pattern parse trees to identify and replace specific code portions, enabling automated and efficient transformations while maintaining source code intent.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual HDL code transformation methods are used, then transformations can be performed on HDL code, but the process is error-prone, resource-intensive, and time-consuming

Engineering Contradiction:
Improveautomation of HDL code transformationVSAvoidtime consumption for manual transformation
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The system enables self-service automation where the HDL compiler automatically performs code transformations by matching transformation patterns against the HDL code without requiring manual intervention. The compiler identifies portions of HDL code matching the first pattern and automatically transforms them based on the second pattern, eliminating the need for manual, error-prone transformation processes while significantly reducing time consumption.

Inventive Principle:
Principle #25Self-service

2Manufacturing precision

If manual HDL code transformation is performed, then code can be modified, but visibility to competitors increases and consistency cannot be guaranteed

Engineering Contradiction:
Improveconsistency of HDL code transformationVSAvoidvisibility of transformation details to competitors
Core Design Contradiction:
Manufacturing precisionVSLoss of information

Solution Approach 1:

The patent introduces transformation patterns as an intermediary layer between the original HDL code and the transformed code. These patterns serve as a hidden specification that guides the automated transformation process, ensuring consistency and accuracy while keeping the transformation logic concealed from competitors. The patterns act as a mediator that enables precise, repeatable transformations without exposing the transformation methodology.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If HDL code is transformed manually, then specific code portions can be modified, but the process becomes impractical for complex IC designs

Engineering Contradiction:
Improveefficiency of HDL code transformationVSAvoidcomplexity of IC design
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical process of manual code transformation with an automated computational system. The HDL compiler uses pattern matching algorithms to automatically identify and transform code portions, substituting the manual mechanical process with an efficient automated system that can handle complex IC designs. This substitution enables the system to scale effectively with increasing design complexity while maintaining high productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11853665B2Performing hardware description language transformations
Publication Date: 2023.12.26 SYNOPSYS INC
  • US11853665B2 patent drawing
  • US11853665B2 patent drawing
  • US11853665B2 patent drawing

AI summary

Hardware description language (HDL) code for an integrated circuit (IC) design may be parsed to obtain an IC design parse tree. A transformation pattern may include a first pattern and a second pattern. The transformation pattern may be parsed to obtain a transformation pattern parse tree. The IC design parse tree and the transformation pattern parse tree may be used to identify a portion of the HDL code that matches the first pattern. The identified portion of the HDL code may be transformed based on the second pattern to obtain a transformed portion of the HDL code. The portion of the HDL code may be replaced by the transformed portion of the HDL code.