조합 논리 vs 순차 논리: 차이점 설명
조합 논리에서는 출력이 현재 입력에만 의존하므로 같은 입력이면 항상 같은 출력이 나옵니다. 순차 논리에서는 출력이 저장된 상태, 즉 과거 입력의 이력에도 의존합니다. 순차 회로는 플립플롭 같은 기억 소자를 추가하며 보통 클럭으로 제어됩니다. 실제 디지털 시스템은 이 둘을 번갈아 사용합니다. 상태를 보관하는 레지스터 사이에서 조합 논리가 계산을 수행합니다.
| 비교 항목 | 조합 논리 | 순차 논리 |
|---|---|---|
| 출력이 의존하는 것 | 현재 입력만 | 현재 입력과 저장된 상태(이력) |
| 기억 소자 | 없음 | 플립플롭 또는 래치 |
| 클럭 | 필요 없음 | 보통 클럭 기반(동기 설계) |
| 피드백 | 없음: 피드백 루프는 설계 오류 | 상태 소자를 통한 피드백 |
| 예시 | 가산기, 멀티플렉서, 디코더, 인코더, 비교기 | 레지스터, 카운터, 시프트 레지스터, 상태 기계 |
| 타이밍 고려 사항 | 전파 지연, 입력이 바뀌는 동안의 글리치(해저드) | 셋업 및 홀드 시간, 클럭 주기, 클럭 스큐 |
| 설계 도구 | 진리표, 불 대수, 카르노 맵 | 상태표와 상태도 |
| Verilog에서 | 연속 할당 또는 모든 분기에서 모든 출력을 설정하는 always 블록 | 클럭 기반 always 블록(클럭 에지에서) |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.