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
* @brief Penalizes a specific cost entry based on its distance to the cost map bounds.
71
+
* @param entry cost entry to penalize
72
+
* @param distance distance to the cost map bounds (can be zero in case the entry is within the bounds)
73
+
* @param penalty penalty factor relative to the current segment type
74
+
*
75
+
* If a specific (delta_x, delta_y) coordinates pair falls out of a segment bounding box, the returned cost is a result of the following equation:
76
+
*
77
+
* delay + distance * penalty * PENALTY_FACTOR
78
+
*
79
+
* delay : delay of the closest point in the bounding box for the specific wire segment
80
+
* distance : this can assume two values:
81
+
* - 0 : in case the deltas fall within the bounding box (in this case no penalty is added)
82
+
* - non-0 : in case the point is out of the bounding box, the value is the manhattan distance between the point and the closest point within the bounding box.
83
+
* penalty : value determined when building the lookahead and relative to a specific segment type (meaning there is one penalty value for each segment type).
84
+
* The base delay_penalty value is a calculated as follows:
Copy file name to clipboardExpand all lines: vpr/src/route/router_lookahead_cost_map.h
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -63,6 +63,8 @@ class CostMap {
63
63
* @param cy y location of the cost map entry that needs to be filled
64
64
* @param bounds bounds of the cost map corresponding to the current segment
65
65
* @return A pair containing the nearby cost entry and the distance from the current location to the narby cost entry found.
66
+
*
67
+
* The coordinates identifying the cost map location to fill (cx, cy) need to fall within the bounding box provided as input (bounds). If the (cx, cy) point falls out of the bounds, a default cost entry is returned instead.
66
68
*/
67
69
std::pair<util::Cost_Entry, int> get_nearby_cost_entry(const vtr::NdMatrix<util::Cost_Entry, 2>& matrix, int cx, int cy, const vtr::Rect<int>& bounds);
0 commit comments