You've already forked OrthoRoute
mirror of
https://github.com/bbenchoff/OrthoRoute.git
synced 2026-08-22 06:09:32 +00:00
benchmarks/synthetic_boards.py: parameterized make_backplane(connectors, pins_per, layers, pattern) building domain Boards shaped like the real target hardware. Patterns: random pairs (matches the real backplane's ~2 pads/net), straight-across neighbor pairs, and multi-pad bus nets. Scales from 4-net CPU test boards toward the 16x1100 monster. benchmarks/metrics.py: collect_route_metrics(pf, board, timings) -> stable JSON dict: per-layer copper usage, layers_used, wirelength, via count, completion/excluded nets, iterations, overuse, phase timings, git sha. 'How many layers does this board actually need' is now a measured number instead of a guess. benchmarks/run_benchmark.py: CLI runner, CPU-only, writes JSON to benchmarks/results/ (gitignored) and prints a one-line summary. Baseline finding worth recording: the engine does not converge even trivial multi-net boards on CPU today - 8 straight-across nets on 4 layers end at overuse=199 after 250 iterations with ~23 vias/net of thrash, and random-pairs boards only 'converge' by excluding nets. Tests pin harness correctness, not routing quality; tightening them is the scoreboard for the negotiation/punch-in work.
2 lines
73 B
Python
2 lines
73 B
Python
"""Benchmark tooling: synthetic board generation and routing metrics."""
|