Chip layout layer merging method, device and equipment and computer storage medium

By deciding whether to merge layers based on the execution order of operation commands and category labels in the chip layout processing script, the problem of consuming computing resources and extending time due to layer merging operations in chip manufacturing is solved, and more efficient layout optimization is achieved.

CN119443027AActive Publication Date: 2025-02-14ORIENTAL CRYSTAL MICROELECTRONICS TECH (SHANGHAI) CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202411463614.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-18
Publication Date
2025-02-14
Estimated Expiration
2044-10-18

AI Technical Summary

Technical Problem

During the chip manufacturing process, with the advancement of the process, the number of geometric figures in each layer of the layout increases, resulting in layer merging operations before each command, consuming more computing resources and extending optimization time.

Method used

By obtaining the operation commands in the layout processing script file, determining the execution order of the operation commands, and determining whether to merge the layers based on the category labels and judgment results of the operation commands. Merge operations only when necessary to avoid redundant merging and directly call the merged layer.

Benefits of technology

It reduces redundant merge operations during layout optimization, saves computing resources and optimization time, and improves layout optimization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119443027A_ABST
    Figure CN119443027A_ABST
Patent Text Reader

Abstract

The invention discloses a chip layout layer merging method, device and equipment and a computer storage medium. The method comprises the steps of obtaining a layout processing script file; according to a first operation command, determining a first layer which is operated by the first operation command, the first operation command being any one of the plurality of operation commands; executing operation corresponding to the first operation command on the first image layer to obtain a second image layer; according to the execution sequence of the operation command, judging whether the second layer is subjected to operation operation by other operation commands or not to obtain a judgment result; according to the category label of the first operation command and the judgment result, determining whether to perform merging operation on the target graphs in the second graph layer; and under the condition of determining to perform the merging operation on the target graphs in the second graph layer, performing the merging operation on the target graphs in the second graph layer. According to the embodiment of the invention, the layout optimization efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of chip manufacturing technology, and in particular, relates to a chip layout layer merging method, device, equipment and computer storage medium. Background Art

[0002] As chip manufacturing technology continues to develop towards smaller processes, the impact of etching effect and optical proximity effect on chip performance becomes more significant. By compensating for etching effect and correcting optical proximity effect on the layout, the layout can be optimized to improve product yield.

[0003] In the related art, command scripts can be written through Electronic Design Automation (EDA) software to calculate and process geometric figures in each layer in the layout, thereby achieving layout optimization.

[0004] Before executing the commands in the script in each layer of the layout, it is necessary to merge the overlapping or intersecting geometric figures in the layer to obtain a simple, single figure, thereby reducing the complexity of calculation and processing in the command. However, with the advancement of chip manufacturing technology, the integration of chips is getting higher and higher, and the number of geometric figures in each layer of the layout is also increasing. Therefore, in the layout optimization process, performing a merge operation before each command execution will consume more computing resources and make the layout optimization time too long. Summary of the invention

[0005] The embodiments of the present application provide a chip layout layer merging method, device, equipment and computer storage medium, which avoids the problem of needing to perform layer merging operations every time an operation command is executed, reduces unnecessary merging operations during layout optimization, saves computing resources, and also saves layout optimization time.

[0006] In a first aspect, an embodiment of the present application provides a chip layout layer merging method, comprising: obtaining a layout processing script file, the layout processing script file including multiple operation commands, category labels of the operation commands, and an execution order of the operation commands; determining a first operation command from multiple operation commands according to the execution order of the operation commands, the first operation command being any one of the multiple operation commands; performing an operation operation corresponding to the first operation command on the first layer to obtain a second layer; judging whether the second layer is operated on by other operation commands according to the execution order of the operation commands to obtain a judgment result, the other operation commands being operation commands other than the first operation command among the multiple operation commands; determining whether to perform a merge operation on the graphics in the second layer according to the category label of the first operation command and the judgment result, the graphics including graphics with overlapping areas; and performing a merge operation on the second layer when it is determined that a merge operation is performed on intersecting patterns in the second layer.

[0007] In one embodiment, based on the category label of the first operation command and the judgment result, it is determined whether to perform a merge operation on the intersecting patterns in the second layer, including: when it is determined that the category label is a generation class label and the second layer is operated by other operation commands, it is determined that a merge operation is performed on the target graphics in the second layer; when it is determined that the category label is a generation class label and the second layer is not operated by other operation commands, it is determined not to perform a merge operation on the graphics in the second layer; when it is determined that the category label is a filtering class label, it is determined not to perform a merge operation on the graphics in the second layer.

[0008] In one embodiment, when it is determined that the category label is a generation class label and the second layer is operated by other operation commands, after determining to perform a merge operation on the target graphics in the second layer, the method further includes: using the merged second layer as the layer for performing operation operations on other operation commands; when it is determined that the category label is a filtering class label, after determining not to perform a merge operation on the graphics in the second layer, the method further includes: using the second layer that has not been merged as the layer for performing operation operations on other operation commands.

