|
TraceMaker
C++ API of the engine
|
Files | |
| bundle.hpp | |
| Bundle (river) escapes (design doc 05 §50). | |
| bus.hpp | |
| Buses (design doc 05 §38): groups of nets that belong together (a data bus, an address bus, a parallel display interface). | |
| diff_pair.hpp | |
| Differential pairs (design doc 05 §9 phase 3, §15): the geometry rule a pair is routed at, and a measurement of how a routed pair came out (coupled share, gap, intra-pair skew). | |
| escape.hpp | |
| Escape (fanout) planning, version 1 (roadmap M9; design doc 05 §3). | |
| escape_flow.hpp | |
| Escape planning, version 2 (roadmap M9; design doc 05 §3 and §14): min-cost-flow channel assignment for deep ball-grid arrays, layer by layer. | |
| global_router.hpp | |
| Global routing on a coarse 3-D tile graph (design doc 05 §4 and §19, roadmap M6; CPU, the only path: §19 shows why there is no GPU version). | |
| heat_grid.hpp | |
| Coarse accumulation grid behind the viewer's heatmap overlays (design doc 09 §3 "Heatmap overlays", protocol doc 13 heatmap). | |
| layer_limits.hpp | |
| Which copper layers may carry new tracks, and what a track costs on each (doc 05 §29): the user's --no-tracks-on and --layer-cost lists turned into the numbers RouterOptions holds. | |
| legalize.hpp | |
| Gridless legalisation of routed copper (doc 05 §41.3, D104). | |
| obstacles.hpp | |
| Obstacle model for routing: every copper item, hole, board edge and keepout, with exact legality tests that use the DRC's rule engine, so the router and the DRC can never disagree about what is legal. | |
| ref_map.hpp | |
| Where a track is over a void of its reference plane (issue #24, docs/05-routing.md §44, D117). | |
| router.hpp | |
| TraceMaker's detailed router, version 1 (roadmap M4; design doc 05 §2, §5). | |