|
TraceMaker
C++ API of the engine
|
#include <place/anneal.hpp>
Public Attributes | |
| std::uint64_t | seed = 1 |
| int | runs = 8 |
| int | threads = 8 |
| double | effort = 1.0 |
| moves per run = effort × 4000 × movable parts (at least 20 000) | |
| double | alpha_cross_mm = 2.0 |
| one airwire crossing costs as much as this much signal HPWL | |
| double | time_limit_s = 0 |
| wall-time stop (0 = none); hitting it makes the result timing-dependent | |
| bool | refine = false |
| start cool and with small moves (the start is already a good placement) | |
| double | beta_congestion = 0 |
| Routability: cost of 1 mm of RUDY overflow in mm of signal HPWL (0 = off; resolution 0.1). | |
| const CongestionMap * | congestion = nullptr |
| bool | tempering = false |
| parallel tempering over runs replicas instead of independent runs | |
| int | exchange_interval = 0 |
| moves per replica between exchange attempts (0 = auto) | |
| double | lns_rate = 0 |
| probability that a step is an LNS window instead of an ordinary move | |
| int | lns_window = 6 |
| parts per LNS window (≤ 12) | |
| int | exact_window = 4 |
| windows up to this size are repaired exactly (branch and bound) | |
| std::vector< int > | focus |
| parts LNS windows are centred on (empty: any movable part) | |
| std::uint64_t | trace_every = 0 |
| record the live state every this many steps (0 = off; video recording) | |
| bool | flip = false |
| Side assignment (doc 04 §3 C/E, D48): flip moves for parts with Part::may_flip(), and the via estimate via_mm · Σ w · min(front, back surface-mount pins) per net in the cost (wirelength.hpp side_vias). | |
| double | via_mm = 2.0 |
| one estimated via costs as much as this much signal HPWL | |
| double | flip_rate = 0.1 |
| share of ordinary moves that are flips (only drawn when flipping is on) | |
Definition at line 39 of file anneal.hpp.
| double tmk::place::AnnealOptions::alpha_cross_mm = 2.0 |
one airwire crossing costs as much as this much signal HPWL
Definition at line 44 of file anneal.hpp.
| double tmk::place::AnnealOptions::beta_congestion = 0 |
Routability: cost of 1 mm of RUDY overflow in mm of signal HPWL (0 = off; resolution 0.1).
congestion is the capacity map (built with default options when null).
Definition at line 49 of file anneal.hpp.
| const CongestionMap* tmk::place::AnnealOptions::congestion = nullptr |
Definition at line 50 of file anneal.hpp.
| double tmk::place::AnnealOptions::effort = 1.0 |
moves per run = effort × 4000 × movable parts (at least 20 000)
Definition at line 43 of file anneal.hpp.
| int tmk::place::AnnealOptions::exact_window = 4 |
windows up to this size are repaired exactly (branch and bound)
Definition at line 55 of file anneal.hpp.
| int tmk::place::AnnealOptions::exchange_interval = 0 |
moves per replica between exchange attempts (0 = auto)
Definition at line 52 of file anneal.hpp.
| bool tmk::place::AnnealOptions::flip = false |
Side assignment (doc 04 §3 C/E, D48): flip moves for parts with Part::may_flip(), and the via estimate via_mm · Σ w · min(front, back surface-mount pins) per net in the cost (wirelength.hpp side_vias).
Definition at line 60 of file anneal.hpp.
| double tmk::place::AnnealOptions::flip_rate = 0.1 |
share of ordinary moves that are flips (only drawn when flipping is on)
Definition at line 62 of file anneal.hpp.
| std::vector<int> tmk::place::AnnealOptions::focus |
parts LNS windows are centred on (empty: any movable part)
Definition at line 56 of file anneal.hpp.
| double tmk::place::AnnealOptions::lns_rate = 0 |
probability that a step is an LNS window instead of an ordinary move
Definition at line 53 of file anneal.hpp.
| int tmk::place::AnnealOptions::lns_window = 6 |
parts per LNS window (≤ 12)
Definition at line 54 of file anneal.hpp.
| bool tmk::place::AnnealOptions::refine = false |
start cool and with small moves (the start is already a good placement)
Definition at line 46 of file anneal.hpp.
| int tmk::place::AnnealOptions::runs = 8 |
Definition at line 41 of file anneal.hpp.
| std::uint64_t tmk::place::AnnealOptions::seed = 1 |
Definition at line 40 of file anneal.hpp.
| bool tmk::place::AnnealOptions::tempering = false |
parallel tempering over runs replicas instead of independent runs
Definition at line 51 of file anneal.hpp.
| int tmk::place::AnnealOptions::threads = 8 |
Definition at line 42 of file anneal.hpp.
| double tmk::place::AnnealOptions::time_limit_s = 0 |
wall-time stop (0 = none); hitting it makes the result timing-dependent
Definition at line 45 of file anneal.hpp.
| std::uint64_t tmk::place::AnnealOptions::trace_every = 0 |
record the live state every this many steps (0 = off; video recording)
Definition at line 57 of file anneal.hpp.
| double tmk::place::AnnealOptions::via_mm = 2.0 |
one estimated via costs as much as this much signal HPWL
Definition at line 61 of file anneal.hpp.