TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
place Directory Reference

Files

 
anneal.hpp
 (E) Detailed placement by simulated annealing (design doc 04 §3 E; Kirkpatrick, Gelatt, Vecchi, Science 1983; move set after TimberWolf, Sechen & Sangiovanni-Vincentelli, IEEE JSSC 1985).
 
anneal_state.hpp
 Internal: the incremental annealing state shared by simulated annealing, parallel tempering, large- neighbourhood search and exact windows (anneal.cpp, tempering.cpp, lns.cpp).
 
congestion.hpp
 Routability estimate for placement (design doc 04 §3 B R(x), E β·RUDY overflow, G).
 
global.hpp
 Global placement (design doc 04 §3 A–C).
 
legality.hpp
 Placement legality (design doc 04 §3 D/E): exact integer tests of courtyards, through-hole obstacles, the board outline, keepouts and pad-to-edge clearance, plus a bucket index of placed parts and a conservative occupancy raster used as a fast path by the legaliser.
 
legalize.hpp
 (D) Legalisation (design doc 04 §3 D): Tetris-style greedy, largest parts first, each part moved to the nearest legal position (minimum Euclidean displacement over a lattice searched in rings) from its target.
 
lower_bound.hpp
 Exact lower bound on weighted HPWL (design doc 04 §1 level L4).
 
placer.hpp
 The placement pipeline (design doc 04 §3): full runs A (quadratic B2B) → B (SimPL spreading) → C (rotations) → D (legalisation) → E (annealing); refine starts from the current placement and runs D (only for illegal parts) → E.
 
problem.hpp
 Placement problem extracted from a board (design doc 04 §2): parts with courtyards, holes and pins per rotation, weighted nets, the board outline, keepouts and spacing rules.
 
routable.hpp
 Router-in-the-loop placement (design doc 04 §3 G) and ECO placement (doc 04 §4).
 
wirelength.hpp
 Wirelength and airwire metrics: weighted half-perimeter wirelength (HPWL) and crossings between the minimum-spanning-tree airwires of different signal nets (doc 04 §3 E).