Constraints Solver Gate Sizing Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing optimization techniques, such as iterative trial-and-error methods, are inefficient and produce poor results for large circuit designs due to the complexity of modern technology libraries and the need to check timing constraints across multiple process corners and modes.
Innovation Solution
A constraints solver-based approach is used to iteratively adjust the objective cost function by solving a set of constraints, where the upper bound is progressively narrowed using a binary search method, ensuring convergence to the optimal solution for gate-sizing optimization problems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If iterative trial-and-error methods are used for optimization, then the approach is simple to implement, but the runtime efficiency is poor and the quality of results is insufficient for large circuit designs
Solution Approach 1:
The patent transforms the optimization problem into a constraint satisfaction problem by changing the parameters from objective function minimization to constraint satisfaction. The upper bound parameter is iteratively adjusted, and the constraints solver checks feasibility at each iteration, converting the optimization search into a systematic constraint checking process that achieves superior runtime efficiency.
Solution Approach 2:
The patent replaces the mechanical iterative trial-and-error optimization process with a constraints solver-based system. Instead of manually adjusting parameters and checking objectives, the system uses automated constraints solving with feasibility checks, substituting the mechanical optimization loop with an automated constraint satisfaction mechanism that delivers better performance.
2Measurement precision
If the upper bound is progressively narrowed using binary search, then the convergence to optimal solution is improved, but the number of iterations increases
Solution Approach 1:
The patent implements feedback by using the constraints solver's feasibility results to guide the binary search process. The feedback from feasibility checks at each iteration allows the algorithm to adjust the upper bound systematically, providing information about the solution space structure and enabling efficient convergence to the optimal solution with fewer iterations than traditional methods.
Solution Approach 2:
The patent performs preliminary actions by establishing an initial feasible solution and using it to set the initial upper bound. This preliminary feasible point provides a starting reference that accelerates the binary search process, allowing the algorithm to converge more quickly to the optimal solution by leveraging the initial solution information.
3Manufacturing precision
If constraints solver is used to solve optimization problems, then the quality of optimization results is improved, but the system complexity increases
Solution Approach 1:
The patent achieves universality by using a constraints solver that can handle both constraint satisfaction and optimization problems. The same constraints solver infrastructure is used to verify feasibility and guide the optimization search, eliminating the need for separate optimization algorithms and reducing overall system complexity while maintaining high result quality.
Solution Approach 2:
The patent introduces an intermediary layer by using feasibility checks as a mediator between the optimization search and the constraints solver. The feasibility verification acts as an intermediary mechanism that translates optimization objectives into constraint satisfaction problems, allowing the constraints solver to indirectly perform optimization through systematic feasibility testing.
Data Source
AI summary
Systems and techniques are described for solving an optimization problem using a constraints solver. A set of constraints that correspond to the optimization problem can be generated. Next, a set of upper bound constraints can be added to the set of constraints, wherein the set of upper bound constraints imposes an upper bound on one or more variables that are used in an objective function of the optimization problem. Next, the embodiments can iteratively perform the following set of operations on a computer: (a) solve the set of constraints using the constraints solver; (b) responsive to the constraints solver returning a solution, decrease the upper bound; and (c) responsive to the constraints solver indicating that no solutions exist or that the constraints solver timed out, increase the upper bound. The solution with the lowest upper bound value can be outputted as the optimal solution for the optimization problem.


