Emulation Memory Profiler for Sparse Sizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory emulation systems face challenges in efficiently determining the sparse memory size required for effective emulation, as they often rely on estimating memory usage without precise tracking of page usage by test sequences.

Innovation Solution

A method utilizing a profiler memory that tracks page usage by test sequences during emulation, allowing for the determination of unique pages used and the calculation of sparse memory size based on these findings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If estimation methods are used to determine sparse memory size, then device complexity is reduced, but measurement precision deteriorates

Engineering Contradiction:
Improvememory sizing complexityVSAvoidmemory usage measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent creates a profiler memory that is a copy of the user memory structure, used to track and measure actual page usage patterns. This copying approach enables precise measurement of memory usage without requiring complex analysis of the original memory access patterns, resolving the contradiction between simplicity and measurement accuracy.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The profiler memory acts as an intermediary between the user memory and the memory sizing determination process. It mediates by capturing actual usage data through a simplified tracking mechanism, providing accurate measurement information without directly analyzing the complex user memory access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If larger memory types are used, then reliability is improved, but speed deteriorates

Engineering Contradiction:
Improveemulation reliabilityVSAvoidemulation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent changes the parameter of memory size selection based on actual usage measurements. By determining the exact sparse memory size needed from profiler data, the system can select appropriately sized memory types that optimize both speed and reliability, avoiding the use of unnecessarily large slow memory types.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of allocating the full user memory size, the system uses partial allocation by identifying only the pages actually used during emulation. This partial action approach allows the use of faster, smaller memory types that are sufficient for the actual workload, rather than relying on larger slower memory types.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If sparse memory is optimized, then speed is improved, but device complexity increases

Engineering Contradiction:
Improveemulation speedVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary action by running the profiler memory first to gather usage statistics before the actual emulation. This preliminary measurement phase provides the information needed to optimize sparse memory configuration for subsequent emulation runs, achieving speed improvements without adding complexity to the main emulation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the memory management process into two distinct phases: a profiling phase that collects usage data, and an emulation phase that uses the collected data to optimize memory configuration. This segmentation allows speed optimization through sparse memory while keeping the overall system complexity manageable by separating the complex measurement task from the emulation task.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12265122B1Memory profiler for emulation
Publication Date: 2025.04.01 SYNOPSYS INC
  • US12265122B1 patent drawing
  • US12265122B1 patent drawing
  • US12265122B1 patent drawing

AI summary

A method for determining a sparse memory size during emulation, the method including: determining, by a profiler memory coupled to a user memory, that one or more pages of the user memory are used by a first test sequence of a testbench during the emulation; identifying, by the profiler memory, a first set of indexes of the one or more pages of the user memory used by the first test sequence; determining a number of unique pages of the user memory that are used by the first test sequence for the emulation based on the first set of indexes; determining, by a processor, the sparse memory size for the user memory based on the number of unique pages of the user memory that are used by the testbench for the emulation and a page size of the user memory.