Constraint Solver for IC Topology Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-configurability integrated circuit (IC) design, especially for network-on-chip (NoC) designs, the large number of possible legal configurations makes it difficult for designers to optimize metrics like area, timing, and power consumption, as existing tools often produce inconsistent results with minor changes in constraints, leading to costly rework.

Innovation Solution

A system and method that uses a constraint solver module to enforce rules and identify optimal legal configurations, aided by a discriminant function module to select the best configuration based on user-defined metrics, and translates these into optimized parameters for the RTL generation module to produce an optimized RTL description.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the configurability of the hardware function is increased to address many different needs, then the versatility and reuse capability improve, but the number of legal configurations becomes extremely large making optimization difficult

Engineering Contradiction:
ImproveconfigurabilityVSAvoidparameter combinations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by systematically varying configuration parameters (such as data width, latency, throughput) to generate different legal configurations from a base hardware function. This allows the same hardware template to produce multiple optimized versions for different application requirements, resolving the contradiction between versatility and complexity by parameterizing the design space rather than creating separate hardware for each configuration.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements universality by creating a single configurable hardware function that can serve multiple different needs through parameter adjustment. The hardware function is designed with universal interfaces and internal structures that can be adapted to various specifications (different data widths, timing requirements, etc.) without requiring separate hardware designs, thus achieving high versatility with controlled complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If the set of legal configurations is extremely large with multiple configurations leading to the same hardware function, then the design flexibility increases, but it becomes very difficult to find the best legal configuration that optimizes area, timing, and power

Engineering Contradiction:
Improvedesign flexibilityVSAvoidoptimization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-establishing a structured parameter space and dependency relationships between parameters before optimization begins. The system pre-defines which parameters can be adjusted and how they relate to each other, creating a framework that guides the optimization process. This preliminary structuring reduces the effective search space and enables efficient finding of optimal configurations for area, timing, and power metrics.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the optimization process evaluates configurations based on multiple metrics (area, timing, power) and uses this feedback to guide subsequent parameter adjustments. The system learns from previous evaluations and adjusts parameter combinations to converge toward optimal solutions, making the optimization process efficient even with large configuration spaces.

Inventive Principle:
Principle #23Feedback

3Extent of automation

If existing tools are used to generate RTL descriptions from configuration parameters, then the design process is automated, but the tools produce inconsistent results with minor changes in constraints leading to costly rework

Engineering Contradiction:
ImproveRTL generation automationVSAvoidresult consistency
Core Design Contradiction:
Extent of automationVSStability of the object's composition

Solution Approach 1:

The patent applies feedback by implementing a constraint satisfaction mechanism that continuously monitors and adjusts parameter values to maintain consistency with design requirements. When constraints change, the system detects these changes and automatically adjusts the configuration to remain within legal bounds, providing stable and consistent RTL generation results even with minor constraint variations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent implements dynamics by creating a flexible parameter management system that can adapt to changing constraints in real-time. The parameter dependencies and legal configuration rules are dynamically evaluated, allowing the system to maintain consistency as requirements evolve, rather than producing inconsistent results that would require rework.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11409934B2Generation of hardware design using a constraint solver module for topology synthesis
Publication Date: 2022.08.09 ARTERIS INC
  • US11409934B2 patent drawing
  • US11409934B2 patent drawing
  • US11409934B2 patent drawing

AI summary

In accordance with various embodiments and aspects of the invention, systems and methods are disclosed that can automatically find the best legal configuration that will be optimal with respect to a given set of requirements or metrics, such as: area, timing, and power. A designer defines the metrics or requirements, which represent the functional needs. A designer typically selects a set of parameters from a group of parameters available to user, which are user selectable parameters. The best parameters, from which the user can select parameters, are identified, and provided to the user. A constraint solver module ensures all rules are enforced and finds all legal parameters that fulfil the user intent. The constraint solver module generates configurations that meet the requirements and are legal configurations.