IP Library Granted Patent US 11,537,841
Granted Patent B2
US 11,537,841 · App. 16/430,219 · Granted Dec 27, 2022

System and method for compact neural network modeling of transistors

Inventors: Jing Wang (San Jose, CA); Woosung Choi (Milpitas, CA)
Assignee: Samsung Electronics Co., Ltd.
G06N3/04G06F30/33G06N3/08G06F2119/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,537,841
App. No.
16/430,219
Granted
Dec 27, 2022
Kind
B2
Abstract

A method for generating a model of a transistor includes: initializing hyper-parameters; training the neural network in accordance with the hyper-parameters and training data relating transistor input state values to transistor output state values to compute neural network parameters; determining whether the transistor output state values of the training data match an output of the neural network; porting the neural network to a circuit simulation code to generate a ported neural network; simulating a test circuit using the ported neural network to simulate behavior of a transistor of the test circuit to generate simulation output; determining whether a turnaround time of the generation of the simulation output is satisfactory; in response to determining that the turnaround time is unsatisfactory, re-training the neural network based on updated hyper-parameters; and in response to determining that the turnaround time is satisfactory, outputting the ported neural network as the model of the transistor.

Claims (80)

1. A method for generating a model of a transistor, the method comprising:

initializing, by a computing system, a plurality of hyper-parameters configuring a structure of a neural network;

training, by the computing system, the neural network in accordance with the hyper-parameters and a plurality of training data relating transistor input state values to transistor output state values to compute a plurality of neural network parameters;

determining, by the computing system, whether the transistor output state values of the training data match an output of the neural network;

in response to determining that the transistor output state values do not match the output of the neural network, updating, by the computing system, the hyper-parameters and re-training the neural network based on the updated hyper-parameters;

in response to determining that the transistor output state values of the training data match the output of the neural network, porting, by the computing system, the neural network to a circuit simulation code to generate a ported neural network;

simulating a test circuit using the ported neural network to simulate behavior of a transistor of the test circuit to generate simulation output;

determining, by the computing system, whether a turnaround time of the generation of the simulation output is satisfactory;

in response to determining that the turnaround time is unsatisfactory, updating, by the computing system, the hyper-parameters and re-training the neural network based on the updated hyper-parameters; and

in response to determining that the turnaround time is satisfactory, outputting the ported neural network as the model of the transistor.

2. The method of claim 1 , further comprising simulating a second circuit including the transistor, the simulating the circuit comprising simulating the output of the transistor using the ported neural network.

3. The method of claim 1 , wherein the neural network comprises:

an input layer configured to receive the transistor input state values;

a plurality of hidden layers comprising:

a first hidden layer configured to receive activations from the input layer; and

a last hidden layer;

an output layer configured to compute output features from a plurality of activations received from the last hidden layer; and

a plurality of conversion functions configured to convert the output features to the output of the neural network, and

wherein the neural network parameters comprise weights and biases mapping between adjacent layers of the neural network in accordance with an affine transformation.

4. The method of claim 3 , wherein the hyper-parameters comprise:

a number of hidden layers;

for each of the hidden layers, a number of neurons in the hidden layer; and

an activation function.

5. The method of claim 4 , wherein the determining whether the transistor output state values of the training data match the output of the neural network comprises:

determining whether the output of the neural network is within a first threshold of corresponding values of the transistor output state values; and

determining whether a first derivative of the output of the neural network is within a second threshold of corresponding values of a first derivative of the transistor output state values.

6. The method of claim 5 wherein, in response to determining that the output of the neural network is not within the first threshold of corresponding values of the transistor output state values, the hyper-parameters are updated to increase the number of hidden layers or to increase the number of neurons.

7. The method of claim 5 wherein, in response to determining that the first derivative of the output of the neural network is not within the second threshold of corresponding values of the first derivative of the transistor output state values, the hyper-parameters are updated to decrease the number of hidden layers or to decrease the number of neurons.

8. The method of claim 5 wherein, in response to determining that the turnaround time is unsatisfactory, the hyper-parameters are updated to decrease the number of hidden layers or to decrease the number of neurons.

9. The method of claim 3 , further comprising re-targeting the neural network in accordance with a plurality of electronic targets, the re-targeting comprising:

updating a plurality of output weights and output biases of the neural network parameters mapping from the last hidden layer to the output layer to fit the output of the neural network to the plurality of electronic targets,

wherein the last hidden layer has fewer neurons than the number of the electronic targets.

10. The method of claim 1 , wherein the model captures process variations, and

wherein the training data comprises data relating the transistor input state values to the transistor output state values in accordance with a plurality of process variation corners corresponding to a plurality of process variation sources.

