A human-computer collaborative annotation system and method for analog circuit netlists

Through the combination of BERT model and manual annotation, efficient automatic annotation of analog circuit netlists is achieved, solving the problem of low automation of analog integrated circuit netlist design, and improving labeling efficiency and accuracy.

CN114662434BActive Publication Date: 2025-08-29GUANGZHOU INTELLIGENT CITY DEV INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111650444.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-29
Publication Date
2025-08-29
Estimated Expiration
2041-12-29

AI Technical Summary

Technical Problem

The design of analog integrated circuit netlists is low, which makes the design time-consuming and labor-intensive and error-prone, and the cost of manual labeling is high, which extends the design cycle.

Method used

The BERT model is used for the simulated circuit netlist human-computer collaborative annotation. Through the cycle process of the netlist input module, automatic labeling module, labeling judgment module and manual labeling module, the BERT model is used for multi-level classification and confidence judgment, and data training and labeling are carried out in combination with manual labeling.

Benefits of technology

It reduces labor costs, improves labeling efficiency and accuracy, and shortens the netlist delivery cycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114662434B_ABST
    Figure CN114662434B_ABST
Patent Text Reader

Abstract

The present invention discloses a human-machine collaborative annotation system and method for analog circuit netlists. The system comprises: a netlist input module, a netlist automatic annotation module, a netlist annotation judgment module, a netlist manual annotation module, and a result display module. The netlist input module is used to perform basic preprocessing on the input netlist data; the netlist automatic annotation module is used to input the processed data into a BERT model to generate annotations and annotation confidences; the netlist annotation judgment module performs confidence judgment based on the probability of the label generated by the annotation module to determine whether manual annotation is required; the netlist manual annotation module outputs the netlist that requires manual annotation for manual annotation; and the result display module displays the automatic annotation results. The present invention provides a human-machine collaborative annotation system and method for analog circuit netlists. The system uses a BERT model to annotate the netlist, thereby reducing labor costs and improving efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of analog circuit annotation, and in particular to a human-computer collaborative annotation system and method for an analog circuit netlist. Background Art

[0002] The new generation of artificial intelligence provides a feasible path for all industries to achieve digital and intelligent upgrades, transformation, and leapfrog development. Electronic Design Automation (EDA) technology, as a basic tool for integrated circuit design, is known as the "crown jewel of the chip industry." Due to the relatively simple constraints in digital integrated circuit design, its back-end design has achieved a high degree of automation. However, the degree of automation in analog integrated circuit netlist design is far lower than that of digital integrated circuits. Due to the complexity of constraints in analog integrated circuits, the structural diversity of circuit structures, and other problems, most analog integrated circuits are still designed manually. Netlist work without automated auxiliary design will become time-consuming, labor-intensive, and prone to errors, extending the netlist delivery cycle and making analog circuit design a bottleneck in chip research and development.

[0003] With the continuous development of the chip industry and artificial intelligence technology, practitioners and scholars have begun to focus on using AI to solve various problems in analog chip design. However, the foundation of deep learning applications requires a large amount of data with annotated netlists. However, complex circuit netlists require professional technicians to spend a lot of time to annotate them, which undoubtedly incurs high labor and time costs. Summary of the Invention

[0004] The purpose of the present invention is to overcome the shortcomings of the existing technology. The present invention provides a human-computer collaborative annotation system and method for analog circuit netlists, which annotates the netlist through the BERT model, reduces labor costs, and improves efficiency.

[0005] In order to solve the above technical problems, an embodiment of the present invention provides a human-machine collaborative annotation system for analog circuit netlists, which includes: a netlist input module, a netlist automatic annotation module, a netlist annotation judgment module, a netlist manual annotation module, and a result display module, wherein:

[0006] The netlist input module is used to perform basic preprocessing on the input netlist data and transmit the processed data to the netlist automatic annotation module;

[0007] The netlist automatic annotation module is used to input the processed data into the BERT model to generate annotations and annotation confidences, and the netlist automatic annotation module transmits the generated annotations, confidences and input netlist data to the netlist annotation judgment module;

