Electronic apparatus to provide a learning-based optimization framework in electronic design automation and the operating method thereof
Patent Information
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2026-08-12
Smart Images

Figure 112023138338500-PAT00019_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to an electronic device and a method of operation thereof that provides a learning-based optimization framework in electronic design automation. Background Technology
[0002] Recently, due to the advancement of artificial intelligence technology, techniques utilizing AI to generate circuit designs are being widely used in Electronic Design Automation (EDA).
[0003] Electronic design automation techniques utilizing artificial intelligence include methods such as constructing a graph in which each component constituting the circuit acts as a node and training a graph-based deep neural network model using this graph as input data, or constructing a specific reward model for design optimization and performing reinforcement learning to maximize the reward calculated through this model.
[0004] Given that such electronic design automation is utilized in various fields, efforts are needed to introduce an AI-based framework to generate more optimized circuit designs. Prior art literature
[0005] Yoshua Bengio et al., "Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation", arXiv:1308.3432, 2013.Winston Haaswijk et al., "Deep learning for logic optimization algorithms", 2018 IEEE International Symposium on Circuits and Systems (ISCAS), 2018.Zizheng Guo et al., "A Timing Engine Inspired Graph Neural Network Model for Pre-Routing Slack Prediction", DAC '22: Proceedings of the 59th ACM / IEEE Design Automation Conference, 2022. The problem to be solved
[0006] The present invention aims to support users in obtaining a more optimized circuit design by presenting an electronic device and a method of operation thereof that provide a learning-based optimization framework in electronic design automation. means of solving the problem
[0007] An electronic device providing a learning-based optimization framework in Electronic Design Automation (EDA) according to an embodiment of the present invention comprises: a variable generation unit that generates decision variables for each of a plurality of components by configuring decision variables having a set of embedding values representing mapping options pre-specified as selectable in each component for each of the plurality of components constituting the design of a pre-specified target circuit; a calculation unit that calculates a selector output for each of the plurality of components by passing the decision variables for each of the plurality of components through a learnable selector for selecting one of the mapping options of each component—the selector is a neural network that, when the decision variables are input, generates transformation values for the embedding values constituting the input decision variables, calculates only the output corresponding to the maximum value among the generated transformation values as 1, and calculates all remaining outputs as 0—and, when the selector output for each of the plurality of components is calculated, the plurality It includes a learning unit that performs learning on the selector by performing backpropagation processing based on the selector output for each of the components so that the loss value calculated through a pre-specified objective function for learning is minimized.
[0008] A method of operation of an electronic device providing a learning-based optimization framework in electronic design automation according to an embodiment of the present invention comprises: a step of generating a decision variable for each of a plurality of components by configuring a decision variable having a set of embedding values representing mapping options pre-specified as selectable in each component for each of the plurality of components constituting a design of a pre-specified target circuit; a step of passing the decision variable for each of the plurality of components through a learnable selector for selecting one of the mapping options of each component—the selector being a neural network that, when the decision variable is input, generates transformation values for the embedding values constituting the input decision variable, calculates only the output corresponding to the maximum value among the generated transformation values as 1, and calculates all remaining outputs as 0—to calculate a selector output for each of the plurality of components; and, when the selector output for each of the plurality of components is calculated, performs backpropagation processing based on the selector output for each of the plurality of components so that the loss value calculated through a pre-specified objective function for learning is minimized, thereby It includes a step of performing learning on the selector. Effects of the invention
[0009] The present invention provides an electronic device and a method of operation thereof that provide a learning-based optimization framework in electronic design automation, thereby supporting a user in obtaining a more optimized circuit design. Brief explanation of the drawing
[0010] FIG. 1 is a diagram illustrating the structure of an electronic device that provides a learning-based optimization framework in Electronic Design Automation (EDA) according to an embodiment of the present invention. FIG. 2 is a drawing for explaining the operation of an electronic device according to an embodiment of the present invention. FIG. 3 is a flowchart illustrating the operation method of an electronic device providing a learning-based optimization framework in electronic design automation according to an embodiment of the present invention. Specific details for implementing the invention
[0011] Embodiments according to the present invention will be described in detail below with reference to the accompanying drawings. This description is not intended to limit the present invention to specific embodiments and should be understood to include all modifications, equivalents, and substitutions that fall within the spirit and scope of the present invention. Similar reference numerals have been used for similar components in describing each drawing, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, have the same meaning as generally understood by a person skilled in the art to which the present invention pertains.
[0012] In this document, when a part is described as "including" a component, it means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. Furthermore, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more sub-components, and the electrical, electronic, or mechanical functions performed by each component may be implemented by various known devices or mechanical elements, such as electronic circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or two or more may be integrated into one.
[0013] Meanwhile, the blocks in the attached block diagram or the steps in the flowchart may be interpreted as computer program instructions that perform designated functions, loaded into the processor or memory of data-processing equipment such as general-purpose computers, specialized computers, portable notebook computers, and network computers. Since these computer program instructions may be stored in memory provided in a computer device or in memory readable by a computer, the functions described in the blocks in the block diagram or the steps in the flowchart may be produced as manufactured products containing means of instruction to perform them. Furthermore, each block or each step may represent a module, segment, or part of code containing one or more executable instructions for executing a specific logical function(s). Also, it should be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may be executed in a different order than the prescribed order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.
[0014] FIG. 1 is a diagram illustrating the structure of an electronic device that provides a learning-based optimization framework in Electronic Design Automation (EDA) according to an embodiment of the present invention.
[0015] Referring to FIG. 1, the electronic device (110) according to the present invention includes a variable generation unit (111), a calculation unit (112), and a learning execution unit (113).
[0016] The variable generation unit (111) generates decision variables for each of the plurality of components by configuring decision variables having a set of embedding values representing mapping options that are pre-selectable in each component for each of the plurality of components that constitute the design of the pre-specified target circuit.
[0017] Here, a component refers to a logic gate or the like that constitutes a circuit, such as the reference numerals 211, 212, and 213 in FIG. 2, and a mapping option refers to an option designated as selectable for each component. For component 1 (211) indicated by reference numeral 211, there may be two mapping options, 'A1, A2'; for component 2 (212) indicated by reference numeral 212, there may be one mapping option, 'B'; and for component 3 (213) indicated by reference numeral 213, there may be three mapping options, 'C1, C2, C3'. At this time, the design of the target circuit refers to a design that can be implemented by selecting a mapping option for each of these three components (211, 212, 213) one by one, and then connecting the selected component-specific mapping options to each other. For example, by selecting a mapping option named 'A1' for component 1 (211), selecting a mapping option named 'B' for component 2 (212), and selecting a mapping option named 'C2' for component 3 (213), and connecting them, a single circuit design can be performed. At this time, for each of the mapping options of the three components (211, 212, 213), certain embedding values for use in learning may be assigned. Accordingly, the variable generation unit (111) can generate a decision variable for each of the three components (211, 212, 213) by configuring a decision variable having a set of embedding values representing the mapping options pre-specified as selectable in each component for each of the three components (211, 212, 213).
[0018] At this time, according to one embodiment of the present invention, the embedding values representing selectable mapping options for each of the plurality of components may be data that has been generated in advance through a pre-trained neural network model for generating a circuit design. For example, if there is a circuit generation model configured by training a predetermined graph-based neural network model, the developer may generate embedding values representing selectable mapping options for each of the plurality of components through the circuit generation model. At this time, the electronic device (110) of the present invention is a device that supports the developer in selecting the optimal mapping option for each component and finally obtaining the design of the target circuit by performing learning to select the optimal mapping option based on these embedding values for each of the plurality of components generated through the circuit generation model. At this time, the electronic device (110) of the present invention uses a predetermined objective function to configure a model for selecting the optimal mapping option for each component based on the embedding values for the mapping options of each component. This objective function will be described later, but this objective function may also be a function that is generated in advance through a pre-trained neural network model for generating the design of the circuit. As a result, the electronic device (110) can configure the optimal model for selecting the mapping options of each component that constitute the design of the target circuit by configuring the decision variables for each component based on the embedding values for the mapping options of each component, as to be described later, and then performing backpropagation processing to determine the decision variables of each component in the direction in which the loss value calculated according to the objective function is minimized.
[0019] The output unit (112) passes a decision variable for each of the plurality of components through a learnable selector for selecting one of the mapping options of each component, and outputs a selector output for each of the plurality of components.
[0020] Here, the selector refers to a neural network that, when a decision variable is input, generates transformation values for the embedding values constituting the decision variable input, calculates only the output corresponding to the maximum transformation value among the generated transformation values as 1, and calculates all remaining outputs as 0.
[0021] At this time, according to one embodiment of the present invention, the selector may be a neural network that calculates only the output corresponding to the transformed value of the maximum value as 1 and calculates all other outputs as 0 through the argmax function.
[0022] In this regard, let us assume that there are m of the aforementioned multiple components, and at this time, the decision variables for each of the m components In the case where it is said that, the above selector is, A decision variable that is one of the When is applied as input, according to the following mathematical formula 1, the decision variable applied as input is Transformation value for the embedding values constituting After generating, only the output corresponding to the maximum value among the generated transformation values can be calculated as 1, and all other outputs can be calculated as 0.
[0024]
[0026] In this regard, as shown in the figure illustrated in FIG. 2, when the determination variable for each of the three components (211, 212, 213) is completed in the variable generation unit (111), the output unit (112) can pass the determination variable for component 1 (211) to the selector (210) so that the embedding value representing the two mapping options 'A1, A2' constituting the determination variable of component 1 (211) is converted into a predetermined conversion value as shown in the figure illustrated in reference numeral 221, and then process so that a selector output (e.g., '
[0010] ') based on the above mathematical formula 1 is output. Additionally, the output unit (112) can process the selection variable for component 2 (212) by passing it through the selector (210) so that, as shown in the figure illustrated by reference numeral 222, the embedding value representing 'B', which is one mapping option constituting the selection variable of component 2 (212), is converted into a predetermined conversion value, and then the selector output based on the above mathematical formula 1 (since component 2 (212) has only one mapping option, the output is calculated as '[1]'). (Since component 2 (212) has only one mapping option, the selector output is always calculated as '[1]', so the passing procedure of the selector (210) can be omitted.) Additionally, the output unit (112) can pass the selection variable for component 3 (213) through the selector (210) so that, as shown in the figure illustrated by reference numeral 223, the determination of component 3 (213) After converting the embedding value representing the three mapping options 'C1, C2, C3' that constitute the variable into a predetermined conversion value, the process can be performed to produce a selector output (e.g., '
[0100] ') based on the above mathematical formula 1.
[0027] When a selector output for each of the plurality of components is produced, the learning execution unit (113) performs learning for the selector by performing backpropagation processing based on the selector output for each of the plurality of components so that the loss value produced through a pre-specified objective function for learning is minimized.
[0028] At this time, according to one embodiment of the present invention, the learning execution unit (113) can perform backpropagation processing by applying Gradient Descent so that the loss value calculated through the objective function is minimized.
[0029] In addition, according to one embodiment of the present invention, the learning execution unit (113) can perform learning through backpropagation processing by designating the transformation values generated in the selector as parameters to be learned, so that the transformation values designated as parameters are updated in a direction in which the loss value calculated through the objective function is minimized.
[0030] In this regard, as shown in the figure illustrated in FIG. 2, when a selector output for each of the three components (211, 212, 213) is produced through the output unit (112), the learning unit (113) can train the selector (210) by performing backpropagation processing based on the selector output for each of the three components (211, 212, 213) so that the loss value produced through the objective function is minimized, as shown in the block illustrated by reference numeral 220. Specifically, the learning unit (113) [trains] the transformed value generated by the selector (210) for each component a. Backpropagation processing can be performed so that the above loss value is updated in a direction that minimizes it. Through this, the selector (210) through which each of the three components (211, 212, 213) passes can appropriately generate a transformation value for the decision variable of each component according to the learned direction, and through this, the selector (210) can produce a selection result for the optimal mapping option that matches each component according to the learned direction. For example, if the training of the selector (210) for component 1 (211) is completed and 'A1' among 'A1, A2' is the optimal mapping option for component 1 (211), when a decision variable for component 1 (211) is passed to the trained selector (210), the selector (210) can perform the generation of a transformation value such that the transformation value for 'A1' is maximized when converting the embedding value representing the two mapping options 'A1, A2' that constitute the decision variable of component 1 (211) into a transformation value. As a result, from the selector (210), according to the operation of the above mathematical formula 1, only the output for the mapping option 'A1' is produced as 1, and the output for the mapping option 'A2' is produced as 0. Through this, the developer can confirm that 'A1' is the optimal mapping option for component 1 (211).
[0031] In addition, according to one embodiment of the present invention, the learning execution unit (113) can calculate the backpropagation gradient as an approximation by assuming a situation in which the transformation values are input to the softmax function instead of the argmax function when performing backpropagation processing by applying the gradient descent method.
[0032] In this regard, the learning execution unit (113) calculates the backpropagation gradient when performing backpropagation processing by applying the gradient descent method, and the transformation value, which is a parameter to be learned, Based on, used as the activation function in the above mathematical formula 1 It is necessary to perform differentiation with respect to . However, Since the argmax function is used, differentiation may be impossible. Therefore, when the learning execution unit (113) performs backpropagation processing by applying the gradient descent method, to calculate the backpropagation gradient, it assumes a situation where the transformation values are input to the softmax function instead of the argmax function, and can calculate the backpropagation gradient as an approximation as in the operation of Equation 2.
[0034]
[0036] In addition, according to one embodiment of the present invention, the learning unit (113) can perform learning on the selector by decomposing the objective function when the selector output for each of the plurality of components is calculated, generating a substitute function corresponding to each of the plurality of components, and then, for each of the plurality of components, assigning the sum of the products between the function value calculated by applying the decision variable of the component to the substitute function corresponding to each component and the selector output of the component to the sum of the sum of the products, thereby making the loss value calculated through the objective function the minimum value.
[0037] Specifically, let g be the configuration function corresponding to the i-th component among the plurality of components above, and let g be the selector output of the i-th component. In the case described above, the learning execution unit (113) is a function value calculated by applying the decision variable of the corresponding component as input to the configuration function corresponding to the i-th component. (Here, It can be expressed as, is the decision variable of the i-th component (meaning the function value calculated when the j-th embedding value among the embedding values constituting is input into the configuration function) and the selector output of the corresponding component The product of the two, It can be calculated as follows. Then, the learning execution unit (113) can perform learning on the selector by assigning the sum of the products between the function value calculated for the plurality of components and the selector output as the loss value calculated through the objective function, and by performing backpropagation processing so that the loss value calculated through the objective function is minimized.
[0038] FIG. 3 is a flowchart illustrating the operation method of an electronic device providing a learning-based optimization framework in electronic design automation according to an embodiment of the present invention.
[0039] In step (S310), a decision variable for each of the plurality of components constituting the design of a pre-specified target circuit is generated by configuring a decision variable having a set of embedding values representing mapping options pre-specified as selectable in each component for each of the plurality of components.
[0040] In step (S320), a decision variable for each of the plurality of components is passed through a learnable selector (which, when a decision variable is input, generates transformation values for the embedding values constituting the decision variable input, calculates only the output corresponding to the maximum transformation value among the generated transformation values as 1, and calculates all other outputs as 0) to select one of the mapping options of each component, thereby producing a selector output for each of the plurality of components.
[0041] In step (S330), when a selector output for each of the plurality of components is calculated, learning of the selector is performed by performing backpropagation processing based on the selector output for each of the plurality of components so that the loss value calculated through a pre-specified objective function for learning is minimized.
[0042] At this time, according to one embodiment of the present invention, the embedding values representing selectable mapping options for each of the plurality of components and the objective function may be generated through a pre-trained neural network model for generating a circuit design.
[0043] In addition, according to one embodiment of the present invention, in step (S330), when a selector output for each of the plurality of components is calculated, the objective function is decomposed to generate a configuration function corresponding to each of the plurality of components, and for each of the plurality of components, the value obtained by summing the products of the function value calculated by applying the decision variable of the component to the configuration function corresponding to each component and the selector output of the component is designated as the loss value calculated through the objective function, and backpropagation processing is performed so that the loss value calculated through the objective function is minimized, thereby enabling learning of the selector.
[0044] In addition, according to one embodiment of the present invention, in step (S330), backpropagation processing can be performed by applying gradient descent so that the loss value calculated through the objective function is minimized.
[0045] In addition, according to one embodiment of the present invention, in step (S330), by designating the transformation values generated by the selector as parameters to be learned, learning through backpropagation processing can be performed so that the transformation values designated as parameters are updated in a direction in which the loss value calculated through the objective function is minimized.
[0046] In addition, according to one embodiment of the present invention, the selector may be a neural network that calculates only the output corresponding to the transformed value of the maximum value as 1 and calculates all other outputs as 0 through the argmax function.
[0047] At this time, in step (S330), when performing backpropagation processing by applying the gradient descent method, the backpropagation gradient can be calculated as an approximation by assuming a situation where the transformation values are input to the softmax function instead of the argmax function to calculate the backpropagation gradient.
[0048] Hereinafter, a method of operation of an electronic device according to an embodiment of the present invention has been described with reference to FIG. 3. Here, since the method of operation of an electronic device according to an embodiment of the present invention may correspond to the configuration of the operation of the electronic device (110) described using FIG. 1 and FIG. 2, a more detailed description thereof will be omitted.
[0049] A method of operation of an electronic device according to one embodiment of the present invention can be implemented as a computer program stored in a storage medium for execution through combination with a computer.
[0050] In addition, a method of operation of an electronic device according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either individually or in combination. The program instructions recorded on the medium may be those specifically designed and configured for the present invention, or they may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0051] As described above, the present invention has been explained by specific details such as specific components, limited embodiments, and drawings; however, this is provided merely to aid in a more comprehensive understanding of the invention, and the invention is not limited to the above embodiments. A person skilled in the art can make various modifications and variations from this description.
[0052] Accordingly, the scope of the present invention is not limited to the described embodiments, and all things equivalent to or having equivalent variations to the claims set forth below, as well as the claims set forth below, shall be considered to fall within the scope of the concept of the present invention. Explanation of the symbols
[0053] 110: Electronic device 111: Variable creation section 112: Output section 113: Learning Execution Unit
Claims
Claim 1 An electronic device providing a learning-based optimization framework in Electronic Design Automation (EDA), comprising: a variable generation unit that generates decision variables for each of a plurality of components by configuring decision variables having a set of embedding values representing mapping options pre-specified as selectable in each component for each of the plurality of components constituting the design of a pre-specified target circuit; and a calculation unit that passes the decision variables for each of the plurality of components through a learnable selector for selecting one of the mapping options of each component—the selector being a neural network that, when a decision variable is input, generates transformation values for the embedding values constituting the input decision variable, calculates only the output corresponding to the maximum value among the generated transformation values as 1, and calculates all remaining outputs as 0—to calculate a selector output for each of the plurality of components. An electronic device comprising a learning unit that performs learning on a selector by performing backpropagation processing based on the selector output for each of the plurality of components such that a loss value calculated through a pre-specified objective function for learning is minimized when a selector output for each of the plurality of components is calculated. Claim 2 An electronic device according to claim 1, characterized in that the embedding values representing selectable mapping options for each of the plurality of components and the objective function are generated through a pre-trained neural network model for generating a circuit design. Claim 3 An electronic device according to claim 1, wherein the learning performing unit, when a selector output for each of the plurality of components is produced, decomposes the objective function to generate a substitute function corresponding to each of the plurality of components, and for each of the plurality of components, assigns the sum of the products between the function value produced by applying the decision variable of the component as input to the substitute function corresponding to each component and the selector output of the component to the sum of the sums as the loss value produced through the objective function, and performs backpropagation processing to minimize the loss value produced through the objective function. Claim 4 An electronic device according to claim 1, wherein the learning execution unit performs backpropagation processing by applying Gradient Descent so that the loss value calculated through the objective function is minimized. Claim 5 An electronic device according to claim 1, wherein the learning performing unit performs learning through backpropagation processing by designating the transformation values generated in the selector as parameters to be learned, so that the transformation values designated as parameters are updated in a direction in which the loss value calculated through the objective function is minimized. Claim 6 An electronic device according to claim 4, wherein the selector is a neural network that calculates only the output corresponding to the transformation value of the maximum value as 1 and all other outputs as 0 through an argmax function, and the learning execution unit calculates the backpropagation gradient as an approximation by assuming a situation in which transformation values are input to a softmax function instead of an argmax function to calculate the backpropagation gradient when performing backpropagation processing by applying the gradient descent method. Claim 7 A method of operation of an electronic device providing a learning-based optimization framework in Electronic Design Automation (EDA), comprising: a step of generating decision variables for each of a plurality of components by configuring decision variables having a set of embedding values representing mapping options pre-specified as selectable in each component for each of the plurality of components constituting the design of a pre-specified target circuit; and a step of passing the decision variables for each of the plurality of components through a learnable selector for selecting one of the mapping options of each component—the selector being a neural network that, when a decision variable is input, generates transformation values for the embedding values constituting the input decision variable, calculates only the output corresponding to the maximum value among the generated transformation values as 1, and calculates all remaining outputs as 0—to calculate a selector output for each of the plurality of components. A method of operation of an electronic device comprising the step of performing learning on a selector by performing backpropagation processing based on the selector output for each of the plurality of components such that a loss value calculated through a pre-specified objective function for learning is minimized when a selector output for each of the plurality of components is calculated. Claim 8 A method of operation of an electronic device according to claim 7, wherein the embedding values representing selectable mapping options for each of the plurality of components and the objective function are generated through a pre-trained neural network model for generating a circuit design. Claim 9 In claim 7, the step of performing the learning is characterized by, when a selector output for each of the plurality of components is produced, decomposing the objective function to generate a substitute function corresponding to each of the plurality of components, and for each of the plurality of components, assigning the sum of the products between the function value produced by applying the decision variable of the component as input to the substitute function corresponding to each component and the selector output of the component to the sum of the products of the respective components as the loss value produced through the objective function, and performing backpropagation processing to minimize the loss value produced through the objective function, thereby performing learning for the selector. Claim 10 A method of operation of an electronic device according to claim 7, wherein the step of performing the learning is characterized by performing backpropagation processing by applying Gradient Descent so that the loss value calculated through the objective function is minimized. Claim 11 A method of operation of an electronic device according to claim 7, wherein the step of performing the learning is characterized by performing learning through backpropagation processing by designating the transformation values generated in the selector as parameters to be learned, so that the transformation values designated as parameters are updated in a direction in which the loss value calculated through the objective function is minimized. Claim 12 In claim 10, the selector is a neural network that, through an argmax function, calculates only the output corresponding to the transformation value of the maximum value as 1 and calculates all other outputs as 0, and the step of performing the learning is characterized by calculating the backpropagation gradient as an approximation by assuming a situation in which transformation values are input to a softmax function instead of the argmax function to calculate the backpropagation gradient when performing backpropagation processing by applying the gradient descent method. Claim 13 A computer-readable recording medium having a computer program for executing the method of any one of paragraphs 7 through 12 in combination with a computer. Claim 14 A computer program stored on a storage medium for executing the method of any one of paragraphs 7 through 12 through combination with a computer.
Citation Information
Patent Citations
Digital chip layout wiring global optimization method and system
CN116341480A
Automatic loop generation
JP2022534441A
Electronic apparatus and method for optimizing of trained model
KR1020180134740A
Systems and methods for integrated circuit layout
KR1020210142543A
Creation of dynamic design flows for integrated circuits
KR1020220002644A