论文标题
Paralarh:基于拉格朗日启发式的平行FPGA路由器
ParaLarH: Parallel FPGA Router based upon Lagrange Heuristics
论文作者
论文摘要
在现场可编程门阵列(FPGA)设计流程中的网络路由是最耗时的步骤之一。尽管为此目的是一种常用的算法,尽管多功能位置和路线(VPR)有效地路由,但执行速度很慢。加速该设计流的一种方法是使用并行化。由于VPR本质上是顺序的,因此最近为此目的提出了一组平行算法(偏执派和副PARALARPD)。 这些算法将路由过程作为线性程序(LP)提出,并使用拉格朗日放松,次级方法和施泰纳树算法来解决它。在许多可用于检查路由的有效性的指标中,Paralarpd(改进的派派版本)遭受了LP问题的约束(与最小通道宽度指标相关的约束)遭受巨大违规行为,以及易于测量的关键路径延迟度量,可以进一步改进。 在本文中,我们介绍了一系列新颖的拉格朗日启发式方法,以改善拉格朗日放松过程。当对MCNC基准电路进行测试时,平均而言,这会导致约束违规减半,最小通道宽度提高了10%,并且从ParalarPD获得的临界路径延迟减少了8%。我们将新算法称为Paralarh。由于拉格朗日松弛过程中的工作增加,与副PARARARPD相比,由于平行化,Paralarh确实会稍微恶化获得的速度,但是,通过使用更多的线程,可以轻松补偿此方面。
Routing of the nets in Field Programmable Gate Array (FPGA) design flow is one of the most time consuming steps. Although Versatile Place and Route (VPR), which is a commonly used algorithm for this purpose, routes effectively, it is slow in execution. One way to accelerate this design flow is to use parallelization. Since VPR is intrinsically sequential, a set of parallel algorithms have been recently proposed for this purpose (ParaLaR and ParaLarPD). These algorithms formulate the routing process as a Linear Program (LP) and solve it using the Lagrange relaxation, the sub-gradient method, and the Steiner tree algorithm. Out of the many metrics available to check the effectiveness of routing, ParaLarPD, which is an improved version of ParaLaR, suffers from large violations in the constraints of the LP problem (which is related to the minimum channel width metric) as well as an easily measurable critical path delay metric that can be improved further. In this paper, we introduce a set of novel Lagrange heuristics that improve the Lagrange relaxation process. When tested on the MCNC benchmark circuits, on an average, this leads to halving of the constraints violation, up to 10% improvement in the minimum channel width, and up to 8% reduction in the critical path delay as obtained from ParaLarPD. We term our new algorithm as ParaLarH. Due to the increased work in the Lagrange relaxation process, as compared to ParaLarPD, ParaLarH does slightly deteriorate the speedup obtained because of parallelization, however, this aspect is easily compensated by using more number of threads.