순차 논리 회로
순차 논리 회로는 플립플롭을 메모리 요소로 사용하고 출력이 입력 상태에 따라 달라집니다.
당시 입력에 적용되는 실제 신호에 따라 상태를 변경하는 조합 논리 회로 와 달리 순차 논리 회로에는 일종의 고유한 "메모리"가 내장되어 있습니다.
이는 순차 논리 회로가 실제 존재하는 입력 상태뿐만 아니라 이전 입력 상태도 고려할 수 있다는 것을 의미합니다. 일종의 "이전" 및 "이후" 효과가 순차 회로와 관련됩니다.
즉, "순차 논리 회로"의 출력 상태는 "현재 입력", "과거 입력" 및/또는 "과거 출력"의 세 가지 상태의 함수입니다. 순차 논리 회로는 이러한 조건을 기억하고 다음 클록 신호가 상태 중 하나를 변경할 때까지 현재 상태를 고정하여 순차 논리 회로에 "메모리"를 제공합니다.
순차 논리 회로는 일반적으로 두 가지 기본 상태(논리 레벨 "1" 또는 논리 레벨 "0") 중 하나로 출력을 설정할 수 있고 "래치" 상태로 유지되는 2개 상태 또는 쌍안정 장치라고 합니다. 래치)은 다른 입력 트리거 펄스 또는 신호가 적용되어 쌍안정 상태가 다시 한 번 변경될 때까지 이 현재 상태 또는 조건에서 무기한 유지됩니다.
순차 논리 표현
"순차"라는 단어는 일이 "순서"로 발생한다는 것을 의미하며 순차 논리 회로에서는 실제 클록 신호가 다음에 일이 발생할 시기를 결정합니다. 간단한 순차 논리 회로는 플립플롭 , 래치 및 카운터 와 같은 표준 쌍 안정 회로 로 구성할 수 있으며 필요한 순차 회로를 생성하기 위해 특정 조합 방식으로 범용 NAND 게이트 및/또는 NOR 게이트를 간단히 연결하여 만들 수 있습니다. .
순차논리의 분류
표준 논리 게이트가 조합 회로의 기본 구성 요소인 것처럼 쌍안정 래치 및 플립플롭은 순차 논리 회로의 기본 구성 블록입니다. 순차 논리 회로는 간단한 에지 트리거 플립플롭이나 저장 레지스터, 시프트 레지스터, 메모리 장치 또는 카운터와 같은 보다 복잡한 순차 회로를 생성하도록 구성될 수 있습니다. 어느 쪽이든 순차 논리 회로는 다음 세 가지 주요 범주로 나눌 수 있습니다.
- 1. 이벤트 구동 – 활성화되면 즉시 상태를 변경하는 비동기 회로입니다.
- 2. 클록 구동 – 특정 클록 신호에 동기화되는 동기 회로.
- 3. 펄스 구동 – 펄스 트리거에 반응하는 두 가지의 조합입니다.
위에서 언급한 논리 레벨 "1"과 논리 레벨 "0"의 두 가지 논리 상태 외에도 순차 논리 회로를 조합 논리 대응과 분리하는 세 번째 요소, 즉 TIME이 도입되었습니다 . 순차 논리 회로는 재설정되면 원래의 정상 상태로 돌아가고 루프 또는 피드백 경로가 있는 순차 회로는 본질적으로 "순환"이라고 합니다.
이제 우리는 순차 회로에서 동기식으로 만드는 클록 신호를 적용할 때만 변경이 발생하고, 그렇지 않으면 회로가 비동기식이며 외부 입력에 의존한다는 것을 알고 있습니다. 현재 상태를 유지하기 위해 순차 회로는 피드백에 의존하며 이는 출력의 일부가 입력으로 피드백될 때 발생하며 이는 다음과 같이 설명됩니다.
순차적 피드백 루프
두 개의 인버터 또는 NOT 게이트는 Q의 출력과 직렬로 연결되어 입력으로 피드백됩니다. 불행하게도 이 구성은 출력이 항상 "1" 또는 "0"으로 동일하고 영구적으로 설정되기 때문에 상태를 변경하지 않습니다. 그러나 SR 플립플롭 이라고 하는 가장 기본적인 순차 논리 구성 요소를 검토하면 피드백이 어떻게 작동하는지 확인할 수 있습니다 .
순차 논리 SR 플립플롭
SR 래치 라고도 알려진 SR 플립플롭은 가장 기본적인 순차 논리 회로 중 하나로 간주될 수 있습니다. 이 간단한 플립플롭은 기본적으로 두 개의 입력이 있는 1비트 메모리 쌍안정 장치입니다. 하나는 장치를 "SET"하고(출력 = "1"을 의미) S 로 표시되고 다른 하나는 장치를 "RESET"합니다. (출력 = "0"을 의미), R 라벨이 붙어 있습니다 .
그러면 SR 설명은 "Set-Reset"을 나타냅니다. 리셋 입력은 이 설정/리셋 조건에 따라 논리 레벨 "1" 또는 논리 "0"이 되는 출력 Q를 사용하여 플립플롭을 원래 상태로 다시 재설정합니다 .
기본 NAND 게이트 SR 플립플롭 회로는 두 출력 모두에서 반대편 입력으로 피드백을 제공하며 단일 데이터 비트를 저장하기 위해 메모리 회로에 일반적으로 사용됩니다. 그런 다음 SR 플립플롭에는 실제로 Set , Reset 의 세 가지 입력과 현재 상태 또는 기록과 관련된 현재 출력 Q가 있습니다.
" 플립플롭 " 이라는 용어는 장치의 실제 작동과 관련됩니다. 하나의 논리 설정 상태로 "플립"되거나 반대 논리 리셋 상태로 다시 "플립"될 수 있기 때문입니다.
순차 논리 – NAND Gate SR 플립플롭
기본 단일 비트 세트-리셋 SR 플립플롭을 만드는 가장 간단한 방법은 그림과 같이 교차 결합된 2입력 NAND 게이트 쌍을 함께 연결하여 활성 LOW SR NAND 게이트 라고도 알려진 세트-리셋 쌍안정을 형성하는 것입니다. 래치 - 각 출력에서 다른 NAND 게이트 입력 중 하나로 피드백이 이루어지도록 합니다 .
이 장치는 두 개의 입력으로 구성됩니다. 하나는 Set 이라고 하고 , 다른 하나는 Reset 이라고 하며 , R은 아래에 표시된 대로 두 개의 해당 출력 Q 와 역 또는 보수 Q (Q 아님)를 갖 습니다.
기본 SR 플립플롭
설정된 상태
위에 표시된 회로를 고려하십시오. 입력 R 이 논리 레벨 "0"(R = 0)이고 입력 S 가 논리 레벨 "1"(S = 1)에 있는 경우 NAND 게이트 Y 는 논리 "0"에 입력 중 적어도 하나를 갖습니다. 출력 Q 는 논리 레벨 "1"(NAND 게이트 원리)에 있어야 합니다. 출력 Q 도 입력 "A"로 피드백되므로 NAND 게이트 X 의 두 입력은 모두 논리 레벨 "1"에 있으므로 출력 Q 는 논리 레벨 "0"에 있어야 합니다.
다시 NAND 게이트 교장. 리셋 입력 R이 상태를 변경하고 논리 레벨 "1"에서도 S가 HIGH로 유지된 상태에서 논리 "1"로 HIGH가 되면 NAND 게이트 Y 입력은 이제 R = "1"이고 B = "0"입니다. 입력 중 하나가 여전히 로직 레벨 "0"에 있기 때문에 Q 의 출력은 여전히 로직 레벨 "1"에서 HIGH로 유지되고 상태 변화가 없습니다. 따라서 플립플롭 회로는 Q = "1"이고 Q = "0"인 경우 "래치" 또는 "설정"이라고 합니다.
상태 재설정
이 두 번째 안정 상태에서 Q 는 논리 레벨 "0"에 있고( Q = "0" 아님 ) Q 에서의 역 출력은 논리 레벨 "1"에 있으며( Q = "1") R = 로 제공됩니다. "1"이고 S = "0"입니다.
게이트 X는 논리 "0"에 입력 중 하나를 가지므로 출력 Q는 논리 레벨 "1"과 동일해야 합니다(NAND 게이트 원리). 출력 Q 는 입력 "B"로 피드백되므로 NAND 게이트 Y 에 대한 두 입력은 모두 논리 "1"이므로 Q = "0"입니다.
설정된 입력 S가 이제 상태를 논리 "1"로 변경하고 입력 R은 논리 "1"에 남아 있으면 출력 Q는 여전히 논리 레벨 "0"에서 LOW로 유지되며 상태 변화는 없습니다. 따라서 플립플롭 회로의 "리셋" 상태도 래치되었으며 다음 진리표에서 이 "설정/리셋" 동작을 정의할 수 있습니다.
이 설정-재설정 기능에 대한 진리표
상태 | 에스 | 아르 자형 | 큐 | 큐 | 설명 |
세트 | 1 | 0 | 0 | 1 | Q » 1로 설정 |
1 | 1 | 0 | 1 | 변경 없음 | |
초기화 | 0 | 1 | 1 | 0 | Q 재설정 » 0 |
1 | 1 | 1 | 0 | 변경 없음 | |
유효하지 않은 | 0 | 0 | 1 | 1 | 잘못된 조건 |
두 입력 S = "1" 및 R = "1"일 때 출력 Q 및 Q 는 이 전에 입력 S 또는 R 의 상태에 따라 논리 레벨 "1" 또는 "0"에 있을 수 있음을 알 수 있습니다. 입력 조건이 존재했습니다. 따라서 S = R = "1" 의 조건은 출력 Q 및 Q 의 상태를 변경하지 않습니다 .
그러나 S = "0" 및 R = "0" 의 입력 상태는 바람직하지 않거나 유효하지 않은 조건이므로 피해야 합니다. S = R = "0" 조건은 일반적으로 Q가 Q 의 역이 되기를 원할 때 출력 Q 와 Q가 모두 로직 레벨 "1"에서 HIGH가 되도록 합니다 .
결과적으로 플립플롭은 Q 와 Q 의 제어를 잃게 되며, 이 조건이 논리 "1"로 변경된 후 이제 두 입력이 다시 "HIGH"로 전환되면 플립플롭은 불안정해지고 알 수 없는 데이터 상태로 전환됩니다. 다음 스위칭 다이어그램에 표시된 것처럼 불균형 시.
SR 플립플롭 스위칭 다이어그램
이러한 불균형으로 인해 출력 중 하나가 다른 출력보다 빠르게 전환되어 플립플롭이 한 상태 또는 필요한 상태가 아닌 다른 상태로 전환되어 데이터 손상이 발생할 수 있습니다. 이 불안정한 상태는 일반적으로 메타안정 상태 로 알려져 있습니다 .
그런 다음 간단한 NAND 게이트 SR 플립플롭 또는 NAND 게이트 SR 래치를 Set 입력 에 논리 "0", (LOW) 조건을 적용한 다음 Reset 입력에 논리 "0"을 적용하여 다시 재설정할 수 있습니다. SR 플립플롭은 세트 입력과 리셋 입력이 동시에 활성화되는 경우 "유효하지 않은" 상태(준안정)에 있다고 합니다.
위에서 본 것처럼 기본 NAND 게이트 SR 플립플롭에는 상태를 Q 에서 Q 로 또는 그 반대로 전환하거나 변경하려면 논리 "0" 입력이 필요합니다. 그러나 이 기본 플립플롭 회로를 표시된 대로 S 및 R 입력 에 인버터로 연결된 두 개의 추가 NAND 게이트 를 추가하여 양의 입력 신호를 적용하여 상태를 변경하는 회로로 변경할 수 있습니다 .
포지티브 NAND 게이트 SR 플립플롭
NAND 게이트를 사용하는 것뿐만 아니라 동일한 구성으로 연결된 두 개의 교차 결합 NOR 게이트를 사용하여 간단한 1비트 SR 플립플롭을 구성하는 것도 가능합니다 . 이 회로는 입력이 활성 HIGH이고 두 입력이 모두 논리 레벨 "1"일 때 유효하지 않은 조건이 존재한다는 점을 제외하고 위의 NAND 게이트 회로 와 유사한 방식으로 작동하며 이는 아래에 표시됩니다.
NOR 게이트 SR 플립플롭
스위치 디바운스 회로로서의 순차 논리
에지 트리거 플립플롭에는 깔끔하고 깨끗한 신호 전환이 필요하며 이러한 유형의 세트-리셋 회로를 실제로 사용하는 방법 중 하나는 기계적 스위치 "바운스"를 제거하는 데 사용되는 래치입니다. 이름에서 알 수 있듯이 스위치 바운스는 기계적으로 작동되는 스위치, 푸시 버튼 또는 키패드의 접점이 작동되고 내부 스위치 접점이 완전히 완전히 닫히지 않고 스위치를 눌렀을 때 닫히거나 열리기 전에 먼저 함께 바운스될 때 발생합니다. .
이로 인해 디지털 카운터와 같은 전자 시스템이나 회로가 하나의 긴 단일 펄스 대신 일련의 논리 펄스로 간주되어 잘못 동작할 수 있는 수십 밀리초만큼 길 수 있는 일련의 개별 펄스가 발생합니다.
예를 들어, 이 바운스 기간 동안 출력 전압은 크게 변동할 수 있으며 단일 카운트 대신 여러 입력 카운트를 등록할 수 있습니다. 그런 다음 세트-리셋 SR 플립플롭 또는 쌍안정 래치 회로를 사용하여 이러한 종류의 문제를 제거할 수 있으며 이에 대한 설명은 아래에 나와 있습니다.
SR 플립플롭 스위치 디바운스 회로
출력의 현재 상태에 따라 설정 또는 재설정 버튼을 누르면 위에 설명된 방식으로 출력이 변경되고 스위치의 기계적 동작으로 인한 원치 않는 추가 입력(바운스)은 출력에 영향을 미치지 않습니다. 질문 .
다른 버튼을 누르면 첫 번째 접촉으로 인해 래치가 상태가 변경되지만 추가적인 기계적 스위치 바운스도 효과가 없습니다. 그런 다음 SR 플립플롭은 짧은 시간(예: 0.5초) 후에 자동으로 RESET될 수 있으므로 키보드 "RETURN" 키의 다중 입력과 같은 동일한 스위치 접점의 추가 및 의도적 반복 입력을 등록할 수 있습니다.
스위치 바운스 문제를 극복하기 위해 특별히 제작된 일반적으로 사용 가능한 IC는 MAX6816, 단일 입력, MAX6817, 듀얼 입력 및 MAX6818 8진 입력 스위치 디바운서 IC입니다. 이 칩에는 기계식 스위치와 디지털 시스템의 깔끔한 인터페이스를 제공하는 데 필요한 플립플롭 회로가 포함되어 있습니다.
Set-Reset 쌍안정 래치는 단안정(원샷) 펄스 발생기로 사용하여 타이밍이나 제어 목적으로 지정된 폭이나 기간의 높거나 낮은 단일 출력 펄스를 생성할 수도 있습니다. 74LS279는 단일 칩 내에 4개의 개별 NAND 유형 쌍안정을 포함하는 쿼드 SR 쌍안정 래치 IC로, 스위치 디바운스 또는 단안정/불안정 클록 회로를 쉽게 구성할 수 있습니다.
쿼드 SR 쌍안정 래치 74LS279
순차 논리 – 게이트형 또는 클록형 SR 플립플롭
Set 또는 Reset 입력 의 조건에 관계없이 특정 조건이 충족될 때만 상태를 변경하는 쌍안정 SR 플립플롭을 갖는 것이 순차 논리 회로에 바람직할 때도 있습니다 .
2입력 AND 게이트를 SR 플립플롭의 각 입력 단자와 직렬로 연결하면 게이트형 SR 플립플롭을 만들 수 있습니다. 이 추가 조건부 입력을 "활성화" 입력이라고 하며 접두사 " EN "이 지정됩니다. 이 입력이 추가된다는 것은 Q 의 출력 이 HIGH일 때만 상태를 변경하므로 아래 표시된 것처럼 레벨에 민감하게 만드는 클록(CLK) 입력으로 사용될 수 있음을 의미합니다.
게이트 SR 플립플롭
활성화 입력 "EN"이 논리 레벨 "0"에 있으면 두 AND 게이트 의 출력 도 논리 레벨 "0"에 있습니다(AND 게이트 원리). 두 입력 S 및 R 의 조건에 관계없이 래치 두 개의 출력 Q 와 Q가 마지막으로 알려진 상태로 돌아갑니다.
활성화 입력 "EN"이 논리 레벨 "1"로 변경되면 회로는 두 개의 AND 게이트가 설정 및 재설정 신호에 투명해지는 일반 SR 쌍안정 플립플롭 으로 응답합니다.
이 추가 활성화 입력은 클록 타이밍 신호(CLK)에 연결되어 플립플롭에 클록 동기화를 추가하여 " 클럭된 SR 플립플롭 "이라고도 하는 것을 생성할 수도 있습니다.
따라서 게이트 쌍안정 SR 플립플롭은 표준 쌍안정 래치로 작동하지만 논리 "1"이 EN 입력에 적용되고 논리 "0"에 의해 비활성화되는 경우에만 출력이 활성화됩니다.
순차 논리 회로 에 대한 다음 튜토리얼에서는 발명가인 Jack Kilby의 이름을 딴 JK 플립 플롭 이라는 RS 플립플롭 과 매우 유사한 또 다른 유형의 간단한 에지 트리거 플립플롭을 살펴보겠습니다 . JK 플립플롭은 모든 플립플롭 중 가장 널리 사용되는 플립플롭입니다. 이는 보편적인 장치로 간주됩니다.