Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

플립플롭 유형과 C++에서의 변환

<시간/>

플립플롭은 순차 디지털 회로입니다. 플립플롭에는 몇 가지 유형이 있습니다. 여기에서 플립플롭의 유형과 플립플롭 간에 변환 규칙이 표시됩니다.

플립플롭에는 기본적으로 4가지 유형이 있습니다 -

  • SR 플립플롭
  • D 플립플롭
  • JK 플립플롭
  • T 플립플롭

SR 플립플롭

SR 플립플롭은 양의 클록 전환 또는 음의 클록 전환으로만 작동합니다. 반면 SR 래치는 활성화 신호로 작동합니다. SR 플립플롭의 회로도는 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로에는 2개의 입력 S &R과 2개의 출력 Q(t) &Q(t)'가 있습니다. SR 플립플롭의 동작은 SR Latch와 유사합니다. 그러나 이 플립플롭은 활성 활성화 대신 클록 신호의 양의 전환이 적용될 때만 출력에 영향을 미칩니다.

플립플롭 유형과 C++에서의 변환

D 플립플롭

D 플립플롭은 양의 클록 전환 또는 음의 클록 전환으로만 작동합니다. 반면 D 래치는 인에이블 신호로 동작합니다. 즉, D 플립플롭의 출력은 클록 신호의 활성 전환을 제외하고 입력 D의 변화에 ​​둔감합니다. D 플립플롭의 회로도는 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로에는 단일 입력 D와 두 개의 출력 Q(t) &Q(t)'가 있습니다. D 플립플롭의 동작은 D Latch와 유사합니다. 그러나 이 플립플롭은 활성 활성화 대신 클록 신호의 양의 전환이 적용될 때만 출력에 영향을 미칩니다.

플립플롭 유형과 C++에서의 변환

JK 플립플롭

JK 플립플롭은 SR 플립플롭의 수정된 버전입니다. 양의 클록 전환 또는 음의 클록 전환으로만 작동합니다. JK 플립플롭의 회로도는 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로에는 2개의 입력 J &K와 2개의 출력 Q(t) &Q(t)'가 있습니다. JK 플립플롭의 동작은 SR 플립플롭과 유사하다. 여기서는 4개의 입력 조합에 대해 수정된 SR 플립플롭을 활용하기 위해 SR 플립플롭의 입력을 S =J Q(t)' 및 R =KQ(t)로 간주했습니다.

플립플롭 유형과 C++에서의 변환

T 플립플롭

T 플립플롭은 JK 플립플롭의 단순화된 버전입니다. 동일한 입력 'T'를 JK 플립플롭의 두 입력에 연결하여 얻습니다. 양의 클록 전환 또는 음의 클록 전환으로만 작동합니다. 회로도 T 플립플롭은 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로는 단일 입력 T와 두 개의 출력 Q(t) &Q(t)'를 가지고 있습니다. T 플립플롭의 동작은 JK 플립플롭의 동작과 동일하다. 여기에서는 2개의 입력 조합에 대해 수정된 JK 플립플롭을 활용하기 위해 JK 플립플롭의 입력을 J =T 및 K =T로 간주했습니다. 그래서 우리는 T 플립플롭에서 두 값이 서로 보완되는 J &K의 다른 두 조합을 제거했습니다.

플립플롭 유형과 C++에서의 변환

플립플롭 전환

이제 하나의 플립플롭에서 다른 플립플롭으로 변환하는 방법을 살펴보겠습니다. 처음에는 모든 플립플롭에 대한 여기 테이블이 표시됩니다.

플립플롭 유형과 C++에서의 변환

SR 플립플롭에서 D 플립플롭으로

여기서 주어진 플립플롭은 SR 플립플롭이고 원하는 플립플롭은 D 플립플롭입니다. 따라서 다음 특성 표를 고려하십시오. D 플립플롭.

플립플롭 유형과 C++에서의 변환

SR 플립플롭에는 두 개의 입력 S &R이 있다는 것을 알고 있습니다. 따라서 현재 상태와 다음 상태 값의 각 조합에 대해 SR 플립플롭의 여기 값을 적어 두십시오. 다음 표는 여기 입력과 함께 D 플립플롭의 특성 표를 보여줍니다. SR 플립플롭.

플립플롭 유형과 C++에서의 변환

이러한 입력에 대한 단순화된 표현식을 얻기 위해 2개의 변수 K-Map을 사용할 수 있습니다. S &R에 대한 k-Maps는 아래와 같습니다.

플립플롭 유형과 C++에서의 변환

따라서 단순화 후 S =D &R =D'를 얻었습니다. 회로도 다음 그림은 D 플립플롭의 모습입니다.