[0009] In one embodiment, according to a first operation command, determining a first layer to be operated on by the first operation command includes: obtaining an original chip layout, the original chip layout including an original layer; and merging graphics with overlapping areas in the original layer to obtain a merged first layer.

[0010] In one embodiment, before obtaining the layout processing script file, the method also includes: parsing the layout processing script to obtain operation commands for the chip layout layer in the script; classifying the operation commands to obtain category labels of the operation commands; constructing an execution order of the operation commands by parsing the logical relationship of the operation commands; and generating a layout processing script file according to the operation commands, category labels and execution order.

[0011] In one embodiment, before determining the first layer to be operated on by the first operation command according to the operation command, it includes: determining a target operation command from multiple operation commands according to the execution order of the operation commands; and determining the target layer to be operated on by the target operation command according to the target operation command.

[0012] In one embodiment, after determining a target operation command from multiple operation commands according to a first operation command and according to the execution order of the operation commands, the method further includes: updating the target operation command according to the execution order of the target operation commands, and returning to obtain a target layer corresponding to the target operation command according to the target operation command until all operation commands are executed.

[0013] In a second aspect, an embodiment of the present application provides a chip layout layer merging device, the device comprising: a first acquisition module, used to acquire a layout processing script file, the layout processing script file comprising multiple operation commands, category labels of the operation commands, and an execution order of the operation commands; a determination module, used to determine, according to the first operation command, a first layer on which a calculation operation is performed by the first operation command, wherein the first operation command is any one of the multiple operation commands; a second acquisition module, used to perform the calculation operation corresponding to the first operation command on the first layer to obtain a second layer; a third acquisition module, used to determine, according to the execution order of the operation commands, whether the second layer is calculated by other operation commands and obtain a judgment result, wherein the other operation commands are operation commands other than the first operation command among the multiple operation commands; a judgment module, used to determine, according to the category label of the first operation command and the judgment result, whether to perform a merge operation on a target graphic in the second layer, wherein the target graphic comprises a graphic with an overlapping area; a merging module, used to perform a merge operation on the second layer when it is determined that a merge operation is performed on intersecting patterns in the second layer.

[0014] In a third aspect, an embodiment of the present application provides a chip layout layer merging device, the device comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, it implements the chip layout layer merging method in the first aspect or any one of the embodiments of the first aspect.

[0015] In a fourth aspect, a computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the chip layout layer merging method in the first aspect or any one of the embodiments of the first aspect is implemented.

[0016] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a chip layout layer merging method such as the first aspect or any one of the implementations of the first aspect.

[0017] The chip layout layer merging method, device, equipment and computer storage medium of the embodiment of the present application obtains the input layer of each operation command in the layout processing script file, that is, the first layer, and performs corresponding calculation operations on the input layer according to the operation command, thereby obtaining the output layer, that is, the second layer. Further, by determining the category label corresponding to the operation command and the judgment result of whether the second layer is used for other operation commands, it is determined whether to merge the second layer. And when it is determined that the second layer needs to be merged, the second layer is merged, so that other operation commands can directly call the merged second layer when performing calculation operations on the second layer, without having to merge the second layer every time the second layer is used. In this way, the layout layer merging method provided in the embodiment of the present application reduces redundant merging operations in the layout optimization process, saves computing resources, and also saves layout optimization time, thereby improving layout optimization efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0019] Figure 1 A schematic diagram of a process of merging chip layout layers provided by an embodiment of the present application is shown;

[0020] Figure 2 A schematic diagram showing a process flow of a chip layout layer merging method provided by another embodiment of the present application is shown;

[0021] Figure 3 A schematic diagram showing a process flow of a chip layout layer merging method provided by yet another embodiment of the present application;

[0022] Figure 4 A schematic diagram showing a process flow of a chip layout layer merging method provided by yet another embodiment of the present application;

[0023] Figure 5A schematic diagram showing a process flow of a chip layout layer merging method provided by yet another embodiment of the present application;

[0024] Figure 6 A schematic diagram showing a process flow of a chip layout layer merging method provided by another embodiment of the present application is shown;

[0025] Figure 7 is a structural schematic diagram of a chip layout layer merging device provided by another embodiment of the present application;

[0026] Figure 8 It is a structural schematic diagram of a chip layout layer merging device provided in yet another embodiment of the present application. DETAILED DESCRIPTION

[0027] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0028] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0029] During the manufacturing process of integrated circuits, the original chip layout needs to be checked for design rules to ensure that the chip layout design complies with the manufacturer's production rules. In addition, in order to ensure chip performance and improve chip yield, the layout can also be optimized through etching effect compensation and optical proximity effect correction.

[0030] In the related art, command scripts can be written through EDA software to calculate and process the geometric figures in each layer of the layout, so as to achieve layout optimization. Among them, each layer in the layout refers to the chip layout divided into multiple different graphic levels with specific functions and attributes. These levels logically or physically represent different parts of the chip structure, such as metal wiring layers, insulation layers, polysilicon layers, etc. Each layer contains a series of geometric figures that define the shape, position and size of the material on that layer.

