Generation method of macro layout data set for machine learning

In the layout design process in the field of electronic design automation, the layout is used to extract layout information and perform circular movement operations on the macroblocks, a macro layout data set for machine learning is generated, which solves the problem of lack of public data sets and improves the efficiency and adaptability of data generation.

CN120030976AActive Publication Date: 2025-05-23GUANGDONG UNIV OF TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510190884.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2025-05-23
Estimated Expiration
2045-02-20

AI Technical Summary

Technical Problem

The lack of public data sets for machine learning in the prior art, especially in the field of electronic design automation, leads to poor data generation efficiency and adaptability, limiting the progress of research and model training.

Method used

By importing the original layout design data into the layouter, extracting layout information, setting the operable macroblock to a movable state, and performing loop movement operations on the macroblock according to the target instructions and constraints entered by the user, generating a macro layout data set containing multiple layout design data.

Benefits of technology

Under the limitation of legal macro placement location, the macro modules in the layout design are randomly moved to generate a large number of layout data with different macro layouts, solving the problem of lack of public data sets and improving the efficiency and adaptability of data generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120030976A_ABST
    Figure CN120030976A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method for generating a macro layout data set for machine learning, which belongs to the technical field of data processing, and specifically comprises the following steps of: 1, importing original layout design data of a data set needing to be generated into a layout device; 2, extracting layout information corresponding to the original layout design data in a macro layout stage of an automatic layout and wiring process at the back end of the physical design; step 3, setting all operable macro blocks in the layout information from a fixed state to a movable state; step 4, obtaining a target instruction input by a user; 5, moving operation is circularly executed on all the operable macro blocks according to the target instruction and the constraint conditions, and a macro layout data set containing multiple pieces of layout design data is generated. By means of the scheme, a large amount of layout data of different macro layouts are generated, the generated data form the data set, and the problem that a public data set is lacked is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosed embodiments relate to the field of data processing technology, and in particular to a method for generating a macro layout data set for machine learning. Background Art

[0002] Currently, the field of electronic design automation (EDA) has been exploring the use of machine learning (ML) for very large-scale integration computer-aided design (VLSI CAD). Many studies have explored cross-stage prediction tasks in the physical design process, all of which use machine learning-based techniques to achieve faster design convergence. Building machine learning models usually requires a lot of data, but many studies are limited by the lack of large public datasets.

[0003] Although research on ML for CAD is very active, several challenges remain in the field. There are few public datasets dedicated to machine learning for CAD applications due to licensing restrictions and specific domain expertise in data generation. Meanwhile, existing datasets obtained from CAD competitions are often incomplete and not designed for ML applications. The lack of public datasets poses challenges such as difficulty in benchmarking and reproducing previous work, limited research scope due to limited data access, and high barriers to entry for new researchers, slowing down further progress in the field.

[0004] It can be seen that there is an urgent need for a method for generating a macro layout dataset that can automatically generate a macro layout dataset containing a large amount of sample data for use in machine learning. Summary of the invention

[0005] In view of this, an embodiment of the present disclosure provides a method for generating a macro layout data set for machine learning, which at least partially solves the problems of poor data generation efficiency and adaptability in the prior art.

[0006] The present disclosure provides a method for generating a macro layout dataset for machine learning, comprising:

[0007] Step 1, import the original layout design data for which a data set needs to be generated into the layouter;

[0008] Step 2, extracting layout information corresponding to the original layout design data in the macro layout stage of the automatic layout and routing process of the physical design backend;

[0009] Step 3, setting all operable macro blocks in the layout information from a fixed state to a movable state;

[0010] Step 4, obtaining the target instruction input by the user;

[0011] Step 5: cyclically perform move operations on all operable macro blocks according to target instructions and constraint conditions to generate a macro layout data set containing multiple layout design data.

[0012] According to a specific implementation of the embodiment of the present disclosure, step 2 specifically includes:

[0013] The layout information corresponding to the original layout design data is obtained through relevant instructions in the layout device, or the original layout design data is parsed and the layout information is extracted.

[0014] According to a specific implementation of the embodiment of the present disclosure, the layout information includes layout boundary lines, layout obstacle areas, fence areas, operable macro blocks and other macro areas;

[0015] The border line of the layout is a line connecting four two-dimensional coordinates stored in the target list;

[0016] The layout obstacle area includes two two-dimensional coordinates, which are respectively the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the layout obstacle area;

[0017] The fence area includes four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the fence area from left to right respectively;

[0018] The other macro areas include a set of lists, each list represents the area of ​​a macro, each macro has and only corresponds to one list, the area of ​​each macro is a rectangle, and each list includes four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the macro area from left to right.

[0019] According to a specific implementation of the embodiment of the present disclosure, step 5 specifically includes:

[0020] Step 5.1, set the number of loops according to the target instruction and perform the move operation on all operable macroblocks in combination with the constraint conditions;

[0021] Step 5.2, save the current macro layout at the end of each loop and export the current layout design data;

[0022] Step 5.3, at the end of the number of cycles, the exported layout design data is formed into a macro layout data set.

[0023] According to a specific implementation of the embodiment of the present disclosure, the moving operation is:

[0024] Reset the positions of all operable macro blocks to the initial positions of the macros, i.e., the default positions of the macros in the original layout design;

[0025] Randomly arrange the order of all operable macro blocks to form a list of macros to be moved;

[0026] Sequentially traverse the list of macros to be moved, perform a move operation on each operable macro block therein according to the constraint conditions, and generate a new macro layout, wherein the move operation is to move the operable macro block horizontally and vertically;

[0027] Save the current macro layout and export the current layout design data.

[0028] According to a specific implementation method of an embodiment of the present disclosure, the constraints include that the lateral movement distance and the longitudinal movement distance are floating point numbers with one decimal place which can be positive or negative, the moved macroblock cannot overlap with areas outside the layout boundary line, layout obstacle areas, fence areas and other macro areas, and the absolute values ​​of the randomly generated lateral horizontal movement distance and longitudinal vertical movement distance cannot exceed the maximum range of the operable macroblock movement.

[0029] The generation scheme of the macro layout data set for machine learning in the embodiment of the present disclosure includes: step 1, importing the original layout design data for which the data set needs to be generated into the layout device; step 2, extracting the layout information corresponding to the original layout design data in the macro layout stage of the automatic layout and routing process of the physical design backend; step 3, setting all the operable macro blocks in the layout information from a fixed state to a movable state; step 4, obtaining the target instruction input by the user; step 5, cyclically performing the move operation on all the operable macro blocks according to the target instruction and the constraint conditions, and generating a macro layout data set containing multiple layout design data.

[0030] The beneficial effects of the embodiments of the present disclosure are as follows: through the scheme of the present disclosure, all macro modules in the layout design are randomly moved while taking into account the legal macro placement positions, thereby realizing the generation of layout data for a large number of different macro layouts, and the generated data are organized into a data set to solve the problem of lack of public data sets. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0032] Figure 1 A schematic diagram of a flow chart of a method for generating a macro layout data set for machine learning provided in an embodiment of the present disclosure;

[0033] Figure 2A schematic diagram of a specific implementation process of a method for generating a macro layout data set for machine learning provided in an embodiment of the present disclosure;

[0034] Figure 3 A macro layout stage diagram of a layout design provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0035] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0036] The following describes the embodiments of the present disclosure through specific examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present disclosure.

[0037] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein may be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present disclosure, it should be understood by those skilled in the art that an aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein may be used to implement this device and / or practice this method.

[0038] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The drawings only show components related to the present disclosure rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.

[0039] Additionally, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, it will be understood by those skilled in the art that the aspects described may be practiced without these specific details.

[0040] VLS I circuit design can be divided into front-end design and back-end design. Front-end design implements the functionality of the circuit, and back-end design converts the circuit into a manufacturable geometry, i.e., layout. In advanced technology nodes, back-end design is very time-consuming due to the need for iterative information feedforward and feedback between design stages during optimization. To speed up this process, cross-stage prediction was introduced, replacing the original long feedback loop between design stages with a local loop within the design stage. As a promising approach for fast and accurate cross-stage prediction, machine learning has been explored for various early prediction tasks in the design flow, including routability and voltage drop.

[0041] In recent years, the field of electronic design automation (EDA) has been exploring the use of machine learning (ML) for very large scale integration computer-aided design (VLS I CAD). Many studies have explored cross-stage prediction tasks in the physical design process, all of which use machine learning-based techniques to achieve faster design convergence. Building machine learning models usually requires a lot of data, but many studies are limited by the lack of large public datasets.

