SYNTHETIC DATA FOR 2D PATHFINDING
Synthetically built training sets that can be used for neural network-based routing are set forth. Training datasets constructed in accordance with the principles herein are very fast, and can be used to generate a large, robust training set by a suitable router.
This application claims the benefit of U.S. Provisional Application No. 63/289,062 filed Dec. 13, 2021 and incorporated herein by reference in the entirety.
TECHNICAL FIELDThe present disclosure relates to machine learning. More specifically, the disclosure relates to methods for generating data for training machine learning routers.
BACKGROUNDGlobal routing problems appear in many fields, such as GPS, communications, and chip design to name a few. Known solutions are not neural network based. Attempts to use neural networks thus far have not succeeded in complex high-resolution problems due to unavailability of training data.
Multiterminal pathfinding in presence of obstacles, or obstacle-avoiding rectilinear Steiner minimum tree construction (OARSMT) is a task of finding an optimal (e.g., shortest) path between two or more placed terminals. While being computationally hard, this is one of the fundamental navigation problems, required in a wide range of applications, from mobile robot path planning, navigation, wayfinding, and tracking to routing wires in printed circuit boards (PCBs) and integrated circuits (ICs). Multiterminal pathfinding in presence of obstacles plays an important role in electronic design automation (EDA) algorithms, such as global routing and placement.
Furthermore, recent trends in machine learning (ML) based EDA require an ML inspired revision of the underlying EDA algorithms. For example, the reinforcement learning solution used in state-of-the-art Google placement methodology relies on solving instances of pathfinding problems to train the reward generation model for each design layout. Thus, efficient pathfinding is critical for certain EDA tools and many other applications, ranging from route planning to routing billions of components in high-end nanoelectronics systems.
Generating routes (aka pathfinding) in a constrained 2D space is algorithmically complex (NP-complete) problem. Due to the excessively large search space, modern multiterminal pathfinding tasks cannot be optimally solved in reasonable time. To mitigate the computational complexity of pathfinding, existing solvers use approximation heuristics, producing sub-optimal solutions in reasonable time. The traditional deterministic pathfinding approaches typically have a multiterminal pathfinding task decomposed into multiple two-terminal shortest path tasks and these simpler tasks solved individually.
While machine learning (ML) pathfinders have a great potential to speed up by orders of magnitude the pathfinding process, state-of-the-art pathfinders remain deterministic, slow, and non-parallelizable. A primary bottleneck for ML pathfinder is the lack of robust, sufficiently large dataset of routed 2D samples to train machine learning models. While generating a large synthetic dataset of unrouted samples is possible, routing these samples with existing approaches is infeasible.
What is needed is synthetic training data and a method for generating this data for supervised MF pathfinding.
SUMMARYIn accordance with the principles herein a methodology, a set of algorithms for generating synthetic, robustly routed data for training machine learning routers, and an exemplary dataset generated thereby are set forth.
Datasets generated in accordance with the principles herein can use an exemplary model set forth herein. Other suitable models for generating the datasets in accordance with the principles herein are contemplated as well.
An exemplary model set forth herein provides a set of systematic methods for generating (in a reasonable time and with traditional computational resources) a dataset of synthetic, robustly routed 2D samples. The robustly routed samples of any size can be generated. This methodology enables, for the first time, generating training dataset for developing ML pathfinding approaches.
In accordance with the principles herein, an exemplary synthetic dataset for pathfinding applications can comprise a synthetic dataset generated via an algorithm via small, existing routed circuits and join them together to generate high resolution, complex obstacle-avoiding multi-pin routed circuit. The synthetic dataset can capture a variety of real-world routing characteristics which allows neural networks to be trained on this dataset. The system can be implemented using a suitable parallel processing system such as a graphics processing unit (GPU), tensor processing unit (TPU), or other suitable system.
An exemplary system comprising the synthetic datasets in accordance with the principles herein can further comprise components configured to generate joinable and detached and valid bitmap images for the synthetic dataset. The system can further comprise repeatable merges of the joinable and detached images to form a high resolution, complex global synthetic dataset.
A synthetic dataset herein can be configured to capture the similarities of the real circuits in terms of the spread of the pins and obstacles and routing characteristics.
An exemplary method of generating complex global pathfinding training datasets can comprise the steps of generating small bitmaps; joining the small bitmaps to generate a complex global pathfinding dataset of placed bitmaps. The method can further comprise the step of repeatedly improving the resolution to generate a training sample from the pathfinding dataset. The method can further comprise the step of resolving any unprocessed space adjacent to placed bitmaps.
More specifically, a synthetic dataset for pathfinding applications comprises small, existing routed circuits generated by an algorithm (e.g., optimal algorithm), wherein the small, existing routed circuits are joined together to produce a high resolution, complex obstacle-avoiding multi-pin routed circuit. The algorithm generates within a rectangular bitmap a large set of net routing, wherein each tile of the rectangular bitmap comprises at least one terminal or a net segment placed on a perimeter of the rectangular bitmap. Then, two or more rectangular bitmaps are joined via two edge net segments to obtain a larger bitmap, wherein the larger bitmap comprises a valid grouping of routed nets with smaller bitmaps being rotated and flipped as needed. Lastly, the algorithm determines whether the joined bitmaps are a valid grouping if it does not exceed a maximum layout resolution as provided by a target training resolution.
Joinable and detached bitmap images are generated for the synthetic dataset. These are small optimally routed bitmaps that are consequently used for generating the large training dataset according to the algorithm. Merges of the joinable and detached bitmap images are repeated to form a high resolution, complex global synthetic dataset.
The attributes and advantages will be further understood and appreciated with reference to the accompanying drawings. The described embodiments are to be considered in all respects only as illustrative and not restrictive, and the scope is not limited to the foregoing description. Those of skill in the art will recognize changes, substitutions and other modifications that will nonetheless come within the scope and range of the claims.
The preferred embodiments are described in conjunction with the attached figures.
Synthetically built training sets that can be used for neural network-based routing are set forth. Training datasets constructed in accordance with the principles herein are very fast, and can be used to generate a large, robust training set by a suitable router. A multiterminal obstacle-avoiding pathfinding approach inspired by deep image learning is further described in Multiterminal Pathfinding in Practical VLSI Systems with Deep Neural Networks. Utyasmishev, Dmitry & Partin-Vaisband, Inna.13 Oct. 2022; doi.org/10.1145/3564930, incorporated by reference, and Late Breaking Results: Parallelizing Net Routing with cGANs, Utyasmishev, Dmitry & Partin-Vaisband, Inna. 9 Dec. 2021; doi.org/10.1109/DAC18074.2021.9586319, incorporated by reference.
The principles herein provide a set of systematic methods for generating, in a reasonable time and with traditional computational resources, a dataset of synthetic, realistically routed 2D dataset samples. The realistically routed samples of any size can be generated. This methodology and resulting datasets enable for the first time, generating and using synthetic training datasets for developing ML pathfinding approaches.
A typical routed two-terminal net is illustrated in
A synthetic dataset herein can be configured to capture the similarities of the real circuits in terms of the spread of the pins and obstacles and routing characteristics.
To approach a routing challenge as a supervised ML task, the ML model needs to be trained on a set of exemplary routed reference nets (i.e., training samples and the corresponding true labels). A deep learning model requires a significant amount of training samples. Effective and fast generation of pathfinding tasks and the corresponding, state-of-the-art like pathfinding solutions is, therefore, a primary concern. While a straightforward generation of random pathfinding tasks is feasible, routing complex nets with existing EDA tools is computationally prohibitive and impractical for training purposes. Thus, the reference multiterminal routed nets are synthetically generated herein.
The key idea is merging several low resolution, realistic paths into a higher resolution robust realistic path. First, a large set of pathfinding tasks is generated within small (i.e., 8×8 to 128×128) rectangular bitmaps. Each small bitmap comprises at least one terminal or a net segment placed on the bitmap perimeter (i.e., edge terminal or edge net segment). These small bitmaps are realistically routed with exhaustive pathfinding methods. A valid merge of routed nets into a longer, more complex net within a larger bitmap is accomplished by joining two bitmaps via two edge terminals/net segments. For that purpose, smaller bitmaps can be rotated and flipped as needed. The merging process continues until the resulted bitmap reaches the target layout resolution. Examples of bitmap merges are shown in
Specifically,
While the net generated by merging two optimally routed nets is not necessarily optimal (i.e., new, shorter paths can exist between terminals of merged bitmaps), note that the optimality of the dataset is not required for training an ML pathfinding model to optimally route unseen nets. Based on the experimental results (see documents incorporated by reference), the conditional generative adversarial network (cGAN) model trained on suboptimal synthetic nets routes unseen nets with state-of-the-art wirelength.
The flow diagram of the training set generation is shown in
At each iteration, a bitmap is randomly selected from a pool of bitmaps and matched with another random bitmap from the pool for a valid merging. Note that bitmaps generated in this manner tend to exhibit statistically significant difference in net density at the edge tiles, increasing the risk of model overfitting during training. Thus, each net resulted from a valid merging is shifted in a random direction, as shown in
The grouped and shifted bitmap is added to the pool and the process continues to the next iteration. A model trained on the resulted training set is expected to capture broad net routing rules in presence of obstacles. To capture a system-specific obstacle constraints, another fine-tuned dataset is generated. Samples in this set are generated in the following manner. Tiles from a typical layout are randomly sampled and combined into a small bitmap (e.g., 128×128). The bitmap is utilized to generate thousands of routing tasks with numerous randomly placed terminals, which are routed with conventional methods. Shown by the experimental results, including the fine-tuned data within the training set significantly increases the saturation speed of the trained model.
While the disclosure is susceptible to various modifications and alternative forms, specific exemplary embodiments have been shown by way of example in the drawings and have been described in detail. It should be understood, however, that there is no intent to limit the disclosure to the embodiments disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure as defined by the appended claims.
Claims
1. A synthetic dataset for pathfinding applications comprising:
- small, existing routed circuits generated by an algorithm, wherein the small, existing routed circuits are joined together to produce a high resolution, complex obstacle-avoiding multi-pin routed circuit.
2. The synthetic dataset according to claim 1, wherein the algorithm comprises the steps of:
- generating within a rectangular bitmap a large set of net routing, wherein each tile of the rectangular bitmap comprises at least one terminal or a net segment placed on a perimeter of the rectangular bitmap;
- joining two or more rectangular bitmaps via two edge net segments to obtain a larger bitmap, wherein the larger bitmap comprises a valid grouping of routed nets with smaller bitmaps being rotated and flipped as needed; and
- determining whether the joined bitmaps are a valid grouping if it does not exceed a maximum layout resolution as provided by a target training resolution.
3. The synthetic dataset of claim 1, wherein the synthetic dataset captures a variety of realistic routing characteristics allowing neural networks to be trained on this dataset.
4. A system comprising the synthetic dataset of claim 1, further comprising components configured to generate joinable and detached bitmap images for the synthetic dataset.
5. The system of claim 4, further comprising repeatable merges of the joinable and detached bitmap images to form a high resolution, complex global synthetic dataset.
6. A synthetic dataset configured to capture the similarities of real circuits in terms of the spread of the pins and obstacles and routing characteristics.
7. The synthetic dataset of claim 6, wherein the synthetic dataset is generated by an algorithm that joins together a plurality of small, existing routed circuits to produce a high resolution, complex obstacle-avoiding multi-pin routed circuit.
8. The synthetic dataset of claim 7, wherein the algorithm comprises the steps of:
- generating within a rectangular bitmap a large set of net routing, wherein each tile of the rectangular bitmap comprises at least one terminal or a net segment placed on a perimeter of the rectangular bitmap;
- joining two or more rectangular bitmaps via two edge net segments to obtain a larger bitmap, wherein the larger bitmap comprises a valid grouping of routed nets with smaller bitmaps being rotated and flipped as needed; and
- determining whether the joined bitmaps are a valid grouping if it does not exceed a maximum layout resolution as provided by a target training resolution.
9. A method of generating complex global pathfinding training datasets comprising the steps of:
- generating small bitmaps;
- joining the small bitmaps to generate a complex global pathfinding dataset of placed bitmaps.
10. The method of claim 9, further comprising the step of:
- repeatedly improving the resolution to generate a training sample from the global routed dataset.
11. The method of claim 10, further comprising the step of:
- resolving any unprocessed space adjacent to placed bitmaps.
12. The method of claim 9, further comprising the steps of:
- generating within a rectangular bitmap a large set of net routing, wherein each tile of the rectangular bitmap comprises at least one terminal or a net segment placed on a perimeter of the rectangular bitmap;
- joining two or more rectangular bitmaps via two edge net segments to obtain a larger bitmap, wherein the larger bitmap comprises a valid grouping of routed nets with smaller bitmaps being rotated and flipped as needed; and
- determining whether the joined bitmaps are a valid grouping if it does not exceed a maximum layout resolution as provided by a target training resolution.
Type: Application
Filed: Dec 13, 2022
Publication Date: Jun 15, 2023
Inventors: Inna Partin-Vaisband (Urbana, IL), Dmitry Utyamishev (Urbana, IL)
Application Number: 18/065,053