@@ -165,18 +165,15 @@ void route_budgets::allocate_slack_using_weights(NetPinsMatrix<float>& net_delay
165165 std::shared_ptr<SetupHoldTimingInfo> timing_info_min = nullptr ;
166166 std::shared_ptr<SetupHoldTimingInfo> original_timing_info = nullptr ;
167167
168- unsigned iteration;
169- float max_budget_change;
170-
171168 /* Preprocessing algorithm in order to consider short paths when setting initial maximum budgets.
172169 * Not necessary unless budgets are really hard to meet*/
173170 // process_negative_slack_using_minimax();
174171 if (negative_hold_slack) {
175172 process_negative_slack_using_minimax (net_delay, netlist_pin_lookup);
176173 }
177174
178- iteration = 0 ;
179- max_budget_change = 900e-12 ;
175+ unsigned iteration = 0 ;
176+ float max_budget_change = 900e-12 ;
180177
181178 // Cutoff threshold so slack allocator can detect if budgets aren't changing, and stop loop early
182179 // An experimentally derived constant that allows for a balance between budget calculation time, and quality
@@ -249,13 +246,11 @@ void route_budgets::process_negative_slack_using_minimax(NetPinsMatrix<float>& n
249246 * This ensures that the short path slacks are also taken into account for the maximum budgets.
250247 * Ensures that maximum budgets will always be above minimum budgets.
251248 * Can be unnecessary for not so strict budgets*/
252- unsigned iteration;
253- float max_budget_change;
254249 std::shared_ptr<SetupHoldTimingInfo> timing_info = nullptr ;
255250 std::shared_ptr<SetupHoldTimingInfo> original_timing_info = nullptr ;
256251
257- iteration = 0 ;
258- max_budget_change = 900e-12 ;
252+ unsigned iteration = 0 ;
253+ float max_budget_change = 900e-12 ;
259254 float second_max_budget_change = 900e-12 ;
260255 original_timing_info = perform_sta (net_delay);
261256
@@ -576,10 +571,9 @@ void route_budgets::allocate_slack_using_delays_and_criticalities(NetPinsMatrix<
576571 * the maximum delay budget = delay through this connection / pin criticality.
577572 * The minimum delay budget is set to 0 to promote finding the fastest path*/
578573
579- float pin_criticality;
580574 for (auto net_id : net_list_.nets ()) {
581575 for (auto pin_id : net_list_.net_sinks (net_id)) {
582- pin_criticality = calculate_clb_net_pin_criticality (*timing_info, netlist_pin_lookup, pin_id, is_flat_);
576+ float pin_criticality = calculate_clb_net_pin_criticality (*timing_info, netlist_pin_lookup, pin_id, is_flat_);
583577
584578 /* Pin criticality is between 0 and 1.
585579 * Shift it downwards by 1 - max_criticality (max_criticality is 0.99 by default,
@@ -894,7 +888,7 @@ void route_budgets::print_route_budget(std::string filename, NetPinsMatrix<float
894888 fp.close ();
895889}
896890
897- void route_budgets::print_temporary_budgets_to_file (NetPinsMatrix<float >& temp_budgets) {
891+ void route_budgets::print_temporary_budgets_to_file (NetPinsMatrix<float >& temp_budgets) const {
898892 /* Used for debugging. Print one specific budget to an external file called
899893 * temporary_budgets.txt. This can be used to see how the budgets change between
900894 * each minimax PERT iteration*/
0 commit comments