논리회로 설계의 핵심: 조합회로·순차회로·FSM 이해

논리회로의 조합·순차 구조와 게이트, 플립플롭, FSM, 논리 합성 및 구현 기술을 실무 관점에서 정리합니다.

2026-08-14 · 최초 발행 2026-01-16

디지털 하드웨어는 논리값을 회로로 바꾸는 데서 시작한다

CPU의 연산, 메모리의 저장, 제어장치의 상태 전이는 모두 논리회로(Logic Circuit) 위에서 동작한다. 논리회로는 불 대수(Boolean Algebra)의 연산을 전자적으로 구현하며, 입력 신호에 따라 이진 출력을 만든다. 핵심 구분은 현재 입력만 사용하는 조합 논리회로와 이전 상태를 함께 반영하는 순차 논리회로다.

논리값은 전압 레벨로 표현되고, 회로는 트랜지스터와 다이오드 같은 반도체 소자로 구성된다. 이진 동작, 동일 입력에 대한 동일 출력이라는 결정성, 나노초 단위의 상태 변화, 소형화에 따른 저전력 동작이 이 구조의 기반이 된다.

논리회로조합 논리회로(Combinational)순차 논리회로(Sequential)출력 = 현재 입력의 함수출력 = 현재 입력 + 이전 상태게이트, 디코더멀티플렉서, 가산기플립플롭, 레지스터카운터, FSM

현재 입력을 즉시 변환하는 조합 논리회로

조합 논리회로의 출력은 그 시점의 입력 조합만으로 정해진다. 기본 단위인 논리 게이트는 각각 정해진 불 연산을 수행한다.

게이트 기호 연산 설명
AND · A·B 모든 입력이 1일 때 1
OR + A+B 하나라도 1이면 1
NOT ' A' 입력 반전
NAND (A·B)' AND의 반전
NOR (A+B)' OR의 반전
XOR A⊕B 입력이 다르면 1
XNOR (A⊕B)' 입력이 같으면 1

NAND와 NOR는 범용 게이트(Universal Gate)다. 각각의 게이트만으로도 모든 논리 함수를 구현할 수 있다.

NOR로 구현NORNOT: A NOR AOR: NOR + NOTAND: NOT + NOR + NOTNAND로 구현NANDNOT: A NAND AAND: NAND + NOTOR: NOT + NAND + NOT

디코더는 n개의 입력선을 2^n개의 출력선으로 변환한다. 특정 입력 조합에 대응하는 출력선 하나만 활성화되므로 주소 디코딩, 명령어 해석, 7-세그먼트 디스플레이 구동에 쓰인다. 반대로 인코더는 2^n개의 입력선 가운데 활성화된 하나를 n비트 코드로 바꾼다. 우선순위 인코더, 키보드 입력 인코딩, 인터럽트 우선순위 결정이 대표적인 활용 방식이다.

멀티플렉서(MUX)는 선택 신호에 따라 여러 입력 중 하나를 출력으로 전달하는 데이터 선택기다. 2^n:1 MUX는 n개의 선택 입력을 사용하며, 데이터 라우팅과 함수 생성에 활용된다. 디멀티플렉서(DEMUX)는 하나의 입력을 선택 신호에 따라 여러 출력 중 하나로 보낸다. 1:2^n DEMUX는 주소와 데이터를 분배하는 데 적합하다.

1:4 디멀티플렉서DDEMUXS0, S1Y0Y1Y2Y34:1 멀티플렉서D0MUXD1D2D3S0, S1Y

가산기는 산술 연산을 구성하는 기본 회로다. 반가산기(Half Adder)는 두 비트를 더해 합과 캐리를 출력한다.

  • S = A ⊕ B
  • C = A · B

전가산기(Full Adder)는 두 입력과 이전 캐리를 포함한 세 비트를 더한다.

  • S = A ⊕ B ⊕ Cin
  • Cout = AB + Cin(A ⊕ B)

ALU(Arithmetic Logic Unit)는 덧셈·뺄셈 같은 산술 연산과 AND, OR, XOR 같은 논리 연산을 수행하는 조합회로이며 CPU의 핵심 구성 요소다.

상태를 보존해야 할 때는 순차 논리회로를 쓴다

순차 논리회로는 현재 입력만으로 출력을 결정하지 않는다. 이전 상태를 기억하고 그 상태를 다음 동작에 반영한다. 플립플롭 같은 기억 소자를 포함하며, 클록 신호를 기준으로 동기화된다.

조합 논리부는 다음 상태와 출력을 계산하고, 기억 소자는 현재 상태를 저장한다. 피드백 경로가 저장된 상태 정보를 다시 논리부로 되돌린다.

입력조합 논리출력플립플롭(상태 저장)클록

래치(Latch)는 레벨 트리거(Level-Triggered) 방식으로 동작하는 기본 기억 소자다. SR 래치는 Set-Reset 동작을 제공하고, D 래치는 데이터를 저장하며, 입력이 반영되는 투명(Transparent) 특성을 가진다.

플립플롭(Flip-Flop)은 에지 트리거(Edge-Triggered) 방식으로 동작해 타이밍 제어에 적합하다. D 플립플롭이 가장 널리 쓰이고, JK 플립플롭은 범용 동작을, T 플립플롭은 토글 동작을 담당한다.

