Method for Recognizing Analog Circuit Structure
20220058325 · 2022-02-24
Inventors
- Po-Hung Lin (Hsinchu County, TW)
- Zheng-Yao Liu (New Taipei City, TW)
- Jun-Jie Zhao (Taichung City, TW)
- Yu-Tsang Hsieh (Hsinchu County, TW)
Cpc classification
G06F30/367
PHYSICS
G06F18/214
PHYSICS
International classification
Abstract
A method for recognizing various analog circuit structures is proposed, which is executed by a computer, the method comprising using the computer to perform the following: performing a feature extraction of a training circuit to extract all sub-circuits for generating multiple training samples; classifying multiple training samples by a classifier to obtain classified building blocks; performing a feature extraction of each schematic of a target circuit to convert as a feature graph and encoding feature graph as a feature matrix; classifying feature matrix by the classifier to generate multiple groups of classified devices; and clustering multiple groups of classified devices to acquire identified sub-circuits.
Claims
1. A non-transitory computer-readable medium containing instructions, which when read and executed by a computer, cause the computer to execute a method for recognizing various analog circuit structures, wherein the method comprises steps of: performing a first feature extraction of a training circuit to extract all sub-circuits for generating multiple training samples; classifying said multiple training samples by a classifier to obtain a plurality of building blocks; performing a second feature extraction of each device of a target circuit to convert as a connection graph; recognizing said connection graph of said each device of said target circuit to belong to which of said plurality of building blocks by said classifier such that a first device of said target circuit is included in different building blocks of said plurality of building blocks; classifying first connection graphs of all devices of said target circuit into second connection graphs to obtain multiple groups of classified devices, wherein a first number of said first connection graphs is different from a second number of said second connection graphs; and clustering each group of said multiple groups of classified devices which belongs to an identical building block of said classified building blocks to acquire identified sub-circuits.
2. The non-transitory computer-readable medium of claim 1, further comprising storing said classified building blocks in a sub-circuit library.
3. The non-transitory computer-readable medium of claim 1, wherein said classifier is used to automatically identify a type of each of said all building blocks.
4. The non-transitory computer-readable medium of claim 1, wherein said multiple training samples comprises a feature matrix and a label matrix.
5. The non-transitory computer-readable medium of claim 1, wherein said classifier is utilizing a classified model to classify said multiple training samples in a training sample set.
6. The non-transitory computer-readable medium of claim 5, wherein said classified model includes decision tree or neural network.
7. The non-transitory computer-readable medium of claim 5, wherein said classified model is performed by a machine learning algorithm.
8. The non-transitory computer-readable medium of claim 7, wherein said machine learning algorithm includes a feature extraction process and said classified model.
9. The non-transitory computer-readable medium of claim 1, wherein said encoded feature graph is indicated by a number.
10. The non-transitory computer-readable medium of claim 9, wherein said encoded feature graph with said number is one-to-one mapping.
11. A method for recognizing various analog circuit structures, which is executed by a computer, the method comprising: using the computer to perform the following: performing a first feature extraction of a training circuit to extract all sub-circuits for generating multiple training samples; classifying said multiple training samples by a classifier to obtain classified building blocks; performing a second feature extraction of each device of a target circuit to convert as a connection graph; recognizing said connection graph of said each device of said target circuit to belong to which of said plurality of building blocks by said classifier such that a first device of said target circuit is included in different building blocks of said plurality of building blocks; classifying first connection graphs of all devices of said target circuit into second connection graphs to obtain multiple groups of classified devices, wherein a first number of said first connection graphs is different from a second number of said second connection graphs; and clustering each group of said multiple groups of classified devices which belongs to an identical building block of said classified building blocks to acquire identified sub-circuits.
12. The method of claim 11, further comprising storing said classified building blocks in a sub-circuit library.
13. The method of claim 11, wherein said classifier is used to automatically identify a type of each of said all building blocks.
14. The method of claim 11, wherein said multiple training samples comprises a feature matrix and a label matrix.
15. The method of claim 11, wherein said classifier is utilizing a classified model to classify said multiple training samples in a training sample set.
16. The method of claim 15, wherein said classified model includes decision tree or neural network.
17. The method of claim 15, wherein said classified model is performed by a machine learning algorithm.
18. The method of claim 17, wherein said machine learning algorithm includes a feature extraction process and said classified model.
19. The method of claim 11, wherein said encoded feature graph is indicated by a number.
20. The method of claim 19, wherein said encoded feature graph with said number is one-to-one mapping.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The components, characteristics and advantages of the present invention may be understood by the detailed descriptions of the preferred embodiments outlined in the specification and the drawings attached:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION
[0022] Some preferred embodiments of the present invention will now be described in greater detail. However, it should be recognized that the preferred embodiments of the present invention are provided for illustration rather than limiting the present invention. In addition, the present invention can be practiced in a wide range of other embodiments besides those explicitly described, and the scope of the present invention is not expressly limited except as specified in the accompanying claims.
[0023] In order to gain more experts' knowledge during analog layout generation, the present invention describes a model training and a circuit recognition process to produce a new analog circuit structure (layout). The proposed algorithm includes two major stages: the model training by an artificial intelligence (AI) model and the circuit recognition described as the following. Embodiments of the present invention may be used in a variety of layout applications.
[0024] Utilizing a design repository containing legacy design schematics/netlists, the proposed method analyzes the design data of each sub-circuit, and stores the analyzed data in a sub-circuit library (database).
[0025] As shown in
[0026] The method for recognizing various analog circuit structures in the invention comprises a step of preparing/inputting a complex analog circuit netlist and user-specified building blocks. A set of identified sub-circuits are outputted. For example, the netlist may be described in a Simulation Program with Integrated Circuit Emphasis (SPICE) format, and the design constraints are annotated into the netlist. Sub-circuits as analog circuit cells are identified as building blocks, which may refer to Wu et al., “A novel analog physical synthesis methodology integrating existent design expertise”, IEEE TCAD-2015. Each sub-circuit corresponds to some matched place-and-route (P&R) patterns which are chosen by a layout synthesizer.
[0027] In the stage of the model training 100, based on circuit information of the training circuit set, a process of a feature extraction 106 of the training circuit is performed by a feature extraction module to extract all sub-circuits for generating multiple training samples 108. Then, the training samples is classified by a model training procedure 110. For example, the model training is performed by a machine learning algorithm based on feature (characteristics) of the training samples 108. The training circuit set 104 is provided to train the neural network to classify training samples. The sub-circuit library (database) 102 provides building blocks data required for training circuit set 104. Then, the feature extraction 106 is performed by a feature extraction module to obtain training sample 108 through the training circuit inputting.
[0028] The training sample set is a set of training samples for training a classifier, such as decision tree classifier or neural network classifier, where the training sample includes a feature matrix and a label matrix corresponding to preset classification condition feature. The classifier is utilizing a classified model 112 (decision tree, neural network) to classify the training samples 108 in the training sample set according to the classification condition, and acquire a classification subset (classified building blocks). The classified building blocks are stored in the sub-circuit library (database) 102.
[0029] After the classification condition is determined, the training samples in the training sample set may be classified according to the classification condition or feature, so as to obtain a classification subset.
[0030] In the stage of the circuit recognition procedure 120, the schematic of the target circuit 122 is an input data. In the feature extraction 124, the schematic of the target circuit 122 is converted to be a corresponding connection graph or feature graph by the feature extraction module, and then the connection graph is encoded as a feature matrix. A unique matrix representation is applied to encode the connection graph or feature graph of the target circuit. Then, the device classification 126 procedure is performed by a classified model 112 to generate multiple groups of classified devices 128 based on the classified building blocks. Each building block of the groups of classified devices 128 is stored in the sub-circuit library (database) 102. Finally, the device clustering 130 procedure for the classified devices 128 is performed to acquire identified sub-circuits 132 to create an analog circuit structure.
[0031] Given a set of legacy schematics and legacy layouts, a design database is first constructed based on a connection graph representation. Since a basic connection graph can only represent logical information corresponding to a schematic, some important physical information is further annotated from the corresponding legacy layout into the connection graph. A device type is tagged on each node. The target circuit is shown in
[0032] As shown in
[0033]
[0034] In the stage of the circuit recognition procedure, the schematic of the target circuit 122 is an input data. In the feature extraction 124, the schematic of the target circuit 122 is converted to be the corresponding connection graph by the feature extraction module, and the connection graph is encoded as a feature matrix. For example, as shown in
[0035] Similarly, as shown in
[0036] As shown in
[0037] The proposed method for the target circuit in which a computer performs processes of: extracting feature matrix of the target circuit; classifying the feature matrix to obtain multiple groups of classified devices; and clustering the classified devices to acquire identified sub-circuits. Therefore, a set of identified sub-circuits are outputted. The method for recognizing various analog circuit structures is finished.
[0038] As shown in
[0039] According to the invention, the machine learning algorithm includes a feature extraction process and a classification model.
[0040] The method further comprises providing a database for the machine learning algorithm. The machine learning algorithm includes at least one neural network and at least one classifier.
[0041] In the invention, a model training is performed by a machine learning algorithm to analyze and judge the feature graph of training sample, so as to automatically classify the type of the building blocks. For example, a classifier is used to automatically identify the type of the building blocks.
[0042] The algorithms of the machine learning can be executed by operation of computer. The experimental results show that the proposed method can successfully classify the training circuit, and achieve the accuracy rate of detection and classification 96% and 97% respectively, even higher accuracy.
[0043] In the present invention, the proposed algorithm may be implemented in the following experimental setup: programming language “Python 3.4”, library “Scikit-learn”, platform “2.6 GHz Intel CPU, GTX-1080 Ti GPU”, training circuits “textbooks, papers in the literature”, total training sample “385 circuits, 13580 devices”, training and testing ratio “90%:10%” and test circuits including “Folded Cascode OpAmp, Buffer Amp, Chopper OpAmp”, where Folded Cascode OpAmp uses twenty-two number of devices and twenty-seven number of sub-circuits, Buffer Amp uses forty-two number of devices and forty-one number of sub-circuits, and Chopper OpAmp uses one hundred-sixty number of devices and one hundred-sixteen number of sub-circuits.
[0044] Experimental results show in table 1. Compared with the graph-based deterministic approach, the proposed ML approach based on decision tree results in 8.5X runtime improvement without sacrificing accuracy. That is, the proposed framework achieves 8.5 speedup than the previous method.
TABLE-US-00001 TABLE 1 Graph-based Target Circuit Deterministric Approach Proposed ML Approach based on Decision Tree # # Sub- # identified Time # identified Time (sec) Name Device circuit sub-circuits (sec) sub-circuits Setup Prediction Clustering Total Folded Cascode 22 27 27 0.075 27 0.007 0.006 0.010 0.023 OpAmp Buffer Amp 42 41 41 0.260 41 0.016 0.006 0.053 0.075 Chopper OPA 160 116 112 2.335 112 0.059 0.023 0.024 0.106 Comparison 8.585 1
[0045] As will be understood by persons skilled in the art, the foregoing preferred embodiment of the present invention illustrates the present invention rather than limiting the present invention. Having described the invention in connection with a preferred embodiment, modifications will be suggested to those skilled in the art. Thus, the invention is not to be limited to this embodiment, but rather the invention is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims, the scope of which should be accorded the broadest interpretation, thereby encompassing all such modifications and similar structures. While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made without departing from the spirit and scope of the invention.