Secondary dummy and layout automatic integration method and device and electronic equipment

Through the automated secondary dummy and layout integration methods, the problems of traditional manual operation inefficiency and high error rate are solved, and efficient and accurate integration of dummy fill and layout are achieved, improving chip performance and design consistency.

CN120046567APending Publication Date: 2025-05-27EMPYREAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510200272.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In the prior art, dummy fill and layout integration operations need to be performed manually, resulting in inefficient designs and high error rates, especially when dealing with complex large-scale integrated circuits.

Method used

Provides a secondary dummy and layout automatic integration method, and automates the integration process of dummy fill and layout by building a use case library and performing multiple dummy fill and integration operations.

Benefits of technology

Improve design efficiency, reduce human errors, ensure the correctness and consistency of layout layout, and optimize the chip's performance and yield.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120046567A_ABST
    Figure CN120046567A_ABST
Patent Text Reader

Abstract

The invention discloses a secondary dummy and layout automatic integration method and device and electronic equipment, and the method comprises the steps: guaranteeing the uniform distribution of the metal density of a layout through a twice refined dummy process, and further optimizing a layout, and then, employing a layout automatic integration mode, integrating the twice dummy results into an original layout, and guaranteeing the correctness of the layout. The method and the device are used for solving the problem of how to completely realize automatic dummy and layout integration so as to improve the design efficiency and reduce the error rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of integrated circuit design and manufacturing, and particularly to a method and device for automatically integrating secondary dummy and layout, and an electronic device. Background Art

[0002] In modern integrated circuit (IC) manufacturing, the virtual fill (dummy fill) technology plays a crucial role. With the development of semiconductor technology, especially when the process node is further improved, the problem of chip surface unevenness becomes particularly prominent, which not only affects device performance and stability but also poses challenges to subsequent manufacturing steps. As a technology for improving surface planarization, dummy fill improves the uniformity of layout density by adding redundant metal (dummy metal) to the blank areas of the layout, thereby optimizing the chemical mechanical polishing (CMP) process.

[0003] However, with the continuous progress of semiconductor process technology, traditional dummy fill methods are difficult to meet the increasingly strict design rule requirements. Therefore, more complex and refined secondary dummy fill strategies need to be adopted. Secondary dummy fill involves further optimization and adjustment of the initially added dummy metal to ensure a more uniform metal density distribution across the entire chip surface. After both the first dummy fill and the secondary dummy fill, there is an issue of integrating the generated design (layout) layout file with the first design layout file, which is usually accomplished by adding the layout output after subsequent dummy fill as an instance to the top cell of the first layout layout file. In this process, the designer needs to ensure that the origin coordinates of the instance match those of the first layout to avoid errors in subsequent DRC and LVS checks. In existing technical solutions, designers often need to perform the integration operation manually. However, manual operation is not only time-consuming and laborious but also prone to introducing human errors, especially when dealing with complex large-scale integrated circuits. Therefore, the development of an automated tool for dummy fill and layout integration is crucial to improve design efficiency and reduce the error rate. Summary of the Invention

[0004] Embodiments of the present application provide a method and device for automatically integrating secondary dummy and layout to solve the problem of how to fully automate the integration of dummy and layout to improve design efficiency and reduce the error rate.

[0005] On the one hand, an embodiment of the present application provides a method for automatically integrating secondary dummy and layout, including:

[0006] Step 1: Construct a use case library containing multiple instances, and create a result directory and an integration directory for each use case. Among them, the result directory includes: the first dummy fill result directory FIRST_DUM and the second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM;

[0007] Step 2: Import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM, execute the first dummy fill, and output at least one first layout result file. The first layout layout file is the original layout layout file;

[0008] Step 3: Perform the first integration on all the first layout result files and the first layout layout file to generate the second layout layout file required for the second dummy fill;

[0009] Step 4: Import the second layout layout file and the rule file of the second dummy fill into the second dummy fill result directory SECOND_DUM, execute the second dummy fill, and output at least one second layout result file;

[0010] Step 5: Perform the second integration on the second layout result file, the first layout result file, and the first layout layout file, output the integrated layout layout file, and write it into the specified output file.

[0011] Optionally, step 1 of creating a result directory and an integration directory for each use case specifically includes:

[0012] Step 101: Obtain the use case library required for each dummy fill and layout layout integration. Among them, each use case contains the rule file of the first dummy fill, the rule file of the second dummy fill, and the original layout layout file;