[0031] Furthermore, before executing the commands in the script in each layer of the layout, it is necessary to merge the overlapping or intersecting geometric figures in the layer to obtain a simple, single figure, thereby reducing the complexity of calculation and processing in the command. However, with the advancement of chip manufacturing technology, the integration of chips is getting higher and higher, and the number of geometric figures in each layer of the layout is also increasing. Therefore, in the layout optimization process, performing a merge operation before each command execution will consume more computing resources and make the layout optimization time too long.

[0032] In order to solve the problems of the prior art, the embodiments of the present application provide a chip layout layer merging method, device, equipment and computer storage medium. The chip layout layer merging method provided by the embodiments of the present application is first introduced below.

[0033] Figure 1 FIG. 1 is a flow chart of a chip layout layer merging method provided by an embodiment of the present application. Figure 1 As shown, the chip layout layer merging method provided in the embodiment of the present application includes the following steps:

[0034] S110, obtaining a layout processing script file.

[0035] The layout processing script file includes multiple operation commands, category labels of the operation commands, and the execution order of the operation commands.

[0036] In the embodiment of the present application, the multiple operation commands in the layout processing script file may be operation commands for optimizing the layout. Furthermore, the operation commands may be used to optimize each layer in the layout so that the optimized layout can produce chips with better performance and higher yield after the photolithography process.

[0037] In one example, the operation commands in the layout processing script file may include a zoom command, that is, the graphics in the layer are zoomed in by the zoom command. In another example, the operation commands in the layout processing script file may also include Boolean operation commands, for example, taking the intersection, union, difference, etc. of the graphics in the layer. It can be understood that the operation commands in the above embodiments are only used for exemplary description, and other operation commands may also be included, which is not limited in the embodiments of the present application.

[0038] In the embodiment of the present application, the operation command category label can be used to distinguish the categories of each operation command in the layout processing script file. Among them, the category of the operation command can represent the different categories of layers obtained after the layer executes the operation command. It can be understood that the category of the operation command can be determined based on the layer output by the operation command.

[0039] In the embodiment of the present application, the execution order of the operation commands can be obtained by sorting multiple operation commands in the layout processing script file.

[0040] S120: According to the first operation command, determine a first layer on which a calculation operation is performed by the first operation command.

[0041] The first operation command may be any one of multiple operation commands in the layout processing script file.

[0042] In the embodiment of the present application, the first layer to be operated by the first operation command can be determined according to the first operation command. That is, the first layer can be operated accordingly according to the first operation command. It can be understood that the first layer is the input layer of the first operation command.

[0043] Exemplarily, the first layer may be one or more. In one example, if the first operation command is to zoom in on a graphic in layer x, then the first layer is layer x. In another example, if the first operation command is to merge layer x and layer y, then the first layer is layer x and layer y.

[0044] S130: Execute a calculation operation corresponding to the first operation command on the first layer to obtain a second layer.

[0045] In the embodiment of the present application, a corresponding operation may be performed on the graphics in the first layer according to the first operation command to obtain the second layer.

[0046] The second layer may be a layer obtained after performing the first target operation, and the graphic is different from the first layer. In one example, after performing a calculation operation on the first layer according to the first operation command, a new layer may be constructed to store the result of the calculation operation on the first layer, and the new layer may be used as the second layer.

[0047] S140: According to the execution order of the operation commands, determine whether the second layer is operated by other operation commands, and obtain a determination result.

[0048] Among them, other operation commands are operation commands other than the first operation command among the multiple operation commands.

[0049] In the embodiment of the present application, the operation commands in the layout processing script file can be traversed to determine whether the second layer is operated by other operation commands and obtain corresponding results.

[0050] S150: Determine whether to perform a merge operation on the target graphics in the second layer according to the category label of the first operation command and the judgment result.

[0051] The target graphics include graphics with overlapping areas.

[0052] In the embodiment of the present application, whether the target graphics in the second layer need to be merged can be determined through the category label of the first operation command and the judgment result.

[0053] S160: When it is determined that a merge operation is to be performed on the target graphics in the second layer, a merge operation is performed on the target graphics in the second layer.

[0054] In the embodiment of the present application, after it is determined that a merge operation needs to be performed on the target graphics in the second layer, a merge operation can be performed on the target graphics in the second layer.

[0055] Exemplarily, the merging operation on the second layer may be to merge the target graphics in the second layer, that is, the graphics with overlapping areas, so as to convert the graphics with overlapping areas into one graphic. It is understandable that the merging operation on the target graphics in the second layer may be to obtain the outline of the graphics in the overlapping area, and use the graphics corresponding to the outline of the overlapping area as the graphics in the merged second layer.

[0056] In an embodiment of the present application, a layout processing script file can be obtained. The layout processing script file includes a plurality of operation commands, a category label of the command, and an execution order of the operation commands. The operation corresponding to the first operation command is performed on the first layer to obtain the second layer. And through the execution order of the operation commands, it is determined whether the second layer is operated by other operation commands to obtain a judgment result. According to the category label of the first operation command and the judgment result, it is determined whether to perform a merge operation on the target graphics in the second layer. When it is determined that a merge operation needs to be performed on the target graphics in the second layer, a merge operation is performed on the target graphics in the second layer.

