HDL Port Memory Allocation for Simulation Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing HDL-based circuit design simulation methods require significant memory and computation resources due to separate memory allocation for formal and actual ports without considering compatibility, leading to inefficient simulation performance.

Innovation Solution

Allocate memory locations for formal and actual ports based on compatibility, sharing a single memory location for compatible ports and using separate locations for incompatible ones, with simulation code optimized to update values using single or respective operations accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate memory locations are allocated for formal and actual ports, then memory safety and correctness are ensured, but memory usage and computation resources increase significantly

Engineering Contradiction:
Improvememory safetyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the memory allocation for formal and actual ports by checking compatibility between them. When compatible, both formal and actual ports share the same memory location through a single allocated pointer, eliminating redundant memory usage while maintaining correctness through compatibility verification

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies different memory allocation strategies based on local compatibility characteristics. Each port connection is evaluated individually for compatibility between formal and actual types, allowing selective sharing of memory locations where compatible while maintaining separate allocations where incompatible, optimizing memory usage locally throughout the design

Inventive Principle:
Principle #3Local quality

2Reliability

If separate memory locations are allocated for formal and actual ports, then data correctness is maintained, but the number of update operations increases

Engineering Contradiction:
Improvedata correctnessVSAvoidsimulation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines update operations for compatible formal and actual ports by allocating a single memory location. When a value needs to be updated, the operation is performed once on the shared memory location, automatically updating both formal and actual ports simultaneously, thereby reducing the total number of update operations and improving simulation performance

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the parameter of memory allocation from separate dedicated locations to shared compatible locations. This parameter change in the allocation strategy enables the system to reduce update operations while maintaining data correctness through type compatibility verification

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9223910B1Performance and memory efficient modeling of HDL ports for simulation
Publication Date: 2015.12.29 XILINX INC
  • US9223910B1 patent drawing
  • US9223910B1 patent drawing
  • US9223910B1 patent drawing

AI summary

A method for compiling an HDL specification for simulation of a circuit design is disclosed. The circuit design is elaborated from the HDL specification and memory locations are allocated for formals and actuals of the elaborated circuit design. For each port having a formal and an actual that are compatible, the allocating of memory locations sets a reference pointer for the formal and a reference pointer for the actual to reference a same one of the memory locations. For each port having a formal and an actual that are incompatible, the allocating of memory locations sets the reference pointer for the formal and the reference pointer for the actual to reference different respective ones of the memory locations. Simulation code modeling the elaborated circuit design is generated that updates a formal and actual of a port that are compatible using a single write operation to the referenced memory location.