본문 바로가기
카테고리 없음

래치 & 플립플롭 - 순차회로를 위한 저장요소

by 조용한주인장 2023. 8. 3.

디지털 회로에서 저장 기능을 가진 요소로 래치와 플립플롭이 있습니다. 둘 다 데이터를 저장하지만 차이점이 있습니다. 여러 관점에서 래치와 플립플롭을 다루기 전에 각각에 대해 간단히 알아보겠습니다.

1) 래치는 무엇인가?
래치는 단일 이진 비트(0 또는 1)를 저장할 수 있는 간단한 메모리 요소입니다. 래치의 상태는 입력에 의해 결정되며 새 입력이 적용될 때까지 변경되지 않습니다. 래치는 NAND 또는 NOR와 같은 간단한 논리 게이트를 사용하여 구현할 수 있습니다.

대표적으로 SR 래치가 있습니다. SET(S)과 RESET(R) 입력으로 출력을 결정합니다. S와 R 입력이 모두 0이면 래치는 이전 상태를 유지합니다. S를 1로, R을 0으로 설정하면 래치가 값 1을 저장하고, R을 1로, S를 0으로 설정하면 래치가 값 0을 저장합니다.

2) 플립플롭은 무엇인가?
플립플롭은 특정 클럭 엣지에서 상태를 변경할 수 있는 기능과 함께 단일 이진 비트를 저장할 수 있는 보다 정교한 메모리 요소입니다. 래치와 달리 플립플롭은 클럭 장치이므로 출력이 클럭 신호가 변할 때만 변합니다.

대표적으로 D플립플롭이 있습니다. 단일 데이터 입력(D)과 클럭 입력(CLK)을 입력으로 합니다. 클럭 신호의 각 상승 또는 하강 엣지에서 D 플립플롭은 입력 데이터 값을 저장하여 출력에 반영합니다.

3) 차이점
가장 큰 차이점은 비용과 클럭에 있습니다.

각각 구성하기 위한 자원의 차이가 있습니다. 래치에 경우 플립플롭 보다 훨씬 간단한 구조입니다. 이후에 자세히 다룰 래치나 플립플롭에 관한 포스팅에서 알 수 있겠지만 래치를 보다 적은 게이트로 구성 가능합니다.

필자는 비용에서 장점이 있는 래치보다는 플립플롭으로 회로를 구성하는 것을 선호합니다. 왜일까요? 구성이 복잡하여 보다 많은 게이트로 구성되지만 플립플롭은 오직 클럭이 상승할 때 또는 하강할 때만 동작한다는 특징이 있습니다.

두 요소를 처음 접하면 클럭에 상관없이 데이터를 저장하는 래치가 매력적일 수는 있으나 비동기 요소인 래치는 다루기가 어렵습니다. 입력을 주고 원하는 순간에 그 입력을 확인 가능해야 하는데 입력에 따라 출력이 수시로 변할 수 있기 때문입니다. 보다 복잡하더라도 동기 요소인 플립플롭은 출력을 예상하기가 쉽습니다.

4) 특성
첫번째 : 메모리 요소

디지털 논리 회로를 구성하다 보면 간단한 논리 회로는 클럭도 없이 순간의 입력에 출력이 결정되기도 합니다. 하지만 실제로 출력이 정해지는 순간까지 논리 게이트 등의 요소들에서 시간이 소요됩니다. 이렇게 되면 처음 생각했던 것과 다른 결과가 나오기도 합니다. 또한 복잡한 처리를 하려면 단계별로 처리를 이어가야 하는 것도 필수입니다. 이럴 때 저장 장치인 래치와 플립플롭이 빛을 발합니다.

두번째 : 동기화 타이밍

어떻게 하면 입력이 저장되는지 또는 출력이 언제 안정화되는지는 중요합니다. 논리 회로 구성 시에는 이러한 타이밍을 중요하게 봅니다.

한 단계에 완료되는 신호 처리와 여러 단계로 나눈 신호 처리 등을 예로 들어 보겠습니다.

한 단계로 끝나는 경우 해당 단계가 끝나는 시간이 5mSec라고 했을 때 5mSec가 총 처리 시간이자 성능입니다. 이를 줄이기 위해 보다 지연 시간이 적은 소자를 쓰면 됩니다.

단계별 처리의 경우는 조금 다릅니다. 논리 회로로 구성했을 때 처리 시간이 10mSec를 넘지 않는다고 가정해봅시다. 10단계를 처리하는 경우에는 100Hz의 빈도로 각 단계를 처리한다면 총 100mSec가 걸리게 됩니다. 여기서 회로는 100Hz의 클럭을 기준으로 동작하게 하고 각 단계 및 단계 간의 데이터 전달에 10mSec보다 적은 시간이 소요되도록 설계하면 안정적으로 설계가 가능합니다. 설계자는 단계별 지연 시간과 단계 간 연결 시간, 클럭의 빠르기를 설계에 반영하게 됩니다.

이때 단계를 나누기 위해서는 메모리 요소가 필수입니다. 또한 각기 다른 단계를 가진 회로들을 조합한다고 가정해보면 클럭에 동기된 메모리 요소는 선택이 아닌 필수라는 것을 느끼게 될 것입니다.

댓글