[0008] The netlist annotation judgment module performs confidence judgment based on the probability of the label generated by the annotation module to determine whether manual annotation is required;

[0009] The netlist manual marking module outputs the netlist that needs manual marking for manual marking;

[0010] The result display module displays the automatic annotation results.

[0011] Preferably, the first input and output end of the netlist input module is electrically connected to the first input and output end of the netlist automatic annotation module, the second input and output end of the netlist automatic annotation module is electrically connected to the first input and output end of the netlist annotation judgment module, the second input and output end of the netlist annotation judgment module is electrically connected to the first input and output end of the netlist manual annotation module, the third input and output end of the netlist annotation judgment module is electrically connected to the input and output end of the result display module, and the second input and output end of the netlist input module is electrically connected to the second input and output end of the netlist manual annotation module.

[0012] Preferably, the main body of the netlist automatic annotation module adopts a BERT model, and the netlist automatic annotation module uses the BERT model to perform multi-level classification on multiple netlist data. The BERT model is first trained using a public dataset, and then the parameters trained on the public dataset are used in a transfer learning manner to initialize the BERT model. The model is then retrained on a small-scale annotated netlist dataset to obtain a preliminarily trained BERT model.

[0013] By mixing the annotated netlist data with the unannotated netlist data and inputting it into the BERT model, the model parameters are updated when the annotated data is calculated;

[0014] When calculating data without annotations, the model parameters are not updated. The annotations generated by the netlist automatic annotation module are used as pseudo-labels for the unannotated data and mixed with the annotated data to train the BERT model.

[0015] Preferably, the BERT model uses the Encoder module structure of Transformer, and the BERT model completes the model construction by stacking multiple layers of Encoder modules.

[0016] Preferably, the BERT model has word encoding and position encoding before the first layer.

[0017] Preferably, the Encoder module in each layer consists of four parts: a multi-head attention mechanism, the input of the multi-head attention mechanism and the output of the multi-head attention mechanism are summed and normalized, a feedforward neural network layer, and the input of the feedforward neural network layer and the output of the feedforward neural network layer are summed and normalized.

[0018] Preferably, the BERT model training process:

[0019] The BERT model initialization parameters use the pre-trained parameters provided by Google;

[0020] Input the training netlist, use the model to perform multi-level label classification on the data in the netlist, compare the generated results with the manual annotations, calculate the weighted cross entropy loss value, and then use the backpropagation algorithm to update the model parameters. The training process is repeated until the preset number of training cycles is reached;

[0021] During the training process, the binary crossentropy loss function is used as the supervisory signal to calculate the classification probability for each category separately;

[0022] The labels with probabilities exceeding a certain threshold are output as multi-level labels, and the probability values ​​of each label are output together.

[0023] Accordingly, the present invention also provides a method for human-machine collaborative annotation of analog circuit netlists. The method is based on the above-mentioned human-machine collaborative annotation system for analog circuit netlists and includes:

[0024] Preprocess the netlist data based on the netlist input module input to obtain preliminary data;

[0025] The netlist automatic annotation module classifies the preliminary data and obtains the annotation classification and confidence level;

[0026] The netlist annotation judgment module determines whether manual annotation is required based on the confidence level of the netlist;

[0027] If yes, the netlist is manually annotated using the netlist manual annotation module;

[0028] If not, the annotation results are output through the result display module.

[0029] Preferably, the netlist automatic annotation module classifies the preliminary data, including:

[0030] The unlabeled data is input into the BERT model, which performs multi-level label classification on the data in the netlist. The generated results are compared with the manual annotations, the weighted cross entropy loss value is calculated, and then the model parameters are updated according to the back-propagation algorithm.

[0031] During the training process, the binary crossentropy loss function is used as the supervision signal. The probability of possible classification is calculated for each category. The probability exceeding a certain threshold is output as the multi-level label classification, and the probability value of each label is output together.

[0032] Get the confidence of the labeled classification and results.

[0033] Preferably, after the netlist is manually annotated by the netlist manual annotation module, the annotated data, the annotated data generated by the BERT module and the original annotated data are mixed to jointly retrain the BERT module.