11. The method of claim 10 , wherein the method further comprises:

training a plurality of process variation neural networks, each of the process variation neural networks being trained based on training data of a corresponding process variation corner,

wherein the ported neural network comprises the plurality of process variation neural networks.

12. The method of claim 10 , wherein the transistor input state values further comprise the plurality of process variation sources, and

wherein the training the neural network comprises training based on the training data relating the transistor input state values to the transistor output state values in accordance with the plurality of process variation corners.

13. A system for generating a model of a transistor, the system comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to:

initialize a plurality of hyper-parameters configuring a structure of a neural network;

train the neural network in accordance with the hyper-parameters and a plurality of training data relating transistor input state values to transistor output state values to compute a plurality of neural network parameters;

determine whether the transistor output state values of the training data match an output of the neural network;

in response to determining that the transistor output state values do not match the output of the neural network, update the hyper-parameters and re-train the neural network based on the updated hyper-parameters;

in response to determining that the transistor output state values of the training data match the output of the neural network, port the neural network to a circuit simulation code to generate a ported neural network;

simulate a test circuit using the ported neural network to simulate behavior of a transistor of the test circuit to generate simulation output;

determine whether a turnaround time of the generation of the simulation output is satisfactory;

in response to determining that the turnaround time is unsatisfactory, update the hyper-parameters and re-train the neural network based on the updated hyper-parameters; and

in response to determining that the turnaround time is satisfactory, output the ported neural network as the model of the transistor.

14. The system of claim 13 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to simulate a second circuit including the transistor by simulating the output of the transistor using the ported neural network.

15. The system of claim 13 , wherein the neural network comprises:

an input layer configured to receive the transistor input state values;

a plurality of hidden layers comprising:

a first hidden layer configured to receive activations from the input layer; and

a last hidden layer;

an output layer configured to compute output features from a plurality of activations received from the last hidden layer; and

a plurality of conversion functions configured to convert the output features to the output of the neural network, and

wherein the neural network parameters comprise weights and biases mapping between adjacent layers of the neural network in accordance with an affine transformation.

16. The system of claim 15 , wherein the hyper-parameters comprise:

a number of hidden layers;

for each of the hidden layers, a number of neurons in the hidden layer; and

an activation function.

17. The system of claim 16 , wherein the instructions to determine whether the transistor output state values of the training data match the output of the neural network comprise instructions for:

determining whether the output of the neural network is within a first threshold of corresponding values of the transistor output state values; and

determining whether a first derivative of the output of the neural network is within a second threshold of corresponding values of a first derivative of the transistor output state values.

18. The system of claim 17 wherein the memory further stores instructions that, when executed by the processor, cause the processor to, in response to determining that the output of the neural network is not within the first threshold of corresponding values of the transistor output state values, update the hyper-parameters to increase the number of hidden layers or to increase the number of neurons.

19. The system of claim 17 wherein the memory further stores instructions that, when executed by the processor, cause the processor to, in response to determining that the first derivative of the output of the neural network is not within the second threshold of corresponding values of the first derivative of the transistor output state values, update the hyper-parameters to decrease the number of hidden layers or to decrease the number of neurons.

20. The system of claim 17 wherein the memory further stores instructions that, when executed by the processor, cause the processor to, in response to determining that the turnaround time is unsatisfactory, update the hyper-parameters to decrease the number of hidden layers or to decrease the number of neurons.

21. The system of claim 15 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to re-target the neural network in accordance with a plurality of electronic targets, the re-targeting comprising:

updating a plurality of output weights and output biases of the neural network parameters mapping from the last hidden layer to the output layer to fit the output of the neural network to the plurality of electronic targets,

wherein the last hidden layer has fewer neurons than the number of the electronic targets.

22. The system of claim 13 , wherein the model captures process variations, and

wherein the training data comprises data relating the transistor input state values to the transistor output state values in accordance with a plurality of process variation corners corresponding to a plurality of process variation sources.

23. The system of claim 22 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

train a plurality of process variation neural networks, each of the process variation neural networks being trained based on training data of a corresponding process variation corner,

wherein the ported neural network comprises the plurality of process variation neural networks.

24. The system of claim 22 , wherein the transistor input state values further comprise the plurality of process variation sources, and

wherein the memory further stores instructions that, when executed by the processor, cause the processor to train the neural network based on the training data relating the transistor input state values to the transistor output state values in accordance with the plurality of process variation corners.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: WANG, JING; CHOI, WOOSUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 050259/0084 →
Continuity (2)
Provisional Application 62831038 · Apr 8, 2019
Related Publication 20200320366A1 · Oct 8, 2020
Cited By (1)
US 12,198,072