diff --git a/src/autorouter/anterouter.rs b/src/autorouter/anterouter.rs index ae958d7..74002cc 100644 --- a/src/autorouter/anterouter.rs +++ b/src/autorouter/anterouter.rs @@ -62,7 +62,7 @@ impl Anterouter { autorouter: &mut Autorouter, recorder: &mut BoardEdit, options: &AnterouterOptions, - ) -> BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex> { + ) -> BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex> { let mut terminating_dot_map = BTreeMap::new(); // PERF: Unnecessary clone. @@ -70,11 +70,6 @@ impl Anterouter { let endpoint_indices = ratline.ref_(autorouter).endpoint_indices(); let endpoint_dots = ratline.ref_(autorouter).endpoint_dots(); - autorouter - .ratsnests - .on_principal_layer_mut(ratline.principal_layer) - .assign_layer_to_ratline(ratline.index, *layer); - if let Some(terminating_scheme) = self .plan .ratline_terminating_schemes @@ -82,8 +77,7 @@ impl Anterouter { { match terminating_scheme { TerminatingScheme::ExistingFixedDot(terminating_dot) => { - terminating_dot_map - .insert((*ratline, endpoint_dots.0, *layer), *terminating_dot); + terminating_dot_map.insert((*ratline, endpoint_dots.0), *terminating_dot); } TerminatingScheme::Fanout => self.anteroute_fanout( autorouter, @@ -105,8 +99,7 @@ impl Anterouter { { match terminating_scheme { TerminatingScheme::ExistingFixedDot(terminating_dot) => { - terminating_dot_map - .insert((*ratline, endpoint_dots.1, *layer), *terminating_dot); + terminating_dot_map.insert((*ratline, endpoint_dots.1), *terminating_dot); } TerminatingScheme::Fanout => self.anteroute_fanout( autorouter, @@ -134,7 +127,7 @@ impl Anterouter { source_dot: FixedDotIndex, target_layer: usize, options: &AnterouterOptions, - terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, ) { let mut ratline_delta: Point = ratline.ref_(autorouter).line_segment().delta().into(); @@ -266,7 +259,7 @@ impl Anterouter { target_layer: usize, preferred_compass_direction: impl CompassDirection, options: &AnterouterOptions, - terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, ) -> Result<(), ()> { if self .anteroute_fanout_on_bbox_in_direction( @@ -351,7 +344,7 @@ impl Anterouter { target_layer: usize, direction: impl Into, options: &AnterouterOptions, - terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, ) -> Result<(), ()> { let (via, dots) = self.place_fanout_via_on_bbox_in_direction( autorouter, @@ -412,7 +405,7 @@ impl Anterouter { target_layer: usize, direction: impl Into, options: &AnterouterOptions, - terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + terminating_dot_map: &mut BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, ) -> Result<(GenericIndex, Vec), ()> { let source_layer = autorouter .board() @@ -472,7 +465,7 @@ impl Anterouter { .layer() }) .unwrap(); - terminating_dot_map.insert((ratline, source_dot, target_layer), *terminating_dot); + terminating_dot_map.insert((ratline, source_dot), *terminating_dot); Ok((via, dots)) } else { Err(()) diff --git a/src/autorouter/planar_autoroute.rs b/src/autorouter/planar_autoroute.rs index dc04f67..e5e3a35 100644 --- a/src/autorouter/planar_autoroute.rs +++ b/src/autorouter/planar_autoroute.rs @@ -32,7 +32,7 @@ use super::{ #[derive(Clone, Debug)] pub struct PlanarAutorouteConfiguration { pub ratlines: Vec, - pub terminating_dot_map: BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + pub terminating_dot_map: BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, } impl PlanarAutorouteConfiguration { @@ -43,16 +43,14 @@ impl PlanarAutorouteConfiguration { ) -> (FixedDotIndex, FixedDotIndex) { let ratline = self.ratlines[ratline_index]; let endpoint_dots = ratline.ref_(autorouter).endpoint_dots(); - let layer = ratline.ref_(autorouter).layer(); - ( *self .terminating_dot_map - .get(&(ratline, endpoint_dots.0, layer)) + .get(&(ratline, endpoint_dots.0)) .unwrap_or(&endpoint_dots.0), *self .terminating_dot_map - .get(&(ratline, endpoint_dots.1, layer)) + .get(&(ratline, endpoint_dots.1)) .unwrap_or(&endpoint_dots.1), ) } diff --git a/src/autorouter/planar_preconfigurer.rs b/src/autorouter/planar_preconfigurer.rs index 564f374..474f51c 100644 --- a/src/autorouter/planar_preconfigurer.rs +++ b/src/autorouter/planar_preconfigurer.rs @@ -20,7 +20,7 @@ use crate::{ #[derive(Clone, Debug)] pub struct PlanarAutoroutePreconfigurerInput { pub ratlines: BTreeSet, - pub terminating_dot_map: BTreeMap<(RatlineUid, FixedDotIndex, usize), FixedDotIndex>, + pub terminating_dot_map: BTreeMap<(RatlineUid, FixedDotIndex), FixedDotIndex>, } pub struct PresortParams { diff --git a/src/autorouter/planar_reconfigurator.rs b/src/autorouter/planar_reconfigurator.rs index a88f058..5516204 100644 --- a/src/autorouter/planar_reconfigurator.rs +++ b/src/autorouter/planar_reconfigurator.rs @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: MIT -use std::{collections::BTreeMap, ops::ControlFlow}; +use std::ops::ControlFlow; use specctra_core::mesadata::AccessMesadata; @@ -10,8 +10,8 @@ use crate::{ autorouter::{ invoker::GetDebugOverlayData, planar_autoroute::{ - PlanarAutorouteConfiguration, PlanarAutorouteConfigurationResult, - PlanarAutorouteContinueStatus, PlanarAutorouteExecutionStepper, + PlanarAutorouteConfigurationResult, PlanarAutorouteContinueStatus, + PlanarAutorouteExecutionStepper, }, planar_preconfigurer::{ PlanarAutoroutePreconfigurerInput, PreconfigurePlanarAutoroute, PresortParams, diff --git a/src/autorouter/ratsnest.rs b/src/autorouter/ratsnest.rs index 6796524..0568060 100644 --- a/src/autorouter/ratsnest.rs +++ b/src/autorouter/ratsnest.rs @@ -221,10 +221,6 @@ impl Ratsnest { Ok(()) } - pub fn assign_layer_to_ratline(&mut self, ratline_index: EdgeIndex, layer: usize) { - self.graph.edge_weight_mut(ratline_index).unwrap().layer = layer; - } - pub fn assign_band_termseg_to_ratline( &mut self, ratline_index: EdgeIndex,