Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions vpr/src/place/annealer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -767,11 +767,11 @@ t_swap_result PlacementAnnealer::try_swap_(MoveGenerator& move_generator,
}
move_outcome_stats.outcome = move_outcome;

// If we force a router block move then it was not proposed by the
// move generator, so we should not calculate the reward and update
// If we force a router block move or manual move then it was not proposed
// by the move generator, so we should not calculate the reward and update
// the move generators status since this outcome is not a direct
// consequence of the move generator
if (!router_block_move) {
// consequence of the move generator.
if (!router_block_move && !manual_move_enabled) {
move_generator.calculate_reward_and_process_outcome(move_outcome_stats, delta_c, REWARD_BB_TIMING_RELATIVE_WEIGHT);
}

Expand Down Expand Up @@ -830,6 +830,14 @@ void PlacementAnnealer::placement_inner_loop() {

// Inner loop begins
for (int inner_iter = 0, inner_crit_iter_count = 1; inner_iter < annealing_state_.move_lim; inner_iter++) {
#ifndef NO_GRAPHICS
// Checks manual move flag for manual move feature
t_draw_state* draw_state = get_draw_state_vars();
if (draw_state->show_graphics) {
manual_move_enabled = manual_move_is_selected();
}
#endif /*NO_GRAPHICS*/

t_swap_result swap_result = try_swap_(move_generator, placer_opts_.place_algorithm, manual_move_enabled);

if (swap_result.move_result == e_move_result::ACCEPTED) {
Expand Down