여러 플립플롭을 병렬로 연결하면 n비트 데이터를 보관하는 레지스터가 된다. PIPO는 병렬 입력과 병렬 출력을 동시에 처리하고, SISO는 시프트 레지스터로 동작한다. SIPO는 직렬-병렬 변환, PISO는 병렬-직렬 변환에 쓰인다. CPU의 범용·특수 목적 레지스터, 데이터 버퍼, 파이프라인 스테이지가 이런 구조를 활용한다.

카운터는 클록 펄스를 계수해 순차적인 상태를 출력한다. 동기식 카운터는 모든 플립플롭을 공통 클록에 연결하므로 상태 전이가 동시에 일어나고 고속 동작이 가능하지만 설계가 복잡하다. 비동기식 카운터, 즉 리플 카운터는 이전 플립플롭의 출력을 다음 클록으로 사용한다. 구조는 단순하지만 전파 지연이 누적돼 저속 동작에 적합하다.

비동기식 카운터CLKFF0FF1FF2Q0Q1Q2동기식 카운터CLKFF0FF1FF2Q0Q1Q2

FSM은 복잡한 제어 로직을 상태 전이로 다룬다

유한 상태 기계(Finite State Machine)는 유한한 상태를 두고, 입력에 따라 상태를 전이시키는 순차 논리회로 모델이다. 상태 집합, 외부 입력 집합, 출력 집합, 다음 상태를 결정하는 전이 함수, 출력을 결정하는 출력 함수로 구성된다.

무어 기계(Moore Machine)는 출력이 현재 상태에만 의존한다. 출력이 상태에 직접 연결돼 안정적이지만 더 많은 상태가 필요할 수 있다. 밀리 기계(Mealy Machine)는 현재 상태와 입력을 함께 출력에 반영한다. 빠르게 반응하고 적은 상태로 구현할 수 있지만 출력 글리치 가능성이 있다.

StartRequestGrantTimeoutResetStopIDLEACTIVEWAITERROR

FSM 설계는 문제 정의와 상태 다이어그램 작성에서 시작한다. 이후 상태 축소(State Minimization), 상태 인코딩(State Encoding), 전이 테이블과 출력 테이블 작성, 조합 논리 설계, 회로 구현 및 검증으로 이어진다.

방식 특징 장점 단점
순차 인코딩 0, 1, 2, 3... 간단 복잡한 논리
그레이 코드 인접 상태 1비트 차이 글리치 감소 제한적 적용
원-핫 인코딩 상태당 1비트 빠른 디코딩 많은 플립플롭

논리식을 회로로 옮기는 설계와 검증

불 대수 간소화는 회로 규모를 줄이는 출발점이다. 카르노 맵(Karnaugh Map)은 2~6개 변수의 논리 함수를 시각적으로 간소화한다. 인접 셀을 1, 2, 4, 8... 단위로 묶고, Don't Care 조건을 활용해 최소 곱의 합(SOP) 또는 합의 곱(POS) 형태를 얻는다.

퀸-맥클러스키 방법은 다수 변수 함수를 체계적으로 간소화하는 알고리즘이다. 컴퓨터 자동화에 적합하고 최적 해를 보장하지만 복잡도가 증가한다.

RTL(Register Transfer Level) 설계는 동작을 레지스터 사이의 데이터 전송으로 기술하는 추상화 수준이다. 논리 합성 도구는 HDL 코드를 게이트 수준 넷리스트로 변환하면서 면적, 속도, 전력을 최적화한다.

HDL 코드(Verilog/VHDL)논리 합성(Synthesis)게이트 넷리스트배치 배선(Place & Route)물리 설계(Layout)

검증 단계에서는 기능 시뮬레이션으로 논리 동작을 확인하고, 타이밍 시뮬레이션으로 실제 지연을 포함한 동작을 검토한다. 형식 검증(Formal Verification)은 수학적 증명을 사용한다. 테스트 용이성 설계(DFT)에는 스캔 체인(Scan Chain), BIST(Built-In Self-Test), JTAG 인터페이스가 포함된다.

회로 구현을 선택하는 기준

CMOS 논리는 상보형 금속 산화물 반도체 기반의 구현 기술이다. PMOS 풀업 네트워크와 NMOS 풀다운 네트워크가 상보적으로 동작하며, 낮은 정적 전력 소모와 높은 집적도를 제공한다. 현대 IC의 주류 기술이다.

프로그래머블 논리 장치는 구현을 변경할 수 있는 선택지다. SPLD에는 PAL, PLA, GAL이 있고, CPLD는 여러 SPLD 블록을 연결한 구조다. FPGA는 LUT 기반의 재구성 가능 논리를 사용한다. 빠른 프로토타이핑, 현장 수정, 소량 생산에 적합하다.

ASIC 설계에서는 사전 설계된 게이트 라이브러리를 사용하는 표준 셀(Standard Cell)이 주류다. 자동 배치 및 배선을 활용할 수 있다. 풀커스텀(Full Custom)은 트랜지스터 수준에서 최적화해 최고 성능과 밀도를 얻지만, 설계 시간과 비용이 높다.

논리회로디지털 시스템순차회로FSMCMOS