GCAT : Global Convergence Analysis Toolkit
GCAT is the acronym of Global Convergence Analysis Toolkit. It aids analog circuit designers to detect and to prevent global convergence failure (start-up failure) at the early simulation stage of circuit design. The toolkit is coded in python and operates over SPECTRE.
GCAT provides two main global convergence analyses, entropy based X estimation analysis and clustering split detection analysis. Clustering split detection analysis is intended to detect multiple number of operating modes (convergence states) in a circuit. Entropy based X estimation is intended to help circuit designers to follow X elimination procedure, which is similar to that in digital circuit. The analysis extracts X and helps designers to add proper resets to their circuit.
Clustering split detection analysis draws trajectories in the state space of the given circuit and tries to determine whether the system has one cluster or multiple clusters. Because a convergence state in a system forms a cluster in the state space, the number of clusters are reported as the number of detected convergence states in a system. However, it should be noted that the analysis can be false negative and false positive depending on its given parameters. To avoid false positive, the designer should set first simulation time duration of the circuit to be long enough so that the analysis will not detect false limit cycle. To avoid false negative, designer need to extract representatives of clusters and run them for enough time to determine the result is correct or not. In addition, sampling time (simulation time step) should be shorter than a period of any oscillating signal in a circuit.
Entropy based X estimation analysis provides a way to extract the unknown or undetermined state X from analog circuit. The analysis reports unsettled nodes X in a circuit after the user given simulation time, and guide designer to eliminate all Xs with additional information. The idea is that designer can prevent start-up failures by fixing the starting point of the system to the known point. In other words, designers are guided to remove all X before tapeout as all red X in gate simulation waveform should be removed in digital.
Requirements
- Python version
- need python version 2.7 or later (but not python3)
- Depending python packages
- numpy 1.6.2 or later
- scipy 0.10.1 or later
- matplotlib 1.1.0 or later
- networkx 1.6 or later
- Circuit simulator (SPECTRE)
- SPECTRE binary path should be given as environment variable GCAT_SPECTRE_BINARY_PATH
- SPECTRE 10.1.128 or later
Documentation