조합 논리 vs 순차 논리: 차이점 설명

조합 논리에서는 출력이 현재 입력에만 의존하므로 같은 입력이면 항상 같은 출력이 나옵니다. 순차 논리에서는 출력이 저장된 상태, 즉 과거 입력의 이력에도 의존합니다. 순차 회로는 플립플롭 같은 기억 소자를 추가하며 보통 클럭으로 제어됩니다. 실제 디지털 시스템은 이 둘을 번갈아 사용합니다. 상태를 보관하는 레지스터 사이에서 조합 논리가 계산을 수행합니다.

비교 항목조합 논리순차 논리
출력이 의존하는 것현재 입력만현재 입력과 저장된 상태(이력)
기억 소자없음플립플롭 또는 래치
클럭필요 없음보통 클럭 기반(동기 설계)
피드백없음: 피드백 루프는 설계 오류상태 소자를 통한 피드백
예시가산기, 멀티플렉서, 디코더, 인코더, 비교기레지스터, 카운터, 시프트 레지스터, 상태 기계
타이밍 고려 사항전파 지연, 입력이 바뀌는 동안의 글리치(해저드)셋업 및 홀드 시간, 클럭 주기, 클럭 스큐
설계 도구진리표, 불 대수, 카르노 맵상태표와 상태도
Verilog에서연속 할당 또는 모든 분기에서 모든 출력을 설정하는 always 블록클럭 기반 always 블록(클럭 에지에서)

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

조합
산술과 선택처럼 현재 값에만 의존해야 하는 계산과 디코딩.
순차
카운터, 레지스터, 컨트롤러, 일련의 단계를 따르는 회로 등 기억이 필요한 모든 것.
HDL 팁
조합 always 블록에서는 모든 분기에서 모든 출력을 할당하세요. 그렇지 않으면 합성 시 의도하지 않은 래치가 추론됩니다.

자주 묻는 질문

플립플롭은 조합 회로인가요, 순차 회로인가요?

순차 회로입니다. 비트를 저장하므로 출력이 입력뿐 아니라 저장된 상태에 의존합니다.

가산기는 조합 회로인가요, 순차 회로인가요?

조합 회로입니다. 출력이 현재 입력에만 의존합니다. 반면 카운터는 순차 회로입니다.

회로가 둘 다일 수 있나요?

그렇습니다. 실제 디지털 시스템은 레지스터 사이에 조합 논리를 두기 때문에, 시스템 전체는 순차 회로이며 조합 블록으로 구성됩니다.

조합 논리에서 피드백 루프가 문제인 이유는 무엇인가요?

조합 회로에는 루프가 없어야 합니다. 루프가 있으면 출력이 자기 자신에 의존하게 되어 발진하거나 의도치 않게 상태를 유지할 수 있습니다.

주요 용어 설명

組み合わせ回路
出力がそのときの入力だけで決まる論理回路。加算器やマルチプレクサ、デコーダなど。
順序回路
フリップフロップなどで状態を記憶し、出力が入力と過去の状態の両方で決まる論理回路。カウンタやレジスタなど。
フリップフロップ
1ビットの情報を保持する順序回路の基本素子。D型はクロックのエッジで入力を取り込む。

관련 비교