반도체 미세화와 고정된 PVT Corner의 한계
디지털 회로 설계의 핵심 목표 중 하나는 어떤 상황에서도 칩이 정상적으로 동작하도록 보장하는 Timing Closure입니다. 기본적인 Static Timing Analysis(STA)는 이를 위해 PVT(Process, Voltage, Temperature)라는 개념을 도입합니다.
설계자는 공정 변이(P), 전압 변화(V), 온도(T)를 조합하여 가장 느린 환경(Worst Case)과 가장 빠른 환경(Best Case)이라는 'Corner'를 설정하고, 이 극단적인 상황에서도 Setup과 Hold 타임이 만족되는지 확인합니다.
- 하지만 공정 기술이 수십 나노미터 이하로 미세화되면서 설계자는 예상치 못한 난관에 봉착합니다.
무슨 뜻이냐면,
- 반도체 칩을 공정할 때 수많은 공정이 있습니다.
- 설계에서 반도체 칩의 좌표 (1,1)과 (100,100)에 똑같은 그림을 그려도, 제조장비의 미세한 오차 때문에 물성이 달라진다는 것입니다.
- 이 물성 변화는 회로의 Delay 변화를 야기합니다.

- 기존의 PVT corner 방식은 '하나의 칩 안의 모든 소자는 동일한 환경에 놓여 있다'는 가정을 전제로 합니다.
- 즉, 칩 전체에 있는 모든 Cell이 Slow하거나 전체가 Fast하다고 가정하는 것이죠. 그러나 실제 칩 내부를 들여다보면 상황은 전혀 다릅니다.
- 어떤 Cell은 빠르고, 어떤 Cell은 느립니다.

- 동일한 다이(Die) 안에서도 왼쪽 상단의 트랜지스터와 오른쪽 하단의 트랜지스터는 물리적 거리, 국부적인 전압 강하, 미세한 온도 차이로 인해 서로 다른 성능을 보입니다.
이러한 '칩 내부의 변이'가 무시할 수 없을 만큼 커지면서, 고정된 PVT Corner만으로는 더 이상 칩의 동작을 100% 보장할 수 없게 되었습니다. 이것이 바로 On-Chip Variation(OCV)이 등장하게 된 배경입니다.
핵심은, "최악의 조건으로 제조 공정이 되더라도, 칩이 동작하게 하자"입니다.
동일한 칩 안에서도 속도는 다르다: OCV의 탄생
설계자의 관점에서 OCV는 '불확실성에 대한 안전장치'입니다. 같은 칩 안에서 제작된 수억 개의 소자가 모두 똑같이 동작할 것이라는 믿음을 버리는 것에서부터 시작합니다.
OCV를 유발하는 요인은 다양합니다.
- 웨이퍼 상의 위치에 따른 도핑 농도의 차이
- 노광 공정에서의 렌즈 왜곡
- 배선의 두께 불균일 등이 공정 측면의 원인입니다.
- 동작 측면에서는 특정 영역의 연산이 많아지면 해당 부분의 온도가 국부적으로 상승하거나(Hotspot)
- 전력 소모가 급증해 전압이 미세하게 떨어지는 IR-drop 현상이 발생합니다.
이러한 국부적 변이는 STA의 구조적 신뢰성을 위협합니다. 기존 방식대로 칩 전체를 하나의 Corner로 분석하면, 실제 현장에서 발생할 수 있는 '불운한 조합'을 놓치게 됩니다.
예를 들어, 데이터를 보내는 경로는 우연히 조금 더 느려지고, 이를 받아주는 클록 경로는 우연히 조금 더 빨라지는 상황이 한 칩 안에서 동시에 일어날 수 있습니다.
OCV는 이러한 내부적인 미세 차이를 수치화하여 타이밍 분석에 반영함으로써, 설계자가 실제 제조 후 발생할 수 있는 리스크를 사전에 인지하도록 돕습니다.
STA의 구조적 딜레마와 Global OCV의 해결 방식
OCV가 적용된 STA에서 설계자가 가장 주목하는 지점은 Launch Path와 Capture Path의 관계입니다.
Setup 분석을 예로 들어보겠습니다. 데이터가 출발하는 Launch Path는 최대한 느리게(Late), 이를 잡아내는 Capture Path는 최대한 빠르게(Early) 설정하여 가장 가혹한 조건을 만들어야 합니다. 이를 위해 Global OCV는 Derate라는 개념을 사용합니다.
칩 전체를 분석해서, Derate는 계산된 지연 시간(Delay)에 일정 비율의 가중치를 곱하는 방식입니다.
예를 들어, Setup 분석 시
- Launch Path의 Delay에는 1.05를 곱해(Late Derate) 실제보다 더 느리게 가정하고
- Capture Path의 Delay에는 0.95를 곱해(Early Derate) 실제보다 더 빠르게 가정합니다.
이렇게 인위적으로 '비관적인 상황'을 연출하면 Slack 값이 줄어들게 되며, 이 좁아진 틈을 뚫고 Timing Closure를 달성해야 비로소 실제 칩에서 안정적인 동작을 기대할 수 있습니다.
Hold 분석은 반대로 동작합니다.
- Launch Path는 최대한 빠르게(0.95)
- Capture Path는 최대한 느리게(1.05) 설정하여 데이터가 다음 클록 이전에 너무 일찍 도착해버리는 최악의 시나리오를 검증합니다.
결국 OCV는 하나의 타이밍 경로 안에서 서로 다른 성능 변이를 동시에 가정함으로써, PVT Corner가 잡아내지 못한 '구조적 틈새'를 메우는 역할을 수행합니다.
설계자의 고민: Pessimism과 Timing Closure의 균형
하지만 무턱대고 Derate를 높게 설정하는 것이 능사는 아닙니다. 모든 경로에 일률적으로 과도한 Pessimism을 적용하면, 실제로는 동작 가능한 설계임에도 불구하고 타이밍을 맞추지 못해 설계를 수정해야 하는 'Over-design' 문제가 발생합니다. 이는 칩의 면적 증가와 전력 소모 상승으로 이어집니다.
여기서 설계자의 고민을 해결해 주는 기술이 Common Path Pessimism Removal(CPPR)입니다. Launch Path와 Capture Path가 클록 트리 상에서 특정 지점까지 경로를 공유한다면, 적어도 그 공통된 경로(Common Path) 안에서는 동일한 소자가 갑자기 빨라지거나 느려질 수 없습니다. 따라서 공통 경로에서 발생한 인위적인 OCV 차이를 다시 더해줌으로써 불필요한 비관주의를 제거합니다.
최근에는 고정된 비율을 곱하는 OCV를 넘어, 게이트의 단계를 고려하는 AOCV(Advanced OCV)나 확률 통계 모델을 사용하는 POCV(Parametric OCV)로 발전하고 있습니다. 설계자는 이러한 기술들을 활용해 칩의 성능을 극대화하면서도 제조 수율을 확보하는 정교한 줄타기를 수행합니다. 결과적으로 OCV는 단순히 숫자를 대입하는 과정이 아니라, 반도체 물리 특성의 불확실성을 논리적이고 통계적인 방법으로 제어하여 설계의 신뢰도를 확보하려는 설계자의 전략적 선택입니다.