Adds narrow_channel.dsn: a keepout wall with a narrow gap positioned off the routing grid, so no grid cell centre falls inside the gap's free centreline. The exact/grid track drops the net (cell quantization can't fit a centreline in the channel); the continuous room track routes it. This is the headline result that continuous free-space beats the grid. Tests: the room router's output is DRC-clean (exact has_violation is None) on simple/crossing/kicad/narrow_channel; it connects simple/crossing (with a via) and all four multi-pin KiCad nets; traces are orthogonal and end on pads; and the continuity contrast asserts exact routes 0 while rooms routes 1, both clean. Oracle-gated connectivity parity on simple/crossing.
66 lines
1.1 KiB
Plaintext
66 lines
1.1 KiB
Plaintext
(pcb "narrow_channel.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)
|
|
)
|
|
(keepout "wall_left"
|
|
(rect F.Cu 0 -14000 94000 -16000)
|
|
)
|
|
(keepout "wall_right"
|
|
(rect F.Cu 102000 -14000 200000 -16000)
|
|
)
|
|
(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 C1 98000 -5000 front 0)
|
|
(place C2 98000 -25000 front 0)
|
|
)
|
|
)
|
|
(network
|
|
(net NET_C
|
|
(pins C1-1 C2-1)
|
|
)
|
|
(class default
|
|
(rule
|
|
(width 2000)
|
|
(clearance 2000)
|
|
)
|
|
)
|
|
)
|
|
(wiring
|
|
)
|
|
)
|