mirror of https://codeberg.org/topola/topola.git
test: Add test routines for `4x4_1206_led_matrix_breakout`
This commit is contained in:
parent
979493efe4
commit
e7e3e7b6f8
|
|
@ -23,13 +23,14 @@ mod common;
|
|||
fn test_master(#[case] variant: &str) {}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_tht_de9_to_tht_de9_in_order(variant: &str) {
|
||||
let autorouter =
|
||||
common::load_design("tests/single_layer/tht_de9_to_tht_de9/tht_de9_to_tht_de9.dsn");
|
||||
fn autoroute_4x4_1206_led_matrix_breakout(variant: &str) {
|
||||
let autorouter = common::load_design(
|
||||
"tests/single_layer/4x4_1206_led_matrix_breakout/4x4_1206_led_matrix_breakout.dsn",
|
||||
);
|
||||
let mut invoker = common::create_invoker_and_assert(autorouter);
|
||||
common::replay_and_assert(
|
||||
&mut invoker,
|
||||
"tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_an_order.cmd",
|
||||
"tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all.cmd",
|
||||
variant,
|
||||
);
|
||||
|
||||
|
|
@ -38,7 +39,23 @@ fn test_tht_de9_to_tht_de9_in_order(variant: &str) {
|
|||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_tht_de9_to_tht_de9(variant: &str) {
|
||||
fn autoroute_4x4_1206_led_matrix_breakout_in_predefined_order(variant: &str) {
|
||||
let autorouter = common::load_design(
|
||||
"tests/single_layer/4x4_1206_led_matrix_breakout/4x4_1206_led_matrix_breakout.dsn",
|
||||
);
|
||||
let mut invoker = common::create_invoker_and_assert(autorouter);
|
||||
common::replay_and_assert(
|
||||
&mut invoker,
|
||||
"tests/single_layer/4x4_1206_led_matrix_breakout/autoroute_all_in_predefined_order.cmd",
|
||||
variant,
|
||||
);
|
||||
|
||||
let (mut autorouter, ..) = invoker.dissolve();
|
||||
common::assert_single_layer_groundless_autoroute(&mut autorouter, "F.Cu");
|
||||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn autoroute_tht_de9_to_tht_de9(variant: &str) {
|
||||
let autorouter =
|
||||
common::load_design("tests/single_layer/tht_de9_to_tht_de9/tht_de9_to_tht_de9.dsn");
|
||||
let mut invoker = common::create_invoker_and_assert(autorouter);
|
||||
|
|
@ -54,7 +71,22 @@ fn test_tht_de9_to_tht_de9(variant: &str) {
|
|||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_0603_breakout(variant: &str) {
|
||||
fn autoroute_tht_de9_to_tht_de9_in_predefined_order(variant: &str) {
|
||||
let autorouter =
|
||||
common::load_design("tests/single_layer/tht_de9_to_tht_de9/tht_de9_to_tht_de9.dsn");
|
||||
let mut invoker = common::create_invoker_and_assert(autorouter);
|
||||
common::replay_and_assert(
|
||||
&mut invoker,
|
||||
"tests/single_layer/tht_de9_to_tht_de9/autoroute_all_in_predefined_order.cmd",
|
||||
variant,
|
||||
);
|
||||
|
||||
let (mut autorouter, ..) = invoker.dissolve();
|
||||
common::assert_single_layer_groundless_autoroute(&mut autorouter, "F.Cu");
|
||||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn autoroute_0603_breakout(variant: &str) {
|
||||
let mut autorouter = common::load_design("tests/single_layer/0603_breakout/0603_breakout.dsn");
|
||||
common::assert_navnode_count(&mut autorouter, "R1-2", "J1-2", 22);
|
||||
let mut invoker = common::create_invoker_and_assert(autorouter);
|
||||
|
|
@ -71,7 +103,7 @@ fn test_0603_breakout(variant: &str) {
|
|||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_tht_diode_bridge_rectifier(variant: &str) {
|
||||
fn autoroute_tht_diode_bridge_rectifier(variant: &str) {
|
||||
let mut autorouter = common::load_design(
|
||||
"tests/single_layer/tht_diode_bridge_rectifier/tht_diode_bridge_rectifier.dsn",
|
||||
);
|
||||
|
|
@ -108,7 +140,7 @@ fn test_tht_diode_bridge_rectifier(variant: &str) {
|
|||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_4x_3rd_order_smd_lc_filters(variant: &str) {
|
||||
fn autoroute_4x_3rd_order_smd_lc_filters(variant: &str) {
|
||||
let mut autorouter = common::load_design(
|
||||
"tests/single_layer/4x_3rd_order_smd_lc_filters/4x_3rd_order_smd_lc_filters.dsn",
|
||||
);
|
||||
|
|
@ -150,7 +182,7 @@ fn test_tht_3pin_xlr_to_tht_3pin_xlr(#[case] variant: &str) {
|
|||
}*/
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_vga_dac_breakout(variant: &str) {
|
||||
fn autoroute_vga_dac_breakout(variant: &str) {
|
||||
let mut autorouter =
|
||||
common::load_design("tests/single_layer/vga_dac_breakout/vga_dac_breakout.dsn");
|
||||
common::assert_navnode_count(&mut autorouter, "J1-2", "R4-1", 272);
|
||||
|
|
@ -167,7 +199,7 @@ fn test_vga_dac_breakout(variant: &str) {
|
|||
}
|
||||
|
||||
#[apply(test_master)]
|
||||
fn test_smd_non_rectangular_buck_converter(variant: &str) {
|
||||
fn autoroute_smd_non_rectangular_buck_converter(variant: &str) {
|
||||
let path = "tests/single_layer/smd_non_rectangular_buck_converter/smd_non_rectangular_buck_converter.dsn";
|
||||
let autorouter = common::load_design(&path);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,212 @@
|
|||
{
|
||||
"done": [
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D10-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D10-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D11-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D11-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D12-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D12-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D13-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D13-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D14-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D14-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D15-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D15-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D16-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D16-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D3-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D3-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D4-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D4-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D5-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D5-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D6-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D6-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D7-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D7-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D8-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D8-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D9-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D9-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-3",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-4",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-3",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-4",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R3-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R3-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R4-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R4-2",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"undone": []
|
||||
}
|
||||
|
|
@ -0,0 +1,334 @@
|
|||
{
|
||||
"done": [
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D13-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D14-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D15-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D16-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-3",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J2-4",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R3-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R3-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R4-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "R4-2",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D13-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D5-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D9-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-3",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "J1-4",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D1-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D10-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D11-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D12-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D13-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D14-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D15-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D16-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D2-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D3-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D4-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D5-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D6-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D7-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D8-2",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D9-2",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D1-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D13-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D5-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D9-1",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D10-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D14-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D2-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D6-1",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D11-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D15-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D3-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D7-1",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Autoroute": [
|
||||
[
|
||||
{
|
||||
"pin": "D12-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D16-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D4-1",
|
||||
"layer": "F.Cu"
|
||||
},
|
||||
{
|
||||
"pin": "D8-1",
|
||||
"layer": "F.Cu"
|
||||
}
|
||||
],
|
||||
{
|
||||
"presort_by": "RatlineIntersectionCountAndLength",
|
||||
"permutate": true,
|
||||
"router_options": {
|
||||
"routed_band_width": 100.0,
|
||||
"wrap_around_bands": true,
|
||||
"squeeze_through_under_bends": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"undone": []
|
||||
}
|
||||
Loading…
Reference in New Issue