[0013] Step 102: Configure the dummy fill tool, the layout integration tool, and the rule file of the first dummy fill and the rule file of the second dummy fill for each use case;

[0014] Step 103: Automatically read each use case in the use case library, and respectively create a first dummy fill result directory FIRST_DUM, a second dummy fill result directory SECOND_DUM, and a merge directory MERGE_DUM under the result directory of each use case.

[0015] Optionally, in step two, import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM, perform the first dummy fill, and output at least one first layout result file, specifically including:

[0016] Step 201: Import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM;

[0017] Step 202: Check the currently runnable dummy fill tool, perform the first dummy fill operation under the first dummy fill result directory FIRST_DUM, and output at least one layout result file.

[0018] Optionally, in step five, perform a second integration of the second layout result file, the first layout result file, and the first layout layout file, output the integrated layout layout file, and write it into the specified output file, including:

[0019] Take the original layout layout file, the second layout result file, and the first layout result file, and use the custom layout integrated layout file name as the input of the integration module;

[0020] Use the original layout layout file as the layout 0 layout, create a layout view layoutA based on the layout 0 layout, and the layout view layout A saves all the attributes of the layout 0 layout and the mapping relationship related to the data type of the layout 0 layout;

[0021] Obtain the top cell name of the layout view layout A, create a dummy_cell in the layout view layout A, and use the dummy_cell as a sub-cell under the layout A top cell, and the dummy_cell is used to store the results of each dummy fill;

[0022] Loop through each element in the current layout result file in sequence, construct layout view layoutB based on the current element, import layout view layoutB into layout view layoutA, save all attributes of the layout of layoutB and related layer data types, and generate the first integrated layout.

[0023] Optionally, it includes: when the top cell names of layout view layoutB and layout view layoutA are the same, automatically add a suffix to the top cell name of layout view layoutB.

[0024] Optionally, the method further includes:

[0025] Obtain all top cells in the preliminary integrated layout, and traverse the names of all top cells;

[0026] When it is determined that the name of the current top cell is not equal to the name of the original layout top cell in layout view layoutA, reference the top cell corresponding to the name of the current top cell under the dummy_cell structure to generate the second integrated layout;

[0027] Write the second integrated layout into the specified output file according to the custom layout integrated layout file name.

[0028] On the other hand, the present application also provides a secondary dummy and layout automatic integration device, including:

[0029] An initialization module for constructing a use case library containing multiple instances, and creating a result directory and an integration directory for each use case. Among them, the result directory includes: the first dummy fill result directory FIRST_DUM and the second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM;

[0030] A first dummy fill module for importing the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM, performing the first dummy fill, and outputting at least one first layout result file. The first layout layout file is the original layout layout file;

[0031] The first integration module is used to perform the first integration on all the first layout result files and the first layout layout files to generate the second layout layout file required for the second dummy fill;

[0032] The second dummy fill module imports the second layout layout file and the rule file of the second dummy fill into the second dummy fill result directory SECOND_DUM, performs the second dummy fill, and outputs at least one second layout result file;

[0033] The second integration module is used to perform the second integration on the second layout result file, the first layout result file, and the first layout layout file, output the integrated layout layout file, and write it into the specified output file.

[0034] This application also provides a computer device, including a memory, a processor, and a computer program stored in the memory and operable on the processor. The processor, when executing the computer program, implements the steps of a secondary dummy and layout automatic integration method as described above.

[0035] In this application, it has the following advantages:

[0036] This application provides a secondary dummy and layout automatic integration method. By means of two refined dummy processes, it ensures the uniform distribution of the layout metal density and further optimizes the layout layout. Secondly, by adopting the layout automatic integration method, the results of the two dummy fills are integrated into the original layout layout to ensure the correctness of the layout layout.

[0037] Among them, 1. Improve efficiency: By applying automated tools and algorithms, the present invention significantly improves the design efficiency, reduces the time and labor required for manual operations, and thus solves the problem of time-consuming and laborious dummy fill processes and manual merge integration operations in the prior art.

[0038] 2. Reduce the error rate: The automated dummy fill and layout integration processes reduce the occurrence of human errors. Especially when dealing with complex large-scale integrated circuits, it avoids the errors that may be introduced by manual operations and ensures the correctness of the layout layout.

[0039] 3. Optimize performance and yield: The present invention ensures the uniform distribution of the layout metal density through a refined secondary dummy fill process, further optimizes the layout layout, and improves the performance and yield of the chip.

