mirror of https://codeberg.org/topola/topola.git
fix(autorouter/anterouter): Don't fan out if ratline is on same layer
This commit is contained in:
parent
2f7cee62a6
commit
570a3a80f8
|
|
@ -43,7 +43,7 @@ pub enum TerminatingScheme {
|
|||
#[derive(Clone, Debug)]
|
||||
pub struct AnterouterPlan {
|
||||
pub layer_map: BTreeMap<RatlineUid, usize>,
|
||||
pub ratline_endpoint_dot_to_terminating_scheme: BTreeMap<FixedDotIndex, TerminatingScheme>,
|
||||
pub ratline_terminating_schemes: BTreeMap<(RatlineUid, FixedDotIndex), TerminatingScheme>,
|
||||
}
|
||||
|
||||
pub struct Anterouter {
|
||||
|
|
@ -73,8 +73,8 @@ impl Anterouter {
|
|||
|
||||
if let Some(terminating_scheme) = self
|
||||
.plan
|
||||
.ratline_endpoint_dot_to_terminating_scheme
|
||||
.get(&endpoint_dots.0)
|
||||
.ratline_terminating_schemes
|
||||
.get(&(*ratline, endpoint_dots.0))
|
||||
{
|
||||
match terminating_scheme {
|
||||
TerminatingScheme::ExistingFixedDot(terminating_dot) => autorouter
|
||||
|
|
@ -99,8 +99,8 @@ impl Anterouter {
|
|||
|
||||
if let Some(terminating_scheme) = self
|
||||
.plan
|
||||
.ratline_endpoint_dot_to_terminating_scheme
|
||||
.get(&endpoint_dots.1)
|
||||
.ratline_terminating_schemes
|
||||
.get(&(*ratline, endpoint_dots.1))
|
||||
{
|
||||
match terminating_scheme {
|
||||
TerminatingScheme::ExistingFixedDot(terminating_dot) => autorouter
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl Planner {
|
|||
.enumerate()
|
||||
.map(|(i, ratline)| (*ratline, i % 2))
|
||||
.collect(),
|
||||
ratline_endpoint_dot_to_terminating_scheme: BTreeMap::new(),
|
||||
ratline_terminating_schemes: BTreeMap::new(),
|
||||
};
|
||||
|
||||
for ratline in ratlines {
|
||||
|
|
@ -45,8 +45,8 @@ impl Planner {
|
|||
ratline.ref_(autorouter).endpoint_dots().0,
|
||||
layer,
|
||||
) {
|
||||
plan.ratline_endpoint_dot_to_terminating_scheme.insert(
|
||||
ratline.ref_(autorouter).endpoint_dots().0,
|
||||
plan.ratline_terminating_schemes.insert(
|
||||
(*ratline, ratline.ref_(autorouter).endpoint_dots().0),
|
||||
terminating_scheme,
|
||||
);
|
||||
}
|
||||
|
|
@ -56,8 +56,8 @@ impl Planner {
|
|||
ratline.ref_(autorouter).endpoint_dots().1,
|
||||
layer,
|
||||
) {
|
||||
plan.ratline_endpoint_dot_to_terminating_scheme.insert(
|
||||
ratline.ref_(autorouter).endpoint_dots().1,
|
||||
plan.ratline_terminating_schemes.insert(
|
||||
(*ratline, ratline.ref_(autorouter).endpoint_dots().1),
|
||||
terminating_scheme,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue