반도체 및 집적회로 설계
2단계: MOSFET, 상태 기계, 그리고 시간을 정복하라
이론적 기초: 1단계를 발판 삼아 더 깊이
1단계에서 우리는 PN접합이 어떻게 일방통행 밸브가 되는지 배웠다. 전자와 정공이 만나 공핍층(Depletion Layer)을 형성하고, 순방향 바이어스에서 그 장벽이 낮아지면서 전류가 흐른다. CMOS 인버터도 배웠다 - NMOS와 PMOS가 협력해 입력이 HIGH일 때 PMOS가 꺼지고 NMOS가 켜지면서 출력이 LOW로 떨어진다. 이번 단계는 그 "켜진다, 꺼진다"는 흑백 논리를 넘어, 트랜지스터 내부에서 벌어지는 아날로그적 현실을 정밀하게 해부한다.
MOSFET을 처음 이해할 때 좋은 출발점은 수도꼭지 비유다. 게이트 전압(VGS)이 꼭지를 돌리는 손이고, 드레인-소스 전압(VDS)이 수압이며, 흐르는 물이 전류(ID)다. 하지만 이 비유는 금방 한계에 부딪힌다. 실제 MOSFET 안에서는 고체물리학의 원리가 작동하기 때문이다.
실리콘의 에너지 구조를 생각해보자. 실리콘 원자들이 격자를 이루면 전자가 존재할 수 있는 에너지 레벨이 두 개의 '띠(Band)'로 나뉜다. 전자가 꽉 찬 **가전자대(Valence Band)**와, 전자가 자유롭게 돌아다닐 수 있는 전도대(Conduction Band) 사이에는 전자가 존재할 수 없는 **에너지 밴드갭(Bandgap)**이 있다. 실리콘의 밴드갭은 약 1.12 eV - 이 정도 에너지를 얻어야 전자가 뛰어올라 전류를 이룰 수 있다. 여기서 스스로 한 번 생각해봐라: p형 실리콘에 양의 전압을 게이트에 걸면, 표면 근처의 정공(Hole)들은 어떻게 될까? 그리고 원래 없던 전자들은?
게이트 산화막(SiO₂) 아래의 p형 기판에 게이트 전압이 가해지면, 전기장이 산화막을 관통해 실리콘 표면에 작용한다. 양의 전기장은 정공을 밀어내고 전자를 끌어당긴다. 게이트 전압이 어떤 임계치를 넘으면, 표면에 전자가 충분히 쌓여 p형 기판이 n형으로 반전된 얇은 층을 형성한다 - 이것이 **반전층(Inversion Layer)**이고, 소스에서 드레인까지 이어지는 전도 채널이다. 이 임계 게이트 전압을 **문턱 전압(Threshold Voltage, Vth)**이라 한다.
[노트 기록] NMOS 채널 형성 조건: VGS > Vth. 게이트 전류는 산화막(절연체) 때문에 사실상 0 → 전압으로 전류를 제어하되, 제어에 소모되는 전력이 거의 없다. 이것이 MOSFET이 디지털 집적회로를 지배하는 이유다.
본 내용 1: MOSFET I-V 특성 — 세 개의 얼굴
MOSFET에 VGS와 VDS를 동시에 바꾸면서 드레인 전류 ID를 측정하면, 세 가지 전혀 다른 동작 영역이 나타난다. 이 세 영역을 이해하는 것이 트랜지스터 레벨 아날로그 분석의 출발점이다.
**차단 영역(Cutoff Region)**은 VGS < Vth인 상태다. 채널이 형성되지 않았으므로 ID = 0이다(이상적 모델 기준). 현실에서는 서브스레시홀드 전류(Subthreshold Current)가 지수함수적으로 작게 흐르는데, 이게 왜 저전력 설계에서 중요한지는 3단계에서 다시 만날 것이다.
**선형 영역(Linear/Triode Region)**은 VGS > Vth이고 VDS < (VGS - Vth)인 상태다. 채널이 소스에서 드레인까지 균일하게 형성되어 있다. 이 구간의 전류 수식은:
여기서 μn은 전자 이동도, Cox는 게이트 산화막 단위면적당 커패시턴스, W/L은 트랜지스터 폭 대 길이 비다. 공정이 결정하는 μnCox는 k'로, 설계자가 결정하는 W/L과 곱해 **kn = k'(W/L)**으로 쓴다. VDS가 매우 작으면 VDS² 항을 무시할 수 있어 ID ≈ kn·(VGS − Vth)·VDS, 즉 오옴의 법칙처럼 보인다. 이때 on-저항은 Ron = 1 / [kn·(VGS − Vth)]이다. 트랜지스터가 저항처럼 동작하는 이 영역이 디지털 스위치와 전송 게이트 설계의 핵심이다.
**포화 영역(Saturation Region)**은 VGS > Vth이고 VDS ≥ (VGS - Vth)인 상태다. VDS가 커지면 드레인 쪽 채널이 사라지기 시작한다 - 이것을 **핀치오프(Pinch-off)**라 한다. 직관적으로 이상하게 느껴질 수 있다: "채널이 없어졌는데 왜 전류는 계속 흐르지?" 핵심은 핀치오프 점까지 형성된 전기장이 전자들을 드레인 쪽으로 쏘아 보내기 때문이다. 전류는 VDS에 무관하게:
[노트 기록] 포화 영역 전류: — 이것이 아날로그 회로 분석에서 가장 중요한 단일 방정식이다. VGS의 제곱에 비례한다는 점에 주목하라 - 비선형이다.
현실적으로는 VDS가 증가해도 전류가 미세하게 증가한다. 핀치오프 점이 소스 쪽으로 약간 이동하면서 실효 채널 길이가 줄어들기 때문이다. 이를 **채널 길이 변조(Channel Length Modulation)**라 하고, 파라미터 λ(lambda)로 보정한다:
λ는 채널이 길수록 작아진다(긴 채널은 상대적으로 변화가 작다). 이 (1 + λVDS) 항이 나중에 소신호 모델의 출력 저항 ro를 결정한다.
본 내용 2: 소신호 모델 — 비선형을 선형으로 길들이기
여기서 한 가지 근본적인 의문이 생긴다. 증폭기는 "입력 신호를 크게 만드는" 장치인데, MOSFET의 I-V 특성이 비선형이라면 신호가 왜곡되지 않을까? 실제로 왜곡된다. 하지만 우리가 다루는 신호가 직류 바이어스(동작점) 위에 올라탄 작은 교류 신호라면 이야기가 달라진다.
수학적으로 설명하면, 어떤 비선형 함수 f(x)가 있을 때 특정 점 x₀ 근방에서 테일러 급수로 전개하면:
2차 이상의 항은 신호가 작으면 무시할 수 있다. 이것이 **소신호 선형화(Small-Signal Linearization)**의 본질이다. 동작점(Q-point)을 중심으로 아주 작은 변화만 보면 MOSFET은 선형 회로처럼 행동한다.
이 원리를 ID = f(VGS, VDS)에 적용하면:
전달 컨덕턴스(Transconductance) gm은 게이트 전압의 변화가 드레인 전류를 얼마나 바꾸는지 나타낸다. 포화 영역에서:
두 번째 표현 형태 √(2knID)가 특히 유용하다: gm은 동작점 전류 ID의 제곱근에 비례한다. 전류를 4배 늘리면 gm은 2배 커진다. 그리고 gm이 커질수록 증폭 이득이 커진다. 이득을 높이고 싶으면 전류를 키워라 - 하지만 전력 소모가 커진다. 전형적인 설계 트레이드오프다.
출력 저항(Output Resistance) ro는 채널 길이 변조에서 온다:
[노트 기록] 소신호 파라미터:
- gm [단위: A/V = S(지멘스)]: 신호 증폭 능력, 클수록 좋음
- ro [단위: Ω]: 이상적인 전류원이면 ∞, 실제는 유한
소신호 등가회로(π 모델)에서 MOSFET은 게이트-소스 사이의 소신호 전압 vgs를 입력받아 드레인에서 gm·vgs라는 전류를 흘리는 **전압 제어 전류원(VCCS)**으로 표현된다. 여기에 출력 저항 ro가 병렬로 달린다. 공통 소스 증폭기(Common-Source Amplifier)의 소신호 전압 이득을 계산해보면 Av = −gm·(ro ∥ RD)가 나온다. 마이너스 부호는 위상 반전을 뜻한다. RD를 크게 하면 이득이 커지지만, 그러면 동작점이 바뀌어 포화 영역을 벗어날 수 있다 - 또 다른 트레이드오프다(Razavi, Design of Analog CMOS Integrated Circuits, 2001, Chapter 3).
고주파에서는 게이트-소스 커패시턴스 Cgs와 게이트-드레인 커패시턴스 Cgd가 중요해진다. 특히 Cgd는 출력에서 입력으로 신호가 피드백되어 **밀러 효과(Miller Effect)**로 실효 입력 커패시턴스를 크게 증폭시키고, 이것이 고주파 이득을 제한하는 핵심 원인이다.
본 내용 3: 순차 논리와 FSM — 기억을 설계하다
1단계에서 배운 조합 논리(AND, OR, NOT 등)는 현재 입력만으로 출력이 결정된다. 과거를 기억하지 못한다. 그런데 교통 신호등을 생각해보라. 현재 신호가 빨강이라는 것을 알려면, 이전에 녹색이었다가 노랑을 거쳤다는 역사가 있어야 한다. 자동판매기도 마찬가지다. 이미 500원을 넣었다는 것을 기억하지 못하면, 추가로 500원을 넣어도 1000원으로 인식하지 못한다. 이것이 **순차 논리(Sequential Logic)**의 존재 이유다.
D 플립플롭과 그 타이밍
순차 논리의 가장 기본 저장 소자는 D 플립플롭(DFF)이다. 클럭의 상승 에지에서 D 입력값을 샘플링해 Q 출력으로 전달한다. 단순해 보이지만, 여기에 설계자가 반드시 지켜야 하는 두 가지 타이밍 제약이 있다.
**셋업 타임(Setup Time, tsu)**은 클럭 에지가 도착하기 전에 데이터가 안정되어 있어야 하는 최소 시간이다. 이 시간 안에 데이터가 변하면 플립플롭 내부 래치가 어느 값을 잡아야 할지 모르고 혼란에 빠진다. **홀드 타임(Hold Time, th)**은 클럭 에지 후에 데이터가 안정적으로 유지되어야 하는 최소 시간이다. 너무 빨리 다음 데이터가 들어오면 역시 문제가 생긴다.
[노트 기록] 타이밍 부등식:
- 셋업 여유(Setup Slack): 클럭 주기 T > tpcq + tpd + tsu (tpcq: 클럭→Q 전파 지연, tpd: 조합 논리 지연)
- 홀드 여유(Hold Slack): tccq + tcd > th (tccq: 최소 클럭→Q 지연, tcd: 오염 지연)
셋업 위반은 클럭을 느리게 하면 해결된다. 하지만 홀드 위반은 클럭 속도와 무관하다. 아무리 클럭을 느리게 해도 데이터가 너무 빨리 도착하는 문제는 해결되지 않는다. 홀드 위반을 고치려면 경로에 버퍼를 삽입해 전파 지연을 강제로 늘려야 한다. 이 때문에 IC 설계에서 홀드 위반이 셋업 위반보다 훨씬 골치 아프다.
유한 상태 기계(FSM)
FSM은 **유한한 수의 상태(State)**를 가지는 시스템으로, 현재 상태와 입력에 따라 다음 상태와 출력이 결정된다. 수학적으로 FSM은 5-튜플 (S, S₀, Σ, δ, λ)로 정의된다: 상태 집합 S, 초기 상태 S₀, 입력 집합 Σ, 상태 전이 함수 δ: S×Σ→S, 출력 함수 λ (Mealy, 1955).
출력 함수 λ의 형태에 따라 두 종류가 나뉜다. Mealy 기계는 출력이 현재 상태와 현재 입력 모두에 의존한다: λ: S×Σ→Output. Moore 기계는 출력이 현재 상태에만 의존한다: λ: S→Output. Mealy 기계는 상태 수가 적고 입력에 즉각 반응하지만, 출력이 입력의 글리치(Glitch)에 취약하다. Moore 기계는 출력이 상태 레지스터에서 나오므로 안정적이다.
[노트 기록] RTL FSM 구현의 표준 3블록 구조:
(1) 상태 레지스터: always @(posedge clk) current_state <= next_state;
(2) 다음 상태 논리: always @(*) begin case(current_state) ... end (조합 논리)
(3) 출력 논리: always @(*) 또는 always @(posedge clk) (Moore/Mealy 따라 다름)
상태 인코딩 방식은 세 가지가 주로 쓰인다. **이진 인코딩(Binary)**은 n개 상태에 ⌈log₂n⌉ 비트를 사용해 가장 적은 플립플롭이 필요하지만 디코딩 논리가 복잡하다. One-Hot 인코딩은 n개 상태에 n개의 비트를 사용해 항상 1비트만 '1'이 된다. 디코딩 논리가 단순해 속도가 빠르고, FPGA에서 특히 유리하다. Gray Code 인코딩은 인접 상태 사이에 1비트만 바뀌어 전환 시 전력 소모와 EMI를 줄인다(Weste & Harris, CMOS VLSI Design, 2011, Chapter 14).
본 내용 4: 클럭 도메인 크로싱과 타이밍 클로저 — 시간의 충돌
현대 SoC에는 수십 개의 독립적인 클럭 도메인이 공존한다. ARM CPU 코어가 3GHz로, DDR 컨트롤러가 1.6GHz로, USB 블록이 480MHz로 각각 다른 클럭으로 돌아간다. 이 서로 다른 도메인 사이에서 신호가 전달될 때 클럭 도메인 크로싱(CDC, Clock Domain Crossing) 문제가 발생한다.
메타안정성(Metastability): 0도 1도 아닌 상태
DFF가 셋업이나 홀드 타임 제약을 위반하면 이상한 일이 벌어진다. 출력이 논리 0도, 논리 1도 아닌 중간 전압에 머물러 버릴 수 있다. 이것이 메타안정 상태다. 물리적으로는 에너지 퍼텐셜 곡선의 **불안정 평형점(Unstable Equilibrium)**에 해당한다 - 공이 산꼭대기에 딱 균형을 이루고 있는 상태와 같다. 결국 한쪽으로 굴러 떨어지겠지만, 얼마나 오래 걸릴지는 알 수 없다. 그동안 다운스트림 회로는 이 불확정 신호를 받아 오동작할 수 있다.
더 무서운 것은 메타안정성을 원천적으로 막을 수 없다는 점이다. 두 클럭이 비동기적으로 동작하는 이상, 신호가 셋업/홀드 윈도우에 걸릴 확률은 항상 존재한다. 할 수 있는 것은 오류 확률을 실용적으로 무시할 수 있는 수준까지 낮추는 것이다. 특성 시간 τ와 해상도 시간 tmet를 가진 DFF에서, 회복 실패 확률은 e^(-(t-tmet)/τ)에 비례한다. 즉 충분한 시간을 주면 지수함수적으로 빠르게 0에 수렴한다(Cummings, Synthesis and Scripting Techniques for Designing Multi-Asynchronous Clock Designs, SNUG 2001).
2FF 동기화기(Two Flip-Flop Synchronizer)
가장 기본적인 CDC 해결책이다. 소스 도메인의 신호를 목적지 도메인의 클럭으로 구동되는 두 개의 직렬 DFF를 통과시킨다. 첫 번째 DFF가 메타안정 상태에 빠지더라도, 두 번째 DFF가 샘플링하기 전에 한 클럭 사이클 동안 회복할 시간이 주어진다. 중요한 설계 규칙: 두 동기화 DFF 사이에는 조합 논리를 절대 삽입하지 않는다 - 조합 논리의 전파 지연이 메타안정 회복 시간을 잡아먹기 때문이다.
여러 비트로 이루어진 버스 신호를 CDC할 때는 2FF 동기화기만으로 충분하지 않다. 각 비트가 서로 다른 타이밍에 메타안정에서 회복되면, 동기화된 출력 버스의 비트들이 서로 다른 "시점"을 반영하게 되어 데이터 무결성이 깨진다. 이때 두 가지 주요 해결책이 있다. Gray Code 인코딩은 인접 값 사이에 딱 1비트만 변하므로, 한 번에 1비트만 동기화하면 충분하다(FIFO 포인터 전달에 표준적으로 사용). 비동기 FIFO는 완전한 버스 데이터 전달의 표준 해결책으로, 두 독립 포인터(write pointer, read pointer)를 Gray code로 인코딩해 각자의 도메인 클럭으로 동기화한다.
정적 타이밍 분석(STA)과 타이밍 클로저
칩 설계가 끝나면 모든 타이밍 경로가 제약을 만족하는지 검증해야 한다. 이것이 **정적 타이밍 분석(STA)**이다. STA 도구(Synopsys PrimeTime 등)는 설계의 모든 레지스터-투-레지스터 경로를 열거하고 각 경로의 셋업 슬랙과 홀드 슬랙을 계산한다.
[노트 기록] 슬랙(Slack):
- 셋업 슬랙 = (허용 최대 도착 시간) − (실제 경로 지연) → 음수면 타이밍 위반
- 홀드 슬랙 = (실제 최소 경로 지연) − (요구 최소 지연) → 음수면 홀드 위반
셋업 위반 해결 방법: 크리티컬 패스의 논리 레벨 줄이기(파이프라인 추가), 게이트 크기 키우기(Upsizing), 긴 배선에 버퍼 삽입, 리타이밍(Retiming). 홀드 위반 해결: 경로에 버퍼/딜레이 셀 삽입(전류/전력 증가 감수). 타이밍 클로저는 단순한 검증이 아니라, 위반을 찾아 해결하고 재검증하는 반복적 과정이다. 실무에서 타이밍 클로저만으로 설계 일정의 20~30%가 소요되는 경우도 흔하다.
프로젝트: 개념을 손으로 익혀라 (40분)
이제 배운 것들을 직접 적용할 시간이다. 아래 문제들은 단계적으로 난이도가 올라간다. 정답은 없다 - 네가 스스로 풀어야 하는 것이 목표다. 막히는 부분이 있으면 앞에서 설명한 개념과 수식으로 돌아가라.
[문제 1] MOSFET 동작점 분석 (약 10분)
NMOS 트랜지스터의 파라미터가 다음과 같다: kn = 2 mA/V², Vth = 0.8 V, λ = 0.1 V⁻¹. VDD = 5 V인 회로에서 드레인에 RD = 2 kΩ 저항이 연결되어 있고, VGS = 2.5 V, VDS는 공급 전압과 저항의 전압 분배로 결정된다고 하자.
(a) 트랜지스터가 어떤 동작 영역에 있는지 판단하기 위해 포화 조건 VDS ≥ VGS − Vth를 먼저 확인해야 한다. 그런데 VDS를 구하려면 ID를 알아야 하고, ID를 구하려면 동작 영역을 알아야 한다 — 이 닭이 먼저냐 달걀이 먼저냐 상황을 어떻게 풀 것인가? 먼저 포화 영역이라 가정하고 ID를 구한 뒤 VDS를 계산해 가정이 맞는지 검증하라.
(b) λ = 0.1 V⁻¹의 채널 길이 변조를 포함한 보정된 ID를 계산하라. λ = 0일 때와 비교해 전류 차이가 몇 퍼센트인가?
(c) 이 동작점에서 gm과 ro를 계산하라. 만약 VGS를 10% 높이면 gm은 몇 퍼센트 증가하는가? gm이 √(2knID)에 비례한다는 사실을 이용해 다른 방법으로도 계산해보고, 두 결과가 일치하는지 확인하라.
(d) 드레인에 RD를 연결한 이 회로가 공통 소스 증폭기라면, 소신호 전압 이득 Av는 얼마인가? ro ∥ RD를 정확하게 계산하라.
[문제 2] FSM 설계: 시퀀스 검출기 (약 15분)
직렬 비트 스트림에서 패턴 **"1011"**을 검출하는 Mealy FSM을 설계하라. 패턴이 검출되면 그 즉시 출력 Z = 1을 내고, 나머지 경우 Z = 0이다. 중첩(Overlap)을 허용한다 - 예를 들어 "10111011"에서 두 번째 "1011"은 첫 번째와 마지막 세 비트를 공유해도 된다.
(a) 상태 전이 다이어그램을 손으로 그려라. 상태는 "지금까지 몇 개의 패턴 프리픽스를 매칭했는가"로 정의하면 직관적이다. 각 상태에서 입력 0과 1에 따라 어디로 전이하는지, 그리고 Mealy 출력이 무엇인지 기록하라. 특히 부분 일치 후 실패했을 때 어느 상태로 되돌아가야 하는지가 핵심이다.
(b) 상태 수를 최소화했는가? 불필요하게 많은 상태를 만들지 않았는지 재검토하라. 이 FSM에 필요한 최소 상태 수는 몇 개인가?
(c) 이진 인코딩과 one-hot 인코딩을 각각 적용했을 때 필요한 DFF 개수는 몇 개인가? ASIC 환경과 FPGA 환경 각각에서 어떤 인코딩이 더 유리할지 이유와 함께 설명하라.
(d) 이 FSM을 Verilog로 구현하라. 3-always block 스타일을 사용하고, 동기 리셋(synchronous reset)을 포함하라. 리셋 시 초기 상태로 돌아가야 한다.
(e) 시퀀스 "10110111011"을 입력으로 시뮬레이션하면 Z=1이 몇 번, 어느 클럭 에지에서 발생하는가? 직접 상태 추적을 손으로 해보라.
[문제 3] CDC 분석과 동기화 설계 (약 15분)
두 클럭 도메인이 있다. 도메인 A: 클럭 주파수 100 MHz, DFF의 특성 시간 τ = 50 ps, tmet = 100 ps. 도메인 B: 클럭 주파수 250 MHz. 도메인 A에서 생성된 단일 비트 제어 신호를 도메인 B에서 사용해야 한다.
(a) 아무런 동기화 없이 도메인 B의 DFF가 직접 신호를 샘플링하면 왜 문제가 생기는가? 두 클럭이 독립적(Asynchronous)이라는 사실이 왜 셋업/홀드 위반을 필연적으로 만드는지 설명하라.
(b) 2FF 동기화기를 적용한다. 도메인 B의 클럭 주기는 4 ns다. 첫 번째 DFF가 메타안정 상태에 빠졌을 때, 두 번째 DFF가 샘플링하기 전까지 회복에 주어진 시간은 얼마인가? (단, 두 DFF 사이의 배선 지연은 무시)
(c) 1단계에서 배운 CMOS 인버터의 이득(Gain)이 크면 플립플롭의 τ가 작아진다. τ가 작아지면 메타안정 회복이 빠른가, 느린가? 그 이유를 물리적으로 설명하라.
(d) 이번에는 8비트 버스를 도메인 A에서 도메인 B로 전달해야 한다. 단순히 각 비트에 2FF 동기화기를 적용하면 왜 안 되는가? Gray code를 사용하면 어떤 원리로 이 문제가 해결되는가? 8비트 바이너리 카운터 값 0x3F(0011 1111)에서 0x40(0100 0000)으로 넘어갈 때 바이너리와 Gray code 각각에서 몇 비트가 동시에 바뀌는지 계산하라.
(e) [고급] 비동기 FIFO에서 write 포인터와 read 포인터를 Gray code로 인코딩해 각 도메인으로 동기화하는 방식을 설명하라. FIFO가 비어있는지(Empty) 또는 가득 찼는지(Full) 판단하는 조건을 Gray code 포인터로 어떻게 표현할 수 있는지 생각해보라.
평가 기준
이번 단계의 학습을 마친 후 스스로 다음 기준으로 평가해보라.
트랜지스터 분석 (목표 40점): 파라미터만 주어졌을 때 동작 영역을 스스로 판단하고, ID, gm, ro를 정확히 계산할 수 있는가. 소신호 모델의 π 회로를 보고 전압 이득을 바로 읽어낼 수 있는가. 채널 길이 변조와 같은 2차 효과를 이해하고 보정할 수 있는가.
FSM 설계 (목표 40점): 시스템 명세에서 상태 전이 다이어그램을 스스로 도출할 수 있는가. Mealy와 Moore의 차이를 설계 선택 관점에서 설명할 수 있는가. 인코딩 방식의 트레이드오프를 플랫폼에 따라 논할 수 있는가. 작성한 RTL이 타이밍 제약을 위반하지 않는 구조인가.
CDC와 타이밍 클로저 (목표 20점): 주어진 회로에서 CDC 경로를 찾아낼 수 있는가. 메타안정성의 원인과 해결책을 물리적 원리에서 출발해 설명할 수 있는가. Gray code가 버스 CDC에서 왜 유효한지 비트 변화 수로 논증할 수 있는가.
이 세 영역 중 가장 자신 없는 부분을 다시 돌아가서 읽어라. 특히 메타안정성은 직관에 반하는 개념이므로 한 번에 이해되지 않아도 정상이다. 플립플롭의 내부 이득 구조와 에너지 퍼텐셜이라는 개념을 물리 교과서의 역학적 평형 개념과 연결해서 생각해보면 더 깊이 이해할 수 있을 것이다.