트랜지스터로배우는디지털회로Ⅰ-4. 플립플롭을 이해하자
트랜지스터로배우는디지털회로Ⅰ
HDL(Hardware Description Language)을 사용하는 논리회로설계가 당연해진 지금도 실제로 동작하고 있는 하드웨어, 즉 전자회로의 동작이나 실력을 숙지해두는 것은 매우 중요한 일이다. 그 지식들은 인터페이스를 설계하거나 트러블이 발생했을 때 반드시 필요한 것이기 때문이다. 이와 관련, 본지 특집에서는 NAND 게이트를 직접 제작하여 스타트시키고 플립플롭의 실제 동작을 확인한다. 또한 순서회로설계에 있어서 중요한 동기식 방식도 해설하고 각종 로직 IC의 실력 및 특징도 알아본다.
1장 디지털 회로의 기초
2장 트랜지스터로 제작하는NAND 게이트회로와 그 동작
3장 조합논리회로의 제작 방법과 논리압축의 기초
4장 플립플롭을 이해하자
本記事는 日本CQ出版社가 發行하는「トランジスタ技術」誌(2004年9月號)와의 著作權協定에 依據하여 提供받은 資料입니다.
출력H/L을유지하는동기식디지털회로의기본소자
4. 플립플롭을 이해하자
3장에서는 조합 논리회로에 대해 설명했다. 이 조합 논리 회로만으로는 실제 디지털 회로 전체를 구성할 수 없다. 디지 털 회로에는 5장에서 설명하는 순서회로가 반드시 필요한데, 그 순서회로에 필요한 것이 바로 플립플롭(flip-flop)이다. 여기서는 NAND 게이트에서 어떻게 플립플롭이 구성되는 지에 대해 설명한다. 그리고 2장에서 제작한 TTL NAND를 사용하여 실제로 플립플롭을 제작해본다.
교차의 마술…SR 래치
1. NAND에 의한 메모리 회로
플립플롭의 본질은 메모리(memory)이다. 때문에 NAND 로 플립플롭을 구성하려면 먼저 메모리를 구성해야 한다. 그 러나 도대체 어떻게 해야 NAND로 메모리를 구성할 수 있 을까.
그림 1을 살펴보자.

2개의 NAND를 사용하여 정귀환을 걸고 있다. 이 구성에서는 그림 1(a)와 그림 1(b)의 2가지 상태 에서 안정된다. 이것은 메모리에서밖에 이루어지지 않는다. 그러나 이대로는 상태를 바꿀 수 없다. 상태를 바꾸는 것은 그림 2에 나타난 바와 같이 나머지 단자의 상태를 바꾸기 위한 제어에 사용한다.

예를 들어 그림 2(a)에서 제어단자를 L 레벨로 하면 그림 1(a)의 상태가 된다. 그 후, 이 단자를 H 레벨로 해도 이 상 태를 유지(기억)한다.
2. 제어단자를 덧붙인다
그림 2에서 출력을 H 레벨로 하는 단자를 SET, L 레벨로 하는 단자를 RESET이라고 하면 그림 3과 같은 회로가 얻어진다.

.이 붙은 입력은 .이 붙은 출력으로, .이 붙지 않은 입력은 .이 붙지 않는 출력으로 구동한다. 즉, 논리를 일치시킬 필요가 있다는 것을 전술했다. 이에 따르면 그림 3(a)의 회로와 같이 된다. 그림 3(b)와 같이 그릴 수도 있다. 이 회로를 그리는 방법에서 SET=“L” 로 하면 출력이 H 레벨로 되고, 그것이 귀환되어 자신의 다른 한 쪽 입력을 L 레벨로 하여 유지상태로 들어간다는 것을 바 로 판독할 수 있다.
그러나 RESET이 어떻게 동작하는가를 바로 판독하는 것 은 곤란하다. SET이 메인이고 RESET은 말하자면 첨가된 것과 같은 기능일 경우 이 회로처럼 그리는 것이 좋다. 일반적으로 SET과 RESET은 같은 위치부여이다. 때문에 통상적으로 그림 4(a)와 같이 그린다.

