JKフリップフロップは、デジタル回路で信号の状態を記憶する代表的なフリップフロップ回路です。
J入力とK入力、さらにクロック信号の組み合わせによって出力Qが保持、セット、リセット、反転の4種類に変化するため、真理値表を正しく読めることが重要になります。
本記事では、JKフリップフロップの基本的な動作から真理値表の見方、回路設計で注意したいタイミングの考え方まで、初学者にも分かりやすく解説します。
JKフリップフロップの真理値表

それではまずJKフリップフロップの真理値表について解説していきます。
J入力とK入力で決まる4種類の動作
JKフリップフロップの真理値表では、JとKの入力値を0または1として扱います。
入力の組み合わせは全部で4通りあり、それぞれで次の出力Qの状態が決まります。
| J入力 | K入力 | 次のQ | 動作内容 |
|---|---|---|---|
| 0 | 0 | 変化なし | 保持 |
| 0 | 1 | 0 | リセット |
| 1 | 0 | 1 | セット |
| 1 | 1 | 反転 | トグル動作 |
最も大切なのは、JとKがともに1のときに出力が反転する点です。
保持、リセット、セット、反転の4動作を表で整理することが、真理値表を理解する最初の近道になります。
現在の状態と次の状態の関係
真理値表でいう次のQとは、クロックが入力された後に確定する出力状態を指します。
現在の出力をQ、クロック後の出力を次のQとして考えると、保持と反転の意味がつかみやすくなるでしょう。
Jが0でKが0なら、現在Qが0なら次も0、現在Qが1なら次も1です。
Jが1でKが1なら、現在Qが0なら次は1、現在Qが1なら次は0になります。
つまり、JとKがともに0の場合は記憶内容を維持します。
一方でJとKがともに1の場合は、以前に記憶していた値を反対の値へ切り替える仕組みです。
JKフリップフロップが使われる理由
JKフリップフロップは、SRフリップフロップの弱点を補う目的で考えられた回路です。
SRフリップフロップでは、セットとリセットを同時に有効にしたときの扱いが問題になります。
対してJKフリップフロップは、両方が有効なときの動作を出力反転として明確に定義しているため、状態が不定になりにくい特徴があります。
JKフリップフロップの結論として、Jがセット、Kがリセットに対応し、両方が1なら出力Qを反転させます。
この反転機能により、カウンタや分周回路などの設計に応用しやすくなります。
J入力とK入力による状態変化
続いてはJ入力とK入力による状態変化を確認していきます。
Jが1でKが0の場合のセット動作
J入力が1、K入力が0のとき、クロックの有効なタイミングでQは1になります。
この状態変化をセットと呼びます。
現在のQがすでに1であっても、0であっても、クロック後のQは1にそろいます。
セット動作は、回路に1を記憶させたい場面で使われる基本動作です。
たとえば装置の運転許可信号を記憶する回路では、条件が成立した時点でJに1を与え、運転状態を保持させる使い方ができます。
Kが1でJが0の場合のリセット動作
K入力が1、J入力が0のときは、クロック後のQが0になります。
こちらはリセット動作です。
現在の出力が1であっても、K入力を有効にしてクロックを与えることで、記憶内容を0へ戻せます。
停止信号や異常検出信号を受けたとき、記憶中の許可状態を解除する用途にも向いています。
セットはJが1でKが0です。
リセットはJが0でKが1です。
この2つを逆に覚えないよう、Jは1を書き込み、Kは0を書き込む入力として整理すると分かりやすいでしょう。
JとKがともに1の場合の反転動作
J入力とK入力がともに1の場合、Qは現在値と逆の状態になります。
Qが0なら1へ、Qが1なら0へ変わるため、トグル動作とも呼ばれます。
1回のクロックごとに状態を切り替えられる性質は、2進カウンタの基本要素です。
たとえば初期状態が0のJKフリップフロップへ、JとKに常に1を入力するとします。
クロックが1回入るごとに、Qは0、1、0、1の順に繰り返し変化します。
この繰り返しを利用すると、入力クロックの周波数を半分にする分周回路も構成できます。
クロック信号とタイミングの基礎
続いてはクロック信号とタイミングの基礎を確認していきます。
エッジトリガ方式の考え方
JKフリップフロップの多くは、クロック信号の立ち上がりまたは立ち下がりの瞬間に入力を取り込みます。
この方式をエッジトリガ方式と呼びます。
クロックがHighである時間すべてに反応するわけではなく、指定された変化の瞬間だけ状態が更新される点が特徴です。
入力JとKの値だけでなく、いつクロックを与えるかも出力の決定に関わります。
回路図では、クロック端子に三角形の記号が描かれることがあります。
さらに端子に小さな丸印が付く場合は、立ち下がりエッジで動作することを表します。
セットアップ時間とホールド時間
フリップフロップを安定して動作させるには、JとKの信号がクロックの前後で一定時間安定している必要があります。
クロックが入る前に入力を安定させる時間をセットアップ時間、クロック後も入力を保つ時間をホールド時間といいます。
セットアップ時間やホールド時間を満たせないと、出力が期待通りに決まらない可能性があります。
真理値表は入力条件を示しますが、実際の回路では時間条件まで満たして初めて安定した動作になります。
高速なデジタル回路ほど、配線の遅延や部品ごとの伝搬遅延を考慮する必要があります。
データシートに記載されたタイミング仕様を確認する習慣が大切です。
伝搬遅延と出力確認の注意点
クロックを入力した直後に、Qが瞬時に変化するわけではありません。
実際には部品内部の処理時間があり、これをクロックから出力までの伝搬遅延と呼びます。
オシロスコープやロジックアナライザで波形を確認する際は、この遅れを異常と判断しないよう注意が必要です。
クロックの直後ではなく、規定の伝搬遅延を過ぎた時点でQを評価することが測定の基本です。
後段の回路が早すぎるタイミングでQを読み取ると、意図しないデータを扱うおそれがあります。
JKフリップフロップとSRフリップフロップの違い
続いてはJKフリップフロップとSRフリップフロップの違いを確認していきます。
SRフリップフロップの基本動作
SRフリップフロップは、S入力でセット、R入力でリセットを行う記憶回路です。
基本的な役割はJKフリップフロップと似ています。
ただし、SとRを同時に有効にしたとき、回路方式によっては出力の扱いが不定になる場合があります。
この同時入力の問題は、初めて順序回路を学ぶ際に重要なポイントです。
不定状態を反転状態へ置き換える仕組み
JKフリップフロップでは、SRフリップフロップで問題になりやすい同時有効入力を、トグル動作として扱います。
JとKがともに1のときに出力を反転させるため、設計者は状態変化を予測できます。
| 入力条件 | SRフリップフロップ | JKフリップフロップ |
|---|---|---|
| 両方が0 | 保持 | 保持 |
| セット側のみ1 | セット | セット |
| リセット側のみ1 | リセット | リセット |
| 両方が1 | 不定または禁止条件になりやすい | 反転 |
同時入力への対応方法が、SR型とJK型を見分ける大きな違いです。
用途に応じた回路選択
単純に1ビットの状態をセットまたはリセットしたい場合は、SRフリップフロップでも目的を果たせることがあります。
一方で、カウントや反転を含む制御を行いたい場合はJKフリップフロップが便利です。
状態を維持したいときはJとKを0にします。
1を記憶したいときはJを1、Kを0にします。
0を記憶したいときはJを0、Kを1にします。
状態を切り替えたいときはJとKを1にします。
回路の目的に合わせて、入力条件を表に落とし込んでから部品を選ぶと設計ミスを減らせます。
カウンタ回路と分周回路への応用
続いてはカウンタ回路と分周回路への応用を確認していきます。
2進カウンタにおけるトグル動作
JKフリップフロップのJとKをともに1に固定すると、クロックごとにQが反転します。
この性質を複数のフリップフロップへ組み合わせると、2進数を数えるカウンタ回路を作れます。
最下位ビットはクロックごとに反転し、その出力変化を次のビットのクロックへ使う構成が基本例です。
反転の繰り返しは、2進数の桁上がりを回路として表現するための重要な仕組みです。
周波数を半分にする分周回路
入力クロックの周波数を半分にしたい場合も、JKフリップフロップが活用できます。
JとKを1にした状態では、Qはクロックの有効エッジごとに反転します。
Qが1になる回数は入力クロックの半分になるため、出力波形は入力周波数の2分の1になります。
JとKをともに1にしたJKフリップフロップは、1段で2分周の動作を実現できます。
複数段を直列に接続すると、4分周、8分周、16分周のように分周比を増やせます。
時計回路、タイマ回路、通信装置のクロック生成などでは、この分周の考え方が広く使われています。
同期式カウンタと非同期式カウンタ
カウンタ回路には、各フリップフロップへ共通のクロックを与える同期式と、前段の出力を次段のクロックへ使う非同期式があります。
非同期式は構成が分かりやすい一方で、段数が増えると伝搬遅延が積み重なります。
同期式は制御信号の設計が少し複雑になるものの、高速動作や安定したタイミングが求められる場面で有利です。
用途が低速表示なのか高速制御なのかによって、適したカウンタ構成は変わります。
JKフリップフロップの真理値表のまとめ
JKフリップフロップの真理値表では、JとKが0と0なら保持、0と1ならリセット、1と0ならセット、1と1なら反転となります。
特にJとKがともに1のときにトグル動作を行う点が、JKフリップフロップを理解する核になります。
真理値表は単なる暗記ではなく、現在のQとクロック後のQの関係として読むことが重要です。
実回路では、クロックのエッジ、セットアップ時間、ホールド時間、伝搬遅延も確認しましょう。
基本動作を整理できれば、カウンタ回路、分周回路、順序制御回路へ理解を広げられます。