플립플롭 유형과 C++에서의 변환

이 회로는 SR 플립플롭과 인버터로 구성됩니다. 이 인버터는 입력 D의 보수인 출력을 생성합니다. 따라서 전체 회로에는 단일 입력 D와 두 개의 출력 Q(t) &Q(t)'가 있습니다. 따라서 D 플립플롭입니다. . 마찬가지로 다른 두 가지 전환을 수행할 수 있습니다.

D 플립플롭에서 T 플립플롭으로

여기서 주어진 플립플롭은 D 플립플롭이고 원하는 플립플롭은 T 플립플롭입니다. 따라서 다음 특성 표를 고려하십시오. T 플립플롭.

플립플롭 유형과 C++에서의 변환

우리는 D 플립플롭이 단일 입력 D를 갖는다는 것을 알고 있습니다. 따라서 현재 상태와 다음 상태 값의 각 조합에 대해 D 플립플롭의 여기 값을 적어 두십시오. 다음 표는 여기 입력과 함께 T 플립플롭의 특성 표를 보여줍니다. D 플립플롭.

플립플롭 유형과 C++에서의 변환

위의 표에서 부울 함수를 직접 작성할 수 있습니다. D의 아래와 같다. 따라서 D 플립플롭과 함께 2개의 입력 Exclusive-OR 게이트가 필요합니다. 회로도 T 플립플롭은 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로는 D 플립플롭과 배타적 논리합 게이트로 구성됩니다. 이 Exclusive-OR 게이트는 T와 Q(t)의 Ex-OR인 출력을 생성합니다. 따라서 전체 회로에는 단일 입력 T와 두 개의 출력 Q(t) &Q(t)'가 있습니다. 따라서 T 플립플롭 . 마찬가지로 다른 두 가지 전환을 수행할 수 있습니다.

JK 플립플롭에서 T 플립플롭으로

여기서 주어진 플립플롭은 JK 플립플롭이고 원하는 플립플롭은 T 플립플롭입니다. 따라서 다음 특성 표를 고려하십시오. T 플립플롭.

플립플롭 유형과 C++에서의 변환

JK 플립플롭에는 두 개의 입력 J &K가 있다는 것을 알고 있습니다. 따라서 현재 상태와 다음 상태 값의 각 조합에 대해 JK 플립플롭의 여기 값을 적어 두십시오. 다음 표는 여기 입력과 함께 T 플립플롭의 특성 표를 보여줍니다. JK 플립플롭.

플립플롭 유형과 C++에서의 변환

이 두 입력에 대한 단순화된 표현식을 얻기 위해 2개의 변수 K-Map을 사용할 수 있습니다. k-지도 J &K의 경우는 아래와 같습니다.

플립플롭 유형과 C++에서의 변환

따라서 단순화 후 J =T &K =T를 얻었습니다. 회로도 T 플립플롭은 다음 그림과 같습니다.

플립플롭 유형과 C++에서의 변환

이 회로는 JK 플립플롭만으로 구성됩니다. 다른 게이트가 필요하지 않습니다. 동일한 입력 T를 J &K에 모두 연결하기만 하면 됩니다. 따라서 전체 회로에는 단일 입력 T와 두 개의 출력 Q(t) &Q(t)'가 있습니다. 따라서 T 플립플롭 . 마찬가지로 다른 두 가지 전환을 수행할 수 있습니다.

T 플립플롭에서 D 플립플롭으로

여기서 주어진 플립플롭은 T 플립플롭이고 원하는 플립플롭은 D 플립플롭입니다. 따라서 D 플립플롭의 특성표를 고려하여 현재 상태 값과 다음 상태 값의 각 조합에 대한 T 플립플롭의 여기 값을 기록합니다. 다음 표는 특성 표를 보여줍니다. 여기 입력과 함께 D 플립플롭 T 플립플롭.

플립플롭 유형과 C++에서의 변환

따라서 T 플립플롭과 함께 2개의 입력 Exclusive-OR 게이트가 필요합니다. 회로도 다음 그림은 D 플립플롭의 모습입니다.

플립플롭 유형과 C++에서의 변환

이 회로는 T 플립플롭과 배타적 논리합 게이트로 구성됩니다. 이 배타적 논리합 게이트는 D와 Q(t)의 Ex-OR인 출력을 생성합니다. 따라서 전체 회로에는 단일 입력 D와 두 개의 출력 Q(t) &Q(t)'가 있습니다. 따라서 D 플립플롭입니다. . 마찬가지로 다른 두 가지 전환을 수행할 수 있습니다.