[0034] The embodiment of the present invention provides a human-machine collaborative annotation system and method for analog circuit netlists, which annotate netlists through the BERT model, reducing labor costs and improving efficiency. The netlist input module, the netlist automatic annotation module, the netlist annotation judgment module, and the netlist manual annotation module form a loop, and the cyclic netlist data can continuously train the BERT model, expand the database of BERT model annotation content, improve the accuracy of annotation, and improve efficiency. The human-machine collaborative annotation system and method for analog circuit netlists continuously improve the accuracy of annotation and improve the efficiency of annotation by combining manual and BERT models. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0036] Figure 1 It is a structural diagram of the human-computer collaborative annotation system for analog circuit netlists provided by an embodiment of the present invention.

[0037] Figure 2 It is a flow chart of the human-machine collaborative annotation method for analog circuit netlists provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0038] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts shall fall within the scope of protection of the present invention.

[0039] Example

[0040] Figure 1 A structural schematic diagram of an analog circuit netlist human-computer collaborative annotation system provided by an embodiment of the present invention is shown, wherein the analog circuit netlist human-computer collaborative annotation system includes: a netlist input module 101, a netlist automatic annotation module 102, a netlist annotation judgment module 103, a netlist manual annotation module 104 and a result display module 105, wherein: the first input and output terminals of the netlist input module 101 are electrically connected to the first input and output terminals of the netlist automatic annotation module 102, the second input and output terminals of the netlist automatic annotation module 102 are electrically connected to the first input and output terminals of the netlist annotation judgment module 103, the second input and output terminals of the netlist annotation judgment module 103 are electrically connected to the first input and output terminals of the netlist manual annotation module 104, the third input and output terminals of the netlist annotation judgment module 103 are electrically connected to the input and output terminals of the result display module 105, and the second input and output terminals of the netlist input module 101 are electrically connected to the second input and output terminals of the netlist manual annotation module 104. The netlist input module 101, the netlist automatic annotation module 102, the netlist annotation judgment module 103 and the netlist manual annotation module 104 form a loop to continuously circulate the data until the BERT model output requirements of the netlist automatic annotation module 102 are met or the data are completely annotated. The BERT model is fully trained in the looped data and the output of the automatic annotation model can be used as the output of the analog circuit netlist human-computer collaborative annotation system, and the annotation information can be obtained directly through the input netlist data.

[0041] The netlist input module 101 is used to perform basic preprocessing on the input netlist data. The preprocessing is to delete blank lines, convert uppercase and lowercase letters, convert codes, and unify the format of the input netlist data. The netlist input module 101 transmits the processed data to the netlist automatic annotation module 102. The netlist input module 101 unifies the netlist data and unifies the format to regularize the data, facilitate the BERT model of the netlist input module 101 to identify parameters, and improve the processing speed.

[0042] The netlist automatic annotation module 102 is used to input the processed data into the BERT model to generate annotations and annotation confidences. The netlist automatic annotation module 102 generates annotations or confidences for the input netlist data through the BERT model. The netlist automatic annotation module 102 inputs the generated annotations, confidences and input netlist data into the netlist annotation judgment module 103. These data facilitate the judgment of the netlist annotation judgment module 103, and the input netlist data can train the BERT model to improve the processing efficiency and accuracy of the BERT model.

[0043] The main body of the netlist automatic annotation module 102 adopts the BERT model. The full name of the BERT model is: Bidirectional Encoder Representations from Transformer. The netlist automatic annotation module 102 uses the BERT model to perform multi-level classification of multiple netlist data into functions, modules, basic circuits, components, etc. First, the netlist automatic annotation module 102 uses a public data set to train the BERT model, and then uses the parameters trained on the public data set in a transfer learning manner to initialize the BERT model, and retrains it on a small-scale annotated netlist data set to obtain a preliminarily trained BERT model; by mixing the annotated netlist data with the unannotated netlist data and transmitting them to the BERT model, the model parameters are updated when the annotated data is calculated; when the unannotated data is calculated, the model parameters are not updated, and the annotations generated by the netlist automatic annotation module 102 are used as pseudo-labels for the unannotated data, and are mixed with the annotated data to train the BERT model. During the training process, the BERT model continuously updates the learning annotation data to improve processing accuracy, has learning capabilities, and improves processing efficiency.

