Tunable Parameter HDL Code Generation via Dynamic Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in hardware design is the labor-intensive and inflexible nature of manual HDL coding, particularly when numerical parameters are hard-coded, limiting the ability to adjust or dynamically change them in generated HDL modules.

Innovation Solution

A technical computing environment allows users to designate certain numerical parameters as 'tunable' within the HDL code generation process, enabling their values to be set, adjusted, and changed dynamically by instantiating memory structures and configuring interfaces within HDL modules, thereby avoiding manual HDL coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If numerical parameters are hard-coded into generated HDL modules, then the hardware implementation becomes simple and efficient, but flexibility for later adjustments and dynamic changes is lost

Engineering Contradiction:
Improvehardware implementation efficiencyVSAvoidflexibility for parameter adjustments
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent transforms static hard-coded parameters into dynamic configurable parameters by introducing memory structures (registers, RAM blocks) that can be written to during initialization or operation. The code generator automatically creates write interfaces and initialization sequences, allowing parameters to be changed without regenerating HDL code. This resolves the contradiction by making the hardware adaptable while maintaining efficient implementation through structured memory-based storage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables parameter changes by generating HDL code with configurable parameter structures that can be modified through software control. The code generator creates parameter storage elements and associated control logic that allow runtime or post-synthesis parameter adjustment. This approach maintains hardware efficiency while enabling flexible parameter modification through standardized interfaces.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If a designer manually codes additional features to enable dynamic parameter changes, then flexibility is achieved, but significant development time is consumed and HDL programming proficiency is required

Engineering Contradiction:
Improvedynamic parameter change capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The code generator performs self-service by automatically analyzing the high-level design specifications and generating all necessary HDL code for dynamic parameter functionality. This includes creating memory structures, write interfaces, initialization sequences, and control logic without requiring manual HDL coding. The system serves itself by translating algorithmic descriptions directly into hardware code with embedded parameter configurability, eliminating the need for designers to manually implement dynamic parameter features.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The code generator performs preliminary action by pre-configuring all necessary structures and interfaces for dynamic parameter changes during the initial code generation process. Rather than requiring designers to add features later, the system proactively creates parameter storage elements, control interfaces, and initialization routines in advance, based on high-level specifications. This preliminary configuration eliminates subsequent manual coding requirements and reduces development time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If automatic HDL code generation is used, then manual coding burden is reduced, but full advantages are not realized because parameters are hard-coded and require manual modification for flexibility

Engineering Contradiction:
Improvereduction of manual coding burdenVSAvoidparameter tunability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent enhances automatic code generation by creating a universal parameter configuration system that works across different HDL modules and design types. The code generator implements a multi-functional approach where parameter storage structures can serve multiple purposes (initialization, runtime configuration, testing) and where standardized interfaces enable consistent parameter management across diverse hardware components. This universal system maintains ease of automatic generation while adding adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary layer between the high-level design specifications and the hardware implementation through automatically generated parameter management structures. This intermediary includes memory blocks, control interfaces, and initialization routines that mediate between the designer's intent and the hardware behavior. The intermediary enables automatic code generation to produce flexible, tunable hardware without requiring manual HDL intervention, bridging the gap between automation and adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7900168B2Customizable synthesis of tunable parameters for code generation
Publication Date: 2011.03.01 MATHWORKS INC
  • US7900168B2 patent drawing
  • US7900168B2 patent drawing
  • US7900168B2 patent drawing

AI summary

An apparatus, method and/or computer readable media automatically generate hardware description language (HDL) code. A design environment is configured to receive a hardware design, the hardware design including a plurality of numerical parameters. A user interface (UI) accepts a designation of a first numerical parameter as a tunable numerical parameter. An HDL code generator detects the designation and instantiates a memory structure to store the first numerical parameter. The HDL code generator also configures an interface of a module of the hardware design to receive a value of the first numerical parameter, and instantiates one or more structures internal to the module to utilize the first numerical parameter. The HDL code generator also determines a second numerical parameter has not been designated as a tunable numerical parameter, in response, instantiates one or more structures to maintain the second numerical parameter as a hard-coded numerical parameter.