[0040] 4. Improve the design consistency and traceability: The automated integration tool can keep the structure of the original layout unchanged, while differentiating the dummy fill results at the cell hierarchy level without affecting the original layout structure, thus improving the design consistency and traceability.

[0041] In summary, through the automated secondary dummy and layout integration method, the present invention not only solves the problems of low efficiency and high error rate caused by traditional manual operations, but also optimizes the performance and yield of the chip, simplifies the design process, and improves the design consistency, traceability and flexibility. Brief Description of the Drawings

[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0043] Figure 1 It is a schematic diagram of the steps of a secondary dummy and layout automatic integration method according to an embodiment of the present application.

[0044] Figure 2 It is a detailed logic flow chart of a secondary dummy and layout automatic integration method according to an embodiment of the present application;

[0045] Figure 3 It is a flow chart of the layout automatic integration algorithm according to an embodiment of the present application.

[0046] Figure 4 It is a schematic diagram of the layout hierarchy of the layout automatic integration algorithm according to an embodiment of the present application.

[0047] Figure 5 It is a layout schematic diagram of the layout automatic integration algorithm according to an embodiment of the present application. Detailed Embodiments

[0048] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application.

[0049] On the one hand, the embodiments of the present application provide a secondary dummy and layout automatic integration method, asFigure 1 As shown in Figure 2 FIG. 0 is a detailed logic flowchart of a method for automatically integrating a secondary dummy and layout in an embodiment. The specific execution process of this method includes:

[0050] S1. Construct a use case library containing multiple instances, and create a result directory and an integration directory for each use case. Among them, the result directory includes: the first dummy fill result directory FIRST_DUM and the second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM.

[0051] In one embodiment, the original layout layout file and related dummy rule files are input, and relevant tools, files, and directories are initialized. The first dummy fill result directory FIRST_DUM, the second dummy fill result directory SECOND_DUM, and the integration directory MERGE_DUM are automatically established respectively. Among them, the first dummy fill result directory FIRST_DUM is abbreviated as the FIRST_DUM directory, and the second dummy fill result directory SECOND_DUM is abbreviated as the SECOND_DUM directory.

[0052] When operating the embodiment, the tool is initialized and the initial file information is configured, including: configuring DummyRuleFile1 and DummyRuleFile2, representing the rule files for executing the dummy twice, configured according to the actual name of the embodiment; configuring the dummy Tool, representing the tool for executing the dummy fill; configuring INPUT_PATH and OUTPUT_PATH, representing the input path and output path of the embodiment. If not configured, the default path of the tool is used; configuring ncpu, representing the number of cpus used.

[0053] When the embodiment is input and run, the embodiment in the input path is automatically linked to the output path, and the first dummy fill result directory FIRST_DUM, the second dummy fill result directory SECOND_DUM, and the integration directory MERGE_DUM are automatically established respectively under the output path. The integration directory MERGE_DUM stores the integration results of all dummy fill output layout layouts and the original layout layout.

[0054] When the above initialization preparation work is completed, the subsequent steps are executed.

[0055] S2. Import the first layout layout file and the rule file for the first dummy fill into the first dummy fill result directory FIRST_DUM, perform the first dummy fill, and output at least one first layout result file. The first layout layout file is the original layout layout file;

[0056] In one embodiment, the original layout layout file and the rule file for the first dummy fill are imported into the first dummy fill result directory, and the first dummy fill is performed.

[0057] Switch to the first dummy fill result directory FIRST_DUM, and import the original layout layout file and the rule file DummyRuleFile1 for the first execution of the dummy fill.

[0058] Check the currently runnable dummy fill tool dummy Tool, perform the first dummy fill operation in the first dummy fill result directory FIRST_DUM, and output one or more first layout result files. The number of generated first layout result files is determined by DummyRuleFile1. Among them, the first layout result file is the generated first dummy layout file.

[0059] S3. Integrate all the first layout result files and the first layout layout file for the first time to generate the second layout layout file required for the second dummy fill;

[0060] In one embodiment, since the input layout layout file for the second dummy fill is the integrated file of the original layout layout file and the first layout result file output after the first dummy fill, the original layout layout file and the first layout result file are automatically integrated through the layout file integration module to output a new layout, that is, to generate the second layout layout file.

