CN115688670B - Integrated circuit layout method and device, storage medium and terminal equipment - Google Patents

Integrated circuit layout method and device, storage medium and terminal equipment Download PDF

Info

Publication number
CN115688670B
CN115688670B CN202211704490.4A CN202211704490A CN115688670B CN 115688670 B CN115688670 B CN 115688670B CN 202211704490 A CN202211704490 A CN 202211704490A CN 115688670 B CN115688670 B CN 115688670B
Authority
CN
China
Prior art keywords
layout
node
wiring
routing
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211704490.4A
Other languages
Chinese (zh)
Other versions
CN115688670A (en
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Manufacturing EDA Co Ltd
Original Assignee
Advanced Manufacturing EDA Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Manufacturing EDA Co Ltd filed Critical Advanced Manufacturing EDA Co Ltd
Priority to CN202211704490.4A priority Critical patent/CN115688670B/en
Publication of CN115688670A publication Critical patent/CN115688670A/en
Application granted granted Critical
Publication of CN115688670B publication Critical patent/CN115688670B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The application provides a layout method and a layout device of an integrated circuit, a storage medium and terminal equipment, wherein the layout method of the integrated circuit comprises the following steps: obtaining a layout result of a plurality of layout objects, wherein the layout result represents the primary layout of the plurality of layout objects in the layout areas of the plurality of process layers, and the layout objects are standard cells or substructures in the standard cells; constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using the convolutional neural network model until all the wiring nodes are traversed, and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object; and routing the layout objects according to the routing result. According to the technical scheme, automatic wiring of the integrated circuit can be achieved, and the wiring effect can be improved.

Description

Integrated circuit layout method and device, storage medium and terminal equipment
Technical Field
The present application relates to the field of integrated circuit technologies, and in particular, to a method and an apparatus for layout of an integrated circuit, a storage medium, and a terminal device.
Background
The integrated circuit layout refers to determining the specific positions of the integrated circuit units in the chip, is a key point of attention in the integrated circuit design process, and has a great influence on various performance indexes of the integrated circuit. The standard Cell refers to a large-scale integrated circuit (lsi) that combines cells (cells) designed in advance and then designs the entire chip, and the Cell refers to a logic circuit, a logic gate, and a flip-flop that can perform a certain function. And carrying out actual wiring and wiring optimization on the integrated circuit after the standard unit configuration is completed to obtain an initial layout. For the wiring of integrated circuits, different winding methods bring different effects.
In the prior art, the wiring of the integrated circuit is usually designed manually based on experience and following a single fixed mode.
In the prior art, the wiring of an integrated circuit depends on manpower, which can cause long wiring period and low efficiency; furthermore, the wiring is less effective due to the level of human experience limitations.
Disclosure of Invention
The application provides a layout method and device of an integrated circuit, a storage medium and a terminal device, which can realize automatic wiring of the integrated circuit and improve wiring effect.
In order to achieve the above purpose, the present application provides the following technical solutions:
in a first aspect, a method for layout of an integrated circuit is provided, the method for layout of an integrated circuit comprising: obtaining a layout result of a plurality of layout objects, wherein the layout result represents the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard cells or substructures in the standard cells; constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using a convolutional neural network model until all the wiring nodes are traversed, and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object; and routing the layout objects according to the routing result.
Optionally, each routing node is represented by the following four-dimensional data: the two-dimensional coordinates of the wiring nodes in the layout area, the process layer where the wiring nodes are located and the layout object where the wiring nodes are located.
Optionally, the predicting a next routing node of the input routing nodes by using the convolutional neural network model includes: predicting a predicted action for the input routing node using the convolutional neural network model, the predicted action including jumping a process layer, switching a layout object, moving in a first direction, moving in a second direction, moving in a third direction, and moving in a fourth direction, the first direction, the second direction, the third direction, and the fourth direction being movable directions within the layout area; and constructing the next wiring node according to the predicted action and the input wiring node, and taking the next wiring node as the input wiring node to continue inputting the convolutional neural network model until the next wiring node is the last node to be wired in the layout result.
Optionally, the constructing the next routing node according to the predicted action and the input routing node includes: if the predicted movement is moving along a first direction, a second direction, a third direction or a fourth direction, adjusting the two-dimensional coordinates of the input wiring node in the layout area according to the moving direction to obtain the next wiring node; or if the predicted action is jumping a process layer, adjusting the process layer where the input wiring node is located to obtain the next wiring node; or, if the predicted action is to switch a layout object, adjusting the layout object where the input routing node is located to obtain the next routing node.
Optionally, the predicting, by using the convolutional neural network model, a predicted action for the input routing node includes: inputting wiring nodes into the convolutional neural network model, and predicting the predicted action and the reward value of the input wiring nodes by using the convolutional neural network model, wherein the reward value of the predicted action is determined by the convolutional neural network model according to the predicted action and a reward mapping relation, the reward mapping relation represents that each input wiring node takes a mapping relation between the corresponding predicted action and the reward value, and each wiring result comprises a plurality of predicted actions and reward values.
Optionally, in the reward mapping relationship, a reward value corresponding to the predicted action when the next node obtained by the input routing node by taking the corresponding predicted action meets the routing requirement is greater than a reward value corresponding to the predicted action when the next node does not meet the routing requirement.
Optionally, if the next routing node obtained by the input routing node by taking the corresponding prediction action is located in the forbidden area, the prediction action corresponds to the first reward value;
if the next wiring node obtained by the input wiring node by adopting the corresponding prediction action is positioned at the boundary of the layout area, the prediction action corresponds to a second reward value, and the second reward value is larger than the first reward value;
if the next wiring node obtained by the input wiring node by adopting the corresponding prediction action is a wired node, the prediction action corresponds to a third reward value, and the third reward value is larger than the first reward value;
if the next node obtained by the input wiring node by adopting the corresponding prediction action is a non-wiring node, the prediction action corresponds to a fourth reward value, and the fourth reward value is greater than the third reward value;
if the input wiring node finishes winding by adopting the next wiring node obtained by the corresponding prediction action, the prediction action corresponds to a fifth reward value, and the fifth reward value is larger than the fourth reward value;
and if the next node obtained by the input wiring node by adopting the corresponding prediction action is the node to be wired, the prediction action corresponds to a sixth reward value, and the sixth reward value is greater than the fifth reward value.
Optionally, the layout method of the integrated circuit further includes: and performing multiple iterations on the convolutional neural network model by using a strategy gradient algorithm to obtain an optimal wiring result, wherein the optimal wiring result has a maximum reward value.
Optionally, the convolutional neural network model is trained in the following manner: acquiring training data, wherein the training data comprises a plurality of groups of state data, and each group of state data comprises an input wiring node, a next wiring node, a prediction action, a reward value and whether to finish wiring or not; constructing the convolutional neural network model; training the convolutional neural network model using the training data.
Optionally, the obtaining layout results of a plurality of layout objects includes: carrying out global layout on the layout objects to obtain a plurality of global layout results; and performing DRC detection on the plurality of global layout results to obtain the layout results.
In a second aspect, the present application further discloses a layout apparatus for an integrated circuit, the layout apparatus comprising: the system comprises an acquisition module, a calculation module and a display module, wherein the acquisition module is used for acquiring a layout result of a plurality of layout objects, the layout result represents the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard cells or substructures in the standard cells; the prediction module is used for constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using a convolutional neural network model until all the wiring nodes are traversed and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object; and the wiring module is used for wiring the layout objects according to the wiring result.
In a third aspect, a computer-readable storage medium is provided, having stored thereon a computer program for execution by a processor to perform the method provided by the first aspect.
In a fourth aspect, a computer program product is provided, on which a computer program is stored, the computer program being executable by a processor for performing the method provided in the first aspect.
In a fifth aspect, an embodiment of the present application further provides a chip (or a data transmission apparatus), where the chip stores a computer program, and when the computer program is executed by the chip, the steps of the method are implemented.
In a sixth aspect, an embodiment of the present application further provides a system chip, which is applied in a terminal device, where the system chip includes at least one processor and an interface circuit, the interface circuit and the at least one processor are interconnected by a line, and the at least one processor is configured to execute an instruction to perform the method provided in the first aspect.
In a seventh aspect, a terminal device is provided, which includes a memory and a processor, where the memory stores a computer program, and the computer program is executed by the processor to execute the method provided in the first aspect.
Compared with the prior art, the technical scheme of the embodiment of the application has the following beneficial effects:
in the technical scheme, the layout results of a plurality of layout objects are obtained, the layout results represent the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard units or substructures in the standard units; constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using the convolutional neural network model until all the wiring nodes are traversed, and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object; and routing the layout objects according to the routing result. According to the technical scheme, the wiring nodes are constructed, the wiring among the layout objects is converted into the learning task of the convolutional neural network model, and the convolutional neural network model is used for predicting the connection relation among the wiring nodes, so that the connection relation of each wiring node is obtained, further the wiring is realized, and the automation degree is high; in addition, the technical scheme of the application does not depend on the artificial experience level, and the wiring optimization is realized by using the reinforcement learning capability of the convolutional neural network model, so that the wiring effect is improved.
Further, each routing node is represented by the following four-dimensional data: the two-dimensional coordinates of the wiring nodes in the layout area, the process layer where the wiring nodes are located, and the layout objects where the wiring nodes are located. According to the technical scheme, the four-dimensional data are constructed, so that a foundation is laid for predicting the wiring nodes by using the convolutional neural network model, and the convolutional neural network model can be applied to the wiring scene of the integrated circuit.
Further, in the reward mapping relationship, the reward value corresponding to the predicted action when the next node obtained by the input wiring node by adopting the corresponding predicted action meets the wiring requirement is larger than the reward value corresponding to the predicted action when the next node meets the non-wiring requirement. According to the technical scheme, the reward value is set, and the convolutional neural network model optimizes the model parameters according to the reward value, so that the convolutional neural network model outputs the optimal wiring result with the maximum reward value, namely the optimal wiring result meeting the wiring requirement, and the optimization of the integrated circuit wiring is realized.
Drawings
FIG. 1 is a flow chart of a method for layout of an integrated circuit according to an embodiment of the present application;
FIG. 2 is a diagram illustrating a layout result of a standard cell according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of a specific application scenario provided in an embodiment of the present application;
FIG. 4 is a schematic structural diagram of a layout apparatus of an integrated circuit according to an embodiment of the present application.
Detailed Description
As described in the background art, the wiring of the existing integrated circuit depends on manpower, the wiring period is long, and the efficiency is low; furthermore, the wiring is less effective due to the limitation of the human experience level.
According to the technical scheme, wiring nodes are constructed, wiring among layout objects is converted into a learning task of a convolutional neural network model, and the convolutional neural network model is used for predicting the connection relation among the wiring nodes, so that the connection relation of each wiring node is obtained, further wiring is realized, and the degree of automation is high; in addition, the technical scheme of the application does not depend on the artificial experience level, and the wiring optimization is realized by using the reinforcement learning capability of the convolutional neural network model.
Further, each routing node is represented using the following four-dimensional data: the two-dimensional coordinates of the wiring nodes in the layout area, the process layer where the wiring nodes are located and the layout object where the wiring nodes are located. According to the technical scheme, the four-dimensional data are constructed, so that a foundation is laid for predicting the wiring nodes by using the convolutional neural network model, and the convolutional neural network model can be applied to the wiring scene of the integrated circuit.
Further, in the reward mapping relationship, when the next node obtained by the input wiring node by adopting the corresponding prediction action meets the wiring requirement, the reward value corresponding to the prediction action is larger than the reward value corresponding to the prediction action when the next node meets the non-wiring requirement. According to the technical scheme, the reward value is set, and the convolutional neural network model optimizes the model parameters according to the reward value, so that the convolutional neural network model outputs the optimal wiring result with the maximum reward value, namely the optimal wiring result meeting the wiring requirement, and the optimization of the integrated circuit wiring is realized.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, embodiments accompanying figures are described in detail below.
Referring to fig. 1, the method provided by the present application includes:
step 101: obtaining a layout result of a plurality of layout objects, wherein the layout result represents the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard cells or substructures in the standard cells;
step 102: constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using a convolutional neural network model until all the wiring nodes are traversed, and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object;
step 103: and routing the layout objects according to the routing result.
It should be noted that, the sequence numbers of the steps in this embodiment do not represent a limitation on the execution order of the steps.
It will be appreciated that in a specific implementation, some of the steps of the layout method of the integrated circuit may be implemented in the form of a software program running on a processor integrated within a chip or chip module. The method may also be implemented by combining software and hardware, and the present application is not limited thereto.
In this embodiment, when the layout object is a standard cell (standard cell) in the integrated circuit, the standard cell may be laid out to obtain a layout result, where the layout result indicates a position of the standard cell in the chip. Specifically, the layout result indicates the positions of the respective standard cells within the layout area of the chip. The standard cell has a plurality of process layers.
Alternatively, when the layout object is a substructure within a standard cell, the layout object may be laid out to obtain a layout result, and the layout result indicates a position of the substructure within the standard cell. Specifically, the layout result indicates the position of each sub-structure within the layout area of the standard cell. The sub-structure has a plurality of process layers.
In a specific implementation of step 101, layout results for a plurality of layout objects are obtained. After the relative positional relationship of each layout object is determined, the wiring may be performed for each layout object. Specifically, the layout result may be obtained by pre-layout or by real-time layout.
In a specific embodiment, a layout tool or a manual mode is adopted to perform global layout on a plurality of layout objects to obtain a plurality of global layout results; and performing Design Rule Checking (DRC) detection on the plurality of global layout results to obtain layout results.
Specifically, the information in a layout object list, such as a sub-structure list (netlist), is manually and empirically extracted, several routing nodes of different layout objects are distributed at different positions according to the judgment of the operator, and then the operating software executes a layout command to complete the layout.
In this embodiment, a plurality of layout objects are globally laid out according to layout requirements, and a layout result satisfying DRC is screened out from the layout objects. Specifically, size information of each standard cell, a sub-structure list (netlist), relevant specification information (such as minimum distance between different standard cells), and the like are imported, and global layout is performed according to a certain rule.
It should be noted that, the layout tool and the specific implementation can refer to the prior art, and are not described herein again.
In the specific implementation of step 102, a routing node is constructed according to the layout result, and the routing node represents a position on the layout object where routing is required. The wiring nodes are input into a pre-constructed convolutional neural network model, and the convolutional neural network model can predict the next wiring node, namely, the input wiring node and the next wiring node have a connection relation during wiring.
Compared with the prior art in which the routing of the node is judged manually according to experience and the routing is finished by using a tool, the routing node of the layout object is reasonably managed and predicted, and the routing efficiency and the routing accuracy are improved.
Specifically, each layout object has a routing node, and routing the layout objects means routing and connecting the routing nodes on the routing objects. Referring to fig. 2, fig. 2 shows a layout result of a standard cell as a layout object.
The standard cells 11 to NM are arranged in the layout area 20 in a certain order. Each standard cell has a routing node, e.g., standard cell 11 has routing nodes a11 and b11, standard cell 12 has routing node a12, standard cell 22 has routing node a22, etc.
In one non-limiting embodiment, each routing node is represented using the following four-dimensional data: the two-dimensional coordinates of the routing node in the layout area, the process layer where the routing node is located, and the routing node layout object.
Specifically, the four-dimensional data may be represented as [ m, n, p, q ], where m and n represent two-dimensional coordinates of the routing node within the layout area, p represents a process layer where the routing node is located, and q represents a routing node layout object. For example, taking the layout object as an example of a substructure, a wiring node with two-dimensional coordinates (0, 0) on the second process layer on the first substructure may be represented as [0, 2,1].
Specifically, the maximum value of the identifiers of the process layers in the four-dimensional data is the total number of the process layers of the layout object, and the maximum value of the identifiers of the layout object is the total number of the layout objects.
Inputting the wiring nodes into the convolutional neural network model in this embodiment refers to inputting four-dimensional data (or may be referred to as state data) representing the wiring nodes into the convolutional neural network model. The convolutional neural network model may process the four-dimensional data.
Further, as for the four-dimensional data indicating the inputted wiring nodes, the data outputted from the convolutional neural network model is a prediction operation (action). In a specific implementation, referring to fig. 3, the convolutional neural network model 30 is used to predict the predicted actions for the input routing nodes, where the predicted actions include jumping process layers, switching layout objects, moving in a first direction, moving in a second direction, moving in a third direction, and moving in a fourth direction, and the first direction, the second direction, the third direction, and the fourth direction are movable directions within the layout area.
As described above, each placement object has a plurality of routing nodes (also referred to as routing node groups) that need routing, and routing requirements of the routing nodes in the routing node groups are different from those of the routing node groups.
In one embodiment, the first direction, the second direction, the third direction and the fourth direction may be up, down, left and right.
In another embodiment, the predicted action further comprises moving in a fifth direction, moving in a sixth direction, moving in a seventh direction, and moving in an eighth direction, and the fifth direction, sixth direction, seventh direction, and eighth direction may be upper left, lower left, upper right, and lower right.
As can be known from the above predicting actions, more moving directions may be set in a specific implementation to meet the moving requirement, and the embodiment of the present invention is not limited in particular.
In a specific implementation, the predicted action of the convolutional neural network model output can be represented by an identifier, such as the number 1 to identify an upward shift, the number 2 to indicate a downward shift, the number 3 to indicate a leftward shift, the number 4 to indicate a rightward shift, the number 5 to indicate an upward jump process layer, the number 6 to indicate a downward jump process layer, and the number 7 to indicate a switch layout object.
With continued reference to fig. 3, the building module 40 may build a next routing node according to the predicted action output by the convolutional neural network model 30 and the input routing node, and the next routing node is used as the input routing node and continues to be input into the convolutional neural network model 30 until the next routing node is the last node to be routed in the layout result. Thus, completing one-time wiring of all wiring nodes.
Specifically, if the motion is predicted to move in the first direction, the second direction, the third direction, or the fourth direction, the building module 40 adjusts the two-dimensional coordinates of the input routing node within the layout area according to the moving direction to obtain the next routing node. For example, the four-dimensional data of the input wiring node is [ m0, n0, p0, q0], the motion is predicted as an upward movement (for example, the upward movement is set to be upward in the y direction, and to be rightward in the x direction, and m0, n0 respectively represent the coordinates of y and x), then the four-dimensional data of the next wiring node is [ m0+1, n0, p0, q0]; similarly, the four-dimensional data of the input wiring node is [ m0, n0, p0, q0], the motion is predicted to move rightward, and then the four-dimensional data of the next wiring node is [ m0, n0+1, p0, q0].
Accordingly, if the predicted action is to jump the process layer, the building block 40 adjusts the process layer where the inputted routing node is located to obtain the next routing node. For example, if the input four-dimensional data of the wiring node is [ m0, n0, p0, q0], the predicted motion is a jump-up process layer, and the jump-up process layer is p1, the four-dimensional data of the next wiring node is [ m0, n0, p1, q0], and p0 and p1 may be characters or specific data.
Accordingly, if the predicted action is to switch the layout object, the building module 40 adjusts the layout object where the input routing node is located to obtain the next routing node. For example, if the input four-dimensional data of the wiring node is [ m0, n0, p0, q0], the prediction operation is to switch the layout object, and the switched layout object is q1, the four-dimensional data of the next wiring node is [ m0, n0, p0, q1], and q0 and q1 may be characters or specific data.
In one particular embodiment, with continued reference to FIG. 3, during routing, an initial routing node is selected among all routing nodes, and four-dimensional data representing the initial routing node is input to the convolutional neural network model 30. The convolutional neural network model 30 outputs a prediction action, and the construction module 40 constructs four-dimensional data representing the next wiring node from the prediction action and the initial wiring node, and continues to input the convolutional neural network model 30 as an input wiring node. And outputting the routing result until the building module 40 cannot build the next routing node, which indicates that all the routing nodes are traversed.
In this embodiment, the wiring result indicates a plurality of wiring nodes arranged in order. Specifically, the routing result may be a set of four-dimensional data representing a plurality of routing nodes arranged in order.
In an actual application scenario, the building module 40 may be specifically a script, which is capable of building four-dimensional data representing a next routing node according to the predicted action and the input routing node.
With continued reference to FIG. 1, in a specific implementation of step 103, a plurality of layout objects are routed according to routing results. Specifically, a routing tool is used to perform routing operations on routing nodes in the routing results.
In one non-limiting embodiment, the data output by the convolutional neural network model includes, for each input routing node, the predicted action and its reward value. The reward value of the prediction action is determined by the convolutional neural network model according to the prediction action and the reward mapping relation, the reward mapping relation represents that each input wiring node adopts the mapping relation corresponding to the prediction action and the reward value, and each wiring result comprises a plurality of prediction actions and reward values.
Further, in the reward mapping relationship, when the next node obtained by the input wiring node by adopting the corresponding prediction action meets the wiring requirement, the reward value corresponding to the prediction action is larger than the reward value corresponding to the prediction action when the next node does not meet the wiring requirement.
In this embodiment, when the standard cell or the sub-structure is wired, the wiring requirement is configured in advance to ensure the wiring effect. In order for the predicted next node to meet the routing requirement, the convolutional neural network model may be caused to output an appropriate predicted action by setting a reward value.
In one embodiment, the reward value for a predicted action may be configured in the following manner:
if the next wiring node obtained by the input wiring node by adopting the corresponding prediction action is positioned in the forbidden area, the prediction action corresponds to the first reward value;
if the input wiring node adopts the next wiring node obtained by the corresponding prediction action and is positioned at the boundary of the layout area, the prediction action corresponds to a second reward value, and the second reward value is larger than the first reward value;
if the next wiring node obtained by the input wiring node by adopting the corresponding prediction action is the wired node, the prediction action corresponds to a third reward value, and the third reward value is larger than the first reward value;
if the next node obtained by the input wiring node by adopting the corresponding prediction action is a non-wiring node, the prediction action corresponds to a fourth reward value, and the fourth reward value is greater than the third reward value;
if the input wiring node adopts the next wiring node obtained by the corresponding prediction action to complete the winding, the prediction action corresponds to a fifth reward value, and the fifth reward value is larger than the fourth reward value;
and if the input wiring node takes the next node obtained by the corresponding prediction action as the node to be wired, the prediction action corresponds to a sixth reward value, and the sixth reward value is larger than the fifth reward value.
In particular, the reward value may also be a negative value. For example, when the next routing node is located in the forbidden area, which indicates that the routing requirement is obviously not met, the prediction action can be configured to have a negative value corresponding to the first reward value, so as to indicate the penalty of the routing line, enhance the machine learning capability and reduce the unreasonable routing in the future.
In the following description, taking the layout result shown in fig. 2 as an example, when the input routing node is the node a12, if the prediction operation is an upward movement, the next node is the routing node a11. If the wiring node a11 is a wired node, that is, if the wiring is completed before, the predicted operation corresponds to the third reward value. If the predicted motion is to move to the right, the next node is wiring node b22. The wiring node b22 is a node to be wired, and the predicted action corresponds to the sixth reward value.
It should be noted that, specific numerical values of the respective bonus values may be adaptively set according to an actual application scenario, which is not limited in this application.
In a specific application scenario, the wiring nodes input a convolutional neural network model, and the convolutional neural network model outputs a prediction action. Evaluating the result of the input wiring node after the prediction action is taken, for example, entering a prohibited area, a penalty (for example, a reward value corresponding to the prediction action is a negative value) is obtained, for example, if the node to be wired is walked, a reward is obtained (for example, the prediction action corresponds to a large reward value), and if the node to be wired is walked, a slight penalty (for example, the prediction action corresponds to a small reward value) is obtained. Whether the wiring of the current round is finished or not is evaluated, for example, whether a wiring end condition is satisfied or not. If so, the wiring is ended, otherwise, the above process is continued.
And further, performing multiple rounds of iteration on the convolutional neural network model by using a strategy gradient algorithm to obtain an optimal wiring result.
In this embodiment, for the same layout result, a plurality of routing results may be obtained by using the convolutional neural network model, each routing result includes a plurality of predicted actions, and the reward value of a routing result is the sum of reward values corresponding to the predicted actions in the routing result. Then the optimal routing outcome has the maximum reward value. Since the reward value reflects the degree of conformity of the predicted action with the wiring requirement, the optimal wiring result is the wiring result which has the highest degree of conformity with the wiring requirement among all the wiring results.
Specifically, in each iteration, a Monte Carlo method can be adopted to calculate the reward value of the wiring result, and the loss function is constructed according to the reward value. The purpose of each iteration is to make the convolutional neural network model predict the routing result with the largest reward value as much as possible.
The embodiment of the invention utilizes the deep learning performance of the convolutional neural network model to carry out self-trial and chess-playing in the multi-iteration process, thereby obtaining the optimal wiring result.
In one non-limiting embodiment, training data may be constructed to train the convolutional neural network model. Different from the foregoing embodiment in which the convolutional neural network model is self-learned, in the embodiment of the present invention, the model parameters are obtained by performing offline training on the convolutional neural network model, and the trained convolutional neural network model can be directly used for online wiring.
Specifically, training data are obtained, wherein the training data comprise a plurality of groups of state data, and each group of state data comprise an input wiring node, a next wiring node, a prediction action, a reward value and whether wiring is finished or not; constructing a convolutional neural network model; training the convolutional neural network model using the training data.
Model parameters in the convolutional neural network model can be optimized through training, and the trained convolutional neural network model can be used for an online wiring process of a layout object.
For more specific implementation manners of the embodiments of the present application, please refer to the foregoing embodiments, which are not described herein again.
Referring to fig. 4, fig. 4 shows a layout apparatus 40 of an integrated circuit, the layout apparatus 40 may include:
an obtaining module 401, configured to obtain a layout result of a plurality of layout objects, where the layout result indicates a primary layout of the plurality of layout objects in a layout area of a plurality of process layers, and a layout object is a standard cell or a substructure in the standard cell;
the prediction module 402 is configured to construct a routing node according to the layout result, and predict a next routing node of the input routing node by using the convolutional neural network model until all routing nodes are traversed, so as to obtain a routing result, where the routing node is a node to be routed on the layout object;
and a routing module 403 for routing the layout objects according to the routing result.
In a specific implementation, the layout device 40 may correspond to a Chip having a layout function in a terminal device, such as a System-On-a-Chip (SOC), a baseband Chip, etc.; or the terminal equipment comprises a chip module with a layout function; or to a chip module having a chip with a data processing function, or to a terminal device.
Other relevant descriptions about layout apparatus 40 may refer to the relevant descriptions of the corresponding embodiments in fig. 1 to 3, and are not repeated herein.
Each module/unit included in each apparatus and product described in the above embodiments may be a software module/unit, or may also be a hardware module/unit, or may also be a part of a software module/unit and a part of a hardware module/unit. For example, for each device or product applied to or integrated into a chip, each module/unit included in the device or product may be implemented by hardware such as a circuit, or at least a part of the module/unit may be implemented by a software program running on a processor integrated within the chip, and the rest (if any) part of the module/unit may be implemented by hardware such as a circuit; for each device or product applied to or integrated with the chip module, each module/unit included in the device or product may be implemented by using hardware such as a circuit, and different modules/units may be located in the same component (e.g., a chip, a circuit module, etc.) or different components of the chip module, or at least some of the modules/units may be implemented by using a software program running on a processor integrated within the chip module, and the rest (if any) of the modules/units may be implemented by using hardware such as a circuit; for each apparatus and product applied to or integrated in the terminal device, each module/unit included in the apparatus and product may all be implemented by hardware such as a circuit, and different modules/units may be located in the same component (e.g., a chip, a circuit module, etc.) or different components in the terminal device, or at least part of the modules/units may be implemented by a software program running on a processor integrated inside the terminal device, and the rest (if any) part of the modules/units may be implemented by hardware such as a circuit.
The embodiment of the application also discloses a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium, and when the computer program runs, the steps of the method shown in fig. 1 can be executed. The storage medium may include a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic or optical disk, and the like. The storage medium may further include a non-volatile (non-volatile) memory, a non-transient (non-transient) memory, or the like.
It should be understood that the term "and/or" herein is merely one type of association relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in this document indicates that the former and latter related objects are in an "or" relationship.
The "plurality" appearing in the embodiments of the present application means two or more.
The descriptions of the first, second, etc. appearing in the embodiments of the present application are only for illustrating and differentiating the objects, and do not represent the order or the particular limitation of the number of the devices in the embodiments of the present application, and do not constitute any limitation to the embodiments of the present application.
The term "connect" in the embodiments of the present application refers to various connection manners, such as direct connection or indirect connection, to implement communication between devices, which is not limited in this embodiment of the present application.
The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. The procedures or functions described in accordance with the embodiments of the present application are produced in whole or in part when the computer instructions or the computer program are loaded or executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire or wirelessly.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
In the several embodiments provided in the present application, it should be understood that the disclosed method, apparatus, and system may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative; for example, the division of the unit is only a logic function division, and there may be another division manner in actual implementation; for example, various elements or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately and physically included, or two or more units may be integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute some steps of the methods described in the embodiments of the present application.
Although the present application is disclosed above, the present application is not limited thereto. Various changes and modifications may be effected therein by one of ordinary skill in the pertinent art without departing from the scope or spirit of the present disclosure, and it is intended that the scope of the present disclosure be defined by the appended claims.

Claims (11)

1. A method of patterning an integrated circuit, comprising:
obtaining a layout result of a plurality of layout objects, wherein the layout result represents the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard cells or substructures in the standard cells;
constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using a convolutional neural network model until all the wiring nodes are traversed, and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object;
routing the layout objects according to the routing result;
wherein, each wiring node is represented by the following four-dimensional data: the two-dimensional coordinates of the routing node in the layout area, the process layer where the routing node is located, and the layout object where the routing node is located, the predicting, by using the convolutional neural network model, the next routing node of the input routing node includes:
predicting, using the convolutional neural network model, a predicted action for the input routing node, the predicted action including jumping a process layer, switching a layout object, moving in a first direction, moving in a second direction, moving in a third direction, and moving in a fourth direction, the first direction, the second direction, the third direction, and the fourth direction being movable directions within the layout area;
and constructing the next wiring node according to the predicted action and the input wiring node, and taking the next wiring node as the input wiring node to continue inputting the convolutional neural network model until the next wiring node is the last node to be wired in the layout result.
2. The method of layout of an integrated circuit of claim 1, wherein said building said next routing node from said predicted actions and said input routing node comprises:
if the predicted movement is moving along a first direction, a second direction, a third direction or a fourth direction, adjusting the two-dimensional coordinates of the input wiring node in the layout area according to the moving direction to obtain the next wiring node;
or if the predicted action is jumping a process layer, adjusting the process layer where the input wiring node is located to obtain the next wiring node;
or, if the predicted action is to switch a layout object, adjusting the layout object where the input routing node is located to obtain the next routing node.
3. The method of layout of an integrated circuit of claim 1, wherein said predicting the predicted action for the input routing node using the convolutional neural network model comprises:
inputting wiring nodes into the convolutional neural network model, and predicting a predicted action and an incentive value of the inputted wiring nodes by using the convolutional neural network model, wherein the incentive value of the predicted action is determined by the convolutional neural network model according to the predicted action and an incentive mapping relation, the incentive mapping relation represents that each inputted wiring node takes a mapping relation of the corresponding predicted action and the corresponding incentive value, and each wiring result comprises a plurality of predicted actions and the incentive values.
4. The layout method of an integrated circuit according to claim 3, wherein in the reward mapping relationship, a reward value corresponding to a predicted action when a next node obtained by the input routing node by taking the corresponding predicted action satisfies a routing requirement is larger than a reward value corresponding to the predicted action when the next node does not satisfy the routing requirement.
5. Layout method of an integrated circuit according to claim 3,
if the next wiring node obtained by the input wiring node by adopting the corresponding prediction action is positioned in the forbidden region, the prediction action corresponds to a first reward value;
if the next routing node obtained by the input routing node by adopting the corresponding prediction action is positioned at the boundary of the layout area, the prediction action corresponds to a second reward value, and the second reward value is greater than the first reward value;
if the next routing node obtained by the input routing node by adopting the corresponding prediction action is a routed node, the prediction action corresponds to a third reward value, and the third reward value is greater than the first reward value;
if the next node obtained by the input wiring node by adopting the corresponding prediction action is a non-wiring node, the prediction action corresponds to a fourth reward value, and the fourth reward value is greater than the third reward value;
if the input wiring node finishes winding by adopting the next wiring node obtained by the corresponding prediction action, the prediction action corresponds to a fifth reward value, and the fifth reward value is larger than the fourth reward value;
and if the next node obtained by the input wiring node by adopting the corresponding prediction action is the node to be wired, the prediction action corresponds to a sixth reward value, and the sixth reward value is greater than the fifth reward value.
6. The method of layout of an integrated circuit according to claim 3, further comprising:
and performing multiple iterations on the convolutional neural network model by using a strategy gradient algorithm to obtain an optimal wiring result, wherein the optimal wiring result has a maximum reward value.
7. Layout method of an integrated circuit according to claim 3, characterized in that the convolutional neural network model is trained in the following way:
acquiring training data, wherein the training data comprise a plurality of groups of state data, and each group of state data comprises an input wiring node, a next wiring node, a prediction action, a reward value and whether to finish wiring or not;
constructing the convolutional neural network model;
training the convolutional neural network model using the training data.
8. Layout method of an integrated circuit according to any of claims 1 to 7, characterized in that said obtaining of layout results of a plurality of layout objects comprises:
carrying out global layout on the plurality of layout objects to obtain a plurality of global layout results;
and performing DRC detection on the plurality of global layout results to obtain the layout results.
9. A layout apparatus for an integrated circuit, comprising:
the system comprises an acquisition module, a calculation module and a display module, wherein the acquisition module is used for acquiring a layout result of a plurality of layout objects, the layout result represents the primary layout of the plurality of layout objects in the layout areas of a plurality of process layers, and the layout objects are standard cells or substructures in the standard cells;
the prediction module is used for constructing a wiring node according to the layout result, predicting the next wiring node of the input wiring node by using a convolutional neural network model until all the wiring nodes are traversed and obtaining a wiring result, wherein the wiring node is a node to be wired on the layout object;
the wiring module is used for wiring the layout objects according to the wiring result;
wherein, each wiring node is represented by the following four-dimensional data: the two-dimensional coordinates of the routing node in the layout area, the process layer where the routing node is located, and the layout object where the routing node is located, the prediction module predicting a predicted action for the input routing node using the convolutional neural network model, the predicted action including jumping the process layer, switching the layout object, moving in a first direction, moving in a second direction, moving in a third direction, and moving in a fourth direction, the first direction, the second direction, the third direction, and the fourth direction being movable directions within the layout area;
and the prediction module constructs the next wiring node according to the prediction action and the input wiring node, and the next wiring node is taken as the input wiring node and continuously input into the convolutional neural network model until the next wiring node is the last node to be wired in the layout result.
10. A readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the layout method of the integrated circuit according to any one of claims 1 to 8.
11. A terminal device comprising a memory and a processor, said memory having stored thereon a computer program operable on said processor, characterized in that said processor, when executing said computer program, is adapted to perform the steps of the method of layout of an integrated circuit according to any of claims 1 to 8.
CN202211704490.4A 2022-12-29 2022-12-29 Integrated circuit layout method and device, storage medium and terminal equipment Active CN115688670B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211704490.4A CN115688670B (en) 2022-12-29 2022-12-29 Integrated circuit layout method and device, storage medium and terminal equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211704490.4A CN115688670B (en) 2022-12-29 2022-12-29 Integrated circuit layout method and device, storage medium and terminal equipment

Publications (2)

Publication Number Publication Date
CN115688670A CN115688670A (en) 2023-02-03
CN115688670B true CN115688670B (en) 2023-04-14

Family

ID=85056271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211704490.4A Active CN115688670B (en) 2022-12-29 2022-12-29 Integrated circuit layout method and device, storage medium and terminal equipment

Country Status (1)

Country Link
CN (1) CN115688670B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113962186A (en) * 2021-10-28 2022-01-21 中国长城科技集团股份有限公司 Chip layout method and device, terminal equipment and computer readable storage medium
CN114896937A (en) * 2022-05-24 2022-08-12 广东工业大学 Integrated circuit layout optimization method based on reinforcement learning

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777829B (en) * 2017-02-06 2019-04-12 深圳晶源信息技术有限公司 A kind of optimization method and computer-readable storage medium of integrated circuit mask design
US10949595B2 (en) * 2017-06-22 2021-03-16 Semiconductor Energy Laboratory Co., Ltd. Layout design system and layout design method
SG11202105629SA (en) * 2018-12-04 2021-06-29 Google Llc Generating integrated circuit floorplans using neural networks
US11093681B2 (en) * 2019-09-27 2021-08-17 Taiwan Semiconductor Manufacturing Company Ltd. Method and system for generating layout design of integrated circuit
KR20220139399A (en) * 2020-04-22 2022-10-14 구글 엘엘씨 Creating an Integrated Circuit Layout Using Neural Networks
CN115270686A (en) * 2022-06-24 2022-11-01 无锡芯光互连技术研究院有限公司 Chip layout method based on graph neural network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113962186A (en) * 2021-10-28 2022-01-21 中国长城科技集团股份有限公司 Chip layout method and device, terminal equipment and computer readable storage medium
CN114896937A (en) * 2022-05-24 2022-08-12 广东工业大学 Integrated circuit layout optimization method based on reinforcement learning

Also Published As

Publication number Publication date
CN115688670A (en) 2023-02-03

Similar Documents

Publication Publication Date Title
JP7413580B2 (en) Generating integrated circuit floorplans using neural networks
Yu et al. Optimizing task scheduling in human-robot collaboration with deep multi-agent reinforcement learning
Brown et al. Deep reinforcement learning for engineering design through topology optimization of elementally discretized design domains
US20210342516A1 (en) Routing connections in integrated circuits based on reinforcement learning
WO2018143019A1 (en) Information processing device, information processing method, and program recording medium
US20230118325A1 (en) Method and apparatus having a memory manager for neural networks
CN111701246B (en) Decision configuration method and device for game AI
JP2021193618A (en) Model training method, device, electronic device, storage medium, development system and program
Liu et al. Automated clash resolution for reinforcement steel design in precast concrete wall panels via generative adversarial network and reinforcement learning
CN115688670B (en) Integrated circuit layout method and device, storage medium and terminal equipment
CN115130407A (en) Method for partitioning simulation models between a processor and an FPGA
CN102737743A (en) Nuclear power station master control room panel layout method and system thereof
Huang et al. Optimal nonblocking directed control of discrete event systems
CN115270686A (en) Chip layout method based on graph neural network
CN115933638A (en) Multi-robot collaborative exploration method and device, electronic equipment and medium
CN114186306A (en) Customizable reinforcement learning for post placement in structural design
CN116776751B (en) Intelligent decision algorithm model design development auxiliary system
CN116663417B (en) Virtual geographic environment role modeling method
Ferrante et al. Support or automation in decision-making: the role of artificial intelligence for the project
CN116911245B (en) Layout method, system, equipment and storage medium of integrated circuit
CN116415541A (en) End-to-end reinforcement learning mixed scale layout method based on post-processing
Portillo-Vélez et al. Integrated Conceptual Mechatronic Design of a Delta Robot. Machines 2022, 10, 186
CN117540693A (en) Three-dimensional integrated circuit global layout system and method based on vision reinforcement learning
CN117787183A (en) Layout method based on high resolution and low video memory occupation and related device
CN117252134A (en) Digital integrated circuit optimization method, device and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant