デジタル回路の学習を進めていくと、必ずと言っていいほど登場するのがJKフリップフロップです。
大学の授業や資格試験の勉強でつまずきやすいポイントとして、真理値表の見方や動作原理が挙げられます。
特にJ=K=1のときに起こるトグル動作は、SRフリップフロップにはない独特の性質です。
この記事では、JKフリップフロップの真理値表は?JKFFの動作原理も!というテーマに沿って、状態変化やトグル動作、順序論理回路としての位置づけ、記憶回路としての役割まで幅広く解説していきます。
初めてこの分野に触れる方にもわかりやすいように、具体例や表を交えながら丁寧に説明していきますので、ぜひ最後までご覧ください。
JKフリップフロップの真理値表と動作の結論
それではまずJKフリップフロップの真理値表と動作の結論について解説していきます。
結論から言うと、JKフリップフロップはSRフリップフロップの弱点を克服した順序論理回路であり、J入力とK入力の組み合わせによって出力の状態が決まります。
SRフリップフロップではS=R=1という入力が禁止されていましたが、JKフリップフロップではJ=K=1のときにトグル動作という新しい動きが定義されています。
つまり、入力の組み合わせに禁止状態が存在しないという点が最大の特徴でしょう。
この性質のおかげで、JKフリップフロップはカウンタ回路や記憶回路など、さまざまな順序論理回路の基本部品として利用されています。
JKフリップフロップの本質は、J=0かつK=0のときは状態を保持し、J=1かつK=0のときはセット、J=0かつK=1のときはリセット、そしてJ=1かつK=1のときはトグル動作によって現在の状態を反転させるという四つのパターンに集約されます。
この四パターンさえ覚えてしまえば、真理値表の読み取りはそれほど難しくありません。
次の章からは、この結論をふまえたうえで、真理値表の細かい中身や回路の仕組みを順番に見ていきます。
JKフリップフロップの真理値表を確認していきます
続いてはJKフリップフロップの真理値表を確認していきます。
真理値表とは、入力の組み合わせに対して出力がどのように変化するかをまとめた表のことです。
JKフリップフロップの場合、現在の入力J、K、現在の出力Q(t)、そして次のクロックパルス後の出力Q(t+1)の関係を表にすると理解しやすくなります。
| J | K | Q(t+1) | 動作の種類 |
|---|---|---|---|
| 0 | 0 | Q(t)(保持) | 状態保持 |
| 0 | 1 | 0 | リセット |
| 1 | 0 | 1 | セット |
| 1 | 1 | Q(t)の反転 | トグル動作 |
この表を見ればわかるとおり、JとKがどちらも0の場合は出力が変化せず、そのままの状態を維持します。
一方でJが1でKが0のときは出力が1にセットされ、逆にJが0でKが1のときは出力が0にリセットされます。
そして最大の特徴であるJ=K=1のときは、現在の出力を反転させるトグル動作が発生するのです。
入力パターンごとの出力変化
入力パターンごとの出力変化を細かく見ていきましょう。
J=0、K=0の組み合わせは、クロックが入力されても出力に変化がない状態です。
これはメモリ機能そのものであり、値を保持し続けたいときに使われるパターンでしょう。
逆にJかKのどちらか一方だけが1になっている場合は、出力を強制的に0または1へ切り替える働きを持ちます。
セットとリセットの動作
セットとリセットの動作についても押さえておきましょう。
J=1、K=0のときはセット動作となり、出力Qは必ず1になります。
反対にJ=0、K=1のときはリセット動作となり、出力Qは必ず0になります。
この動作はSRフリップフロップのセットとリセットにそのまま対応しているため、SRFFを理解している方には馴染みやすい部分です。
トグル動作の仕組み
トグル動作の仕組みについて詳しく確認していきます。
J=1、K=1という入力が加わると、フリップフロップは現在の出力状態を反転させます。
出力が0であれば1に、1であれば0に切り替わるという動きです。
このトグル動作こそが、JKフリップフロップがSRフリップフロップの禁止入力問題を解決した部分であり、カウンタ回路などで多用される理由でもあります。
例えば現在の出力Qが0の状態でJ=1、K=1のクロックパルスが入力されたとします。
このときQ(t+1)は1になります。
さらに次のクロックパルスでもJ=1、K=1のままであれば、今度はQ(t+1)は0に戻ります。
このようにクロックが入るたびに出力が交互に反転していく様子が、トグルという名前の由来です。
JKFFの回路構成と動作原理を確認していきます
続いてはJKFFの回路構成と動作原理を確認していきます。
JKフリップフロップの内部構造を知ると、なぜトグル動作が実現できるのかが見えてきます。
基本的にはNANDゲートを組み合わせたSRラッチをベースに、フィードバック配線を追加した構造になっています。
NANDゲートで構成する基本回路
NANDゲートで構成する基本回路について説明していきます。
SRラッチはNANDゲートを二つ交差接続することで構成できますが、JKフリップフロップではさらにJとKの入力を出力Qおよび反転出力Q’にフィードバックさせる配線が追加されています。
このフィードバック構造があることで、J=K=1という本来なら不安定になるはずの入力でも、安定してトグル動作を実現できるのです。
クロック同期の仕組み
クロック同期の仕組みについても確認していきましょう。
JKフリップフロップは非同期式のラッチとは異なり、多くの場合クロック信号に同期して動作します。
クロックの立ち上がりや立ち下がりといったタイミングでのみ入力を取り込み、出力を更新する仕組みになっています。
これにより、複数のフリップフロップを組み合わせた回路でも、動作タイミングを揃えて誤動作を防ぐことができるでしょう。
マスタースレーブ構成の役割
マスタースレーブ構成の役割について見ていきます。
一般的なJKフリップフロップの多くは、マスタースレーブ型と呼ばれる二段構成で作られています。
前段のマスターがクロックのハイ期間で入力を取り込み、後段のスレーブがクロックのロー期間でその値を出力に反映する仕組みです。
この二段構成により、入力と出力が同時に変化してしまう競合状態、いわゆるレースコンディションを防ぐことができます。
トグル動作と状態変化の特徴を確認していきます
続いてはトグル動作と状態変化の特徴を確認していきます。
トグル動作はJKフリップフロップならではの機能ですが、実際の回路設計ではどのように活用されているのでしょうか。
トグル動作とTフリップフロップの関係
トグル動作とTフリップフロップの関係について解説します。
JKフリップフロップのJ端子とK端子を常に同じ値になるよう結線すると、T(トグル)フリップフロップとして動作させることができます。
T=1のときは毎クロック反転し、T=0のときは状態を保持するという、シンプルな二状態切り替え回路が完成するわけです。
これはJKFFの応用として非常によく使われる構成でしょう。
エッジトリガとレベルトリガの違い
エッジトリガとレベルトリガの違いについても押さえておきます。
レベルトリガ型はクロックがハイまたはローの間ずっと入力を受け付けるのに対し、エッジトリガ型はクロックの立ち上がりや立ち下がりの瞬間だけ入力を取り込みます。
実際の集積回路で使われるJKフリップフロップの多くは、誤動作を防ぐためにエッジトリガ型が採用されているのが一般的です。
カウンタ回路への応用例
カウンタ回路への応用例を見ていきましょう。
トグル動作を利用したJKフリップフロップを複数段直列に接続すると、バイナリカウンタを作ることができます。
クロックが入力されるたびに各段の出力が反転し、2進数のカウントアップを表現していく仕組みです。
このように、JKフリップフロップは単体の記憶回路としてだけでなく、カウンタや分周回路の構成要素としても重要な役割を果たしています。
SRフリップフロップとの違いと順序論理回路での位置づけを確認していきます
続いてはSRフリップフロップとの違いと順序論理回路での位置づけを確認していきます。
JKフリップフロップを正しく理解するには、比較対象となるSRフリップフロップとの違いを知ることが近道です。
SRフリップフロップとの比較
SRフリップフロップとの比較を行っていきます。
SRフリップフロップはセット入力Sとリセット入力Rを持ちますが、S=R=1という入力の組み合わせが禁止されているという弱点があります。
この禁止状態では出力が不定になってしまい、回路として正常に動作しません。
一方でJKフリップフロップは、この禁止状態にあたるJ=K=1をトグル動作という有効な機能に変換した点が大きな違いです。
順序論理回路とは何か
順序論理回路とは何かについても簡単に触れておきます。
順序論理回路とは、現在の入力だけでなく過去の状態も出力に影響を与える回路のことを指します。
これに対して、現在の入力だけで出力が決まる回路は組み合わせ論理回路と呼ばれています。
JKフリップフロップは過去の出力Q(t)を保持しながら次の状態Q(t+1)を決定するため、順序論理回路の代表例と言えるでしょう。
記憶回路としての役割
記憶回路としての役割について確認していきます。
フリップフロップは1ビットの情報を保持できる最小単位の記憶素子です。
この1ビットを保持する仕組みを大量に組み合わせることで、レジスタやメモリといった大規模な記憶装置が構成されます。
JKフリップフロップは禁止入力がなく扱いやすいため、教育現場だけでなく実際の回路設計でも広く採用されている記憶回路の基本部品です。
JKフリップフロップの真理値表を覚える際の注意点を確認していきます
続いてはJKフリップフロップの真理値表を覚える際の注意点を確認していきます。
試験対策として真理値表を暗記する方も多いと思いますが、単純な丸暗記だけでは応用問題に対応しづらいことがあります。
Q(t)とQ(t+1)の表記の意味
Q(t)とQ(t+1)の表記の意味を正しく理解しておきましょう。
Q(t)は現在のクロックタイミングでの出力状態を表し、Q(t+1)は次のクロックパルスが入力された後の出力状態を表しています。
この時間的な前後関係を意識しないと、保持動作とトグル動作の区別があいまいになってしまうかもしれません。
特性方程式で理解する方法
特性方程式で理解する方法もおすすめです。
JKフリップフロップの動作は、次の特性方程式で表すことができます。
Q(t+1) = J・Q'(t) + K’・Q(t)
この式のJ・Q'(t)の部分はセット動作を、K’・Q(t)の部分は保持動作を表しています。
J=K=1を代入すると、Q(t+1)はQ(t)の反転と等しくなり、トグル動作が数式的にも裏付けられます。
このように数式で確認しておくと、真理値表を丸暗記するよりも記憶が定着しやすいはずです。
他のフリップフロップとの混同に注意
他のフリップフロップとの混同に注意しておきましょう。
SRフリップフロップ、Dフリップフロップ、Tフリップフロップなど、似たような名前のフリップフロップは複数存在します。
それぞれ入力端子の数や禁止状態の有無が異なるため、JKフリップフロップ特有のトグル動作と混同しないよう注意が必要でしょう。
特にDフリップフロップは入力が1つしかなく、トグル動作を持たないという点が大きな違いです。
まとめ
今回はJKフリップフロップの真理値表は?JKFFの動作原理も!というテーマで、状態変化やトグル動作、順序論理回路としての特徴を解説してきました。
JKフリップフロップの真理値表は、J=0かつK=0で保持、J=1かつK=0でセット、J=0かつK=1でリセット、J=1かつK=1でトグル動作という四パターンに集約されます。
SRフリップフロップの禁止入力を解消したこの仕組みは、カウンタ回路や記憶回路など幅広い分野で活用されています。
マスタースレーブ構成やエッジトリガといった内部の動作原理まで理解しておくと、応用問題にも対応しやすくなるはずです。
ぜひこの記事の内容を参考に、JKフリップフロップの理解を深めていただければ幸いです。