[0057] In an embodiment of the present application, the input layer of each operation command in the layout processing script file, i.e., the first layer, is obtained, and the input layer is subjected to corresponding calculation operations according to the operation command, thereby obtaining the output layer, i.e., the second layer. Furthermore, by determining the category label corresponding to the operation command and the judgment result of whether the second layer is used for other operation commands, it is determined whether to merge the second layer. And when it is determined that the second layer needs to be merged, the second layer is merged, so that other operation commands can directly call the merged second layer when performing calculation operations on the second layer, without having to merge the second layer every time the second layer is used. In this way, redundant merging operations in the layout optimization process are reduced, computing resources are saved, and layout optimization time is also saved, thereby improving layout optimization efficiency.

[0058] In an embodiment of the present application, the category label of the operation command may include a generation class label and a filtering class label. Among them, when the operation command is a command to generate a new graphic based on the graphics of the input layer, the operation command can be assigned a generation class label; when the operation command is a command to filter based on the graphics in the input layer, the operation command can be assigned a filtering class label. It can be understood that for an operation command marked with a generation class label, the graphics of the layer obtained after the operation command is executed may have overlapping areas; for an operation command marked with a filtering class label, the graphics of the layer obtained after the operation command is executed will not have overlapping areas.

[0059] Figure 2 FIG. 2 is a flow chart of a chip layout layer merging method provided by another embodiment of the present application. Figure 2 As shown, another chip layout layer merging method provided in an embodiment of the present application includes the following steps:

[0060] S210, obtaining a layout processing script file.

[0061] S220: According to the first operation command, determine a first layer on which a calculation operation is performed by the first operation command.

[0062] S230: Execute a calculation operation corresponding to the first operation command on the first layer to obtain a second layer.

[0063] S240: According to the execution order of the operation commands, determine whether the second layer is operated by other operation commands, and obtain a determination result.

[0064] S251: When it is determined that the category label is a generated category label and the second layer is operated by other operation commands, it is determined to merge the target graphics in the second layer.

[0065] S252: When it is determined that the category label is a generated category label and the second layer is not operated by other operation commands, it is determined not to merge the graphics in the second layer.

[0066] S253: When it is determined that the category label is a filtering label, determine not to perform a merging operation on the graphics in the second layer.

[0067] S260: When it is determined that a merge operation is to be performed on the target graphics in the second layer, a merge operation is performed on the target graphics in the second layer.

[0068] Among them, steps S210-S240 are consistent with steps S110-S140, and step S260 is consistent with step S160, and will not be described in detail here.

[0069] In the embodiment of the present application, it can be determined whether to perform a merge operation on the intersecting patterns in the second layer according to the category label of the first operation command and the judgment result. Wherein, when it is determined that the category label is a generation class label and the second layer is operated by other operation commands, it is determined to perform a merge operation on the target graphics in the second layer; when it is determined that the category label is a generation class label and the second layer is not operated by other operation commands, it is determined not to perform a merge operation on the graphics in the second layer; when it is determined that the category label is a filtering class label, it is determined not to perform a merge operation on the graphics in the second layer.

[0070] In some optional embodiments, when it is determined that the category label is a generated class label and the second layer is operated on by other operation commands, after determining to merge the target graphics in the second layer, the merged second layer can be used as the layer for other operation commands to perform operation.

[0071] In the embodiment of the present application, after determining that the second layer needs to be merged, the second layer after the merge operation can be stored, and when other operation commands need to use the second layer for calculation operations, the stored second layer can be directly called for performing the calculation operations. In this way, each time the second layer needs to be used for calculation operations, the merged second layer can be directly called, avoiding the redundant process of merging the second layer each time.

[0072] In some optional embodiments, when it is determined that the category label is a filtering label and after determining not to perform a merge operation on the graphics in the second layer, when it is determined that the second layer is being operated on by other operation commands, the second layer that has not been merged can be used as a layer for other operation commands to perform operations.

[0073] In the embodiment of the present application, after determining that the second layer does not need to be merged, the second layer after the merge operation is not performed can be stored. It can be understood that for the second layer obtained by the operation command corresponding to the filter class tag, there is no intersection or overlap area in the graphics of the second layer. Therefore, it is not necessary to merge the second layer. In addition, the second layer for merging can be stored, and when it is determined that the second layer is operated by other operation commands, the stored second layer can be directly called to perform the operation. In addition, the redundant process of merging the second layer each time the second layer is used can be avoided.

[0074] Exemplarily, the layer corresponding to each command in the layout processing script file can be the initial layer, or it can be a layer obtained after executing other operation commands. Therefore, in order to ensure that when multiple operation commands call the initial layer, the initial layer will not be merged each time it is called, as another implementation of the present application, the present application also provides another implementation of the chip layout layer merging method, which is specifically referred to in the following embodiments.

