Abstract

Routing is one of the most time-consuming steps in the FPGA design process. Even if unceasing efforts have been made to accelerate FPGA routing, the existing work seldom pays attention to the underlying FPGA connection router. In this paper, we present a fast FPGA connection router called PRoute which implements a novel pre-routing based parallel local routing algorithm. Basically, PRoute pre-computes the potential routing solutions for various connection patterns on FPGAs, which can be directly used in the later practical routing. On the whole, PRoute is composed of A-star maze expansion and parallel local search. In the first part, PRoute gradually expands the maze wavefront towards the lowest-cost node to search for the target sink. For a wire-type node, PRoute invokes a fast parallel local search instead taking advantage of the pre-routing results, and hence the time-expensive maze expansion can be reduced. Particularly, it allows PRoute to call one another between A-star maze expansion and parallel local search. This enables the runtime efficiency of PRoute while ensuring its global search ability. In addition, we put forward an engineering improvement to further speed up PRoute by avoiding the exploration of block output pins. To our best knowledge, this work is the first to apply the idea of pre-routing for FPGAs. Experimental results show that PRoute achieves speedups of 1.8×, 2.4×, 3.2×, 4.1× and 5.1× with 1, 4, 8, 16 and 32 threads relative to the baseline VPR’s connection router respectively, without degrading the quality of results.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call