[0061] S4. Import the second layout layout file and the rule file for the second dummy fill into the second dummy fill result directory SECOND_DUM, perform the second dummy fill, and output at least one second layout result file.

[0062] S5. Integrate the second layout result file with the first layout result file and the first layout layout file for the second time, output the integrated layout layout file and write it into the specified output file.

[0063] It should be noted that the present invention provides a method for automatically integrating secondary dummy and layout. Through two refined dummy fill processes, it ensures the uniform distribution of the metal density in the layout, further optimizing the layout layout. Secondly, by adopting the layout automatic integration method, the dummy results of the two times are integrated into the original layout layout to ensure the correctness of the layout layout.

[0064] Optionally, step one creates a result directory and an integration directory for each use case, specifically including:

[0065] Step 101: Obtain the use case library required for each dummy fill and layout layout integration. Among them, each use case contains the rule file for the first dummy fill, the rule file for the second dummy fill, and the original layout layout file;

[0066] Step 102: Configure the dummy fill tool, the layout integration tool, and the rule files for the first dummy fill and the second dummy fill of each use case;

[0067] Step 103: Automatically read each use case in the use case library, and respectively create a first dummy fill result directory FIRST_DUM, a second dummy fill result directory SECOND_DUM, and an integration directory MERGE_DUM under the result directory of each use case.

