SPICE 시뮬레이션 입문, RC 회로 과도 응답 첫 실습
새로운 소스를 개발하는 요리사는 손님상에 올리기 전에 작은 냄비로 먼저 끓여 봅니다. 소금을 한 꼬집 더 넣으면 맛이 어떻게 달라지는지 작은 양으로 확인하면 재료와 시간을 아낄 수 있기 때문이죠.
회로 설계에서 이 작은 냄비 역할을 하는 도구가 SPICE 시뮬레이션입니다. 이 글은 가장 단순한 RC 회로 하나로 첫 실습을 해 보며, 결과를 읽고 검산하는 사고 과정을 익히는 데 목적이 있습니다.
특정 프로그램의 사용법보다 개념이 중심이므로, 넷리스트 문법은 SPICE 계열 도구가 공통으로 읽는 기본형만 씁니다. 실제 입력 방식과 세부 문법은 사용하는 도구의 설명서로 확인하세요.
SPICE 시뮬레이션이 필요한 이유, 시험 조리처럼 먼저 돌려 보기
회로를 만들어 놓고 문제를 발견하면 고치는 비용이 큽니다. 집적회로는 제작에 시간이 오래 걸리고 한 번 만든 뒤에는 수정하기가 어려워서, 제작 전에 동작을 검증하는 단계가 꼭 필요합니다.
회로 시뮬레이터(SPICE, Simulation Program with Integrated Circuit Emphasis)는 회로를 부품과 연결의 목록으로 적어 주면, 키르히호프의 전류·전압 법칙을 바탕으로 각 노드의 전압과 각 부품의 전류를 수치로 계산해 주는 프로그램 계열입니다. 이름은 하나지만 여러 도구가 같은 뿌리의 문법과 해석 방식을 이어받아 쓰고 있습니다.
손 계산은 부품이 두세 개인 회로까지는 한눈에 풀리지만, 트랜지스터가 수백 개, 수천 개로 늘어나면 컴퓨터의 도움이 필요합니다. 그래서 설계자는 작은 회로는 손으로 이해하고 큰 회로는 시뮬레이션으로 확인하는 식으로 둘을 나누어 씁니다.
넷리스트로 회로를 글로 적는 방식
SPICE는 회로도를 그림이 아니라 글로 받습니다. 이 글을 넷리스트(Netlist)라고 하며, 레시피 카드에 재료 이름과 분량, 넣는 순서를 적는 것과 비슷하게 부품 이름과 연결된 노드, 값을 한 줄씩 적습니다.
노드는 부품의 단자가 서로 만나는 점에 붙이는 이름이고, 0번 노드는 기준 전위인 접지(ground)로 약속되어 있습니다. 부품 이름의 첫 글자는 종류를 알려 주어, 저항은 R, 커패시터는 C, 전압원은 V로 시작합니다.
값에는 접미어를 붙여 쓰는데, 여기서 첫 번째 함정이 나옵니다. SPICE에서는 m이나 M이 밀리(10⁻³)를 뜻하고 메가(10⁶)는 meg로 적는 것이 관례입니다. 대소문자를 구분하지 않는 도구가 많아서, 메가를 M으로 적으면 의도와 전혀 다른 값이 들어갑니다.
첫 실습, RC 회로의 과도 응답 만들기
실습 회로는 아주 단순합니다. 5 V까지 올라가는 펄스 전원이 1 kΩ 저항을 거쳐 출력 노드에 연결되고, 출력 노드와 접지 사이에 1 µF 커패시터가 달린 구조입니다. 가상으로 정한 값이므로 실제 제품과는 관계가 없습니다.
이 회로에서 알고 싶은 것은 입력이 0 V에서 5 V로 갑자기 바뀐 순간부터 출력 전압이 어떻게 따라 올라가는가입니다. 이렇게 시간에 따른 변화를 보는 해석을 과도 해석(Transient Analysis)이라고 합니다.
RC 회로 넷리스트 예 (가상 실습)* RC low-pass transient
V1 in 0 PULSE(0 5 0 1u 1u 5m 10m)
R1 in out 1k
C1 out 0 1u
.tran 10u 10m
.end
한 줄씩 읽어 보겠습니다. 첫 줄은 설명용 주석이고, V1은 in 노드와 접지 사이에 놓인 전압원입니다. PULSE 괄호 안의 값은 순서대로 낮은 값 0 V, 높은 값 5 V, 지연 0, 상승 시간 1 µs, 하강 시간 1 µs, 높은 값 유지 시간 5 ms, 반복 주기 10 ms를 뜻합니다.
R1은 in과 out 사이의 1 kΩ 저항, C1은 out과 접지 사이의 1 µF 커패시터입니다. .tran 10u 10m은 10 µs 간격으로 10 ms까지 과도 해석을 하라는 명령이고, .end로 입력을 마칩니다.
결과 검산, 손 계산이 먼저다
시뮬레이션을 돌리기 전에 답을 대략 예상해 두는 습관이 가장 중요합니다. RC 회로의 변화 속도는 저항과 커패시턴스의 곱인 시상수(Time Constant)로 정해지며, 이 회로에서는 1 kΩ × 1 µF = 1 ms입니다.
입력이 5 V로 올라가면 출력은 5 V × (1 − exp(−t/τ))를 따라 충전됩니다. 시상수만큼 지난 시점에는 목표값의 약 63.2%에 도달하고, 시상수의 다섯 배가 지나면 목표값에 거의 닿았다고 봅니다.
손 계산으로 만든 검산 기준점 (τ = 1 ms)t = 1 ms (1τ): 약 3.16 V
t = 2 ms (2τ): 약 4.32 V
t = 3 ms (3τ): 약 4.75 V
t = 5 ms (5τ): 약 4.97 V
t = 6 ms (입력이 0 V로 내려온 뒤 1τ): 약 1.83 V
시뮬레이션 파형을 열어 이 기준점과 비교합니다. 값이 이 정도로 맞으면 넷리스트가 의도대로 입력되었다는 뜻이고, 크게 어긋나면 단위 접미어나 노드 이름 오타부터 의심해 볼 수 있습니다.
5 ms에서 입력이 0 V로 내려오면 출력은 이번에는 방전 곡선을 따라 내려갑니다. 약 4.97 V에서 출발해 시상수만큼 지난 6 ms 즈음에는 그 값의 약 36.8%인 1.83 V 근처가 되어야 합니다.
값을 하나씩 바꿔 보며 읽는 법
요리에서 소금과 불 세기를 동시에 바꾸면 무엇이 맛을 바꿨는지 알 수 없듯이, 시뮬레이션도 한 번에 변수 하나만 바꿉니다. 예를 들어 커패시터만 1 µF에서 10 µF로 바꾸면 시상수가 10 ms로 열 배 커집니다.
이때 높은 값을 유지하는 5 ms 동안 출력은 5 V × (1 − exp(−0.5)) ≈ 1.97 V까지만 올라가고 목표값에 닿지 못한 채 하강이 시작됩니다. 해석 시간 설정이 시상수에 비해 짧으면 이처럼 충전이 끝나기 전에 장면이 끝나 버립니다.
같은 회로를 주파수 영역에서 보면 출력 신호가 3 dB 줄어드는 주파수인 차단 주파수는 1/(2πRC)입니다. 1 kΩ과 1 µF에서는 약 159 Hz이고, 10 µF로 바꾸면 약 15.9 Hz로 내려갑니다. 시간 영역의 시상수와 주파수 영역의 차단 주파수가 하나의 현상을 서로 다른 눈으로 보는 값임을 확인할 수 있습니다.
시뮬레이션 결과를 믿기 전에 흔한 오해
첫째는 시뮬레이션이 에러 없이 끝났으면 회로가 맞는 것이라는 오해입니다. 도구는 입력을 문법에 맞게 계산했을 뿐이고, 그 입력이 설계 의도와 같은지는 설계자가 손 계산으로 확인해야 합니다.
둘째는 그래프가 매끄러우면 정확하다는 생각입니다. 시간 간격이 너무 크면 빠른 변화가 뭉개지고, 너무 작으면 계산 시간만 늘어나므로 시상수에 비해 충분히 작은 간격을 고르는 감각이 필요합니다.
셋째는 시뮬레이션 값이 실제 측정값과 같아야 한다는 기대입니다. 이상적인 부품 모델에는 실제 부품의 오차와 기생 성분이 빠져 있으므로, 모델이 어디까지 현실을 담았는지 알고 읽어야 합니다.
손 계산과 시뮬레이션과 실측 비교 표
| 구분 | 손 계산 | SPICE 시뮬레이션 | 실측 |
|---|---|---|---|
| 하는 일 | 식으로 기대값을 구함 | 넷리스트를 수치로 풀어 파형을 냄 | 만든 회로를 계측기로 측정 |
| 강점 | 원리가 눈에 보임 | 복잡한 회로도 빠르게 반복 가능 | 현실의 모든 영향을 포함 |
| 한계 | 회로가 커지면 풀기 어려움 | 모델과 설정에 결과가 좌우됨 | 제작 비용과 시간이 듦 |
| 쓰는 시점 | 검산과 방향 잡기 | 제작 전 검증과 조건 탐색 | 최종 확인과 모델 보정 |
| 핵심 역할 | 기준점 만들기 | 가상으로 먼저 돌리기 | 현실과 맞춰 보기 |
핵심 정리
SPICE 시뮬레이션은 회로를 넷리스트로 적어 노드의 전압과 전류를 수치로 계산하는 방법이며, 가치는 손 계산과 함께 쓸 때 가장 커집니다. 시상수 RC로 기대값을 먼저 구하고, 파형이 그 기준점과 맞는지 확인하며, 변수를 하나씩만 바꾸는 순서를 기억해 두세요.
작은 냄비에서 먼저 끓여 본 소스가 큰 솥에서도 비슷하게 나오려면 간을 본 기준이 있어야 합니다. 회로도 마찬가지로, 검산 기준이 있어야 시뮬레이션 그래프가 의미 있는 정보가 됩니다.
면접 대비 질문
면접 대비 질문SPICE 시뮬레이션 결과가 나왔을 때, 그 결과가 믿을 만한지 어떻게 확인하나요?
[답변 포인트] 시뮬레이션을 돌리기 전에 시상수 같은 간단한 식으로 기대값을 먼저 구하고, 파형이 그 값과 맞는지 비교한다고 말합니다. 어긋나면 단위 접미어, 노드 연결, 시간 간격과 해석 시간 설정을 순서대로 점검하며, 모델이 이상적이라 실제 부품의 오차와 기생 성분이 빠져 있다는 한계를 함께 인지하고 있다고 덧붙입니다. 마지막으로 중요한 설계는 실측으로 모델을 보정한다는 흐름까지 이어 가면 좋습니다.









