You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Bound2Bound net model is a method to solve for the linear HPWL
objective by iteratively solving a quadratic objective function.
This method does obtain a better quality post-global placement flat
placement; at the expense of being more computationally expensive.
Found that this solver also has numerical stability issues. This may
cause the CG solver to never converge which will hit the iteration limit
of 2 * the number of moveable blocks. This makes this algorithm
quadratic with the number of blocks in the netlist. To resolve this, set
a custom iteration limit. This seems to work well on our benchmarks but
may need to be revisited in the future.
Controls which Global Placer to use in the AP Flow.
1193
+
Controls which Analytical Solver the Global Placer will use in the AP Flow.
1194
+
The Analytical Solver solves for a placement which optimizes some objective
1195
+
function, ignorant of the FPGA legality constraints. This provides a "lower-
1196
+
bound" solution. The Global Placer will legalize this solution and feed it
1197
+
back to the analytical solver to make its solution more legal.
1194
1198
1195
-
* ``quadratic-bipartitioning-lookahead`` Use a Global Placer which uses a quadratic solver and a bi-partitioning lookahead legalizer. Anchor points are used to spread the solved solution to the legalized solution.
1199
+
* ``qp-hybrid`` Solves for a placement that minimizes the quadratic HPWL of
1200
+
the flat placement using a hybrid clique/star net model. Uses the legalized solution
1201
+
as anchor-points to pull the solution to a more legal solution.
1196
1202
1197
-
* ``quadratic-flowbased-lookahead`` Use a Global Placer which uses a quadratic solver and a multi-commodity-flow-based lookahead legalizer. Anchor points are used to spread the solved solution to the legalized solution.
1203
+
* ``lp-b2b`` Solves for a placement that minimizes the linear HPWL of the
1204
+
flat placement using the Bound2Bound net model. Uses the legalized solution
1205
+
as anchor-points to pull the solution to a more legal solution.
Copy file name to clipboardExpand all lines: vpr/src/analytical_place/ap_flow_enums.h
+19-7Lines changed: 19 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,27 @@
8
8
#pragma once
9
9
10
10
/**
11
-
* @brief The type of a Global Placer.
11
+
* @brief The type of an Analytical Solver.
12
12
*
13
-
* The Analytical Placement flow may implement different Global Placers. This
14
-
* enum can select between these different Global Placers.
13
+
* The Analytical Placement flow may implement different Analytical Solvers as
14
+
* part of the Global Placer. This enum can select between these different
15
+
* Analytical Solvers.
15
16
*/
16
-
enumclasse_ap_global_placer {
17
-
// Global placers based on the the SimPL paper.
18
-
SimPL_BiParitioning, ///< Global Placer based on the SimPL technique to Global Placement. Uses a quadratic solver and a bi-partitioning Partial Legalizer.
19
-
SimPL_FlowBased///< Global Placer based on the SimPL technique to Global Placement. Uses a quadratic solver and a multi-commodity-flow-baed Partial Legalizer.
17
+
enumclasse_ap_analytical_solver {
18
+
QP_Hybrid, ///< Analytical Solver which uses the hybrid net model to optimize the quadratic HPWL objective.
19
+
LP_B2B///< Analytical Solver which uses the B2B net model to optimize the linear HPWL objective.
20
+
};
21
+
22
+
/**
23
+
* @brief The type of a Partial Legalizer.
24
+
*
25
+
* The Analytical Placement flow may implement different Partial Legalizer as
26
+
* part of the Global Placer. This enum can select between these different
27
+
* Partial Legalizers.
28
+
*/
29
+
enumclasse_ap_partial_legalizer {
30
+
BiPartitioning, ///< Partial Legalizer which forms minimum windows around dense regions and uses bipartitioning to spread blocks over windows.
31
+
FlowBased///> Partial Legalizer which flows blocks from overfilled bins to underfilled bins.
0 commit comments