[0068] In an embodiment, step 101: Prepare a use case library X = [x 1 , x 2 , …, x n that needs dummy fill and layout layout integration, X ∈ R. Among them, each instance x i should contain the rule file for the first dummy fill, the rule file for the second dummy fill, and the original layout layout file.

[0069] Step 102: Configure the dummy fill tool, the layout integration tool, and the rule files for dummy fill.

[0070] Step 103: Automatically read instances according to the pre-prepared use case library X list, check the necessary files therein, determine the result output path, and then create a first dummy fill result directory FIRST_DUM, a second dummy fill result directory SECOND_DUM, and a final layout merge integration directory MERGE_DUM in the current instance x i result directory respectively.

[0071] Optionally, in step two, import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM, perform the first dummy fill, and output at least one first layout result file, specifically including:

[0072] Step 201: Import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM;

[0073] Step 202: Check the currently available dummy fill tool, and perform the first dummy fill operation in the first dummy fill result directory FIRST_DUM to output at least one layout result file.

[0074] In one embodiment, the steps of the first dummy fill are as follows:

[0075] Step 201: Import the original layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM.

[0076] Step 202: Check the currently available dummy fill tool, and perform the first dummy fill operation in the first dummy fill result directory FIRST_DUM to output one or more first layout result files.

[0077] It should be noted that the execution process of the second dummy fill is the same as the execution process of the above first dummy fill, and the specific steps are as follows:

[0078] Step1: Import the layout layout file integrated by the first dummy fill and the rule file of the second dummy fill into the second dummy fill result directory SECOND_DUM. At the same time, replace the layout input name in the rule file of the second dummy fill.

[0079] Step 2: Check the currently runnable dummy fill tool, perform the secondary dummy fill operation in the directory of the second dummy fill result, SECOND_DUM, and output one or more second layout result files.

[0080] Thus, the process flow of the secondary dummy fill is implemented, as Figure 5 shown Figure 5 It represents the layout schematic diagram of the layout automatic integration algorithm of the embodiment of the present application. Finally, in the merge directory MERGE_DUM, the original layout layout, the layout layout files output after the first dummy fill and the second dummy fill are automatically integrated to generate the final layout layout file.

[0081] Optionally, in step five, the second layout result file, the first layout result file, and the first layout layout file are secondarily integrated, and the integrated layout layout file is output and written into the specified output file, including:

[0082] Step 301: Use the original layout layout file, the second layout result file, and the first layout result file, and customize the layout integrated layout file name as the input of the integration module;

[0083] Step 302: Use the original layout layout file as the layout 0 layout, create a layout view layout A based on the layout 0 layout, and the layout view layout A saves all the attributes of the layout 0 layout and the mapping relationship related to the data type of the layout 0 layout;

[0084] Step 303: Obtain the top cell name of the layout view layout A, create a dummy_cell in the layout view layout A, and use the dummy_cell as a sub-cell under the layout A top cell, and the dummy_cell is used to store the results of each dummy fill;

[0085] Step 304: Loop through each element in the current layout result file in sequence, construct a layout view layout B based on the current element, and import the layout view layout B into the layout view layout A, save all the attributes of the layout B layout and the relevant layer data types, and generate the first integrated layout layout.

[0086] In one embodiment, specifically, referring to the attached Figure 3 is a flowchart of the layout automatic integration algorithm for the embodiments of the present application.

[0087] Step 301: The original layout layout file and the dummy layout layout file include: the second layout result file and the first layout result file, and customize the layout integration layout file name.

[0088] Step 302: Assume that the original layout layout file is layout 0. Create a new layout view layout A based on the original layout 0 layout file. To maintain the consistency of subsequent layouts, save all the attributes of layout 0 when creating the layout view layout A, with a focus on the mapping relationships related to the data types of layout 0, to avoid layers with the same number of layers but different data types from being merged into a single layer with the same number of layers.

[0089] Step 303: Obtain the top cell name of the layout view layout A, and at the same time create a new dummy_cell in the layout view layout A. The dummy_cell is used to store the result after performing dummy fill. To maintain the structure of the original layout, therefore, reference the dummy_cell as a sub-cell under the layout A top cell, and all subsequent dummy fill results are saved under this dummy_cell structure.

[0090] Step 304: Assume that when the layout result file is D = [d 1 , d 2 , …, d n , D ∈ R, and the subscript n represents the number of dummy fill output layouts. Loop through each element d in the current layout result file i , and the same as step 302, create a new layout view layout B based on the element d i , and save all the attributes of d i when creating layout B to generate the first integrated layout layout.

[0091] Optionally, it includes: when the top cell names of the layout view layout B and the layout view layout A are the same, automatically add a suffix to the top cell name of the layout view layout B.

[0092] In one embodiment, under the layout view layoutB corresponding to the layout result file after the current dummy fill, the layout of the layout view layout B is imported into the layout view layout A, and all attributes of the layout of the layout view layout B and the relevant hierarchical data types are saved. At the same time, to avoid the situation where the top cell names of the layout view layout B and the layout view layout A may be the same, when the two top cell names are the same, the suffix is automatically added to the top cell name of the layout view layoutB for modification. For example, a new dummy_cell is created in the layout view layout A, and its function is to store the results generated by the subsequent first and second dummy fill operations. The current dummy_cell belongs to a top cell in the layout view layout A; after the second dummy fill operation, the generated layout result file corresponds to the layout view layout B. At this time, the suffix of the layout view layout B is also added to the current dummy_cell. However, at this time, only the suffix of the layout view layout B is added after the layout view layout A to complete the first integrated layout, and the actual design levels of the layout view layout B and the layout view layout A are not divided.

[0093] Optionally, the method further includes: obtaining all top cells in the preliminarily integrated layout, and traversing the names of all top cells;

[0094] When it is determined that the name of the current top cell is not equal to the name of the original layout top cell in the layout view layout A, the top cell reference corresponding to the name of the current top cell is placed under the dummy_cell structure to generate a second integrated layout;

[0095] Write the second integrated layout into a specified output file according to the custom layout integrated layout file name.

[0096] In one embodiment, through the above steps, the preliminary integration of the original layout layout and all dummy fill layout results has been achieved. However, at this time, in terms of the hierarchical structure of the integrated layout, the top cell of the original layout layout and the layout result files after other dummy fills are in a parallel relationship at the top cell, and both are top cells under the current layout. Therefore, in order to transfer the layout result files generated after each dummy fill to the dummy_cell structure and conform to the hierarchical structure design in the actual layout, first obtain all the top cells under the current integrated layout A layout. The current integrated layout A layout is to import the layout view layout B layout into the layout view layout A. Loop through the names of all top cells. When the name of the top cell is not equal to the name of the top cell in the original layout of layout A, reference the top cell under another dummy_cell structure. For example, the layout view layout A corresponds to dummy_cell_1, and read out the layout view layout B again and store it in dummy_cell_2, so that the layout view layout A and the layout view layout B are at the same level, generating the second integrated layout layout. Figure 4 Schematic diagram of the layout hierarchical structure of the layout automatic integration algorithm according to the embodiment of the present application. As Figure 4 shown, the original Layout layout hierarchical structure is as Figure 4As shown in the left block diagram, there is only one TOP_CLL, which includes sub-units main_cell_1, main_cell_2, ... main_cell_n. Taking the first layout result file generated after the first execution of the dummy fill operation as an example, the first layout result file is the design result of the "amplifier circuit", and its corresponding layout view layout A is generated. To determine the position of the "amplifier circuit" in the entire circuit and make it conform to the overall structure of the original layout, the set dummy_cell_1 is referenced as a sub-cell under the top cell of the layout view layout A. The "amplifier circuit" is stored in dummy_cell_1 and is also a sub-cell under the top cell of the layout view layout A. If the second layout result file generated after the second execution of the dummy fill operation is the "filter circuit", its corresponding layout view is layout B, and the "filter circuit" and the "amplifier circuit" belong to the same level of circuit design. To maintain the same-level structure of the "filter circuit" and the "amplifier circuit", when importing the layout view layout B into the layout view layout A, initially, the layout view layout B is stored in dummy_cell_1. At this time, the layout view layout B is stored in another sub-cell in layout A, namely dummy_cell_2. To distinguish the two sub-cells, it is only necessary to set different names for each sub-cell. For the second integrated layout, no matter how many times the dummy fill operation is performed subsequently, all the obtained results will be orderly placed in this dummy_cell_n without disturbing the original structure and mutual relationship of each functional module such as the processor module, storage module, input / output interface module, etc. in the original layout, thus maintaining the existing structure of the original layout and at the same time providing a clear and reasonable storage space for integrating the dummy fill results.

[0097] If necessary, further adjust the dummy_cell, such as renaming, repositioning, etc., to ensure the correctness of the layout.

[0098] Through the above steps, it is possible to successfully import the dummy_cell in layout B into layout A while maintaining the parallel relationship of layout A and layout B under the top cell.

[0099] Finally, according to the output layout layout name defined by the user, the integrated layout is written into the specified output file, thereby generating the input layout for the secondary dummy fill.

[0100] On the other hand, the present application also provides a secondary dummy and layout automatic integration device, including:

[0101] An initialization module for constructing a use case library containing multiple instances and creating a result directory and an integration directory for each use case. Among them, the result directory includes: the first dummy fill result directory FIRST_DUM and the second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM;

[0102] The first dummy fill module is used to import the first layout layout file and the rule file of the first dummy fill into the first dummy fill result directory FIRST_DUM, execute the first dummy fill, and output at least one first layout result file. The first layout layout file is the original layout layout file;

[0103] The first integration module is used to perform the first integration on all the first layout result files and the first layout layout file to generate the second layout layout file required for the second dummy fill;

[0104] The second dummy fill module imports the second layout layout file and the rule file of the second dummy fill into the second dummy fill result directory SECOND_DUM, executes the second dummy fill, and outputs at least one second layout result file;

[0105] The second integration module is used to perform the second integration on the second layout result file, the first layout result file, and the first layout layout file, output the integrated layout layout file and write it into the specified output file.

[0106] It should be noted that the two refined dummy processes that can be realized by the secondary dummy and layout automatic integration device provided by the present application and the method of integrating the two dummy results into the original layout layout based on the layout automatic integration method are exactly the same as the secondary dummy and layout automatic integration method provided by the above method embodiment, and will not be elaborated here.

[0107] In one embodiment, the present application further provides a storage medium, specifically a computer-readable storage medium (Memory). A computer-readable storage medium is a memory device in a terminal device for storing programs and data. It can be understood that the computer-readable storage medium here can include both the built-in storage medium in the terminal device and, of course, the extended storage medium supported by the terminal device. The computer-readable storage medium provides storage space, and this storage space stores the operating device of the terminal. Moreover, one or more instructions suitable for being loaded and executed by a processor are stored in this storage space, and these instructions can be one or more computer programs (including program codes). It should be noted that the computer-readable storage medium here can be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. One or more instructions stored in the computer-readable storage medium can be loaded and executed by the processor to implement the method for automatically integrating a secondary dummy and layout in the above embodiment.

[0108] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program codes.

[0109] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the specified functions in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0110] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions in Figure 1 one process or multiple processes and / or blocks Figure 1The functions specified in one or more boxes.

[0111] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process. Thus, the instructions executed on the computer or other programmable device provide for implementing the steps of the functions specified in one Figure 1 process or multiple processes and / or boxes Figure 1 or more boxes.

[0112] Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0113] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these modifications and variations.

