@@ -577,6 +577,7 @@ std::vector<int> GlobalRouter::routeLayerLengths(odb::dbNet* db_net)
577577 if (!db_net->getSigType ().isSupply ()) {
578578 GRoute& route = routes[db_net];
579579 std::set<RoutePt> route_pts;
580+ // Compute wirelengths from route segments
580581 for (GSegment& segment : route) {
581582 if (segment.isVia ()) {
582583 auto & s = segment;
@@ -597,19 +598,12 @@ std::vector<int> GlobalRouter::routeLayerLengths(odb::dbNet* db_net)
597598 }
598599
599600 Net* net = getNet (db_net);
601+ // Compute wirelength from pin position on grid to real pin location
600602 for (Pin& pin : net->getPins ()) {
601603 int layer = pin.getConnectionLayer () + 1 ;
602604 odb::Point grid_pt = pin.getOnGridPosition ();
603605 odb::Point pt = pin.getPosition ();
604606
605- std::map<int , std::vector<PointPair>> ap_positions;
606- bool has_access_points = findPinAccessPointPositions (pin, ap_positions);
607- if (has_access_points) {
608- auto ap_position = ap_positions[0 ].front ();
609- pt = ap_position.first ;
610- grid_pt = ap_position.second ;
611- }
612-
613607 RoutePt grid_route (grid_pt.getX (), grid_pt.getY (), layer);
614608 auto pt_itr = route_pts.find (grid_route);
615609 if (pt_itr == route_pts.end ()) {
0 commit comments