Gate-Level Simulation X-Pessimism Correction via Sub-Circuit Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Gate-level logic simulation becomes inaccurate due to X-pessimism, where unknown values (Xs) are propagated, leading to false Xs and rendering simulations useless, especially with physical optimizations and low-power requirements.

Innovation Solution

The system identifies false Xs during simulation, traces the fan-in cone to find a sub-circuit responsible, and generates auxiliary code to eliminate these Xs, allowing for correct simulation results by replacing false Xs with their correct values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If gate-level simulation is performed with unknown values (Xs) present, then simulation coverage is improved, but simulation accuracy deteriorates due to X-pessimism propagating false Xs

Engineering Contradiction:
Improvesimulation coverageVSAvoidsimulation accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent segments the simulation process into two distinct phases: a formal analysis phase that identifies false Xs by proving whether unknown values can be determined, and a gate-level simulation phase that uses this information to correct simulation accuracy. This segmentation allows the system to maintain both broad simulation coverage and high accuracy by applying different methods to different aspects of the simulation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces formal analysis as an intermediary component between the testbench and gate-level simulation. This intermediary analyzes the design netlist to identify false Xs and provides correction information to the simulation process, thereby mediating between the need for comprehensive simulation coverage and the requirement for accurate results.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If random values are deposited at registers to eliminate X problems, then false X propagation is reduced, but bugs may escape verification due to incomplete value representation

Engineering Contradiction:
ImproveX elimination effectivenessVSAvoidbug detection accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where formal analysis results about false X identification are fed back into the gate-level simulation process. This feedback loop allows the simulation to be corrected based on proven information about which unknown values are actually false, thereby improving both X elimination effectiveness and bug detection accuracy without the limitations of random value deposition.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If formal analysis is applied during simulation to replace false Xs, then current false Xs are resolved, but subsequent false Xs are not resolved as the analysis is not generic

Engineering Contradiction:
Improvecurrent simulation accuracyVSAvoidsimulation continuity
Core Design Contradiction:
Measurement precisionVSDuration of action of stationary object

Solution Approach 1:

The patent performs preliminary formal analysis before gate-level simulation to identify all false Xs in advance. This preliminary action creates a comprehensive set of corrections that can be applied throughout the entire simulation process, ensuring that both current and subsequent false Xs are resolved without requiring repeated formal analysis during simulation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8402405B1System and method for correcting gate-level simulation accuracy when unknowns exist
Publication Date: 2013.03.19 SIEMENS INDUSTRY SOFTWARE INC
  • US8402405B1 patent drawing
  • US8402405B1 patent drawing
  • US8402405B1 patent drawing

AI summary

This invention provides a system and method for correcting gate-level simulation commences by identifying unknown values (Xs) that are falsely generated during the simulation of a given trace for a design netlist. Then, a sub-circuit of the design netlist is determined for each false X that has inputs of real Xs and an output of a false X. Finally, simulation correction code is generated based on the sub-circuit to eliminate false Xs in simulation of the design netlist. The original design netlist can then be resimulated with the simulation repair code to eliminate false Xs. This allows gate-level simulation to produce correct results.