이와 같이 그리면 S(Set), R(Reset)은 L 액티브이고 그 때 대응하는 출력이 H 레벨로 된다는 것을 바로 판독할 수 있다. 단, 귀환회로의 논 리를 잘 알 수 없게 되지만 이것은 어쩔 수 없다.
3. SR 래치
그림 4(a)의 회로는 SR 래치(Set-Reset Latch)라고 한다. SR 플립플롭이라고 하는 경우도 있지만 여기서는 SR 래치로 하여 플립플롭과 구별한다. 이하의 SR 래치에 제어단자를 덧 붙인 것을 플립플롭이라 한다.
SR 래치의 특성표를 그림 4(b)에 나타낸다. 여기서 주의해 야할 점은 S=“L”, 그리고 R=“L”일 때의 동작이다. 통상적 으로 이 입력상태는 금지된다.
그리고 표를 보면, 여기에는 메모리 기능이 포함되어 있다. 이렇게 메모리 기능이 포함되어 있을 경우에는 진리값표라고 하지 않는다. 여기에서는 특성표라고 한다.
4. SR 래치의 응용
디지털 회로에서는 SR 래치 그대로도 자주 사용된다. 그림5에 매우 폭넓은 사용 예를 나타낸다.

스위치에는 채터링(chattering)이라는 현상이 있다. ON할 때나 OFF할 때 매 우 짧은 기간이지만 ON과 OFF를 반복하는 현상이다. 바운 싱(bouncing)이라 불리는 경우도 있다. 이러한 현상을 제거 하는데 있어서 이 회로가 많이 사용된다.
그림 5(b)에 채터링 현상이 제거되는 모습을 나타낸다. 예 를 들어 S 입력이 L 레벨로 되면 출력이 H 레벨로 되고 그 후, 채터링 현상에서 S 입력이 H 레벨과 L레벨을 반복해도 출력은 H 레벨을 유지한다.
또한 이 회로에서는 결코 동시에 S와 R이 L 레벨로 되지 않는다는 점에 주목하기 바란다.
클록이 필요한 이유
1. 순서회로란
순서회로에 관해서는 5장(본지 2005년 4월호 게재 예정) 에서 다루고, 여기서는 플립플롭의 이해에 필요한 최소한의 것에 관하여 기술한다.
DRAM(Dynamic RAM)의 리드 사이클에서는 먼저 로우 어드레스를 래치하고 다음에 칼럼 어드레스를 래치하여 최후 에 데이터를 판독한다.
이것을 실현하는 제어회로는 어떻게 구성해야할까. 3자에서 설명한 조합 논리회로에서는 아무리 생각해도 불가능하 다. 이 제어회로는 지금 무엇을 종료했는가, 즉 현재 상태에 따라 다음 동작을 결정할 필요가 있다. 그러므로 현재 상태를 기억하고 있어야 한다.
이와 같이 현재 상태를 기억하고 그 상태에 따라 다음 출력 이나 상태를 결정해 가는 회로를 순서회로라 한다. 여기서는 DRAM의 제어를 예로 들었지만 디지털 회로로 뭔가 제어할 때에는 대부분 이 순서회로가 필요하다. 예를 들 어 마이컴은 이 순서회로가 모인 것이다.
2. 1비트 순서회로
여기서 H 레벨이나 L 레벨의 1비트를 기억하고 있는 회로 가 있다고 하자. 현재의 기억이 H 레벨이라면 다음 기억을 L 레벨로 하고, 현재의 기억이 L 레벨이라면 다음 기억을 H 레 벨로 하는 회로를 상정한다. 이 회로는 H와 L을 교대로 반복 하고 있는 데 불과하지만 틀림없는 순서회로이다.
이 회로를 1비트 순서회로라 부르기로 한다. 이하, 이 1비 트 순서회로를 어떻게 하면 실현할 수 있을 것인가에 대해 생 각해본다.
이 1비트 순서회로가 가능하다면 복수 비트로 확장함으로 써 모든 순서회로를 구성할 수 있게 된다. 사실 이 1비트 순 서회로를 구성하는 핵심 회로가 플립플롭(flip-flop)이다.
3. SR 래치로 1비트 순서회로를 구성할 수 있을까
SR 래치로 1비트 순서회로를 구성하려면 그림 6(a)와 같이 S, R에 입력하면 될 것 같다.

이것을 실현하는 회로는 그림 6(b)와 같다.
이 회로는 원하는 동작을 실행할 수 있을까. 여기서, Q=“H”, Q=“L”이라고 하자. 그러면,
로 동작할 것 같다. 그러나 이것은 순간적으로 일어나 버린다. 실제로는, 일순간“H”→“L”→“H”→ …로 동작할 수는 없으므로 H 레벨과 L 레벨 중간의 이상전압으로 되어 안정돼 버린다. 회로구성 상으로는 단지 부귀환이 걸린 상태이다. 입 력과 출력간의 지연이 크면 발진될 가능성도 있다. 어느 쪽이 든 이상한 상태로 되어 원하는 동작은 결코 실행할 수 없다.
4. SR 래치에 컨트롤 신호를 덧붙인다
1비트 순서회로를 구성하기 위해서는 SR 래치에 어떠한 컨 트롤 신호를 덧붙이고 그 신호로 타이밍을 잡아야 할 것이다. 그림 7(a)는 이 컨트롤 신호를 G(Gate)로 덧붙인 회로이다.

이렇게 하면 G 입력이 H 레벨로 되었을 때에만 SR 래치의 S, R 입력을 유효하게 할 수 있다. 타이밍을 그림 7(b)에 나타낸다.
이 회로를 사용한 1비트 순서회로는 그림 8(a)와 같이 된다.

이렇게 하면 G 입력이 H 레벨일 때에만 S, R 입력이 유 효해지므로 그림 6(b)와 같은 이상상태가 발생하지 않게 될 것이다. 그리고 그림 8(b)에 나타난 타이밍도로 될 것 같다. 그러나 유감스럽게도 이렇게 되지는 않는다. G 입력이 H 레 벨인 동안 그림 6(b)와 같이 이상상태가 발생해 버리기 때문 이다.
그림 8(a)의 회로에서는 1비트 순서회로를 실현할 수 없었 다. 그러나 어떠한 컨트롤 신호를 첨가하여 타이밍을 잡아야 한다는 점은 틀림없다. SR 래치인 상태에서는 아무 것도 할 수 없기 때문이다. 이 컨트롤 신호야말로 클록(clock)이다.
5. 마스터-슬레이브 방식
그림 7(a)의 회로를 2단 사용하기로 한다. 그림 9에 회로를 나타낸다.

그림 9에서 사각의 블록으로 나타난 부분이 그림 7(a)의 회로이다. 단, 그림 7(a)의 S′, R′는 그림 9에서 S, R로 되어 있다. 이 S, R은 SR 래치의 S, R과 논리가 반대 이므로 주의하기 바란다.
그림 9(a)에서는 CK=“L”일 때를 나타낸다. 이 때에는 슬 레이브의 S, R 입력이 유효하지 않기 때문에 마스터와 슬레 이브가 떨어져 있다.
한편, 그림 9(b)에서는 CK=“H”일 때를 나타낸다. 이 때 는 마스터의 입력이 떨어져 있다.
이 회로에서의 1비트 순서회로는 그림 10(a)와 같다.

CK=“L”일 때 슬레이브의 Q 출력이 L 레벨이라면 마스터의 S=“H”, R=“L”로 되고, 마스터의 Q 출력은 H 레벨로 되어 있다. 마스터와 슬레이브 사이는 떨어져 있으므로 이 상태에 서 안정적이다.
여기서 CK=“H”로 됐다고 하자. 그러면 슬레이브의 Q= “H”가 슬레이브의 S로, 마스터의 Q=“L”이 슬레이브의 R에 입력되므로 슬레이브의 Q는 H 레벨로 된다. 이와 동시에 마 스터의 입력은 떨어지므로 그림 8에서 발생한 것과 같은 이상 상태가 발생하지 않고 이 상태에서 안정된다.
이렇게 해서 그림 10(b)에 나타난 타이밍으로 된다. 설명 이 약간 복잡해졌지만, 핵심은 CK가“H”→“L”하강 시 슬 레이브의 값이 마스터로, CK가“L”→“H”상승 시 마스터의 값이 슬레이브로 이동한다는 점이다.
이상과 같은 동작을 확실하게 하기 위해서는 미묘한 타이 밍이 필요하다. CK가“H”→“L”하강 시에는 마스터의 입력 을 유효하게 하고 그것이 마스터의 출력에 반영되기 전에 마 스터와 슬레이브가 떨어져 있어야 한다. CK가“L”→“H”상 승 시에는 마스터와 슬레이브를 연결하고 슬레이브의 입력이 출력에 반영되기 전에 마스터와 입력이 떨어져 있 어야 한다. 이 미묘한 타이밍은 소자의 지연이나 임 계값 조정으로 실행된다.
마스터-슬레이브 방식에 의해 마침내 1비트 순서회로가 실 현되었다. 이 회로의 컨트롤 신호 CK가 클록이다. 순서회로 란, 현 상태에 따라 다음 상태로 이행하는 것이라 기술했지만 그 이행은 클록에 따라 제어되고 있다는 점을 잘 알아두기 바 란다.
D 플립플롭 등장
1. 마스터-슬레이브 방식의 D 플립플롭
그림 9의 회로를 사용하여 마스터-슬레이브 방식의 1비트 순서회로를 구성할 수 있었다. 이 그림 9의 회로가 플립플롭 이다. 1비트 순서회로는 플립플롭 자신의 출력을 자신의 입력 으로 하고 있었다.
이 플립플롭은 마스터-슬레이브 방식의 SR 플립플롭이다. 이 플립플롭은 클록이“L”→“H”로 되었을 때에만 입력 S, R의 값이 출력에 반영된다. 이 동작의 중요성은 1비트 순서 회로를 상정했을 때 통감할 수 있었다.
그렇지만 이 SR 플립플롭에는 2가지 약점이 있다. 하나는 S=R=“H”의 입력상태가 금지되어 있다는 것이고, 또 하나 의 약점은 CK=“H”인 동안 입력을 변화시킬 수 없다는 것이 다. 예를 들어 CK=“H”인 동안에 S= “H”, R=“L”로 하고 다시 S=“L”, R= “L”로 해도 원래대로 복귀할 수 없다.
따라서 입력을 하나로 하고,
S=“H”, R=“L”
S=“L”, R=“H”
의 2가지밖에 입력할 수 없도록 한다. 그 회로를 그림 11에 나타낸다.

이 플립플롭은 입력 D=“H”라면 클록“L”→“H”에서 출력 Q=“H”이고, 입력 D=“L”이라면 클록“L”→ “H”에서 출력 Q=“L”이 된다. 정확하게 입력이 1클록분 지 연되도록 동작하므로 D 플립플롭이라 부른다. D는 delay(지 연)를 의미한다. 이상의 특성을 표 1에 나타낸다.

Qn+1은 다음의 출력, Qn은 현재의 출력이다.
D 플립플롭은 입력이 하나밖에 없어 단순한 구조이다. 특 성도 단순하다. 그러나 이 D 플립플롭이 있다면 다른 어떠한 플립플롭도 실현할 수 없다(이에 대해서는 후술한다). 따라서 플립플롭으로서 가장 기본적인 것이다. FPGA나 CPLD 등의 프로그래머블 논리소자의 기본 플립플롭도 D 플립플롭이다.
2. 세트업 타임과 홀드 타임
D 플립플롭은 클록 상승에서 D 입력이 출력 Q로 나타난 다. 때문에 클록 상승 시 D 입력이 변화해서는 안 된다. 이 모 습을 그림 12에 나타낸다.

D의 파형이 크로스된 곳이 데이터가 변화되고 있는 곳이다. 이 그림에서 tsu를 세트업 타임(Setup Time), thd를 홀드 타임(Hold Time)이라 한다. 클록 상승 시에는 이 시간 동안 D의 입력값을 변화시키지 않도록 한다. D 플립플롭의 데이 터 시트에는 반드시 이 값이 규정되어 있으며 D 플립플롭을 사용함에 있어서 가장 중요한 값이다.
이러한 값은 가급적 작을수록 바람직하고 특히 thd는 제로 가 이상적이다. 1비트 순서회로에서는 자신의 출력을 자신의 입력으로 했다. 때문에 클록이 상승하여 출력이 변화하면 입 력도 순간적으로 변화된다. 이 때에는 thd가 완료되어 있어야 한다. 따라서 thd는 가능한 한 작은 것이 바람직한 것이다.
3. 에지 트리거 방식의 D 플립플롭
마스터-슬레이브 방식 이외에도 D 플립플롭을 구성할 수 있는데, 그것이 바로 에지 트리거 방식이다. 표준 TTL에서는 SN7474가 에지 트리거 방식의 D 플립플롭이다. SN7474의 회로를 그림 13에 나타낸다.

SN7474에는 CLEAR, PRESET단자가 있지만 이 그림에서는 생략한다.
이 회로의 동작을 그림 14의 회로에서 상정한다.

