Synthesis Tool Nondeterministic Tuning for PPA Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer-aided design (CAD) tools for complex digital designs face challenges in optimizing performance, power, and area (PPA) due to nondeterministic behaviors, making it difficult for designers to determine whether improvements are due to skill or tool variability, and requiring numerous design flow parameter tunings.
Innovation Solution
A multi-phase positive nondeterministic tuning (PNT) methodology that captures positive outliers and seeds additional parameter tuning trials, leveraging the potential improvements from nondeterminism by running multiple identical synthesis jobs and utilizing previous tuning phase results as seeds, combined with a cost analysis and decision algorithm to iteratively refine parameter settings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple identical synthesis jobs are run to capture positive outliers from nondeterminism, then the quality of results is improved, but the runtime increases
Solution Approach 1:
The system performs preliminary actions by running multiple identical synthesis jobs in parallel to capture positive outliers before final selection. This preliminary exploration of the nondeterministic search space allows the system to identify high-quality results that may arise from fortunate tool variability, then select the best outcome among these preliminary attempts.
Solution Approach 2:
The system changes parameters by varying synthesis tool settings and parameters across multiple runs. By systematically modifying parameters such as optimization goals, timing constraints, and design rules while running multiple jobs, the system explores different regions of the solution space to capture positive outliers that arise from nondeterministic tool behavior.
2Power
If designers tune numerous design flow parameters to achieve aggressive PPA targets, then the performance is improved, but the device complexity increases
Solution Approach 1:
The system applies self-service by automatically tuning design flow parameters without requiring manual designer intervention. The synthesis tool autonomously explores parameter spaces, adjusts settings, and optimizes design flows to achieve aggressive PPA targets, thereby improving performance while avoiding the complexity of manual parameter tuning processes.
Solution Approach 2:
The system introduces dynamics by making the design flow adaptive and flexible. Rather than following a fixed, complex parameter tuning process, the system dynamically adjusts parameters based on intermediate results, tool feedback, and optimization needs, allowing the synthesis process to self-optimize and reducing the apparent complexity of the overall flow.
3Ease of operation
If a single trial of modified design flow is compared against baseline, then the ease of operation is improved, but the measurement precision deteriorates
Solution Approach 1:
The system implements feedback by comparing multiple trial results against a baseline and using this information to guide subsequent optimization decisions. Rather than relying on a single comparison, the system aggregates results from multiple runs, identifies trends and outliers, and uses this feedback to refine parameter settings and improve measurement reliability, thereby maintaining ease of operation while enhancing measurement precision.
Solution Approach 2:
The system applies partial action by performing a subset of the full analysis on each individual trial run, then combining results across multiple runs. This allows the system to maintain ease of operation for each individual comparison while achieving higher measurement precision through the aggregation of multiple partial results, avoiding the need for exhaustive single-trial analysis.
Data Source
AI summary
Embodiments for tuning parameters to a synthesis program are provided. At least one set of parameter settings for the synthesis program is selected. A plurality of identical synthesis jobs for the at least one set of parameter settings is run in an iteration of the synthesis program. Results of the iteration of the synthesis program are analyzed utilizing a tuning optimization cost function. Combinations of the parameter settings are created based on the analysis. At least one synthesis job for is run each of the combinations of the parameter settings in a subsequent iteration of the synthesis program. The analysis of the results, the creating of the combinations of parameter settings, and the running at the at least one synthesis job for each of the combinations of parameter settings are repeated until an exit criteria has been achieved.


