---
title: "연결 거리를 줄이는 힘과 셀을 퍼뜨리는 힘의 절충"
author: "브레이브브라우저쓰자"
published_at: "2026-10-24T00:13:03.466Z"
updated_at: "2026-10-06T02:02:51.548Z"
tags: ["analytical placement"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/%EC%97%B0%EA%B2%B0-%EA%B1%B0%EB%A6%AC%EB%A5%BC-%EC%A4%84%EC%9D%B4%EB%8A%94-%ED%9E%98%EA%B3%BC-%EC%85%80%EC%9D%84-%ED%8D%BC%EB%9C%A8%EB%A6%AC%EB%8A%94-%ED%9E%98%EC%9D%98-%EC%A0%88%EC%B6%A9"
ai_assisted: true
---

# 연결 거리를 줄이는 힘과 셀을 퍼뜨리는 힘의 절충

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

[원문](https://ariser.io/@writer_a9817d5a8de0/%EC%97%B0%EA%B2%B0-%EA%B1%B0%EB%A6%AC%EB%A5%BC-%EC%A4%84%EC%9D%B4%EB%8A%94-%ED%9E%98%EA%B3%BC-%EC%85%80%EC%9D%84-%ED%8D%BC%EB%9C%A8%EB%A6%AC%EB%8A%94-%ED%9E%98%EC%9D%98-%EC%A0%88%EC%B6%A9)

서로 연결된 셀을 가까이 모으면 배선은 짧아진다. 그렇다면 모든 셀을 한곳에 놓는 것이 가장 좋은 배치일까? 연결 거리만 최적화하면 그런 방향으로 움직일 수 있지만, 셀은 면적을 차지하고 같은 자리에 겹쳐 놓을 수 없다. Analytical placement는 연결을 짧게 만드는 힘과 셀을 공간에 분산하는 힘을 수학적으로 함께 다루는 배치 방법이다.

## 위치를 연속적인 변수로 놓는다

셀 하나의 위치를 x·y 좌표로 표현하면 많은 셀의 배치를 큰 최적화 문제로 만들 수 있다. 초기부터 모든 셀에 정확한 사이트 번호를 배정하는 대신, 연속적인 위치를 움직이며 좋은 전체 분포를 찾는다. 목적함수의 변화 방향을 계산할 수 있으면 한 셀씩 경우의 수를 열거하는 방식과 다른 접근이 가능해진다.

문제는 실제 목표를 그대로 미분하기 어렵다는 데 있다. 연결된 핀들의 바운딩 박스 가로·세로 길이를 더한 HPWL은 배선 길이의 대용값이다. 가로 성분은 가장 큰 x에서 가장 작은 x를 뺀다. 어느 핀이 최대인지 바뀌는 지점에서는 함수의 기울기가 매끄럽지 않다. 그래서 분석적 배치는 이 값을 부드러운 함수로 근사한다. ePlace 원문은 HPWL과 함께 log-sum-exp 및 weighted-average 근사를 설명하고, 자체 최적화에는 weighted-average를 사용한다. [ePlace 저자 원고, 2.1–2.3절](https://cseweb.ucsd.edu/~jlu/papers/eplace-todaes14/paper.pdf)

두 핀이 x=0과 10에 있는 가상 연결을 보자. 실제 가로 HPWL은 10이다. 원문에 소개된 log-sum-exp 근사에서 평활화 계수 γ를 2로 놓으면 가로 비용은 다음과 같다.

```text
γ ln(Σ exp(x/γ)) + γ ln(Σ exp(−x/γ))
= 10 + 4 ln(1 + exp(−5))
≈ 10.0269
```

이는 원문의 실험 결과가 아니라 식에 숫자를 넣은 예제다. 평활화 계수는 근사의 모양과 정확도에 영향을 준다. 아주 작은 값을 넣는다고 무조건 좋은 것은 아니다. 수치 안정성과 최적화의 이동 방향도 함께 고려해야 한다. 매끄러운 비용이 줄었다는 사실과 실제 HPWL이 얼마나 줄었는지도 구분하여 확인한다.

## 밀도 비용은 셀을 밖으로 밀어낸다

셀은 연결뿐 아니라 면적도 가진다. 배치 영역을 여러 작은 bin으로 나누면, 각 bin에 셀이 얼마나 들어왔는지 계산할 수 있다. 연결 거리는 셀을 가까이 끌어당기는 반면 밀도 제약은 과밀한 부분에서 셀을 퍼뜨리는 역할을 한다.

설명용으로 면적 4인 bin 두 개와 면적 1인 셀 네 개를 가정하자. 첫 bin에 모두 들어가면 점유율은 1, 다른 bin은 0이다. 목표 점유율이 0.5라면 첫 bin이 과밀하다. 두 셀씩 나누면 점유율은 각각 0.5다. 여기서 면적은 셀이 bin과 실제로 겹친 부분을 합산한다는 가정이며, 좌표가 그 bin에 찍혔다는 이유만으로 셀 전체를 무조건 계산하는 규칙은 아니다.

가상 후보 두 개의 배선 비용을 각각 10과 14라고 놓자. 밀도 비용 D를 `Σ max(점유율−0.5, 0)²`로 만들면 과밀 후보의 D는 0.25, 분산 후보는 0이다. 목적함수를 `J = 배선 비용 + λD`로 정의할 때 λ=10이면 비용은 12.5와 14로 과밀 후보가 낮다. λ=20이면 15와 14로 분산 후보가 낮다. 밀도 항이 어떤 무게로 작동하는지 보여 주는 계산이며, 이 간단한 D가 ePlace의 실제 밀도식이라는 뜻은 아니다.

ePlace의 밀도 모델은 셀을 양전하에 대응시키고 전기적 퍼텐셜 에너지를 밀도 비용으로 사용한다. 과밀한 지역의 셀을 퍼뜨리는 방향을 전기장에 대응시키며, Poisson 방정식을 수치적으로 푼다. 이는 실제 셀에 전하를 넣어 움직이는 공정이 아니라 배치 최적화를 위한 수학적 모델이다. OpenROAD도 이 계열의 분석적 비선형 배치와 Nesterov 방법을 사용한다고 설명한다. [ePlace의 모델 설명, 1절](https://cseweb.ucsd.edu/~jlu/papers/eplace-todaes14/paper.pdf), [OpenROAD Global Placement](https://openroad.readthedocs.io/en/latest/main/src/gpl/README.html)

## 좋은 분포와 최종 합법 위치는 다르다

밀도 목표를 만족해도 셀들이 행과 사이트에 정확히 정렬되어 있다는 보장은 없다. 작은 겹침이나 국소적인 배치 문제가 남을 수 있다. 연속 최적화의 목적은 큰 공간에서 유리한 분포를 찾는 것이고, 최종 위치는 행·사이트·장애물 조건을 만족하도록 정리해야 한다.

이후 셀이 이동하면 연결 거리도 바뀐다. 따라서 연속 배치의 비용만 보고 최종 회로의 품질을 확정할 수 없다. HPWL은 실제 배선 길이와 같지도 않다. 배선의 우회, 사용할 층과 비아, 핀에 접근할 공간은 최종 연결에 추가 조건을 준다. 타이밍 또한 셀 지연과 부하, 클록 경로를 포함하므로 짧은 총 HPWL 하나로 보장할 수 없다.

Analytical placement를 이해하는 핵심은 셀을 모으거나 퍼뜨리는 두 목표가 왜 동시에 필요한지 보는 것이다. 매끄러운 배선 비용은 유리한 연결 위치를 찾게 하고, 밀도 모델은 그 위치를 많은 셀이 함께 사용할 수 있도록 조정한다. 그 절충으로 얻은 분포를 실제 합법 배치와 배선까지 이어 확인해야, 작은 목적함수 값이 좋은 회로로 연결되었는지 판단할 수 있다.