[0075] Figure 3 FIG. 2 is a flow chart of a chip layout layer merging method provided by another embodiment of the present application. Figure 3 As shown, the chip layout layer merging method includes the following steps:

[0076] S310, obtaining an original chip layout, wherein the original chip layout includes an original layer.

[0077] In the embodiment of the present application, an original chip layout may be obtained. The original chip layout includes an original layer. The original chip layout may be a chip layout designed by a technician according to the performance of the required chip. Furthermore, the original chip layout may include one or more original layers.

[0078] Exemplarily, each layer in the original layout has a graphic hierarchy with specific functions and properties. For example, the original layer may be a metal wiring layer, an insulating layer, a polysilicon layer, and the like.

[0079] S320: Merging graphics with overlapping areas in the original layers.

[0080] Exemplarily, the graphics with overlapping areas in the original layers may be merged to obtain a merged original layer.

[0081] It is understandable that when the first operation command calls the original layer to perform the operation, the merged original layer can be directly called.

[0082] Exemplarily, after the graphics with overlapping areas in the original layers are merged to obtain the merged original layers, the merged first layer can be stored in the storage area to ensure that the operation command can obtain the merged layer.

[0083] In an embodiment of the present application, by obtaining the original chip layout and merging the graphics with overlapping areas in the layers of the original chip layout, it is ensured that each command operation can directly call the layer after the graphics are merged when calling the original layer. It is not necessary to merge the original layer every time the original layer is called, thereby avoiding redundant merging operations and improving the optimization efficiency of the layout.

[0084] In order to obtain the layout processing script file, as another implementation method of the present application, the present application also provides another implementation method of the chip layout layer merging method, please refer to the following embodiments for details.

[0085] Figure 4 FIG. 2 is a flow chart of a chip layout layer merging method provided by another embodiment of the present application. Figure 4 As shown, the present application provides a chip layout layer merging method, comprising the following steps:

[0086] S401, parsing the layout processing script to obtain the operation commands for the chip layout layer in the script.

[0087] S402: Classify the operation command to obtain a category label of the operation command.

[0088] S403: Construct an execution sequence of the operation commands by analyzing the logical relationship of the operation commands.

[0089] S404: Generate a layout processing script file according to the operation command, category label and execution order.

[0090] S405, obtaining a layout processing script file.

[0091] S406: According to the first operation command, determine a first layer to be operated by the first operation command.

[0092] S407: Execute a calculation operation corresponding to the first operation command on the first layer to obtain a second layer.

[0093] S408: According to the execution order of the operation commands, determine whether the second layer is operated by other operation commands, and obtain a determination result.

[0094] S409: Determine whether to perform a merge operation on the target graphics in the second layer according to the category label of the first operation command and the judgment result.

[0095] S410: When it is determined that a merge operation is to be performed on the target graphics in the second layer, a merge operation is performed on the target graphics in the second layer.

[0096] Among them, steps S405-S410 are consistent with steps S110-S150, and will not be described in detail here.

[0097] In some embodiments, in step S401, the operation commands for the chip layout layer in the script are obtained by parsing the layout processing script, wherein the layout processing script may be a layout processing script deployed by a technician to achieve layout optimization.

[0098] Exemplarily, the layout script may include multiple operation commands, wherein the operation command may be a command for performing calculation operations on the layer.

[0099] In some embodiments, in step S402, the operation commands may be classified to obtain a category label of each operation command.

[0100] In the embodiment of the present application, the operation commands may be classified with reference to the preset discrimination conditions to obtain the category labels of the various operation commands, wherein the preset discrimination conditions may be pre-set by the technicians.

[0101] In one example, the preset judgment condition may be whether the layer obtained after executing the operation command can obtain a graphic with an overlapping relationship. For example, after executing the first operation command on layer x, layer x1 may be obtained. If there are graphics with an overlapping relationship in layer x1, the category label corresponding to the first operation command may be determined; if there are no graphics with an overlapping relationship in layer x1, the category label corresponding to the first operation command may be determined.

[0102] In some embodiments, in step S403, the execution order of the operation commands may be constructed by parsing the logical relationship of the operation commands.

[0103] In the embodiment of the present application, the execution order of each operation command can be determined by constructing the logical relationship between each operation command. It can be understood that by constructing the execution order of the operation command, it is possible to more conveniently determine the position of the first operation command in the entire layout processing script file, and then it is possible to more accurately and conveniently determine whether the second layer obtained based on the first operation command is operated by other operation commands, and it is also possible to more conveniently determine whether the first operation command is the last command in the entire layout processing script file.

[0104] In some embodiments, in step S404, a layout processing script file may be generated according to the operation command, category label, and execution order.

[0105] In the embodiment of the present application, the operation commands for the chip layout layer in the script can be obtained by parsing the layout processing script, and each operation command can be classified to obtain the category label of the operation command. The execution order of the operation command is constructed by parsing the logical relationship of the operation command. Further, according to the operation command, the category label and the execution order, the layout processing script file is determined, so that the multiple operation commands in the layout processing script file have a logical order, and each operation command also includes a corresponding category label.

[0106] In order to ensure that each operation in the layout processing script file can be executed in the order of execution, as another implementation method of the present application, the present application also provides another implementation method of the chip layout layer merging method, please refer to the following embodiments for details.

[0107] Figure 5 FIG. 2 is a flow chart showing a method for merging chip layout layers provided by another embodiment of the present application. Figure 5 As shown, the present application embodiment provides a chip layout layer merging method, comprising the following steps:

[0108] S510, obtaining a layout processing script file.

[0109] S220: Determine a target operation command from a plurality of operation commands according to the execution order of the operation commands.

[0110] S530. According to the target operation command, determine the target layer to be operated by the target operation command.

[0111] S540: Execute a calculation operation corresponding to the target operation command on the target layer to obtain a second target layer.

[0112] S550: According to the execution order of the operation commands, determine whether the second target layer is operated by other operation commands, and obtain a determination result.

[0113] S560: Determine whether to perform a merge operation on the target graphics in the second target layer according to the category label of the target operation command and the judgment result.

[0114] S570: When it is determined that a merge operation is to be performed on the target graphics in the second target layer, a merge operation is performed on the target graphics in the second target layer.

[0115] Among them, step S510 is consistent with step S110, and steps S540-S570 are consistent with steps S130-S160, which will not be described in detail. Among them, the second target layer can be a layer obtained after the target layer performs the operation corresponding to the target operation command.

[0116] In some embodiments, in S520, the target operation command may be determined from multiple operation commands according to the execution order of the operation commands. For example, the operation command at the top of the execution order of the operation commands may be used as the target operation command.

[0117] For example, the first operation command in the execution order can be determined as the first operation command according to the execution order of the operation commands. It can be understood that, by executing the operation commands in the execution order starting from the first operation command, it can be ensured that the layers that have been merged in the previous commands can be called when the latter commands are executed, thus avoiding repeated merging operations.

[0118] In some embodiments, in S530, the first layer to be operated by the target operation command may be determined according to the target operation command. The first layer to be operated by the target operation command may be acquired according to the target operation command.

[0119] In an embodiment of the present application, a target operation command can be determined from multiple operation commands according to the execution order of the operation commands, and the first layer to be operated on by the target operation command can be determined, so that the operation commands are executed in sequence according to the execution order. This can ensure that when the subsequent commands are executed, they can call the layers that have been merged in the previous commands, thereby avoiding repeated merge operations.

[0120] In order to optimize the various layers involved in the layout processing script file, as another implementation method of the present application, the present application also provides another implementation method of the chip layout layer merging method, please refer to the following embodiments for details.

[0121] Figure 6 FIG. 2 is a flow chart of a chip layout layer merging method provided by another embodiment of the present application. Figure 6 As shown, another chip layout layer merging method provided in an embodiment of the present application includes the following steps:

[0122] S610, obtaining a layout processing script file.

[0123] S620: Determine a target operation command from multiple operation commands according to the execution order of the operation commands.

[0124] S630. According to the target operation command, determine the target layer to be operated by the target operation command.

[0125] S640: Execute a calculation operation corresponding to the target operation command on the target layer to obtain a second target layer.

[0126] S650. According to the execution order of the operation commands, determine whether the first operation command is the last command in the execution order. If so, end; if not, execute step S660.

[0127] S660: Update the target operation command according to the execution order of the operation command.

[0128] Among them, steps S610-S640 are consistent with steps S510-S540, and will not be described in detail here.

[0129] In the embodiment of the present application, it can be determined whether the target operation command is the last command in the layout processing script file according to the execution order of the operation command. When it is determined that the target operation command is the last operation command in the layout processing script file, the optimization of the chip layout layer is completed. When it is determined that the target operation command is not the last command in the layout processing script file, the target operation command is updated according to the execution order of the operation command, and the first layer corresponding to the updated target operation command is re-determined, and it is determined whether the first layer needs to be merged with the second layer obtained by executing the updated target operation command, until all commands in the layout processing script file are executed.

[0130] In one example, updating the target operation command according to the execution order of the operation commands may be to update the operation command after the target operation command as the target operation command according to the execution order.

[0131] Exemplarily, after obtaining the layout processing script file, the target operation command is determined by the execution order of the operation commands in the layout processing script file, and the target layer corresponding to the first target operation command is obtained. Further, the target layer is operated according to the target operation command to obtain the second target layer. It is determined whether the target operation command is the last operation command in the execution order of the operation commands. When it is determined that the target operation command is not the last operation command, it is determined whether the second target layer is operated by other operation commands, and a judgment result is obtained.

[0132] Further, according to the category label of the target operation command and the judgment result, it is determined whether to perform a merge operation on the target graphics in the second target layer. When it is determined that the target graphics in the second target layer need to be merged, the target graphics in the second target layer are merged. And, after the target graphics in the second target layer are merged, the target operation command is updated, and the target layer corresponding to the updated target operation command is re-determined. When it is determined that the target graphics in the second target layer do not need to be merged, the target operation command is updated, and the target layer corresponding to the updated target operation command is re-determined. Until the first target operation command is determined to be the last command, at this time, it can be determined that the layout processing script files have been executed, that is, the chip layout is optimized.

