Automatic HDL Code Generation for Component Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing hardware systems in Hardware Description Language (HDL) code is difficult and time-consuming, necessitating a process for automatic code generation for hardware systems.

Innovation Solution

The system automatically generates HDL code from graphical or text-based models, including options for selecting interface types or styles based on parameters like power, clock, and circuit area, and infers these selections to produce compliant HDL code for component interfaces, which can be compiled to implement hardware components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If HDL code is manually written for hardware systems, then the code can be customized and optimized, but the design process becomes difficult and time-consuming

Engineering Contradiction:
ImproveEase of code generationVSAvoidDesign time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent uses template-based code generation where pre-defined HDL code templates are automatically instantiated and customized based on component parameters. Instead of manually writing HDL code from scratch, the system copies and adapts standardized templates, dramatically reducing design time while maintaining code quality and consistency.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The code generation system automatically infers interface types and styles by analyzing component parameters such as power parameters, throughput requirements, and clock parameters. The system self-determines the appropriate HDL code structure without requiring manual specification, enabling automated generation of compliant interface code.

Inventive Principle:
Principle #25Self-service

2Productivity

If automatic code generation is implemented, then design time is reduced, but complexity in determining appropriate interface types increases

Engineering Contradiction:
ImproveCode generation speedVSAvoidInterface determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent resolves interface determination complexity by transforming the problem into parameter analysis. The system evaluates specific component parameters (power, throughput, clock characteristics) and automatically selects interface types based on parameter thresholds and relationships. This parameter-driven approach simplifies the decision-making process while maintaining high code generation productivity.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies different interface types and styles to different components based on their specific parameter requirements. Each component's interface is locally optimized according to its unique characteristics rather than applying a uniform interface style throughout, enabling precise control over code generation quality while maintaining automation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7913222B2Automatic generation of code for component interfaces in models
Publication Date: 2011.03.22 MATHWORKS INC
  • US7913222B2 patent drawing
  • US7913222B2 patent drawing
  • US7913222B2 patent drawing

AI summary

Methods, systems and computer program products are disclosed for automatically generating hardware description language code from a model. The hardware description language code may be generated from a graphical program/model, such as a block diagram model. The hardware description language code may also be generated from a text-based program/model, such as a model created using MATLABĀ® tools. In particular, the present invention provides for the automatic code generation of an interface between components in the model. The present invention may provide options for selecting at least one of multiple types or styles of the component interfaces in the model. The selection of the interface types or styles may be controlled by the user or inferred by other parameters, such as implementation parameters.