---
title: "핀마다 좋은 접근점이 있어도 함께 연결할 수 없는 이유"
author: "브레이브브라우저쓰자"
published_at: "2026-10-24T22:26:03.976Z"
updated_at: "2026-10-06T02:15:04.074Z"
tags: ["pin access"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/%ED%95%80%EB%A7%88%EB%8B%A4-%EC%A2%8B%EC%9D%80-%EC%A0%91%EA%B7%BC%EC%A0%90%EC%9D%B4-%EC%9E%88%EC%96%B4%EB%8F%84-%ED%95%A8%EA%BB%98-%EC%97%B0%EA%B2%B0%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-%EC%9D%B4%EC%9C%A0"
ai_assisted: true
---

# 핀마다 좋은 접근점이 있어도 함께 연결할 수 없는 이유

이 글은 AI가 활용됐습니다.

[원문](https://ariser.io/@writer_a9817d5a8de0/%ED%95%80%EB%A7%88%EB%8B%A4-%EC%A2%8B%EC%9D%80-%EC%A0%91%EA%B7%BC%EC%A0%90%EC%9D%B4-%EC%9E%88%EC%96%B4%EB%8F%84-%ED%95%A8%EA%BB%98-%EC%97%B0%EA%B2%B0%ED%95%A0-%EC%88%98-%EC%97%86%EB%8A%94-%EC%9D%B4%EC%9C%A0)

핀의 금속 모양이 충분히 커 보이는데 router가 접근점을 찾지 못할 수 있다. 핀 위에 점 하나를 찍는 것과 그 점에 합법적인 배선·비아를 놓는 것은 다른 조건이기 때문이다. Pin access는 핀의 위치뿐 아니라 트랙, 접근 방향과 주변 구조까지 사용해 실제로 연결할 입구를 찾는다.

## 핀 안의 중심점만 검사하면 부족하다

가상의 핀을 x=0–6, y=0–4 사각형으로 놓고, 그 핀에 놓을 비아의 금속 enclosure 크기를 가로·세로 모두 4라고 하자. 이 예제에서는 enclosure 전체가 핀 안에 있어야 한다는 조건을 적용한다. 금속 enclosure는 비아를 둘러싸는 금속 영역이며, 그 크기를 비아 cut 자체의 크기와 혼동하지 않는다.

중심을 (3,2)에 놓으면 enclosure는 x=1–5, y=0–4로 핀 안에 들어간다. 중심이 (5,2)라면 x=3–7로 오른쪽이 1만큼 벗어난다. 중심점은 핀 안에 있지만 전체 금속 형상은 조건을 만족하지 않는다. 중심 (1,2)도 왼쪽으로 벗어나 실패한다.

OpenROAD의 pin access 옵션도 일부 지정한 층에서 via enclosure가 핀 안에 완전히 포함되어야 하는 조건을 설명한다. 모든 기술의 모든 핀에 이 규칙을 똑같이 적용한다는 뜻은 아니다. 실제로 사용할 비아 정의와 층의 규칙을 읽어야 한다. [OpenROAD Pin Access Arguments](https://openroad.readthedocs.io/en/latest/main/src/drt/README.html#pin-access-arguments)

## 같은 셀도 놓인 위치에 따라 입구가 달라진다

위 예제에서 후보 트랙 중심을 x=1·3·5, y=2로 고정하면 합법 후보는 x=3 하나다. 핀을 가진 셀을 오른쪽으로 1만큼 이동하여 핀 영역이 x=1–7이 되었다고 하자. 트랙 위치는 그대로다. 이제 x=3의 enclosure [1,5]와 x=5의 enclosure [3,7]이 모두 핀 안에 들어간다. 이 한정된 모델의 후보 수가 하나에서 둘로 늘었다.

셀 라이브러리의 핀 모양은 같아도 트랙과의 상대 위치가 바뀐 것이다. 실제로는 회전·반전, 사용할 층과 주변 장애물도 접근을 바꾼다. Kahng·Wang·Xu의 원문도 cell master와 방향, 트랙 패턴에 대한 offset으로 unique instance를 구분한다. 같은 master와 방향이라도 track offset이 다르면 별도의 접근 분석이 필요하다는 설명이다. [The Tao of PAO 원문, II-A절](https://vlsicad.ucsd.edu/Publications/Conferences/377/c377.pdf)

이 계산은 연속 좌표의 기하학을 보여 주는 가상 예제다. 실제 셀 이동은 행과 사이트, 전원 연결과 합법 방향 조건도 만족해야 한다. 후보가 늘어나는 좌표가 존재한다는 이유로 그 위치를 실제 배치에서 사용할 수 있다고 가정해서는 안 된다.

## 각 핀의 최선이 서로 양립하는가

개별 핀에서 좋은 후보를 찾았어도 주변 핀과 동시에 사용할 수 있어야 한다. 이를 보기 위해 별도의 1차원 가상 선택 문제를 만들자. A의 후보는 x=2와 4, B의 후보는 x=3과 5다. 각 핀에서 첫 후보의 비용은 1, 둘째는 3이다. 선택한 두 점의 거리가 2 이상이어야 한다고 정의한다. 이는 실제 via enclosure 규칙을 재현한 식이 아니라 후보 간 호환성의 설명용 조건이다.

각 핀이 독립적으로 싼 후보를 고르면 A=2, B=3으로 비용 합은 2다. 그러나 거리가 1이라 사용할 수 없다. 가능한 조합 네 개를 비교하면 다음과 같다.

| A·B 선택 | 거리 | 비용 합 | 조건 만족 |
| --- | ---: | ---: | --- |
| 2·3 | 1 | 2 | 아니오 |
| 2·5 | 3 | 4 | 예 |
| 4·3 | 1 | 4 | 아니오 |
| 4·5 | 1 | 6 | 아니오 |

이 모델에서는 A=2·B=5만 가능하다. 두 핀 모두 후보를 가졌다는 사실과 함께 사용 가능한 조합이 존재한다는 사실이 다르다. 블록마다 경계 핀의 접근을 독립 최적화해도 같은 유형의 충돌이 통합 단계에서 생길 수 있다.

원문은 먼저 개별 핀의 접근점을 생성하고, 셀 안에서 서로 호환되는 접근 pattern을 만든 뒤, 인접 셀들의 pattern을 선택한다. 국소적으로 합법인 입구를 더 큰 배치에서 함께 사용할 수 있는지 확인하는 순서다. [원문의 III-A–C절](https://vlsicad.ucsd.edu/Publications/Conferences/377/c377.pdf)

## 접근점의 개수보다 실제 선택 공간을 본다

후보를 많이 만들면 탐색의 자유가 늘어날 수 있지만 비용도 커진다. 원문은 너무 적은 후보가 해를 제한하고 너무 많은 후보 역시 heuristic routing의 품질과 실행에 부담을 줄 수 있다고 설명한다. 후보 수를 늘렸다는 숫자 하나보다, 새로운 후보가 필요한 방향이나 비아를 제공하고 기존 충돌을 피할 수 있는지 확인하는 것이 중요하다.

실무적으로 막힌 핀을 보면 핀 모양과 트랙 offset, 사용 가능한 접근 방향, enclosure와 주변 간격 조건을 차례로 확인하면 좋다. 셀 이동이나 반전으로 해결할 수 있는지, 핀 배치 자체를 바꿔야 하는지도 구분할 수 있다. 접근 분석을 통과한 뒤에도 바깥의 배선 자원이 충분한지는 별도로 남는다.

Pin access의 목표는 핀마다 보기 좋은 점을 고르는 것이 아니다. 실제 형상을 놓을 수 있고 주변 선택과 함께 공존할 수 있는 입구를 확보하는 것이다. 개별 후보와 조합의 호환성을 함께 확인하면, 넓은 핀인데도 연결이 막히는 이유를 구체적인 기하학 문제로 바꿀 수 있다.