[0044] The BERT model uses the Transformer Encoder module structure. The BERT model is constructed by stacking multiple layers of Encoder modules. The first layer of the BERT model uses word encoding and position encoding to convert each word input into a vector or matrix form that can be understood by the computer and provide position information. Because the model was initially trained on a small dataset, the model hyperparameters were set to the following values:

[0045] BERTBASE: L=12, H=768, A=12, total number of parameters: 110M.

[0046] L: The number of network layers, that is, the number of Transformer blocks.

[0047] A: Indicates the number of self-Attention in Multi-Head Attention.

[0048] H: filter size.

[0049] The BERT model is constructed by stacking 12 layers of encoder modules, with a total of approximately 110M parameters. All layers are pre-trained in conjunction with the context. It can read netlist data for automatic annotation, and can annotate netlist data in large quantities and quickly, speeding up processing speed.

[0050] It's important to note that word encoding is a technique for converting words represented in natural language into a vector or matrix form that computers can understand. Because the BERT model considers multiple factors, such as word semantics, relationships between words in the corpus, and the dimensionality of the vector, synonyms, or words representing similar things, are ideally close. Only with ideal word representations can we more easily perform further tasks such as translation, question answering, and information extraction. The word encoding layer can be set to randomly initialize or use pretrained parameters, and can also be selected for training. Since only a small amount of labeled data is available at the beginning of training, random initialization is used to reduce training parameters and accelerate model convergence.

[0051] Position encoding adds an additional position vector to the input data, allowing the computer to understand position information. This addresses the problem of the Transformer model's attention mechanism not including position information. The resulting position embedding (position embedding) has dimensions [max_sequence_length, embedding_dimension], the same as the word vector. max_sequence_length is a hyperparameter that specifies the maximum length of a single sentence.

[0052] The Encoder module of each layer is composed of four parts: a multi-head attention mechanism, the input of the multi-head attention mechanism and the output of the multi-head attention mechanism are summed and normalized, a feedforward neural network layer, the input of the feedforward neural network layer and the output of the feedforward neural network layer are summed and normalized. Specifically, the input of the multi-head attention mechanism and the output of the multi-head attention mechanism are summed as the input of the multi-head attention mechanism and the output of the multi-head attention mechanism, and the input of the feedforward neural network layer and the output of the feedforward neural network layer are summed and normalized as the input of the feedforward neural network layer and the output of the feedforward neural network layer. The BERT model uses normalization processing on the Encoder module of each layer. After normalization, the distribution of each feature of the input is similar, which can make the Encoder module of each layer more stable, thereby making it easier for the deep neural network to converge and reducing the risk of overfitting of the model. Normalization can also increase the training speed of the BERT model and improve the efficiency of the BERT model.

[0053] The BERT model uses a large amount of training data for deep learning. The BERT model initialization parameters use pre-trained parameters provided by Google, addressing the current lack of large amounts of annotated netlist data and preventing the BERT model from overfitting due to insufficient data. The BERT model training process involves the following steps: The BERT model initialization parameters use pre-trained parameters provided by Google; the training netlist is input, and the model performs multi-level label classification on the data in the netlist. The generated results are compared with the manual annotations, and the weighted cross-entropy loss value is calculated. The model parameters are then updated using the backpropagation algorithm, and the training process is repeated until the preset number of training cycles is reached. During training, a binary crossentropy loss function is used as a supervisory signal to calculate the classification probability for each category. Classifications with probabilities exceeding a certain threshold are output as multi-level labels, and the probability values ​​for each label are output together. The BERT model improves work efficiency by continuously learning and expanding the annotation content.

[0054] The netlist annotation judgment module 103 performs a confidence judgment based on the probability of the label generated by the annotation module to determine whether the input netlist data is representative and whether manual annotation is required. The netlist annotation judgment module 103 selects netlists that are difficult for the model to classify based on the confidence of the result, that is, netlists with an average probability of a certain label not exceeding 0.5 are judged to require manual annotation. If the judgment result is required, the netlist annotation judgment module 103 transmits the data to the netlist manual annotation module 104, indicating that the input netlist data is not representative. If the judgment result is not required, the result is stored and output as a temporary result to the result display module 105, indicating that the input netlist data is representative. The netlist annotation judgment module 103 serves as the output judgment gateway of the analog circuit netlist human-computer collaborative annotation system. The netlist annotation judgment module 103 judges the annotation status of the netlist based on the confidence level, and can accurately verify the annotation status of the netlist, thereby improving the accuracy of the inspection.

[0055] The netlist manual annotation module 104 outputs the netlist that needs manual annotation and requests manual annotation. After the manual annotation is completed, the annotated data is mixed with the original data and transmitted to the netlist input module 101. The mixed data is used to train the BERT model of the netlist automatic annotation module 102, expand the annotation content of the BERT model, improve the BERT model, and improve the working efficiency of the BERT model.

[0056] The result display module 105 can randomly display the automatic annotation results to evaluate whether the annotation level of the netlist automatic annotation module 102 meets the requirements. The netlist annotation judgment module 103 transmits all netlists annotated by the netlist automatic annotation module 102 to the result display module 105. When all data are fully annotated, it indicates that the BERT model of the netlist automatic annotation module 102 is fully trained.

[0057] The analog circuit netlist human-machine collaborative annotation system provided in an embodiment of the present invention annotates the netlist through the BERT model, reducing labor costs and improving efficiency; the netlist input module 101, the netlist automatic annotation module 102, the netlist annotation judgment module 103 and the netlist manual annotation module 104 form a loop, and the cyclic netlist data can continuously train the BERT model, expand the database of BERT model annotation content, improve the accuracy of annotation, and improve efficiency; the analog circuit netlist human-machine collaborative annotation system and method continuously improves the accuracy of annotation and improves the efficiency of annotation through the combination of manual and BERT models.

[0058] Figure 2 A flow chart of a method for human-machine collaborative annotation of an analog circuit netlist provided by an embodiment of the present invention is shown. The method is based on the above-mentioned human-machine collaborative annotation system for analog circuit netlists. The human-machine collaborative annotation system for analog circuit netlists has the same modules, models, algorithms, and effects as those described above. The method includes:

[0059] S1: pre-process the netlist data based on the input of the netlist input module to obtain preliminary data;

[0060] Preprocessing is to delete blank lines, convert uppercase and lowercase characters, convert codes, and unify the format of the input netlist data to unify the parameters of the netlist data to obtain preliminary data. The netlist input module 101 transmits the preliminary data to the netlist automatic annotation module 102. The preliminary data can be used for BERT model training of the netlist automatic annotation module 102.

[0061] The netlist input module 101 pre-processes the netlist data to regularize the data, facilitate parameter recognition by the BERT model of the netlist input module 101, and improve the processing speed.

[0062] S2: The netlist automatic annotation module classifies the preliminary data and obtains the annotation classification and confidence, including:

[0063] The main body of the netlist automatic annotation module 102 adopts the BERT model. The netlist automatic annotation module 102 uses the BERT model to perform multi-level classification of multiple netlist data such as functions, modules, basic circuits, components, etc. First, the netlist automatic annotation module 102 uses a public data set to train the BERT model, and then uses the parameters trained in the public data set in a transfer learning manner to initialize the BERT model, and retrains it on a small-scale annotated netlist data set to obtain a preliminarily trained BERT model; by mixing the annotated netlist data with the unannotated netlist data and transmitting them to the BERT model, the model parameters are updated when the annotated data is calculated; when the unannotated data is calculated, the model parameters are not updated, and the annotations generated by the netlist automatic annotation module 102 are used as pseudo-labels for the unannotated data, and are mixed with the annotated data to train the BERT model.

[0064] The netlist automatic labeling module 102 generates labeling classification and confidence for the input netlist data through the BERT model. The netlist automatic labeling module 102 inputs the generated labeling classification, confidence and input netlist data into the netlist labeling judgment module 103. These data facilitate the netlist labeling judgment module 103 to make judgments, and the input netlist data can train the BERT model to improve the processing efficiency and accuracy of the BERT model.

[0065] The BERT model uses the Transformer Encoder module structure. The BERT model is constructed by stacking multiple layers of Encoder modules. The first layer of the BERT model uses word encoding and position encoding to convert each word input into a vector or matrix form that can be understood by the computer and provide position information. Because the model was initially trained on a small dataset, the model hyperparameters were set to the following values:

[0066] BERTBASE: L=12, H=768, A=12, total number of parameters: 110M.

[0067] L: The number of network layers, that is, the number of Transformer blocks.

[0068] A: Indicates the number of self-Attention in Multi-Head Attention.

[0069] H: filter size.

[0070] The BERT model is constructed by stacking 12 layers of encoder modules, with a total of approximately 110M parameters. All layers are pre-trained in conjunction with the context. It can read netlist data for automatic annotation, and can annotate netlist data in large quantities and quickly, speeding up processing speed.

[0071] It's important to note that word encoding is a technique for converting words represented in natural language into a vector or matrix form that computers can understand. Because the BERT model considers multiple factors, such as word semantics, relationships between words in the corpus, and the dimensionality of the vector, synonyms, or words representing similar things, are ideally close. Only with ideal word representations can we more easily perform further tasks such as translation, question answering, and information extraction. The word encoding layer can be set to randomly initialize or use pretrained parameters, and can also be selected for training. Since only a small amount of labeled data is available at the beginning of training, random initialization is used to reduce training parameters and accelerate model convergence.

[0072] Position encoding adds an additional position vector to the input data, allowing the computer to understand position information. This addresses the problem of the Transformer model's attention mechanism not including position information. The resulting position embedding (position embedding) has dimensions [max_sequence_length, embedding_dimension], the same as the word vector. max_sequence_length is a hyperparameter that specifies the maximum length of a single sentence.

[0073] The Encoder module of each layer is composed of four parts: a multi-head attention mechanism, the input of the multi-head attention mechanism and the output of the multi-head attention mechanism are summed and normalized, a feedforward neural network layer, the input of the feedforward neural network layer and the output of the feedforward neural network layer are summed and normalized. Specifically, the input of the multi-head attention mechanism and the output of the multi-head attention mechanism are summed as the input of the multi-head attention mechanism and the output of the multi-head attention mechanism, and the input of the feedforward neural network layer and the output of the feedforward neural network layer are summed and normalized as the input of the feedforward neural network layer and the output of the feedforward neural network layer. The BERT model uses normalization processing on the Encoder module of each layer. After normalization, the distribution of each feature of the input is similar, which can make the Encoder module of each layer more stable, thereby making it easier for the deep neural network to converge and reducing the risk of overfitting of the model. Normalization can also increase the training speed of the BERT model and improve the efficiency of the BERT model.

[0074] The BERT model uses a large amount of training data for deep learning. The BERT model initialization parameters use pre-trained parameters provided by Google, addressing the current lack of large amounts of annotated netlist data and preventing the BERT model from overfitting due to insufficient data. The BERT model training process involves the following steps: The BERT model initialization parameters use pre-trained parameters provided by Google; the training netlist is input, and the model performs multi-level label classification on the data in the netlist. The generated results are compared with the manual annotations, and the weighted cross-entropy loss value is calculated. The model parameters are then updated using the backpropagation algorithm, and the training process is repeated until the preset number of training cycles is reached. During training, a binary crossentropy loss function is used as a supervisory signal to calculate the classification probability for each category. Classifications with probabilities exceeding a certain threshold are output as multi-level labels, and the probability values ​​for each label are output together. The BERT model improves work efficiency by continuously learning and expanding the annotation content.

[0075] S3: The netlist annotation judgment module determines whether manual annotation is required based on the confidence level of the netlist;

[0076] The netlist annotation judgment module 103 selects the netlists that are difficult for the model to classify based on the confidence of the results, that is, the average probability of a certain label does not exceed 0.5, and outputs the selected netlists to the netlist manual annotation module 104. The annotated data generated by the BERT module is mixed with the original annotated data, that is, the manually annotated data is transmitted to the netlist input module 101 and pre-processed again in step S1 to retrain the BERT module together. The above process is repeated many times until all data are manually annotated or the annotation results meet the requirements. The BERT module is fully trained by repeating it many times, and the vocabulary library of the annotation content is expanded through the learning ability of the BERT module, which can achieve automatic annotation.

[0077] S4: If yes, manually annotate the netlist using the netlist manual annotation module;

[0078] The netlist manual annotation module 104 receives the netlist transmitted by the netlist annotation judgment module 103. After manually annotating the netlist, the netlist manual annotation module 104 mixes the annotated data with the annotated data generated by the BERT module and the original annotated data to retrain the BERT module together. The BERT module learns the manually annotated content, thereby expanding the vocabulary library of the annotated content, speeding up the annotation speed, and improving efficiency.

[0079] S5: If not, the marking result is outputted through the result display module 105 .

[0080] If the determination result is that it is not needed, the result display module 105 receives the netlist transmitted by the netlist annotation judgment module 103 and stores the netlist in the result display module 105. The result display module 105 can randomly display the automatic annotation results to evaluate whether the annotation level of the netlist automatic annotation module 102 meets the requirements.

[0081] The analog circuit netlist human-machine collaborative annotation system and method provided in the embodiment of the present invention annotates the netlist through the BERT model, reducing labor costs and improving efficiency; the netlist input module 101, the netlist automatic annotation module 102, the netlist annotation judgment module 103 and the netlist manual annotation module 104 form a loop, and the cyclic netlist data can continuously train the BERT model, expand the database of the BERT model annotation content, improve the accuracy of the annotation, and improve the efficiency; the analog circuit netlist human-machine collaborative annotation system and method continuously improves the accuracy of the annotation and improves the efficiency of the annotation by combining manual and BERT models.

[0082] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), a disk or an optical disk, etc.

[0083] In addition, the embodiments of the present invention are introduced in detail above. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A human-computer collaborative annotation system for analog circuit netlists, characterized in that: The analog circuit netlist human-computer collaborative annotation system includes: a netlist input module, a netlist automatic annotation module, a netlist annotation judgment module, a netlist manual annotation module and a result display module, wherein: The netlist input module is used to perform basic preprocessing on the input netlist data and transmit the processed data to the netlist automatic annotation module; The netlist automatic annotation module is used to input the processed data into the BERT model to generate annotations and annotation confidences, and the netlist automatic annotation module transmits the generated annotations, confidences and input netlist data to the netlist annotation judgment module; The main body of the netlist automatic annotation module adopts the BERT model. The module uses the BERT model to perform multi-level classification on multiple netlist data. The BERT model is first trained using a public dataset. Then, the parameters trained on the public dataset are used in a transfer learning manner to initialize the BERT model. The model is then retrained on a small-scale annotated netlist dataset to obtain a preliminarily trained BERT model. By mixing the annotated netlist data with the unannotated netlist data and inputting it into the BERT model, the model parameters are updated when the annotated data is calculated; When computing data without annotations, the model parameters are not updated. The annotations generated by the netlist automatic annotation module are used as pseudo-labels for the unannotated data and mixed with the annotated data to train the BERT model. The netlist annotation judgment module performs confidence judgment based on the probability of the label generated by the annotation module to determine whether manual annotation is required; The netlist manual marking module outputs the netlist that needs manual marking for manual marking; The result display module displays the automatic annotation results.

