Net Sensitivity Range Translation for HDL Simulation Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing HDL simulators face inefficiencies in simulation speed due to redundant comparisons when determining which processes to resume based on signal changes, as they handle partially overlapping net sensitivity ranges without effective disjoint or complete overlap translation.

Innovation Solution

The method involves translating partially overlapping net sensitivity ranges into a set with disjoint or completely overlapping ranges, constructing a net sensitivity tree, and using transaction functions to determine which processes to resume during simulation, thereby reducing unnecessary comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If HDL simulators handle partially overlapping net sensitivity ranges, then they can maintain comprehensive process resumption coverage, but simulation speed decreases due to redundant comparisons

Engineering Contradiction:
Improveprocess resumption coverageVSAvoidsimulation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the net sensitivity ranges into disjoint intervals by introducing boundary points at each sensitivity range boundary. This divides the continuous sensitivity range into discrete, non-overlapping segments, allowing the simulator to check only the relevant segment containing the signal change point, thereby eliminating redundant comparisons while maintaining complete process resumption coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-computing and storing the sorted sensitivity range boundaries in a data structure during the compilation phase. This preliminary organization of sensitivity ranges into a sorted list of boundary points enables efficient binary search during simulation, reducing the comparison complexity from O(n) to O(log n) where n is the number of sensitivity ranges.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If HDL simulators use traditional net sensitivity range handling, then they can identify all affected processes, but the number of redundant comparisons increases proportional to the length of partial overlaps

Engineering Contradiction:
Improveaffected process identificationVSAvoidcomparison time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent segments the sensitivity range checking into discrete interval comparisons by introducing boundary points. Instead of checking all sensitivity ranges for partial overlaps, the system identifies which discrete interval contains the signal change point and only checks sensitivity ranges within that interval, reducing comparison time proportional to the length of partial overlaps while maintaining complete affected process identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the one-dimensional sensitivity range checking into a two-dimensional approach by adding a temporal dimension through boundary point sorting. The sensitivity ranges are organized in a sorted list of boundary points, enabling binary search that adds a logarithmic factor to the complexity, effectively reducing the linear scan through all sensitivity ranges to a targeted search within relevant intervals.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9117043B1Net sensitivity ranges for detection of simulation events
Publication Date: 2015.08.25 XILINX INC
  • US9117043B1 patent drawing
  • US9117043B1 patent drawing
  • US9117043B1 patent drawing

AI summary

Processing a circuit design can include determining a first set of net sensitivity ranges for a net of the circuit design, wherein at least two net sensitivity ranges of the first set are partially overlapping, and translating the first set of net sensitivity ranges into a second set of net sensitivity ranges comprising a plurality of member net sensitivity ranges with no partially overlapping member net sensitivity ranges. A net sensitivity tree can be constructed that includes hierarchically ordered nodes. Each node can specify a net sensitivity range of one member of the second set of net sensitivity ranges.