TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::place::LoopOptions Struct Reference

#include <place/routable.hpp>

Public Attributes

PlaceOptions place
 annealing options for the re-placement rounds (mode is forced to refine)
double beta = 1.0
 routability weight (RUDY overflow) in the re-placement rounds
int rounds = 3
 penalty rounds after the seeds
double penalty = 0.6
 capacity factor applied per round to bins around failed connections
int weight_boost = 3
 failed nets weigh this many times more in the re-placement rounds
int eco_candidates = 4
 ECO moves routed per round (0 = no ECO step).
std::function< void(const std::string &)> log
std::function< bool()> out_of_time
 Job wall-time stop (CLAUDE.md rule 5): checked between routes; when it returns true the loop stops and keeps the best candidate so far.
std::function< void(const std::string &label)> on_incumbent
 Recording (video): called with a candidate's label whenever it becomes the incumbent.
std::function< void(const std::string &label)> on_route
 recording: a check route of this candidate starts
bool absolute_seed_legality = false
 –repair-input (D75): only seeds without any conflict can become the incumbent; the others are routed for reference.
bool accept_first_seed_conflicts = false
 With absolute_seed_legality: the first seed is the input whose minimal repair failed; it is compared as it is.

Detailed Description

Definition at line 83 of file routable.hpp.

Member Data Documentation

◆ absolute_seed_legality

bool tmk::place::LoopOptions::absolute_seed_legality = false

–repair-input (D75): only seeds without any conflict can become the incumbent; the others are routed for reference.

Off: every seed is eligible, as its caller checked it adds no conflict to the input's.

Definition at line 100 of file routable.hpp.

◆ accept_first_seed_conflicts

bool tmk::place::LoopOptions::accept_first_seed_conflicts = false

With absolute_seed_legality: the first seed is the input whose minimal repair failed; it is compared as it is.

Definition at line 102 of file routable.hpp.

◆ beta

double tmk::place::LoopOptions::beta = 1.0

routability weight (RUDY overflow) in the re-placement rounds

Definition at line 85 of file routable.hpp.

◆ eco_candidates

int tmk::place::LoopOptions::eco_candidates = 4

ECO moves routed per round (0 = no ECO step).

Definition at line 89 of file routable.hpp.

◆ log

std::function<void(const std::string&)> tmk::place::LoopOptions::log

Definition at line 90 of file routable.hpp.

◆ on_incumbent

std::function<void(const std::string& label)> tmk::place::LoopOptions::on_incumbent

Recording (video): called with a candidate's label whenever it becomes the incumbent.

Re-placement stages reach o.place.trace as "\<label\>|\<stage\>".

Definition at line 96 of file routable.hpp.

◆ on_route

std::function<void(const std::string& label)> tmk::place::LoopOptions::on_route

recording: a check route of this candidate starts

Definition at line 97 of file routable.hpp.

◆ out_of_time

std::function<bool()> tmk::place::LoopOptions::out_of_time

Job wall-time stop (CLAUDE.md rule 5): checked between routes; when it returns true the loop stops and keeps the best candidate so far.

The first seed (the input) is always routed.

Definition at line 93 of file routable.hpp.

◆ penalty

double tmk::place::LoopOptions::penalty = 0.6

capacity factor applied per round to bins around failed connections

Definition at line 87 of file routable.hpp.

◆ place

PlaceOptions tmk::place::LoopOptions::place

annealing options for the re-placement rounds (mode is forced to refine)

Definition at line 84 of file routable.hpp.

◆ rounds

int tmk::place::LoopOptions::rounds = 3

penalty rounds after the seeds

Definition at line 86 of file routable.hpp.

◆ weight_boost

int tmk::place::LoopOptions::weight_boost = 3

failed nets weigh this many times more in the re-placement rounds

Definition at line 88 of file routable.hpp.


The documentation for this struct was generated from the following file: