카테고리 없음

디지털 공학/회로설계 - D Flip Flop/SR Latch

낑낑이 2026. 4. 29. 00:20

오늘 포스팅할 내용은 D Flip Flop입니다! 

해당 Flip Flop은 전자과에서 항상 자주등장하고 기초적인 내용인데 

제 기억상 논리회로설계/디지털회로설계/디지털집적회로설계에서 모두 등장하는 내용입니다!

따라서 디지털 레벨과 트렌지스터 레벨로 나누어서 설명하도록 하겠습니다 

오늘 설명은 디지털 레벨에서 설명하도록하겠습니다!

 

D Flip Flop이란 ? 

 

정말 학교다니면서 수도없이 봐온 Symbol에 해당하는데 

D Flip Flop은 1비트의 데이터를 저장하는 가장 기본적인 순차 회로(Sequential Circuit/현재 입력 뿐만 아니라 과거의 상태에도 출력이 의존하는 회로, 조합회로(Combinational Circuit)와 반대) 소자입니다 

이렇게 D Flip Flop을 여러개 붙여서 3-stage Shift Register 도 설계하곤 합니다 

전공책에서도 많이 본 그림이죠 ㅎㅎ 

Dflip Flop으로 인해 Clk마다 이렇게 Data가 Shift 됩니다

 

이렇게 Dflip flop의 동작에 대해서 간단하게 보았는데, 더 기초적인 Dflip Flop은 어떻게 동작할까 에 대해서 아래 설명드리겠습니다

 

D Flip Flop 동작원리

D Flip Flop은 2개의 D Latch를 연결해서 Master - Slaver 구조로 연결해서 만들게 됩니다

여기서 D Latch가 뭐지..? 할수 있기 때문에 D Filp Flop 이전에 D Latch에 대해서 먼저 설명드리겠습니다

 

D Latch를 알기 위해서 SR Latch부터 알아야될거같은데 점점 내용이 왔다갔다하네요 .. ㅎㅎ 

이해를 돕기 위함이니 순차적으로 정리해보겠습니다 

 

SR Latch란? NAND vs Nor

가장 기본적인 Nand 게이트를 교차하여 구성한것입니다  이런 부분과 NOR 게이트로 구성된게 있을텐데요 

두 Input값이 다르게 됩니다 

왜 이렇게 같은 동작을 하게 되는지 짚고 넘어가겠습니다 

NAND 기반 SR Latch 진리표

이렇게 진리표가 많이 구성되어있을텐데 이렇게 생긴것과 NoR로 구성된것 두개가 있어서 많이 혼동이 될 수 있습니다 

이런 NAND 기반 SR Latch에서 NOR기반으로 바꾸는방법은 

이 인버터를 이용하는겁니다 ! 

차례대로 설명드리면, 이 인버터를 아래로 내리게되면,  AND가 OR로 변경되게 됩니다

이는 드모르간법칙에 의해서 정리되기 때문에 이를 이해하고 설명드리겠습니다 

총 이렇게 여섯단계로 나누었는데요 , 인버터가 아래로 내려가면서 입력값들을 반전시키고, S 쪽의 다른 입력이 R 게이트의 출력과 연결되어있기때문에 그곳으로 인버팅이 가는 구조입니다 ! 

따라서 진리표를 보게 되면 NAND기반은  ~S, ~R 로 되어있고, NOR기반은 S R로 되어있는 것을 볼 수 있습니다

 

또한 출력구조도 반대로 되는것을 볼 수 있습니다

 

S가 Set의 약자, R가 Reset의 약자로 생각해서 저는 NOR로 보는게 진리표 보기가 편하더라구요..

NOR 기반 SR Latch 진리표

Set의 Case

 

이렇게 S쪽에 1이 Setting되고 R이 0이될때 

NOR Gate의 특성상 1이 하나라도 있으면 OR Gate는 1이 출력이 되지만 인버팅 되어서 0이 출력되게 됩니다 

 

따라서 ~Q는 0이 되게 됩니다. 그 ~Q값이 아래있는 R인 0과 같이 입력으로 들어가게 되니, NOR 특성으로 Q는 1로 Set됩니다!

Reset의 Case

이와 동일하게 아래 R이 1로 되어있으므로, 어떠한 값이 들어와도 해당 값은 출력이 0이 되게 됩니다

따라서 Q값은 0으로 Setting이 됩니다

그에 반면 Q값이 위에있는 0입력값과 함께 들어가게되므로 ~Q는 NOR의 특성상 1이되게됩니다

Hold의 Case

이와같은 경우 위부터 살펴보겠습니다

위 게이트의 입력은 Q와 0에 해당됩니다 

이때 Q가 0일 경우는 출력이 1이게 됩니다. 

또한 Q가 1일 경우는 출력이 0이게 됩니다

위에 Gate의 출력은 ~Q에 해당하는데 출력값이 Q 와 반대로 동작하고있는것을 볼 수 있습니다.

 

아래의 경우도 살펴보겠습니다

아래 게이트의 입력은 0과 ~Q에 해당합니다

~Q가 0일경우 출력은 1이게 됩니다

~Q가 1일경우 출력은 0이게 됩니다 

아래 Gate의 출력은 Q이게 되는데 출력값이 ~Q와 반대로 동작하고 있는것을 볼 수 있습니다

 

두 NOR Gate가 마치 인버터처럼 동작하며 Q와 ~Q가 서로의 입력으로 들어가 Feed Back을 이루며 이전상태가 무엇이든 그대로 유지되는것을 볼 수 있습니다

 

금지의 Case

위 Gate의 입력은 1과 Q입니다, 해당 값은 Q가 어떤 값이오더라도 출력은 0에 해당합니다, 

그렇게되면 아래 Gate의 입력은 1과 0으로 이루어져있어, 출력이 0에 해당합니다 

Q와 ~Q는 서로 보수적인 관계인데 둘다 동일한 출력값인 0이 출력되는것을 볼 수 있습니다

따라서 이는 금지된 Case라고 볼 수있습니다 

 

오늘 기존에 D Flip Flop을 설명드리려했으나.... 알아야될 내용이 있다보니 쭉 하나의 포스팅에 설명하면 너무 길어질거같아서 해당 글은 SR Latch 까지 설명하고

다음 포스팅에서 D Latch와 D Filp Flop에 대해서 설명하겠습니다 감사합니다 ㅎ.ㅎ