이 그림은 해석하기 쉽도록 그림 13을 바꿔 그린 것이다. 사각으로 나타낸 SR 래치의 동작은 그림 4(b)와 같다. 그림 15에 CK=“L”일 때의 각 부의 값을 나타낸다.

그림15(a)는 D=“H”일 때이고 그림 15(b)는 D=“L”일 때이다. 어떤 경우라도 최종 SR 래치의 S, R 입력은 H 레벨이므로 값을 유지하고 있다. 말하자면, 그림의 점선에서 떨어져 있 다. 여기서 CK가“L”→“H”로 되었다고 하자. CK=“L”일 때 그림 15(a)의 상태라면 그림 16(a)의 상태로, 그림 15(b) 의 상태라면 그림 16(b)의 상태로 된다.

즉, 입력 D의 값이 출력 Q로 이동한 것처럼 된다. 이것은 틀림없이 D 플립플롭 의 동작이다.
여기서 놀라운 점은, 일단 CK=“H”로 된 다음에는 그림 16(a)에서 D의 값을“H”→“L”로 변화시켜도 출력은 변화 되지 않고 또 그림 16(b)에서 D의 값을“L”→“H”로 변화시 켜도 출력은 변화되지 않는다. 말하자면 그림 16의 점선에서 입력을 떨어뜨리고 있는 것이다. 이 동작은 마스터-슬레이브 방식일 때의 동작과 똑같다. 따 라서 마스터-슬레이브 방식과 같이 D 플립플롭이 실현되고 있다는 것을 알 수 있다.
에지 트리거 방식의 D 플립플롭은 마스터-슬레이브 방식 이 변형된 것이다. 어쨌든 이 에지 트리거 방식의 D 플립플롭 은 굉장한 회로이다.
4. D 플립플롭을 제작한다
2장에서 제작한 TTL NAND는 8개이다. 여기서는 NAND 의 수가 적어도 되는 에지 트리거 방식으로 D 플립플롭을 제 작한다.
그림 13에는 3입력의 NAND가 사용되고 있다. 그림 14의 설명도에서는 3입력의 NAND를 사용하고 있지 않지만 실제 로 제작하는 경우에는 반드시 3입력의 NAND가 필요하다. 마스터-슬레이브 방식의 D 플립플롭에서는 미묘한 타이밍이 존재하지만, 에지 트리거 방식에서도 사정은 마찬가지이다. CK가“L”→“H”로 되었을 경우 D의 값이 출력 Q로 이동 하는데, 그 때 입력은 떨어져 있어야 한다. 이 동작을 확실하 게 하기 위해 3입력으로 할 필요가 있다. 실은 이를 위해 3입 력의 NAND를 하나 제작한 것이다.
제작한 회로를 그림 17에, 제작한 외관을 사진 1에 나타낸다.


C1, C2, C3는 바이패스 콘덴서이다. C2는 모듈 1의 전원 단자 근처에, C3는 모듈 2의 전원단자 근처에 배치한다. 사용 하지 않는 NAND가 2개 있지만 이것은 그대로 둔다. CMOS 인 경우에는 반드시 입력을 처리해두어야 하지만 TTL이므로 그대로도 상관없다.
CMOS인 경우와 같이, 이 입력만 GND 또는 VCC에 접속 해 놓아도 상관없지만 VCC에 접속하는 경우에는 1㏀의 저항 을 통해 접속하기 바란다. 만약 초단의 트랜지스터가 고장이 라면 이미터-컬렉터 사이가 쇼트됐을 때 대전류가 흘러 위험 하기 때문이다.
5. 제작한 D 플립플롭의 동작 확인
자신의 Q출력을 자신의 D 입력에 접속하여 동작 확인한 다. 이것은 지금까지 1비트 순서회로라고 했던 것이며 H 레벨 과 L 레벨을 반복한다.
이 회로는 일반적으로 분주회로라 한다. 클록 주파수의 1/2 의 주파수 출력이 얻어지기 때문이다. 사실은 2장의 그림 13 에 나타난 테스트 신호발생기에서 사용했다. 클록으로서는 테스트 신호발생기의 OUT1을 사용한다. 실 제 오실로스코프로 관측한 각 부의 파형을 그림 18에 나타낸다. 틀림없이 D 플립플롭으로 동작하고 있다.