[0133] In the embodiment of the present application, by judging whether the target operation command is the last command in the execution order, it is ensured that each command in the layout processing file can be executed, thereby ensuring the completeness of the layout optimization process.

[0134] Based on the chip layout layer merging method provided in the above embodiment, the present application also provides a specific implementation of a chip layout layer merging device. Please refer to the following embodiment.

[0135] See first Figure 7 The chip layout layer merging device 700 provided in the embodiment of the present application includes the following modules:

[0136] The first acquisition module 701 is used to acquire a layout processing script file, which includes a plurality of operation commands, category labels of the commands, and an execution order of the operation commands.

[0137] The determination module 702 is used to determine, according to a first operation command, a first layer to be operated by the first operation command, where the first operation command is any one of a plurality of operation commands.

[0138] The second acquisition module 703 is used to perform a calculation operation corresponding to the first operation command on the first layer to obtain a second layer.

[0139] The third acquisition module 704 is used to determine whether the second layer is operated by other operation commands according to the execution order of the operation commands, and obtain a determination result, where the other operation commands are operation commands other than the first operation command among the multiple operation commands.

[0140] The judgment module 705 is used to determine whether to perform a merging operation on the target graphics in the second layer according to the category label of the first operation command and the judgment result, and the target graphics include graphics with overlapping areas.

[0141] The merging module 706 is used to perform a merging operation on the second layer when it is determined that the intersecting patterns in the second layer need to be merged.

[0142] As another implementation method of the present application, the merging module 706 determines whether to perform a merge operation on the intersecting patterns in the second layer according to the category label of the first operation command and the judgment result in the following manner: when it is determined that the category label is a generation class label and the second layer is operated by other operation commands, it is determined to perform a merge operation on the target graphics in the second layer; when it is determined that the category label is a generation class label and the second layer is not operated by other operation commands, it is determined not to perform a merge operation on the graphics in the second layer; when it is determined that the category label is a filtering class label, it is determined not to perform a merge operation on the graphics in the second layer.

[0143] In one embodiment, when it is determined that the category label is a generation class label and the second layer is operated by other operation commands, after determining to perform a merge operation on the target graphics in the second layer, the merge module 706 is also used to: use the merged second layer as the layer for other operation commands to perform operations; when it is determined that the category label is a filtering class label, after determining not to perform a merge operation on the graphics in the second layer, the merge module 706 is also used to: use the second layer that has not been merged as the layer for other operation commands to perform operations.

[0144] In one embodiment, the first acquisition module 701 determines the first layer to be operated on by the first operation command according to the first operation command in the following manner: obtaining the original chip layout, which includes the original layer; and merging the graphics with overlapping areas in the original layer to obtain the merged first layer.

[0145] In one embodiment, before obtaining the layout processing script file, the device also includes a generation module: used to parse the layout processing script to obtain the operation commands for the chip layout layer in the script; classify the operation commands to obtain the category labels of the operation commands; construct the execution order of the operation commands by parsing the logical relationship of the operation commands; generate the layout processing script file according to the operation commands, category labels and execution order.

[0146] In one embodiment, before determining the first layer to be operated on by the first operation command according to the operation command, the determination module 702 is also used to: determine the target operation command from multiple operation commands according to the execution order of the operation commands; determine the first layer to be operated on by the first operation command according to the first operation command, including: determining the first layer to be operated on by the target operation command according to the target operation command.

[0147] In one embodiment, after determining the target operation command from multiple operation commands according to the first operation command and the execution order of the operation commands, the judgment module 705 is also used to: update the target operation command according to the execution order of the target operation commands, and return to obtain the first layer corresponding to the target operation command according to the target operation command until all operation commands are executed.

[0148] Figure 8 A schematic diagram of the hardware structure of a chip layout layer merging device provided in an embodiment of the present application is shown.

[0149] The chip layout layer merging device may include a processor 801 and a memory 802 storing computer program instructions.

[0150] Specifically, the processor 801 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0151] The memory 802 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 802 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 802 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 802 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 802 is a non-volatile solid-state memory.

[0152] The memory may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical or other physical / tangible memory storage devices. Thus, typically, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to an aspect of the present disclosure.

[0153] The processor 801 implements any one of the chip layout layer merging methods in the above embodiments by reading and executing computer program instructions stored in the memory 802 .

[0154] In one example, the chip layout layer merging device may further include a communication interface 803 and a bus 810. Figure 8 As shown, the processor 801, the memory 802, and the communication interface 803 are connected via a bus 810 and communicate with each other.

[0155] The communication interface 803 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0156] Bus 810 includes hardware, software or both, and the parts of online data flow billing equipment are coupled to each other. For example, but not limitation, bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-end bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 810 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the application considers any suitable bus or interconnection.

[0157] The chip layout layer merging device can execute the chip layout layer merging method in the embodiment of the present application based on the layout processing script file, thereby realizing the combination Figure 1 and Figure 6 The invention describes a chip layout layer merging method and device.

