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.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

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 FIELD

The present disclosure relates to machine learning. More specifically, the disclosure relates to methods for generating data for training machine learning routers.

BACKGROUND

Global 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.

SUMMARY

In 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.

BRIEF DESCRIPTION OF DRAWINGS

The preferred embodiments are described in conjunction with the attached figures.

FIG. 1A illustrates a block diagram of a partitioned circuit with two terminals, T1 and T2, that require connection.

FIG. 1B illustrates a block diagram of the global routing of a preferred pathfinding solution to connecting the two terminals, T1 and T2, of FIG. 1A.

FIG. 2A illustrates a global routing problem directed to missing net pixels that are reconstructed in the output bitmap.

FIG. 2B illustrates missing pixels from an input bitmap that are reconstructed in the output bitmap.

FIG. 3A illustrates a single routed net of a typical routing benchmark.

FIG. 3B illustrates a single routed net with similar resolution and number of terminals as FIG. 3A.

FIG. 4 illustrates a block diagram of joinable and detachable bitmap merges.

FIG. 5A illustrates a block diagram of a set of low-resolution optimally routed bitmaps.

FIG. 5B illustrates a block diagram of randomly selected and placed bitmaps.

FIG. 5C illustrates a block diagram of randomly selected and placed bitmaps.

FIG. 5D illustrates a block diagram of randomly selected and placed bitmaps.

FIG. 5E illustrates a block diagram of an optimally routed valid bitmap and an invalid net.

FIG. 6A illustrates a flow chart for generating small bitmaps that are optimally routed.

FIG. 6B illustrates a flow chart for generating complex, optimally routed training datasets by joining the optimally routed small bitmaps of FIG. 6A.

DETAILED DESCRIPTION

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 FIG. 1. The terminals that need to be connected are shown in FIG. 1A and the preferred pathfinding solution is shown in FIG. 1B. FIG. 2 illustrates a potential usage/application to utilize the dataset generated with the proposed method in order to reducing routing to an image manipulation problem. In the global routing problem shown in FIG. 2A, the net pixels are missing. In the imaging problem shown in FIG. 2B, pixels are missing from the input bitmap. In both problems, the missing parts are reconstructed in the output bitmap.

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. FIG. 3 shows a realistic synthetic net and a true net at the same level of complexity. FIG. 3A and FIG. 3B illustrate a single routed net with similar resolution and number of terminals with FIG. 3A showing a typical routing benchmark, and FIG. 3B showing a net generated with the proposed approach.

FIG. 4 illustrates examples of joinable and detached bitmap merges. Initially, a large amount of small (e.g., 8×8 to 128×128) easy-to-route samples are routed with existing exhaustive methods. The probability for a terminal to be placed along a bitmap boundary is controlled, determining the number of boundary terminals in each bitmap. Other than that, terminals and obstacles are placed randomly. For each boundary of a routed bitmap, the lists of all the “joinable” and “detached” bitmaps are constructed. Two bitmaps are joinable along a boundary if a single continuous non-looping net can be generated by aligning the bitmaps along the boundary. Otherwise, the bitmaps are detached or generate a loop.

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 FIG. 5.

Specifically, FIG. 5 illustrates the proposed flow for generating a training sample of optimally routed high-resolution net. In FIG. 5A, a set of low-resolution optimally routed bitmaps are shown. In FIG. 5B, bitmap b1 is randomly selected and placed. Given the single bitmap, b1, adjacent to the unprocessed space SI, the bitmap, b2, is randomly selected from the list of b1-joinable bitmaps and placed in SI along the bottom edge of b1. In FIG. 5C, the single bitmap, b2, adjacent to the unprocessed space SII, the bitmap, b3, is randomly selected from the list of b2-joinable bitmaps and placed in SII along the right edge of b2. In FIG. 5D, given the two bitmaps, b1 and b3, adjacent to the unprocessed space SIII, the bitmap, b5, is randomly selected from the intersection of the b1-joinable and b3-detached bitmaps and placed in SIII along the right edge of b1 and top edge of b3. As a result, an optimally routed valid bitmap with 4× resolution is generated as shown in the top of FIG. 5E. Alternatively, selecting the last bitmap from the intersection of the b1- and b3-joinable bitmaps results in an invalid circular net as shown in the bottom of FIG. 5E. Thus, bitmaps are always selected from the intersection of a joinable and detached lists.

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 FIG. 6. FIG. 6A illustrates the flow for generating small bitmaps. These bitmaps are optimally routed with optimal algorithm shown in FIG. 6B. Specifically, FIG. 6B illustrates the flow for generating complex, optimally routed training dataset by joining the optimally routed small bitmaps.

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 FIG. 5.

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.
Patent History
Publication number: 20230186087
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
Classifications
International Classification: G06N 3/08 (20060101);