From f7ff06f2563095da980ff2081a08d13553b1442f Mon Sep 17 00:00:00 2001 From: Rahul Kumar Date: Mon, 1 Jan 2024 20:20:41 -0800 Subject: [PATCH] fix track dir bug in router --- libs/atoll/src/grid.rs | 3 ++- tests/src/atoll/mod.rs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/atoll/src/grid.rs b/libs/atoll/src/grid.rs index 0b1ede96..2af984ee 100644 --- a/libs/atoll/src/grid.rs +++ b/libs/atoll/src/grid.rs @@ -831,7 +831,7 @@ impl RoutingState { // via down if coord.layer > 0 { let next_layer = coord.layer - 1; - let interp_dir = routing_dir.track_dir(); + let interp_dir = !routing_dir.track_dir(); let pp = self.grid_to_rel_physical(coord); let dn = self.grid @@ -839,6 +839,7 @@ impl RoutingState { let up = self .grid .point_to_grid(pp, next_layer, RoundingMode::Up, RoundingMode::Up); + println!("coord = {coord:?}, pp = {pp:?}, dn = {dn:?}, up = {up:?}, interp dir = {interp_dir:?}"); assert_eq!(dn.coord(!interp_dir), coord.coord(!interp_dir) as i64); assert_eq!(up.coord(!interp_dir), coord.coord(!interp_dir) as i64); assert!(dn.x >= 0 && dn.y >= 0); diff --git a/tests/src/atoll/mod.rs b/tests/src/atoll/mod.rs index 855751b0..39d248e4 100644 --- a/tests/src/atoll/mod.rs +++ b/tests/src/atoll/mod.rs @@ -161,6 +161,7 @@ impl Tile for Sky130NmosTileAutoroute { instances.push(schematic); } + cell.set_top_layer(2); cell.set_router(GreedyBfsRouter); cell.set_via_maker(Sky130ViaMaker);