[0158] In addition, in combination with the chip layout layer merging method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, any one of the chip layout layer merging methods in the above embodiment is implemented.

[0159] The present embodiment also provides a computer program product, including a computer program, which, when executed, implements any one of the chip layout layer merging methods in the above embodiments.

[0160] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.

[0161] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0162] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0163] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0164] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.

Claims

1. A chip layout layer merging method, characterized in that: include: Obtaining a layout processing script file, wherein the layout processing script file includes a plurality of operation commands, category labels of the operation commands, and an execution order of the operation commands; Determine, according to a first operation command, a first layer to be operated by the first operation command, wherein the first operation command is any one of the multiple operation commands; Performing a calculation operation corresponding to the first operation command on the first layer to obtain a second layer; According to the execution order of the operation commands, determining whether the second layer is operated by other operation commands, and obtaining a determination result, wherein the other operation commands are operation commands other than the first operation command among the multiple operation commands; Determine whether to perform a merge operation on the target graphics in the second layer according to the category label of the operation command and the judgment result, wherein the target graphics include graphics with overlapping areas; In a case where it is determined to perform a merging operation on the target graphics in the second layer, a merging operation is performed on the target graphics in the second layer.

2. The method according to claim 1, characterized in that: The determining, according to the category label of the first operation command and the judgment result, whether to perform a merging operation on the intersecting patterns in the second layer includes: When it is determined that the category label is a generated class label and the second layer is operated by other operation commands, determining to perform a merging operation on the target graphics in the second layer; When it is determined that the category label is a generated class label and the second layer is not operated by other operation commands, it is determined not to perform a merging operation on the graphics in the second layer; When it is determined that the category label is a filtering label, it is determined not to perform a merging operation on the graphics in the second layer.

3. The method according to claim 2, characterized in that In the case where it is determined that the category label is a generated class label and the second layer is operated by other operation commands, after determining to perform a merge operation on the target graphics in the second layer, the method further includes: Using the merged second layer as a layer for performing calculation operations with other operation commands; After determining that the category label is a filtering label and determining not to perform a merging operation on the graphics in the second layer, the method further includes: When it is determined that the second layer is operated on by other operation commands, the second layer that has not been merged is used as the layer for the other operation commands to perform operation operations.

4. The method according to claim 1, characterized in that Before determining, according to the first operation command, the first layer to be operated by the operation command, the method further includes: Acquire an original chip layout, wherein the original chip layout includes an original layer; The graphics with overlapping areas in the original layers are merged.

5. The method according to claim 1, characterized in that Before obtaining the layout processing script file, the method further includes: Parsing the layout processing script to obtain the operation commands for the chip layout layer in the script; Classifying the operation command to obtain a category label of the operation command; By analyzing the logical relationship of the operation commands, the execution order of the operation commands is established; A layout processing script file is generated according to the operation command, the category label and the execution order.

6. The method according to claim 1, characterized in that The step of determining, according to the operation command, a first layer to be operated by the first operation command includes: Determining a target operation command from the multiple operation commands according to the execution order of the operation commands; According to the target operation command, a target layer on which a calculation operation is performed by the target operation command is determined.

7. The method according to claim 6, characterized in that After determining the target operation command from the multiple operation commands according to the execution order of the operation commands, the method further includes: When it is determined that the target operation command is not the last operation command in the execution order, the target operation command is updated according to the execution order of the operation commands, and the target layer corresponding to the target operation command is obtained according to the target operation command until all operation commands are executed.

8. A chip layout layer merging device, characterized in that: The device comprises: A first acquisition module is used to acquire a layout processing script file, wherein the layout processing script file includes a plurality of operation commands, category labels of the operation commands, and an execution order of the operation commands; a determination module, configured to determine, according to a first operation command, a first layer to be operated on by the first operation command, wherein the first operation command is any one of the plurality of operation commands; A second acquisition module, configured to perform a calculation operation corresponding to the first operation command on the first layer to obtain a second layer; A third acquisition module is used to determine whether the second layer is operated by other operation commands according to the execution order of the operation commands, and obtain a determination result, wherein the other operation commands are operation commands other than the first operation command among the multiple operation commands; a judgment module, configured to determine whether to perform a merging operation on the graphics in the second layer according to the category label of the first operation command and the judgment result, wherein the graphics include graphics with overlapping areas; The merging module is used to perform a merging operation on the second layer when it is determined that the intersecting patterns in the second layer need to be merged.

9. A chip layout layer merging device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the chip layout layer merging method as described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the chip layout layer merging method as described in any one of claims 1 to 7 is implemented.

11. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the chip layout layer merging method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for merging GDSII layout data

    CN102446230A

  • Reconstruction method of general EDA model layout physical connection relationship

    CN112199918A

  • Photomask pattern processing method and processing device and photomask plate

    CN113075857A

  • Method for correcting optical proximity effect

    CN115453815A

  • Operation script optimization method and system and storage medium

    CN116775039A