A method for generating a macro layout dataset for machine learning

By developing a macro-layout data generation method in the field of electronic design automation, the problem of the lack of public datasets is solved, enabling the rapid generation of diverse macro-layout data and improving the training effect and prediction accuracy of machine learning models.

CN120030976BActive Publication Date: 2025-11-11GUANGDONG UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The lack of public macro-layout datasets for machine learning in existing technologies makes benchmarking and reproduction difficult, limits the scope of research, raises the barrier for new researchers, and slows down progress.

Method used

By extracting layout information during the macro-layout stage of the automatic placement and routing process in the backend of physical design, operable macroblocks are changed from a fixed state to a movable state, and random movement operations are performed according to user instructions and constraints to generate a macro-layout dataset containing multiple layout design data.

Benefits of technology

It enables the rapid generation of a large amount of layout data with different macro layouts while taking into account the legal macro placement positions, thereby enhancing the diversity of data and the generalization ability of the model, and helping the model to better understand the inherent laws and structure of the data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120030976B_ABST
    Figure CN120030976B_ABST
Patent Text Reader

Abstract

This disclosure provides a method for generating a macro-layout dataset for machine learning, belonging to the field of data processing technology. Specifically, it includes: Step 1, importing the original layout design data for which the dataset needs to be generated into a layoutr; Step 2, extracting the layout information corresponding to the original layout design data during the macro-layout stage of the automatic placement and routing process in the physical design backend; Step 3, setting all operable macroblocks 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 executing movement operations on all operable macroblocks according to the target instruction and constraints, generating a macro-layout dataset containing multiple layout design data. Through this disclosure, a large amount of layout data with different macro-layouts can be generated, and the generated data can be combined into a dataset to solve the problem of a lack of public datasets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of data processing technology, and more particularly to a method for generating macro-layout datasets for machine learning. Background Technology

[0002] Currently, the field of Electronic Design Automation (EDA) is exploring the application of machine learning (ML) in Very Large Scale Integration (VLSI) Computer-Aided Design. Many studies have explored cross-stage prediction tasks in the physical design flow, all employing machine learning-based techniques to achieve faster design convergence. Building machine learning models typically requires large amounts of data, but the lack of large public datasets has limited much of this research.

[0003] Despite the active research in machine learning for CAD, several challenges remain. Due to licensing restrictions and domain-specific expertise in data generation, there are few public datasets specifically designed for machine learning in CAD applications. Furthermore, existing datasets obtained from CAD competitions are often incomplete and not designed for ML applications. This lack of public datasets presents challenges such as difficulty in benchmarking and reproducing previous work, limited research scope due to restricted data access, and a high barrier to entry for new researchers, thus slowing further progress in the field.

[0004] It is evident that there is an urgent need for a method to automatically generate macro-layout datasets containing a large amount of sample data for use in machine learning. Summary of the Invention

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

[0006] This disclosure provides a method for generating a macro-layout dataset for machine learning, including:

[0007] Step 1: Import the original layout design data for which you want to generate the dataset into the layout tool.

[0008] Step 2: Extract the layout information corresponding to the original layout design data in the macro layout stage of the automatic placement and routing process in the back-end of physical design;

[0009] Step 3: Change all operable macroblocks in the layout information from a fixed state to a movable state;

[0010] Step 4: Obtain the target instruction input by the user;

[0011] Step 5: Perform move operations on all operable macroblocks in a loop according to the target instructions and constraints to generate a macro layout dataset containing multiple layout design data.

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

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

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

[0015] The map boundary line is a line connecting four two-dimensional coordinates stored in the target list;

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

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

[0018] The other macro regions include a set of lists, each list representing a macro region, each macro having one and only one list corresponding to it, each macro region being a rectangle, each list including four elements, which, from left to right, represent the x and y coordinates of the lower left vertex and the upper right vertex of the macro region, respectively.

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

[0020] Step 5.1: Based on the target instruction, set the number of loops and combine it with the constraints to perform movement operations on all operable macroblocks;

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

[0022] Step 5.3: At the end of the loop, the exported layout design data is used to form a macro layout dataset.

[0023] According to a specific implementation of an embodiment of this disclosure, the movement operation is:

[0024] Reset the position of all operable macroblocks to the initial position of the macros, which is the default position of the macros in the original layout design;

[0025] Randomly arrange all operable macroblocks into a list of macros to be moved;

[0026] The list of macros to be moved is sequentially traversed, and each operable macro block is moved according to the constraints to generate a new macro layout. The moving operation is to move operable macro blocks horizontally and vertically.

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

[0028] According to a specific implementation of this disclosure, the constraints include that the horizontal and vertical movement distances are floating-point numbers with one decimal place (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 horizontal and vertical movement distances cannot exceed the maximum range of operable macroblock movement.

[0029] The scheme for generating a macro layout dataset for machine learning in this embodiment includes: Step 1, importing the original layout design data for which the dataset needs to be generated into the layoutr; Step 2, extracting the layout information corresponding to the original layout design data in the macro layout stage of the automatic placement and routing process in the physical design backend; Step 3, setting all operable macroblocks in the layout information from a fixed state to a movable state; Step 4, obtaining the target instruction input by the user; Step 5, performing movement operations on all operable macroblocks cyclically according to the target instruction and constraints to generate a macro layout dataset containing multiple layout design data.

[0030] The beneficial effects of the embodiments of this disclosure are as follows: By using the solution of this disclosure, taking into account the legal macro placement positions, all macro modules in the layout design are randomly moved, thereby generating a large amount of layout data with different macro layouts, and the generated data is combined into a dataset to solve the problem of lack of public datasets. Attached Figure Description

[0031] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0032] Figure 1 A flowchart illustrating a method for generating a macro-layout dataset for machine learning, provided in an embodiment of this disclosure;

[0033] Figure 2A schematic diagram illustrating the specific implementation process of a method for generating a macro-layout dataset for machine learning, provided in this embodiment of the disclosure;

[0034] Figure 3 This is a macro layout stage diagram for a layout design provided in an embodiment of the present disclosure. Detailed Implementation

[0035] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0036] The following specific examples illustrate the implementation of this disclosure. Those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.

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

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

[0039] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can 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 circuit's functionality, while back-end design transforms the circuit into a manufacturable geometry, i.e., placement. At 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 accelerate this process, cross-stage prediction has been introduced, replacing the original long feedback loops between design stages with local loops within the design stage. As a promising method for fast and accurate cross-stage prediction, machine learning has been explored for various early prediction tasks in the design flow, including routeability and voltage drop.

[0041] In recent years, the field of electronic design automation (EDA) has been exploring the application of machine learning (ML) in very large-scale integrated computer-aided design (VLSI CAD). Many studies have explored cross-stage prediction tasks in the physical design flow, all employing machine learning-based techniques to achieve faster design convergence. Building machine learning models typically requires large amounts of data, but the lack of large public datasets has limited much of this research.

[0042] Despite the active research in machine learning for CAD, several challenges remain. Due to licensing restrictions and domain-specific expertise in data generation, there are few public datasets specifically designed for machine learning in CAD applications. Furthermore, existing datasets obtained from CAD competitions are often incomplete and not designed for ML applications. This lack of public datasets presents challenges such as difficulty in benchmarking and reproducing previous work, limited research scope due to restricted data access, and a high barrier to entry for new researchers, thus slowing further progress in the field.

[0043] This disclosure provides a method for generating a macro-layout dataset for machine learning, which can be applied to the layout design process in electronic design automation scenarios.

[0044] See Figure 1 This is a flowchart illustrating a method for generating a macro-layout dataset for machine learning, provided in an embodiment of this disclosure. Figure 1 and Figure 2 As shown, the method mainly includes the following steps:

[0045] Step 1: Import the original layout design data for which you want to generate the dataset into the layout tool.

[0046] Step 2: Extract the layout information corresponding to the original layout design data in the macro layout stage of the automatic placement and routing process in the back-end of physical design;

[0047] Step 3: Change all operable macroblocks in the layout information from a fixed state to a movable state;

[0048] Step 4: Obtain the target instruction input by the user;

[0049] Step 5: Perform move operations on all operable macroblocks in a loop according to the target instructions and constraints to generate a macro layout dataset containing multiple layout design data.

[0050] The method of this disclosure generates a dataset by randomly moving all macro modules in a layout design data, taking into account the restrictions on legal placement positions.

[0051] Before describing the data generation method, we will explain the specific terms that appear in the method flow:

[0052] The specific term "obstacle area" appearing in the method flow refers to the region outside the "map boundary line," the "layout obstacle" region, the "fence" region, and the "other macros" region. Specifically:

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

[0054] "Layout barrier" areas. In layout design, there are blocks with specific constraints, called placement barriers. Their purpose is to prevent the spacing between layout boundaries and macroblocks from becoming too narrow. The "layout barrier" area is a collection of all these blocks, such as... Figure 3 The left side of the image is shown.

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