릴레이에 의한 플립플롭의 제작 실험 1. 릴레이에 의한 SR 래치 그림 A에 릴레이에 의한 자기유지회로를 나타낸다. ![]() 이 회로는, 이것이 없으면 릴레이에 의한 제어회로를 구성 할 수 없을 정도로 중요하고 기본적인 회로이다. 여기서는 A 접점(노멀 오픈 접점)을 흰 동그라미로, B접점(노멀 클로즈 접점)을 까만 동그라미로 나타내고 있다. 이 회로는 SR 래치이다. 따라서 이 회로를 사용하여 릴레 이에 의한 플립플롭을 구성할 수 있다. 여기서는 이 회로를 사용하여 D 플립플롭을 제작해본다. 2. 마스터-슬레이브 방식으로 한다 그림 B에 마스터-슬레이브 방식에 의한 플립플롭을 나타낸다. 그림 11과 똑같이 되도록 RA, SA, RB, SB를 결정하면 된다. 그림 11에서는 다음과 같이 된다. 단, 슬레이브의 ![]() ![]() 여기서, A:마스터, B:슬레이브, G:클록 그림 B의 회로에서 SWG가 OFF됐을 때 마스터에서 슬레 이브로 데이터가 이동하도록 G를 반전하고, 또 RESET은 OFF에서 유효하므로 QB도 반전하면 다음 논리와 같이 된다 (SW=ON에서‘1’로 하는 논리). ![]() 스위치의 경우 AND는 직렬, OR는 병렬로 실현되므로 그림 C의 회로로 된다. 이 회로에서 필요 없는 스위치를 생략하고, C접점(트랜스퍼 접점)을 사용할 수 있도록 릴레이 코일 B에 접속되어 있는 스위치 B를 전원 측으로 이동하여 회로를 정리하면 그림 D와 같은 회로가 된다. ![]() 그림 D의 회로는 2개의 C접점을 가진 통상적인 릴레이로 제작할 수 있다. 나는 G5A-237P(옴론)를 사용했다. 또 릴 레이 B의 접점에서 LED가 점등하도록 했다. 푸시 버튼 스위 치 SWG를 누를 때마다 이 LED의 점등/소등이 토글된다. 그리고 이 회로에서는‘이 릴레이 코일의 전류가 OFF돼도 접점이 OFF되지 않는 동안 이 접점이 ON하면…’과 같은 미 묘한 타이밍이 존재하지만, 릴레이의 응답속도가 빠르므로 동작하는 데에는 아무런 문제가 없다. |
D 플립플롭에서 다른 플립플롭으로
1. 클록 이네이블 장착 D 플립플롭으로
D 플립플롭은 클록의 상승에서 반드시 D의 값이 출력된 다. 그렇다면 D의 값임에도 불구하고 출력값을 유지하고 싶 을 때에는 어떻게 해야 할까. 디지털 회로 설계에서는 이러한 경우가 빈번하게 발생한다. 가장 간단한 것은 클록을 정지하 는 것이다. 그러나 가장 일반적인 동기식 회로에서는 클록을 정지시킬 수 없다.
이 때에는 그림 19와 같이 CE 단자를 하나 부가한다.

CE=“H”일 때에는 보통의 D 플립플롭으로서 동작한다. 그 러나 CE=“L”일 때에는 현재의 출력이 D로 입력되므로 항상 같은 값을 계속 출력한다.
CE=“L”일 경우, 클록을 정지했을 때와 같이 동작하므로 CE는 클록 이네이블(Clock Enable)이라 부른다. 이 회로는 동기식 회로에서 매우 중요한 회로이다.
2. JK 플립플롭으로
SR 플립플롭에서는 S와 R이 모두 H 레벨로 되는 입력상 태가 금지되어 있다. 그래서 S와 R이 모두 H 레벨일 경우에 는 출력을 반전시키도록 한다. 이것이 JK 플립플롭이다. J가 S에, K가 R에 대응한다.
그러면 실제로 D 플립플롭에서 JK 플립플롭을 설계해보 자. JK 플립플롭의 특성표를 표 2에 나타낸다.

D 플립플롭을 사용하여 JK 플립플롭과 같이 동작시킬 때 필요한 D 입력을 D로서 나타내고 있다. 이 D 입력을 논리압축하여 회로로 하 면 되는 것이다. 베이치도를 그림 20에, 회로를 그림 21에 나타낸다.

[출처] 트랜지스터로배우는디지털회로Ⅰ|작성자 맥가이심
출처: ICBANK