Claims

1. A secondary dummy and layout automatic integration method, characterized in that: include: Step 1: Build a use case library containing multiple instances, and create a result directory and an integration directory for each use case, wherein the result directory includes: the first dummy fill result directory FIRST_DUM and the second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM; Step 2: import the first layout file and the first dummy fill rule file into the first dummy fill result directory FIRST_DUM, execute the first dummy fill, and output at least one first layout result file, wherein the first layout file is the original layout file; Step 3: Integrate all the first layout result files and the first layout file for the first time to generate a second layout file required for the second dummy fill; Step 4: import the second layout file and the second dummy fill rule file into the second dummy fill result directory SECOND_DUM, execute the second dummy fill, and output at least one second layout result file; Step 5: Integrate the second layout result file, the first layout result file and the first layout file for the second time, output the integrated layout file and write it into a designated output file.

2. A secondary dummy and layout automatic integration method as claimed in claim 1, characterized in that: The step 1 creates a result directory and an integration directory for each use case, specifically including: Step 101: Obtain a use case library required for each dummy fill and layout integration, wherein each use case includes a rule file for the first dummy fill, a rule file for the second dummy fill, and an original layout file; Step 102: configuring a dummy fill tool, a layout integration tool, and a first dummy fill rule file and a second dummy fill rule file of each use case; Step 103: Automatically read each use case in the use case library, and create a first dummy fill result directory FIRST_DUM, a second dummy fill result directory SECOND_DUM, and a merge directory MERGE_DUM in the result directory of each use case.

3. A secondary dummy and layout automatic integration method as claimed in claim 1, characterized in that: The second step imports the first layout file and the first dummy fill rule file into the first dummy fill result directory FIRST_DUM, executes the first dummy fill, and outputs at least one first layout result file, specifically including: Step 201: Import the first layout file and the first dummy fill rule file into the FIRST_DUM directory; Step 202: Check the currently executable dummy fill tool, perform the first dummyfill operation in the FIRST_DUM directory, and output at least one layout result file.

4. A secondary dummy and layout automatic integration method as claimed in claim 1, characterized in that: The step 5 of integrating the second layout result file, the first layout result file and the first layout file for the second time, outputting the integrated layout file and writing it into the specified output file, includes: The original layout file, the second layout result file, the first layout result file, and the name of the custom layout integration file are used as input of the integration module; The original layout file is used as layout 0, and a layout view layout A is created according to the layout 0, wherein the layout view layout A saves all attributes of the layout 0 and mapping relationships related to data types of the layout 0; Get the name of the top cell of the layout view layout A, create a dummy_cell in the layout view layout A, and use the dummy_cell as a child cell under the top cell of layout A, and the dummy_cell is used to store the result of each virtual filling; Loop through each element in the current layout result file in turn, build layout view layout B according to the current element, import the layout view layout B into the layout view layout A, save all properties and related layer data types of the layout view layout B, and generate the first integrated layout.

5. A secondary dummy and layout automatic integration method as claimed in claim 4, characterized in that: include: When the top cell names of the layout view layout B and the layout view layout A are consistent, a suffix is ​​automatically added to the top cell name of the layout view layout B.

6. A secondary dummy and layout automatic integration method as claimed in claim 4, characterized in that: The method further comprises: Obtain all top cells in the preliminary integrated layout, and traverse the names of all top cells; When it is determined that the name of the current top cell is not equal to the name of the original layout top cell in the layout view layout A, the top cell corresponding to the name of the current top cell is referenced under the dummy_cell structure to generate a second integrated layout; The second integrated layout is written into a designated output file according to the name of the custom layout integrated layout file.

7. A secondary dummy and layout automatic integration device, characterized in that: include: An initialization module is used to build a use case library containing multiple instances, and to create a result directory and an integration directory for each use case, wherein the result directory includes: a first dummy fill result directory FIRST_DUM and a second dummy fill result directory SECOND_DUM, and the integration directory is MERGE_DUM; A first dummy fill module, used for importing a first layout file and a first dummy fill rule file into the first dummy fill result directory FIRST_DUM, executing the first dummy fill, and outputting at least one first layout result file, wherein the first layout file is an original layout file; A first integration module, used for performing a first integration of all the first layout result files and the first layout layout file to generate a second layout layout file required for a second dummy fill; A second dummy fill module, importing the second layout file and the second dummy fill rule file into the second dummy fill result directory SECOND_DUM, executing the second dummy fill, and outputting at least one second layout result file; The second integration module is used to perform a second integration on the second layout result file, the first layout result file and the first layout file, output the integrated layout file and write it into a designated output file.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method for automatic integration of secondary dummy and layout as claimed in any one of claims 1 to 6 are implemented.