Circuit Sensitivity Analysis via Matrix Factor Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current sensitivity analysis methods for VLSI electrical circuit simulation, such as the adjoint and direct methods, are limited in their ability to handle large networks and do not provide an optimal solution for design automation, as they can only compute sensitivities for a single output variable or parameter at a time, respectively, and require extensive storage of Jacobian matrices.
Innovation Solution
A method combining the adjoint and direct methods using direct differentiation modified algorithm (DDMA) with circuit partitioning and event-driven analysis, which reuses linear matrix factors to solve sensitivity equations and estimate partial derivatives through finite differences, applicable to fast simulation tools like SUNSIM and commercial tools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the adjoint method is used to compute sensitivity of one output variable with respect to all circuit parameters, then sensitivity values can be obtained, but only a single output variable can be analyzed at a time
Solution Approach 1:
The circuit is partitioned into multiple partitions, and the sensitivity graph is divided into sub-graphs corresponding to each partition. This segmentation allows the sensitivity analysis to be performed on multiple output variables simultaneously by processing different partitions in parallel, thereby increasing both versatility and productivity.
Solution Approach 2:
The invention creates a unified sensitivity analysis framework that can handle multiple output variables and multiple parameters simultaneously. The sensitivity graph structure and partitioning approach provide a universal method that generalizes both the adjoint method (for single output, multiple parameters) and direct method (for multiple outputs, single parameter) capabilities into a single multi-functional system.
2Adaptability or versatility
If the direct method is used to provide sensitivity values of all circuit variables with respect to a single parameter, then sensitivity computations can be performed, but only a single parameter can be analyzed at a time
Solution Approach 1:
By partitioning the circuit and organizing the sensitivity analysis into sub-graphs for each partition, the method enables simultaneous analysis of multiple parameters. Each partition can be processed to extract sensitivities with respect to different parameters, allowing multi-parameter analysis to be performed in parallel rather than sequentially.
Solution Approach 2:
The invention introduces a new dimensional organization of the sensitivity analysis problem through the sensitivity graph structure, where nodes represent both circuit variables and parameters. This graphical representation allows simultaneous traversal and computation for multiple parameters and variables along different paths in the graph, effectively adding a dimensional framework that enables parallel computation across multiple parameters.
3Measurement precision
If the adjoint method for transient analysis is used, then sensitivity values can be computed based on Tellegen's theorem, but Jacobian matrices of the original circuit must be stored at each time point
Solution Approach 1:
The invention extracts and reuses the linear matrix factors (such as LU decomposition factors) that are already computed during the nominal transient analysis. By taking out these pre-computed factors and applying them to the sensitivity equations, the method eliminates the need to store Jacobian matrices at each time point, thereby reducing storage requirements while maintaining computation accuracy.
Solution Approach 2:
The method discards the need to store Jacobian matrices by recovering and reusing the linear matrix factors from the nominal analysis. Instead of preserving the full Jacobian matrices (which require significant storage), the approach recovers the essential computational information contained in the linear matrix factors, achieving the same sensitivity computation goal with minimal storage overhead.
4Measurement precision
If conventional sensitivity analysis methods are used on large networks, then sensitivity values can be obtained, but the computational complexity increases and performance degrades
Solution Approach 1:
The circuit is divided into multiple partitions, and the sensitivity graph is correspondingly segmented into sub-graphs. This segmentation allows the large-scale sensitivity analysis problem to be broken down into smaller, more manageable sub-problems that can be solved independently and in parallel, thereby maintaining accuracy while significantly improving computational efficiency for large networks.
Solution Approach 2:
The invention performs preliminary computation of linear matrix factors during the nominal transient analysis phase. By preparing these factors in advance before the sensitivity analysis begins, the method eliminates the need to recompute them during the sensitivity phase, thereby preprocessing critical computational elements to accelerate the overall analysis speed for large networks while preserving accuracy.
Data Source
AI summary
A method for performing sensitivity analysis on a circuit design is provided. The method initiates with identifying a partition of the circuit design. The method includes determining whether the partition belongs to a sensitivity graph, where the sensitivity graph represents a relationship between variables and parameters of the partition. If the partition belongs to the sensitivity graph, then the method includes, applying linear matrix factors to provide a solution to a system of linear equations and multiplying the solution by a vector to derive sensitivities for the circuit design.