[0056] The "Other Macros" region is the union of the regions covered by all macros other than the macro being operated on in the algorithm flow. Figure 3 All the rectangular blocks except the one in the upper right corner represent all the macro modules.

[0057] In practice, the main process of this method is as follows (flowchart shown). Figure 2 As shown):

[0058] Step 1: First, import the original layout design data for which you want to generate the dataset into the layout tool.

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

[0060] (1) “Territory boundary line” is represented by a list containing four two-dimensional coordinates. The “territory boundary line” is the part formed by the line connecting these four coordinate points.

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

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

[0063] (4) The “Other Macros” region is represented by a set of lists. Each list represents the region of a macro. Each macro has one and only one list corresponding to it. The region of each macro is a rectangle. Each list includes four elements, which, from left to right, represent the x and y coordinates of the lower left vertex and the upper right vertex of the macro’s region, respectively.

[0064] It should be noted that layout information is generally obtained through relevant instructions in the layout tool. If the layout tool does not include search function instructions, the original design data file needs to be parsed and the above information extracted.

[0065] Step 3: Change all macroblocks from fixed state to movable state.

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

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

[0068] (1) Reset the position of all macros to their initial position, i.e., the macro position in the original layout design.

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

[0070] (3) Iterate through this list sequentially, performing the following move operation on each macro:

[0071] ① Move macroblock horizontally.

[0072] ② Vertically move macroblocks.

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

[0074] 1) The horizontal and vertical movement distances 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 horizontal and vertical movement distances, and the absolute values ​​of both values ​​must not 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 datasets.

[0079] This embodiment provides a method for generating macro-layout datasets for machine learning. By randomly moving all macro modules in the layout design while considering legitimate macro placement positions, it generates a large amount of layout data with different macro layouts. This generated data is then combined into a dataset to address the lack of public datasets. Compared to other methods, this method can quickly generate a large amount of macro-layout data, and the positions of macro modules vary significantly within the generated data. This diversity is crucial for model training. When feature differences are significant, the model can learn richer information and patterns from diverse data. This diversity not only helps the model to more comprehensively understand the inherent laws and structures of the data but also enhances the model's generalization ability, enabling it to make more accurate predictions when faced with new data.

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

[0081] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the 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 you want to generate the dataset into the layout tool. Step 2: Extract the layout information corresponding to the original layout design data in the macro layout stage of the automatic placement and routing process in the back-end of physical design; Step 3: Change all operable macroblocks in the layout information from a fixed state to a movable state; Step 4: Obtain the target instruction input by the user; Step 5: Perform move operations on all operable macroblocks in a loop according to the target instructions and constraints to generate a macro layout dataset containing multiple layout design data.

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

3. The method according to claim 2, characterized in that, The map information includes map boundary lines, layout obstacle areas, fence areas, operable macroblocks, and other macro areas; The map boundary line is a line connecting four two-dimensional coordinates stored in the target list; The layout obstacle region includes two two-dimensional coordinates, which are the x and y coordinates of the lower left vertex and the upper right vertex of the layout obstacle region, respectively. The fence area includes four elements, which, from left to right, represent the x and y coordinates of the lower left vertex and the upper right vertex of the fence area, respectively. The other macro regions include a set of lists, each list representing a macro region, each macro having one and only one list corresponding to it, each macro region being a rectangle, each list including four elements, which, from left to right, represent the x and y coordinates of the lower left vertex and the upper right vertex of the macro region, respectively.

4. The method according to claim 3, characterized in that, Step 5 specifically includes: Step 5.1: Based on the target instruction, set the number of loops and combine it with the constraints to perform movement operations on all operable macroblocks; Step 5.2: At the end of each loop, save the current macro layout and export the current layout design data; Step 5.3: At the end of the loop, the exported layout design data is used to form a macro layout dataset.

5. The method according to claim 4, characterized in that, The movement operation is Reset the positions of all operable macroblocks to their initial positions; Randomly arrange all operable macroblocks into a list of macros to be moved; The list of macros to be moved is sequentially traversed, and each operable macro block is moved according to the constraints to generate a new macro layout. The moving operation is to move operable macro blocks 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 horizontal and vertical movement distances are floating-point numbers with one decimal place (positive or negative), the moved macroblock cannot overlap with areas outside the layout boundary, layout obstacle areas, fence areas, or other macro areas, and the absolute values ​​of the randomly generated horizontal and vertical movement distances cannot exceed the maximum range of operable macroblock movement.

Citation Information

Patent Citations

  • Layout layout generation method and system

    CN117172191A

  • Method and device for generating layout and medium

    CN117332745A