diff --git a/crates/topola-cli/src/main.rs b/crates/topola-cli/src/main.rs index 2107666..8391b27 100644 --- a/crates/topola-cli/src/main.rs +++ b/crates/topola-cli/src/main.rs @@ -5,7 +5,6 @@ use clap::Parser; use std::fs::File; use std::io::BufReader; -use topola::autorouter::anterouter::AnterouterOptions; use topola::autorouter::execution::Command; use topola::autorouter::history::History; use topola::autorouter::invoker::Invoker; @@ -40,6 +39,7 @@ fn main() -> Result<(), std::io::Error> { Command::Autoroute( PinSelection::new_select_layer(&board, 0), PlanarAutorouteOptions { + principal_layer: 0, presort_by: PresortBy::RatlineIntersectionCountAndLength, permutate: true, router: RouterOptions { diff --git a/tests/common/mod.rs b/tests/common/mod.rs index e1a7f98..f1b3a04 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -132,7 +132,8 @@ pub fn assert_navnode_count( expected_count: usize, ) { let (origin, destination) = autorouter - .ratsnest() + .ratsnests() + .on_principal_layer(0) .graph() .edge_indices() .collect::>() @@ -176,7 +177,12 @@ pub fn assert_that_all_single_layer_groundless_ratlines_are_autorouted( ) { let conncomps = ConncompsWithPrincipalLayer::new(autorouter.board(), 0); - for ratline in autorouter.ratsnest().graph().edge_indices() { + for ratline in autorouter + .ratsnests() + .on_principal_layer(0) + .graph() + .edge_indices() + { let (origin_dot, destination_dot) = ratline.ref_(autorouter).endpoint_dots(); let origin_layer = autorouter diff --git a/tests/single_layer/0603_breakout/autoroute_all.cmd b/tests/single_layer/0603_breakout/autoroute_all.cmd index f04589b..5cbcce9 100644 --- a/tests/single_layer/0603_breakout/autoroute_all.cmd +++ b/tests/single_layer/0603_breakout/autoroute_all.cmd @@ -19,7 +19,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -42,7 +43,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all.cmd b/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all.cmd index 7f68fdf..c1964fe 100644 --- a/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all.cmd +++ b/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all.cmd @@ -203,10 +203,11 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] } ], "undone": [] -} \ No newline at end of file +} diff --git a/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all_in_predefined_order.cmd b/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all_in_predefined_order.cmd index 406d5ae..d70697d 100644 --- a/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all_in_predefined_order.cmd +++ b/tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all_in_predefined_order.cmd @@ -75,7 +75,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -122,7 +123,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -201,7 +203,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -232,7 +235,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -263,7 +267,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -294,7 +299,8 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] }, @@ -325,10 +331,11 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] } ], "undone": [] -} \ No newline at end of file +} diff --git a/tests/single_layer/4x_3rd_order_smd_lc_filters/autoroute_signals.cmd b/tests/single_layer/4x_3rd_order_smd_lc_filters/autoroute_signals.cmd index b0de310..4ce11c4 100644 --- a/tests/single_layer/4x_3rd_order_smd_lc_filters/autoroute_signals.cmd +++ b/tests/single_layer/4x_3rd_order_smd_lc_filters/autoroute_signals.cmd @@ -55,7 +55,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -114,7 +115,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -173,7 +175,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -232,7 +235,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/smd_non_rectangular_buck_converter/route_all.cmd b/tests/single_layer/smd_non_rectangular_buck_converter/route_all.cmd index 0b96c70..250d136 100644 --- a/tests/single_layer/smd_non_rectangular_buck_converter/route_all.cmd +++ b/tests/single_layer/smd_non_rectangular_buck_converter/route_all.cmd @@ -43,7 +43,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/tht_3pin_xlr_to_tht_3pin_xlr/autoroute_all.cmd b/tests/single_layer/tht_3pin_xlr_to_tht_3pin_xlr/autoroute_all.cmd index 97ba722..56b69af 100644 --- a/tests/single_layer/tht_3pin_xlr_to_tht_3pin_xlr/autoroute_all.cmd +++ b/tests/single_layer/tht_3pin_xlr_to_tht_3pin_xlr/autoroute_all.cmd @@ -35,7 +35,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/tht_de9_to_tht_de9/autoroute_all.cmd b/tests/single_layer/tht_de9_to_tht_de9/autoroute_all.cmd index b5547a8..5e7617b 100644 --- a/tests/single_layer/tht_de9_to_tht_de9/autoroute_all.cmd +++ b/tests/single_layer/tht_de9_to_tht_de9/autoroute_all.cmd @@ -83,10 +83,11 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] } ], "undone": [] -} \ No newline at end of file +} diff --git a/tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_predefined_order.cmd b/tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_predefined_order.cmd index 37dfb27..2f8b01e 100644 --- a/tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_predefined_order.cmd +++ b/tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_predefined_order.cmd @@ -19,7 +19,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -42,7 +43,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -65,7 +67,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -88,7 +91,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -111,7 +115,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -134,7 +139,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -157,7 +163,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -180,7 +187,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -203,7 +211,8 @@ "wrap_around_bands": true, "squeeze_through_under_bends": true }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/tht_diode_bridge_rectifier/autoroute_all.cmd b/tests/single_layer/tht_diode_bridge_rectifier/autoroute_all.cmd index b2837f2..aab408e 100644 --- a/tests/single_layer/tht_diode_bridge_rectifier/autoroute_all.cmd +++ b/tests/single_layer/tht_diode_bridge_rectifier/autoroute_all.cmd @@ -55,7 +55,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] }, @@ -78,7 +79,8 @@ "squeeze_through_under_bends": true, "routed_band_width": 100.0 }, - "permutate": false + "permutate": false, + "principal_layer": 0 } ] } diff --git a/tests/single_layer/vga_dac_breakout/autoroute_all.cmd b/tests/single_layer/vga_dac_breakout/autoroute_all.cmd index 98374f3..ddf2521 100644 --- a/tests/single_layer/vga_dac_breakout/autoroute_all.cmd +++ b/tests/single_layer/vga_dac_breakout/autoroute_all.cmd @@ -215,10 +215,11 @@ "routed_band_width": 100.0, "wrap_around_bands": true, "squeeze_through_under_bends": true - } + }, + "principal_layer": 0 } ] } ], "undone": [] -} \ No newline at end of file +}