[0042] Although research on ML for CAD is very active, several challenges remain in the field. There are few public datasets dedicated to machine learning for CAD applications due to licensing restrictions and specific domain expertise in data generation. Meanwhile, existing datasets obtained from CAD competitions are often incomplete and not designed for ML applications. The lack of public datasets poses challenges such as difficulty in benchmarking and reproducing previous work, limited research scope due to limited data access, and high barriers to entry for new researchers, slowing down further progress in the field.

[0043] The disclosed embodiment provides a method for generating a macro layout data set for machine learning, which can be applied to a layout design process in an electronic design automation scenario.

[0044] See also Figure 1 , is a flow chart of a method for generating a macro layout data set for machine learning provided by an embodiment of the present disclosure. Figure 1 and Figure 2 As shown, the method mainly comprises the following steps:

[0045] Step 1, import the original layout design data for which a data set needs to be generated into the layouter;

[0046] Step 2, extracting layout information corresponding to the original layout design data in the macro layout stage of the automatic layout and routing process of the physical design backend;

[0047] Step 3, setting all operable macro blocks in the layout information from a fixed state to a movable state;

[0048] Step 4, obtaining the target instruction input by the user;

[0049] Step 5: cyclically perform move operations on all operable macro blocks according to target instructions and constraint conditions to generate a macro layout data set containing multiple layout design data.

[0050] The method of the embodiment of the present disclosure randomly moves all macro modules in a layout design data while taking into account the restrictions on legal placement positions, thereby achieving data set generation.

[0051] Before describing the data generation method, specific terms that appear in the method flow are explained:

[0052] The specific term "barrier area" that appears in the method flow is the area outside the "layout boundary line", the "layout barrier" area, the "fence" area and the "other macro" area. Among them:

[0053] "Layout boundary line" represents the layout boundary line of the input layout design data, which is generally a closed rectangular loop, such as Figure 3 As shown in the box line.

[0054] "Layout barrier" area. In the layout design, some blocks with specific constraints are included. They are called placement blockages. Their function is to prevent the layout boundary and the spacing between macro blocks from being too narrow. The "layout barrier" area is the collection of all these blocks, such as Figure 3 As shown in the left part of .

[0055] Fence region. A fence region is also a block with constraints, and the fence region is the collection of all these blocks, such as Figure 3 As shown in the upper right corner of .

[0056] The "other macros" area is the union of the areas covered by all macros except the currently operated macro in the algorithm flow. Figure 3 All rectangular blocks except the upper right corner represent all macromodules.

[0057] When implemented specifically, the main process of this method is as follows (flow chart as shown in Figure 2 shown):

[0058] Step 1: First, import the original layout design data for which a data set needs to be generated into the layouter.

[0059] Step 2: Extract layout information during the macro layout phase of the automatic layout and routing process in the physical design backend:

[0060] (1) “Borderline” is represented by a list of four two-dimensional coordinates. The “Borderline” is the part consisting of the lines connecting these four coordinate points.

[0061] (2) The “layout obstacle” area is represented by a set of data, each of which includes two two-dimensional coordinates, which respectively represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the “layout obstacle” area.

[0062] (3) The "fence" area is represented by a set of lists, where each list represents a "fence" area. Each "fence" area is a rectangle, so each list contains four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the "fence" area from left to right.

[0063] (4) The "other macros" area is represented by a set of lists. Each list represents the area of ​​a macro. Each macro has only one list corresponding to it. The area of ​​each macro is a rectangle. Each list includes four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the macro area from left to right.

[0064] It should be noted that the layout information is generally obtained through relevant instructions in the layout device. If the layout device does not include retrieval function instructions, it is necessary to parse the original design data file and extract the above information.

[0065] Step 3, set all macroblocks from a fixed state to a movable state.

[0066] Step 4, obtaining a positive integer input by the user as a target instruction, which is used to limit the maximum range of movement of each macroblock.

[0067] Step 5, do N loops (N is input by the user, N represents the number of macro layout data to be generated), and perform the following operations in each loop:

[0068] (1) Reset the positions of all macros to their initial positions, that is, the positions of the macros in the original layout design.

[0069] (2) Randomly arrange the order of all macros into a list.

[0070] (3) Traverse this list sequentially and perform the following move operations on each macro:

[0071] ① Move macroblocks horizontally.

[0072] ② Move macroblocks vertically.

[0073] The above two moving operations need to meet the following conditions:

[0074] 1) The horizontal movement distance and the vertical movement distance are floating point numbers with one decimal place, which can be positive or negative.

[0075] 2) The moved macroblock cannot overlap with the “obstacle area”.

[0076] 3) Randomly generate values ​​for the horizontal movement distance and the vertical movement distance, and the absolute values ​​of these two values ​​cannot exceed the maximum range of macroblock movement.

[0077] (4) Save the current macro layout and export the current layout design data.

[0078] Step 6: Obtain different macro layout data sets.

[0079] The method for generating a macro layout data set for machine learning provided in this embodiment randomly moves all macro modules in the layout design while taking into account the legal macro placement positions, thereby realizing the generation of layout data of a large number of different macro layouts, and the generated data are composed of a data set to solve the problem of lack of public data sets. Compared with other methods, this method can quickly generate a large amount of macro layout data, and in the generated data, the macro module positions have large differences. This difference is crucial for model training. When the feature differences are significant, the model can learn richer information and patterns from diverse data. This diversity not only helps the model to understand the inherent laws and structures of the data more comprehensively, but also enhances the generalization ability of the model, so that it can make more accurate predictions when faced with new data.

[0080] It should be understood that various parts of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof.

[0081] The above is only a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present disclosure should be included in the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be based on the protection scope of the claims.

Claims

1. A method for generating a macro layout dataset for machine learning, characterized in that: include: Step 1, import the original layout design data for which a data set needs to be generated into the layouter; Step 2, extracting layout information corresponding to the original layout design data in the macro layout stage of the automatic layout and routing process of the physical design backend; Step 3, setting all operable macro blocks in the layout information from a fixed state to a movable state; Step 4, obtaining the target instruction input by the user; Step 5: cyclically perform move operations on all operable macro blocks according to target instructions and constraint conditions to generate a macro layout data set containing multiple layout design data.

2. The method according to claim 1, characterized in that The step 2 specifically includes: The layout information corresponding to the original layout design data is obtained through relevant instructions in the layout device, or the original layout design data is parsed and the layout information is extracted.

3. The method according to claim 2, characterized in that The layout information includes layout boundary lines, layout obstacle areas, fence areas, operable macro blocks and other macro areas; The border line of the layout is a line connecting four two-dimensional coordinates stored in the target list; The layout obstacle area includes two two-dimensional coordinates, which are respectively the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the layout obstacle area; The fence area includes four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the fence area from left to right respectively; The other macro areas include a set of lists, each list represents the area of ​​a macro, each macro has and only corresponds to one list, the area of ​​each macro is a rectangle, and each list includes four elements, which represent the x and y coordinates of the lower left vertex and the x and y coordinates of the upper right vertex of the macro area from left to right.

4. The method according to claim 3, characterized in that: The step 5 specifically includes: Step 5.1, set the number of loops according to the target instruction and perform the move operation on all operable macroblocks in combination with the constraint conditions; Step 5.2, save the current macro layout at the end of each loop and export the current layout design data; Step 5.3, at the end of the number of cycles, the exported layout design data is formed into a macro layout data set.

5. The method according to claim 4, characterized in that The moving operation is Reset the positions of all operable macro blocks to the initial positions of the macros; Randomly arrange the order of all operable macro blocks to form a list of macros to be moved; Sequentially traverse the list of macros to be moved, perform a move operation on each operable macro block therein according to the constraint conditions, and generate a new macro layout, wherein the move operation is to move the operable macro block horizontally and vertically; Save the current macro layout and export the current layout design data.

6. The method according to claim 5, characterized in that The constraints include that the lateral movement distance and the longitudinal movement distance are floating point numbers with one decimal place which can be positive or negative, the moved macroblock cannot overlap with the area outside the layout boundary line, the layout obstacle area, the fence area and other macro areas, and the absolute values ​​of the randomly generated lateral horizontal movement distance and the longitudinal vertical movement distance cannot exceed the maximum range of the operable macroblock movement.

Citation Information

Patent Citations

  • Layout layout generation method and system

    CN117172191A

  • Method and device for generating layout and medium

    CN117332745A

  • PCB footprint creation

    IN201941005868A