freeroute/tests/dsn/fixtures/rooms_wide_door.dsn
Ryan Malloy a06adbee13 Add shove-in-rooms and gate-placement fixtures and tests
rooms_shove_channel is the headline density win: a sealed NET_A wall
leaves no top<->bottom door, so plain room routing drops NET_C; with
shove=True NET_A is nudged aside and both nets route, DRC-clean and
deterministic. rooms_wide_door seats two nets through one wide gap at
distinct projected gate points with no shove.

Cover the occupancy-aware projection math directly, assert the four
foundation fixtures stay byte-identical under shove=True (shoves==0), and
extend the room DRC-clean parametrize with both new fixtures.
2026-07-13 10:27:17 -06:00

71 lines
1.2 KiB
Plaintext

(pcb "rooms_wide_door.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 -60000 0 -60000 0 0)
)
(keepout "wall_left"
(rect F.Cu 0 -32000 90000 -28000)
)
(keepout "wall_right"
(rect F.Cu 110000 -32000 200000 -28000)
)
(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 98000 -10000 front 0)
(place A2 98000 -50000 front 0)
(place B1 102000 -10000 front 0)
(place B2 102000 -50000 front 0)
)
)
(network
(net NET_A
(pins A1-1 A2-1)
)
(net NET_B
(pins B1-1 B2-1)
)
(class default
(rule
(width 2000)
(clearance 2000)
)
)
)
(wiring
)
)