2. The analog circuit netlist human-computer collaborative annotation system according to claim 1, characterized in that: The first input and output ends of the netlist input module are electrically connected to the first input and output ends of the netlist automatic annotation module, the second input and output ends of the netlist automatic annotation module are electrically connected to the first input and output ends of the netlist annotation judgment module, the second input and output ends of the netlist annotation judgment module are electrically connected to the first input and output ends of the netlist manual annotation module, the third input and output ends of the netlist annotation judgment module are electrically connected to the input and output ends of the result display module, and the second input and output ends of the netlist input module are electrically connected to the second input and output ends of the netlist manual annotation module.

3. The analog circuit netlist human-computer collaborative annotation system according to claim 1, characterized in that: The BERT model uses the Encoder module structure of Transformer. The BERT model completes the model construction by stacking multiple layers of Encoder modules.

4. The analog circuit netlist human-computer collaborative annotation system according to claim 3, characterized in that: The BERT model has word encoding and position encoding before the first layer.

5. The analog circuit netlist human-computer collaborative annotation system according to claim 3, characterized in that: The encoder module of each layer consists of four parts: a multi-head attention mechanism, the sum of the input and output of the multi-head attention mechanism and a normalization, a feedforward neural network layer, and the sum of the input and output of the feedforward neural network layer and a normalization.

6. The analog circuit netlist human-computer collaborative annotation system according to claim 1, characterized in that: The BERT model training process: The BERT model initialization parameters use the pre-trained parameters provided by Google; Input the training netlist, use the model to perform multi-level label classification on the data in the netlist, compare the generated results with the manual annotations, calculate the weighted cross entropy loss value, and then use the backpropagation algorithm to update the model parameters. The training process is repeated until the preset number of training cycles is reached; During the training process, the binary crossentropy loss function is used as the supervisory signal to calculate the classification probability for each category separately; The labels with probabilities exceeding a certain threshold are output as multi-level labels, and the probability values ​​of each label are output together.

7. A method for human-computer collaborative annotation of analog circuit netlists, characterized in that: The analog circuit netlist human-machine collaborative annotation method is implemented based on the analog circuit netlist human-machine collaborative annotation system according to any one of claims 1 to 6, and the analog circuit netlist human-machine collaborative annotation method includes: Preprocess the netlist data based on the netlist input module input to obtain preliminary data; The netlist automatic annotation module classifies the preliminary data and obtains the annotation classification and confidence level; The main body of the netlist automatic annotation module adopts the BERT model. The module uses the BERT model to perform multi-level classification on multiple netlist data. The BERT model is first trained using a public dataset. Then, the parameters trained on the public dataset are used in a transfer learning manner to initialize the BERT model. The model is then retrained on a small-scale annotated netlist dataset to obtain a preliminarily trained BERT model. By mixing the annotated netlist data with the unannotated netlist data and inputting it into the BERT model, the model parameters are updated when the annotated data is calculated; When computing data without annotations, the model parameters are not updated. The annotations generated by the netlist automatic annotation module are used as pseudo-labels for the unannotated data and mixed with the annotated data to train the BERT model. The netlist annotation judgment module determines whether manual annotation is required based on the confidence level of the netlist; If yes, the netlist is manually annotated using the netlist manual annotation module; If not, the annotation results are output through the result display module.

8. The method for human-computer collaborative annotation of analog circuit netlists according to claim 7, characterized in that: The netlist automatic annotation module classifies preliminary data, including: The unlabeled data is input into the BERT model, which performs multi-level label classification on the data in the netlist. The generated results are compared with the manual annotations, the weighted cross entropy loss value is calculated, and then the model parameters are updated according to the back-propagation algorithm. During the training process, the binary crossentropy loss function is used as the supervision signal. The probability of possible classification is calculated for each category. The probability exceeding a certain threshold is output as the multi-level label classification, and the probability value of each label is output together. Get the confidence of the labeled classification and results.

9. The method for human-computer collaborative annotation of analog circuit netlists according to claim 7, characterized in that: After the netlist is manually annotated by the netlist manual annotation module, the annotated data, the annotated data generated by the BERT module and the original annotated data are mixed to retrain the BERT module together.

Citation Information

Patent Citations

  • Degradation analysis method and device for integrated circuit

    CN102054066A

  • Generation method of integrated circuit layout

    CN111241774A