Skip to content

Commit 21c3318

Browse files
doxygen comments for some members of t_router_opts
1 parent 48f725c commit 21c3318

File tree

1 file changed

+35
-51
lines changed

1 file changed

+35
-51
lines changed

vpr/src/base/vpr_types.h

Lines changed: 35 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,56 +1140,6 @@ struct t_ap_opts {
11401140
* Router data types
11411141
*******************************************************************/
11421142

1143-
/* All the parameters controlling the router's operation are in this *
1144-
* structure. *
1145-
* first_iter_pres_fac: Present sharing penalty factor used for the *
1146-
* very first (congestion mapping) Pathfinder iteration. *
1147-
* initial_pres_fac: Initial present sharing penalty factor for *
1148-
* Pathfinder; used to set pres_fac on 2nd iteration. *
1149-
* pres_fac_mult: Amount by which pres_fac is multiplied each *
1150-
* routing iteration. *
1151-
* acc_fac: Historical congestion cost multiplier. Used unchanged *
1152-
* for all iterations. *
1153-
* bend_cost: Cost of a bend (usually non-zero only for global routing). *
1154-
* max_router_iterations: Maximum number of iterations before giving *
1155-
* up. *
1156-
* min_incremental_reroute_fanout: Minimum fanout a net needs to have *
1157-
* for incremental reroute to be applied to it through route *
1158-
* tree pruning. Larger circuits should get larger thresholds *
1159-
* bb_factor: Linear distance a route can go outside the net bounding *
1160-
* box. *
1161-
* route_type: GLOBAL or DETAILED. *
1162-
* fixed_channel_width: Only attempt to route the design once, with the *
1163-
* channel width given. If this variable is *
1164-
* == NO_FIXED_CHANNEL_WIDTH, do a binary search *
1165-
* on channel width. *
1166-
* router_algorithm: TIMING_DRIVEN or PARALLEL. Selects the desired *
1167-
* routing algorithm. *
1168-
* base_cost_type: Specifies how to compute the base cost of each type of *
1169-
* rr_node. DELAY_NORMALIZED -> base_cost = "demand" *
1170-
* x average delay to route past 1 CLB. DEMAND_ONLY -> *
1171-
* expected demand of this node (old breadth-first costs). *
1172-
* *
1173-
* The following parameters are used only by the timing-driven router. *
1174-
* *
1175-
* astar_fac: Factor (alpha) used to weight expected future costs to *
1176-
* target in the timing_driven router. astar_fac = 0 leads to *
1177-
* an essentially breadth-first search, astar_fac = 1 is near *
1178-
* the usual astar algorithm and astar_fac > 1 are more *
1179-
* aggressive. *
1180-
* astar_offset: Offset that is subtracted from the lookahead (expected *
1181-
* future costs) in the timing-driven router. *
1182-
* max_criticality: The maximum criticality factor (from 0 to 1) any sink *
1183-
* will ever have (i.e. clip criticality to this number). *
1184-
* criticality_exp: Set criticality to (path_length(sink) / longest_path) ^ *
1185-
* criticality_exp (then clip to max_criticality). *
1186-
* doRouting: true if routing is supposed to be done, false otherwise *
1187-
* routing_failure_predictor: sets the configuration to be used by the *
1188-
* routing failure predictor, how aggressive the threshold used to judge *
1189-
* and abort routings deemed unroutable *
1190-
* write_rr_graph_name: stores the file name of the output rr graph *
1191-
* read_rr_graph_name: stores the file name of the rr graph to be read by vpr */
1192-
11931143
enum e_router_algorithm {
11941144
NESTED,
11951145
PARALLEL,
@@ -1249,25 +1199,54 @@ enum class e_incr_reroute_delay_ripup {
12491199

12501200
constexpr int NO_FIXED_CHANNEL_WIDTH = -1;
12511201

1202+
/**
1203+
* @brief Parameters controlling the router's operation.
1204+
*/
12521205
struct t_router_opts {
12531206
bool read_rr_edge_metadata = false;
12541207
bool do_check_rr_graph = true;
1208+
1209+
/// Present sharing penalty factor used for the very first (congestion mapping) Pathfinder iteration.
12551210
float first_iter_pres_fac;
1211+
/// Initial present sharing penalty factor for Pathfinder; used to set pres_fac on 2nd iteration.
12561212
float initial_pres_fac;
1213+
/// Amount by which pres_fac is multiplied each routing iteration.
12571214
float pres_fac_mult;
12581215
float max_pres_fac;
1216+
1217+
/// Historical congestion cost multiplier. Used unchanged for all iterations.
12591218
float acc_fac;
1219+
/// Cost of a bend (usually non-zero only for global routing).
12601220
float bend_cost;
1221+
/// Maximum number of iterations before giving up.
12611222
int max_router_iterations;
1223+
/// Minimum fanout a net needs to have for incremental reroute to be applied to it through route tree pruning.
1224+
/// Larger circuits should get larger thresholds
12621225
int min_incremental_reroute_fanout;
12631226
e_incr_reroute_delay_ripup incr_reroute_delay_ripup;
1227+
/// Linear distance a route can go outside the net bounding box.
12641228
int bb_factor;
1229+
/// GLOBAL or DETAILED.
12651230
enum e_route_type route_type;
1231+
/// Only attempt to route the design once, with the channel width given.
1232+
/// If this variable is == NO_FIXED_CHANNEL_WIDTH, do a binary search on channel width.
12661233
int fixed_channel_width;
1267-
int min_channel_width_hint; ///<Hint to binary search of what the minimum channel width is
1234+
/// Hint to binary search of what the minimum channel width is
1235+
int min_channel_width_hint;
1236+
/// TIMING_DRIVEN or PARALLEL. Selects the desired routing algorithm.
12681237
enum e_router_algorithm router_algorithm;
1238+
1239+
/// Specifies how to compute the base cost of each type of rr_node.
1240+
/// DELAY_NORMALIZED -> base_cost = "demand" x average delay to route past 1 CLB.
1241+
/// DEMAND_ONLY -> expected demand of this node (old breadth-first costs).
12691242
enum e_base_cost_type base_cost_type;
1243+
1244+
/// Factor (alpha) used to weight expected future costs to target in the timing_driven router.
1245+
/// astar_fac = 0 leads to an essentially breadth-first search,
1246+
/// astar_fac = 1 is near the usual astar algorithm and astar_fac > 1 are more aggressive.
12701247
float astar_fac;
1248+
1249+
/// Offset that is subtracted from the lookahead (expected future costs) in the timing-driven router.
12711250
float astar_offset;
12721251
float router_profiler_astar_fac;
12731252
bool enable_parallel_connection_router;
@@ -1276,15 +1255,20 @@ struct t_router_opts {
12761255
int multi_queue_num_threads;
12771256
int multi_queue_num_queues;
12781257
bool multi_queue_direct_draining;
1258+
/// The maximum criticality factor (from 0 to 1) any sink will ever have (i.e. clip criticality to this number).
12791259
float max_criticality;
1260+
/// Set criticality to (path_length(sink) / longest_path) ^ criticality_exp (then clip to max_criticality).
12801261
float criticality_exp;
12811262
float init_wirelength_abort_threshold;
12821263
bool verify_binary_search;
12831264
bool full_stats;
12841265
bool congestion_analysis;
12851266
bool fanout_analysis;
12861267
bool switch_usage_analysis;
1268+
/// true if routing is supposed to be done, false otherwise
12871269
e_stage_action doRouting;
1270+
/// the configuration to be used by the routing failure predictor,
1271+
/// how aggressive the threshold used to judge and abort routings deemed unroutable
12881272
enum e_routing_failure_predictor routing_failure_predictor;
12891273
enum e_routing_budgets_algorithm routing_budgets_algorithm;
12901274
bool save_routing_per_iteration;

0 commit comments

Comments
 (0)