Constraint Solver Cache Reusing Heuristics Across Domains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Circuit design teams face increasing complexity in verifying digital circuit implementations due to the need for frequent constraint solving operations, which can be overburdened by recurring complex constraint satisfaction problems across multiple independent problem domains, where experience from one domain can benefit others.

Innovation Solution

A system that reuses information from constraint solving operations by storing canonical representations and associated solver heuristics in a problem cache, allowing for efficient retrieval and application of solutions across similar problems, including persistent and random stability features to ensure consistent results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If constraint solving operations are performed independently for each problem domain, then each domain can solve its specific constraints, but the same complex constraint satisfaction problems are solved repeatedly across multiple domains, wasting computational resources and time

Engineering Contradiction:
Improveconstraint solving efficiencyVSAvoidcomputation time for recurring problems
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple independent constraint solving operations into a unified system with a shared problem cache. Different problem domains (e.g., circuit simulation, synthesis, verification) share the same constraint solving infrastructure and cache, allowing solutions and heuristics to be reused across domains. This combining approach eliminates redundant computation of identical constraint problems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary action by pre-solving constraint problems and storing their solutions and heuristics in the problem cache before they are needed again. When a constraint problem is encountered, the system first checks the cache for existing solutions rather than solving from scratch. This advance preparation and storage of solutions significantly reduces computation time for recurring problems.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If a problem cache is implemented to store constraint solving information, then solution retrieval becomes faster, but the system requires additional memory resources to maintain the cache

Engineering Contradiction:
Improvetime to solve recurring constraintsVSAvoidmemory resources for cache
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system dynamically changes parameters of cached entries including time-to-live (TTL) values, cache size limits, and eviction policies based on problem characteristics and system resource availability. This allows the cache to adapt its memory consumption patterns, keeping frequently accessed solutions while automatically evicting less useful entries, thus balancing memory usage with retrieval speed benefits.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If solver heuristics are reused from the cache, then constraint solving speed improves, but the system must manage and retrieve heuristic information correctly to ensure solution validity

Engineering Contradiction:
Improvesolution generation speedVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary cache management layer that sits between the constraint problems and the solver heuristics. This intermediary component handles the complexity of cache operations including entry creation, retrieval, validation, and eviction. It manages the mapping between problem representations and cached heuristics, shielding the core solving logic from cache management complexity while enabling efficient heuristic reuse.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If the system caches constraint problems and solutions, then recurring problems are solved faster, but the cache may become outdated or invalid as problem domains evolve

Engineering Contradiction:
Improveretrieval time for cached solutionsVSAvoidvalidity of cached solutions
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms where cached solutions are validated against current problem requirements before reuse. The cache tracks solution freshness and validity, and provides feedback when cached entries may be outdated. This allows the system to maintain reliability by detecting and invalidating stale cache entries while still benefiting from fast retrieval of valid cached solutions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8150787B2Enhancing performance of a constraint solver across individual processes
Publication Date: 2012.04.03 SYNOPSYS INC
  • US8150787B2 patent drawing
  • US8150787B2 patent drawing
  • US8150787B2 patent drawing

AI summary

One embodiment of the present invention provides a system that reuses information associated with a constraint solving operation for a problem domain. This system begins by receiving a constraint problem from the problem domain. Then, the system searches through a problem cache for an entry which corresponds to the canonical representation. If a corresponding entry does not exist in the problem cache, the system produces an entry in the problem cache for the canonical representation. Otherwise, if a corresponding entry already exists in the problem cache, the system generates a solution to the canonical representation by reusing the solver heuristic associated with the corresponding entry in the problem cache.