PVT 코너와 MCMM, 사인오프에서 여러 조건을 보는 이유
택배 회사가 내일 도착이라는 약속을 지키려면 평소 평일의 물량만 기준으로 삼아서는 안 됩니다. 명절 직전에 물량이 몰리는 날, 폭설로 도로가 막히는 날, 새벽 분류 설비가 일부 멈춘 날에도 지켜져야 진짜 약속입니다.
칩의 타이밍 약속도 같은 구조이고, PVT 코너와 MCMM은 그 약속을 가능한 모든 조건에서 확인하기 위한 장치입니다. 한 가지 조건에서만 통과한 설계는 다른 조건에서 어떻게 될지 알 수 없기 때문입니다.
여기서 PVT는 공정(Process), 전압(Voltage), 온도(Temperature)의 머리글자이고, 멀티 코너 멀티 모드(MCMM, Multi-Corner Multi-Mode)는 여러 코너와 여러 동작 모드를 함께 다루는 분석 방식입니다. 코너는 칩이 놓일 수 있는 극단의 조건을 뜻합니다.
택배와 다른 점도 있습니다. 칩의 공정 조건은 제조 때 한 번 정해져 바뀌지 않지만 어느 쪽으로 정해질지 미리 알 수 없고, 전압과 온도는 사용 중에도 달라집니다. 그래서 설계는 한 지점이 아니라 가능한 조건의 범위 전체를 보증해야 합니다.
PVT 코너와 MCMM이 사인오프에서 필요한 이유
사인오프(sign-off)는 설계를 제조로 넘겨도 된다고 확인하는 마지막 검증 관문이고, 타이밍에서는 셋업과 홀드 위반이 없는지를 정해진 조건 전체에서 확인하는 일입니다. 제조에 들어간 뒤에는 고치려면 마스크를 다시 만들어야 하므로 조건 하나를 빠뜨린 대가가 큽니다.
그렇다면 왜 조건이 여러 개일까요? 칩은 공정 편차 때문에 같은 설계라도 빠르게 나온 것과 느리게 나온 것이 섞여 있고, 동작하는 전압과 온도에 따라 지연이 다시 달라집니다. 셋업은 느린 쪽에서, 홀드는 빠른 쪽에서 위험해지므로 한쪽만 보고는 둘을 함께 보증할 수 없습니다.
여기에 한 칩이 늘 같은 일을 하지 않는다는 사정이 더해집니다. 정상 동작, 스캔 테스트, 저전력 대기 같은 모드마다 클록과 제약이 달라서, 코너와 모드를 곱한 수만큼 점검할 조건이 생깁니다.
공정과 전압과 온도의 극단 조합
공정 코너(process corner)는 트랜지스터가 느리게 나오는 쪽과 빠르게 나오는 쪽의 경계를 가리킵니다. 느린 쪽은 SS(Slow-Slow), 보통은 TT(Typical-Typical), 빠른 쪽은 FF(Fast-Fast)로 부르며, NMOS와 PMOS의 속도가 엇갈리는 SF와 FS를 함께 보는 경우도 있습니다.
여기에 공급 전압의 상한과 하한, 동작 온도의 상한과 하한이 곱해집니다. 전압이 낮을수록 트랜지스터를 켜는 힘이 줄어 느려지고 높을수록 빨라지며, 온도는 전통적으로 높을수록 이동도가 떨어져 느려지는 것으로 알려져 있습니다.
전통적인 최악 조건의 조합, 가상 값공칭 전압 0.8 V에 ±10%를 허용하고 온도는 −40 °C부터 125 °C까지 쓴다고 가정합니다.
- 셋업 점검: SS 공정, 낮은 전압 0.72 V(0.8 × 0.9), 높은 온도 125 °C
- 홀드 점검: FF 공정, 높은 전압 0.88 V(0.8 × 1.1), 낮은 온도 −40 °C
- 대표값 확인: TT 공정, 공칭 전압 0.8 V, 25 °C
이렇게 극단을 고르는 이유는 가장 느린 조건과 가장 빠른 조건에서 통과하면 그 사이의 조건에서도 통과한다고 보기 때문입니다. 다만 이 가정은 지연이 조건에 따라 한 방향으로만 변할 때 성립합니다.
배선 코너와 온도 역전, 최악이 한 방향이 아닌 이유
배선도 따로 코너를 갖습니다. 금속 선폭과 두께, 절연막 두께가 달라지면 배선의 저항(R)과 용량(C)이 달라지고, 용량이 큰 쪽을 Cworst, 작은 쪽을 Cbest, 저항과 용량의 곱이 큰 쪽을 RCworst라고 부르는 식입니다.
배선의 편차는 트랜지스터의 편차와 따로 움직이므로, 트랜지스터가 빠른 칩에서 배선이 가장 느린 조합도 나올 수 있습니다. 그래서 셀 코너와 배선 코너를 독립적으로 짝지어 점검합니다.
또 하나의 변수는 온도 역전(temperature inversion)입니다. 전압이 낮은 미세 공정에서는 온도가 오르면 문턱 전압이 낮아지는 효과가 이동도 감소 효과를 앞서, 높은 온도에서 오히려 빨라지고 낮은 온도에서 더 느려지는 구간이 있습니다. 이 경우 낮은 온도가 셋업의 최악 조건이 될 수 있습니다.
그래서 셋업은 항상 SS와 고온에서 최악이다라는 공식은 흔한 오해입니다. 공정과 전압, 온도의 영향이 서로 다른 방향으로 작용할 수 있으니, 공정 제공자가 권장하는 코너 목록과 실제 라이브러리 분석으로 확인하는 것이 안전합니다.
모드가 하나가 아니다, 기능과 테스트와 저전력
모드(mode)는 칩이 어떤 상태로 동작하는지를 정한 제약의 묶음입니다. 같은 회로라도 어떤 클록이 켜지는지, 어떤 경로를 타이밍 검사에서 제외하는지, 어떤 입력이 상수로 고정되는지가 모드마다 다릅니다.
모드의 예
- 기능 모드: 실제 제품의 동작 클록과 입출력 제약을 적용합니다.
- 스캔 모드: 테스트용 클록과 스캔 경로를 쓰며, 시프트와 캡처 구간의 제약이 따로 필요합니다.
- 저전력 모드: 전원이 꺼진 영역과 낮춘 클록, 낮춘 전압의 동작점에 맞춰 제약을 바꿉니다.
모드마다 SDC(Synopsys Design Constraints) 같은 제약 파일이 따로 필요하고, 코너마다 라이브러리와 배선 모델이 다릅니다. 그래서 하나의 시나리오(scenario)는 모드 하나와 코너 하나의 짝으로 정의됩니다.
코너와 모드를 묶어 함께 분석하는 방식
PVT 코너와 MCMM을 함께 쓴다는 것은 여러 시나리오를 하나의 분석 실행에 올려 두고 위반을 동시에 본다는 뜻입니다. 예전에는 시나리오를 하나씩 따로 분석하고 고쳤지만, 지금의 최적화 툴은 모든 시나리오의 위반을 함께 보며 한 번의 수정이 다른 시나리오에 주는 영향까지 계산합니다.
MCMM 분석의 진행 흐름
- 사용할 코너를 정하고 코너마다 셀 라이브러리, 배선 기생 성분 모델, 전압, 온도를 지정합니다.
- 모드를 정하고 모드마다 클록 정의와 입출력 지연, 타이밍 예외를 담은 제약 파일을 준비합니다.
- 모드와 코너를 짝지어 의미 있는 시나리오 목록을 만들고 셋업용과 홀드용으로 구분합니다.
- 툴이 시나리오 전체를 함께 올려 두고 위반을 보며 셀 크기 조정과 버퍼 삽입 같은 수정을 합니다.
- 사인오프 단계에서 모든 시나리오로 셋업과 홀드 위반이 없는지 최종 확인합니다.
시나리오의 수는 곱셈으로 늘어납니다. 가상으로 모드 3개와 코너 6개가 있고 모든 조합이 유효하다면 3 × 6 = 18개의 시나리오가 되고, 각각에서 셋업과 홀드를 확인합니다. 실제로는 서로 의미가 없는 조합이 있어서 이보다 적은 경우가 많습니다.
한 시나리오만 고치면 다른 시나리오가 깨지는 이유
MCMM이 필요한 이유는 숫자로 보면 분명해집니다. 같은 경로의 지연이 FF 코너에서는 0.20 ns, SS 코너에서는 0.60 ns라고 가정하겠습니다.
가상 계산 예시, 홀드를 고치면 셋업이 무너지는 경우클록 주기 0.8 ns, 셋업 시간 0.04 ns, 홀드 요구 0.25 ns(클록 스큐 포함)로 둡니다.
수정 전 FF 코너의 홀드 여유는 0.20 − 0.25 = −0.05 ns로 위반이고, SS 코너의 셋업 여유는 0.8 − 0.04 − 0.60 = +0.16 ns로 넉넉합니다.
FF 코너에서 0.06 ns인 지연 버퍼를 넣으면 홀드 여유는 +0.01 ns가 됩니다. 그러나 같은 버퍼가 SS 코너에서는 세 배인 0.18 ns가 되어 경로가 0.78 ns로 늘고, 셋업 여유는 0.8 − 0.04 − 0.78 = −0.02 ns로 위반입니다.
FF 기준 버퍼 지연이 0.05 ns 이상 0.0533 ns 이하일 때만 두 조건을 모두 만족하며, 이 범위는 약 3 ps에 불과합니다.
실제 설계에서는 이렇게 좁은 창을 찾기보다 경로 구조를 바꾸거나 클록 도착 시각을 조정하는 쪽으로 풀기도 합니다. 중요한 점은 한 코너만 보면 이런 충돌이 보이지 않는다는 것이고, 코너를 하나씩 순서대로 고치면 고친 곳이 다시 깨지는 일이 반복된다는 것입니다.
시나리오 수를 관리하는 방법
시나리오가 늘면 분석 시간과 메모리, 고쳐야 할 위반의 수도 함께 늘어납니다. 그래서 설계 초중반에는 다른 시나리오를 대표하는 지배적 시나리오만 골라 최적화하고, 사인오프에서 전체를 확인하는 식으로 단계를 나눕니다.
지배적 시나리오는 셋업에 가장 불리한 것 하나, 홀드에 가장 불리한 것 하나처럼 위반이 가장 먼저 나타나는 쪽입니다. 하지만 온도 역전처럼 최악이 한쪽으로 정해지지 않는 경우가 있어서, 무엇이 지배적인지는 라이브러리와 설계를 실제로 분석해 확인해야 합니다. 이 판단이 틀리면 사인오프에서 뒤늦게 위반이 쏟아집니다.
단일 코너 분석과 MCMM 분석 비교 표
| 구분 | 단일 코너와 단일 모드 | MCMM |
|---|---|---|
| 확인 범위 | 하나의 조건 | 여러 모드와 코너의 시나리오 |
| 위반 발견 | 다른 조건의 위반을 놓침 | 모드와 코너 사이의 충돌까지 발견 |
| 최적화 방식 | 한 시나리오씩 고치며 순환 | 시나리오를 동시에 고려 |
| 분석 비용 | 시간과 메모리가 적음 | 시나리오 수에 비례해 증가 |
| 사인오프 적합성 | 부족 | 필수 |
핵심 정리
PVT 코너와 MCMM은 공정과 전압과 온도의 극단, 그리고 여러 동작 모드를 시나리오로 묶어 셋업과 홀드를 모두 확인하는 틀입니다. 한 코너만 고치면 다른 코너에서 위반이 생길 수 있고, 최악의 방향도 온도 역전처럼 늘 같지 않기 때문에 사인오프에서는 필요한 시나리오 전체를 통과해야 합니다.
택배의 비유로 돌아가면 평일과 명절, 폭설을 모두 견뎌야 약속이 성립하는 것과 같습니다. 칩에서는 조건의 수가 곱셈으로 늘어나므로 지배적 시나리오로 초중반을 효율적으로 진행하고, 마지막에 전체를 확인하는 순서가 현실적입니다.
면접 대비 질문
면접 대비 질문사인오프에서 여러 PVT 코너와 모드를 함께 분석하는 이유를 설명하고, 한 코너만 보고 타이밍을 고치면 어떤 문제가 생기는지 말해 보세요.
[답변 포인트] 공정 편차, 공급 전압, 동작 온도의 조합에 따라 지연이 달라지고, 셋업은 느린 조건에서 홀드는 빠른 조건에서 위험해진다는 점으로 시작합니다. 모드마다 클록과 제약이 달라 시나리오가 코너와 모드의 곱으로 늘어난다는 점을 덧붙이고, 홀드를 고치려고 넣은 지연 버퍼가 느린 코너에서 셋업을 깨는 사례로 동시 분석의 필요성을 설명합니다. 온도 역전처럼 최악 조건이 한쪽으로 정해지지 않는 경우와, 지배적 시나리오로 시간을 줄이되 사인오프에서는 전체를 확인한다는 운영 방식까지 연결하면 좋습니다.









