디지털 논리회로(digital logic circuit)는 조합 논리회로(combinational logic circuit)와 순차 논리회로(sequential logic circuit)로 구분된다.

조합 논리회로 - Combinational Logic Circuit

조합 논리회로는 논리곱(AND), 논리합(OR), 논리 부정(NOT) 등 기본 논리 소자의 조합으로 만들어지고(즉, 논리 게이트의 집합이다), 플립플롭과 같은 기억 소자를 포함하지 않는다(즉, 기억 능력이 없다).

조합 논리회로의 종류에는 가산기, 비교기, 디코더와 인코더, 멀티플렉서와 디멀티플렉서, 코드 변환기 등이 있다.

순차 논리회로 - Sequential Logic Circuit

조합 논리회로와 달리 출력 신호가 입력 신호뿐만 아니라 이전 상태의 논리 값에 의해 결정되는 순차 논리회로는 비트 값을 저장하는 플립플롭과 같은 기억 소자를 포함한다.

순차 논리회로는 조합 논리회로와 기억 소자(memory cell)로 구성되고, 기억 소자가 궤환(feedback)을 형성하며 연결되어 있다. 이 기억 소자는 2진 정보를 저장할 수 있는 장치로 이루어져 있으며, 기억할 수 있는 소자로 가장 널리 사용되는 것은 플립플롭이다.

클록 펄스(clock pulse)가 있는 순차 논리회로에서는 memory cell에 clock pulse의 입력 부분이 있다. 순차 논리회로의 출력은 현재 상태의 입력과 이전 상태의 출력, 즉 기억 소자를 통과한 결과에 따라 결정된다.

순차 논리회로는 신호의 타이밍에 따라 동기식(synchronous)과 비동기식(asynchronous)으로 구분할 수 있다. 논리회로에서는 항상 지연이 발생하므로, 논리 소자에 0 또는 1이 입력되면 즉시 출력이 나오는 것이 아니라 잠깐 시간이 경과한 후 출력된다. 복잡한 구조의 순차 논리회로일 경우 논리 소자(Logical Device)를 여러 개 경유하기 때문에 지연 시간이 누적되어 지연이 커진다.

이러한 지연 문제를 해결하기 위한 방법으로 동기식 회로와 비동기식 회로의 개념이 도입되었으며, 일반적으로 조합 논리회로는 비동기식 회로에 해당한다.

동기식 순차 논리회로는 클록 펄스가 들어오는 시점에 상태가 변화하는데, 이때 사용되는 클록 펄스는 클록 생성기(clock generator)를 통해 주기적 또는 비주기적으로 생성할 수 있다. 이에 반해 클록 펄스의 영향을 받지 않고 현재 입력되는 입력값이 변화하는 순서에 따라 동작하는 비동기식 순차 논리회로는 입력값이 변화하는 경우에만 상태 전이가 발생하기 때문에 클록이 없는 기억 소자(unclocked memory device)를 사용한다. 결과적으로 정확한 동작이 입력 타이밍에 좌우되므로 마지막 입력 변화에서 회로가 안정되도록 설계해야 하며, 그렇지 않으면 회로가 정확하게 동작하지 않는다.

순차 논리회로의 해석 과정은 이미 구현된 논리회로에서 상태표나 상태도를 유도하는 절차이고, 설계 과정은 주어진 사양(상태도, 상태표, 불 함수)으로 논리회로를 구현하는 절차이다.


조합 논리회로와 그 종류