ParaDRo: A Parallel Deterministic Router Based on Spatial Partitioning and Scheduling

Routing of nets is one of the most time-consuming steps in the FPGA design flow. Existing works have described ways of accelerating the process through parallelization. However, only some of them are deterministic, and determinism is often achieved at the cost of speedup. In this paper, we propose ParaDRo, a parallel FPGA router based on spatial partitioning that achieves deterministic results while maintaining reasonable speedup. Existing spatial partitioning based routers do not scale well because the number of nets that can fully utilize all processors reduces as the number of processors increases. In addition, they route nets that are within a spatial partition sequentially. ParaDRo mitigates this problem by scheduling nets within a spatial partition to be routed in parallel if they do not have overlapping bounding boxes. Further parallelism is extracted by decomposing multi-sink nets into single-sink nets to minimize the amount of bounding box overlaps and increase the number of nets that can be routed in parallel. These improvements enable ParaDRo to achieve an average speedup of 5.4X with 8 threads with minimal impact on the quality of results.

[1]  Carl Ebeling,et al.  PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[2]  Nelson Maculan,et al.  TDR: A Distributed-Memory Parallel Routing Algorithm for FPGAs , 2002, FPL.

[3]  Guojie Luo,et al.  Accelerate FPGA routing with parallel recursive partitioning , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[4]  Sen Wang,et al.  VTR 7.0: Next Generation Architecture and CAD System for FPGAs , 2014, TRETS.

[5]  Marcel Gort,et al.  Accelerating FPGA Routing Through Parallelization and Engineering Enhancements Special Section on PAR-CAD 2010 , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Vaughn Betz,et al.  Timing-Driven Titan: Enabling Large Benchmarks and Exploring the Gap between Academic and Commercial CAD , 2015, TRETS.

[7]  Vaughn Betz,et al.  Titan: Enabling large and complex benchmarks in academic CAD , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[8]  Guojie Luo,et al.  Corolla: GPU-Accelerated FPGA Routing Based on Subgraph Dynamic Expansion , 2017, FPGA.

[9]  Michel Renovell,et al.  Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream , 2002, Lecture Notes in Computer Science.

[10]  Vaughn Betz,et al.  Efficient and Deterministic Parallel Placement for FPGAs , 2011, TODE.

[11]  Marcel Gort,et al.  Deterministic multi-core parallel routing for FPGAs , 2010, 2010 International Conference on Field-Programmable Technology.

[12]  Keshav Pingali,et al.  The tao of parallelism in algorithms , 2011, PLDI '11.