freeroute/tests/dsn/fixtures/shove_needed.dsn
Ryan Malloy e58f63e0f1 Add dense fixture and shove tests
Adds shove_needed.dsn: one signal layer (no vias), where NET_A routes as
a straight wall that boxes NET_C out under greedy ordering. Tests assert
the contrast: without shove NET_C is dropped (result still DRC-clean, just
incomplete); with shove NET_A is moved aside and both nets connect, the
exact has_violation check is clean, endpoints stay on pads, and the result
is deterministic. Regression tests confirm shove is a no-op on the simple/
crossing/ripup/kicad boards (same connectivity, DRC-clean, zero shoves).
Oracle-gated parity is included (skips when the JAR cannot route the
synthetic single-layer board).
2026-07-13 02:43:35 -06:00

65 lines
1.0 KiB
Plaintext

(pcb "shove_needed.dsn"
(parser
(string_quote ")
(space_in_quoted_tokens on)
(host_cad "freeroute-test")
(host_version "1.0")
)
(resolution um 10)
(unit um)
(structure
(layer F.Cu
(type signal)
(property
(index 0)
)
)
(layer B.Cu
(type power)
(property
(index 1)
)
)
(boundary
(path pcb 0 0 0 200000 0 200000 -30000 0 -30000 0 0)
)
(rule
(width 2000)
(clearance 2000)
)
)
(library
(padstack Rect_Pad
(shape (rect F.Cu -1000 -1000 1000 1000))
(attach off)
)
(image PAD
(pin Rect_Pad 1 0 0)
)
)
(placement
(component PAD
(place A1 3000 -15000 front 0)
(place A2 197000 -15000 front 0)
(place C1 100000 -6000 front 0)
(place C2 100000 -24000 front 0)
)
)
(network
(net NET_A
(pins A1-1 A2-1)
)
(net NET_C
(pins C1-1 C2-1)
)
(class default
(rule
(width 2000)
(clearance 2000)
)
)
)
(wiring
)
)