Finer routing grid: --grid-resolution K with trace halos
A cell was exactly one trace plus its clearance, so a trace owning its cell was the whole clearance model, and the 0.4 mm grid could not reach most pins of a 0.5 mm pitch package: between two 0.3 mm pads a trace's centre has a legal band only 0.15 mm wide. Resolution K makes cells K times finer and has every trace claim a halo, the cells whose centre is nearer than trace + clearance to one of its own, released again on rip-up. K = 1 has an empty halo and is the old grid exactly (tested). On a 0.5 mm row, K = 4 gets every pin out where K = 1 gets two. On the rc4 boards, K = 2 cuts the sense board's opens from 66 to 41 (JAR: 32) and the power board's to 7 (JAR: 12), still with no DRC errors from freeroute's own copper.
This commit is contained in:
@@ -92,6 +92,7 @@ def route_board_exact(
|
||||
shove_cap: int = 3,
|
||||
via_half: int | None = None,
|
||||
edge_clearance: int | None = None,
|
||||
resolution: int = 1,
|
||||
) -> ExactRouteResult:
|
||||
"""Route ``board`` orthogonally and verify the result with exact geometry.
|
||||
|
||||
@@ -118,6 +119,7 @@ def route_board_exact(
|
||||
orthogonal=True,
|
||||
via_half=via_half,
|
||||
edge_clearance=edge_clearance,
|
||||
resolution=resolution,
|
||||
)
|
||||
edge = 0 if edge_clearance is None else edge_clearance
|
||||
outline = board.outline
|
||||
|
||||
Reference in New Issue
Block a user