Net Sensitivity Range Translation for HDL Simulation Speed
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


