JKフリップフロップ
概要
- 目的: JKフリップフロップは、1ビットのデータを格納し、多用途な状態制御を提供する順序デジタル回路です。無効状態を排除し、両方の入力がHIGHの場合にトグル機能を追加することで、SRフリップフロップを改良しています。
- シンボル: JKフリップフロップは、J(セット)、K(リセット)、Clock(CLK)の入力、および場合により非同期のSETとRESETを持ち、QとQ̅の出力を持つ矩形ブロックで表されます。
- DigiSim.io での役割: 順序デジタル回路における基本的な記憶素子として機能し、カウンタ、レジスタ、ステートマシン、および制御アプリケーションの多用途な構成要素を提供します。

機能説明
論理動作
JKフリップフロップは、正のクロックエッジ(立ち上がりエッジ)でトリガーされたときに、JおよびK入力に基づいて状態を変更します。通常動作をオーバーライドできる非同期プリセットおよびクリア入力を備えています。
ピン配置:
- Pin 0: J(セット制御入力)
- Pin 1: K(リセット制御入力)
- Pin 2: CLK(クロック入力)
- Pin 3: PRE(プリセット - 非同期セット)
- Pin 4: CLR(クリア - 非同期リセット)
- Output 0: Q(格納値)
- Output 1: Q̅(相補出力)
真理値表(正エッジトリガーJKフリップフロップ):
| PRE | CLR | J | K | CLK | Q (next) | Q̅ (next) | 動作 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 0 | 1 | 非同期クリア |
| 1 | 0 | X | X | X | 1 | 0 | 非同期プリセット |
| 0 | 0 | 0 | 0 | ↑ | Q (prev) | Q̅ (prev) | 変化なし(保持) |
| 0 | 0 | 0 | 1 | ↑ | 0 | 1 | リセット |
| 0 | 0 | 1 | 0 | ↑ | 1 | 0 | セット |
| 0 | 0 | 1 | 1 | ↑ | Q̅ (prev) | Q (prev) | トグル |
| 0 | 0 | X | X | 0 | Q (prev) | Q̅ (prev) | 前の状態を保持 |
| 0 | 0 | X | X | ↓ | Q (prev) | Q̅ (prev) | 前の状態を保持 |
注: ↑ はクロックの立ち上がりエッジ、↓ は立ち下がりエッジ、X は「ドントケア」、0 = 非アクティブ(LOW)、1 = アクティブ(HIGH)を示します
動作優先度(高い順):
- CLR(クリア): CLR=1の場合、他の入力に関係なくQは0に強制されます
- PRE(プリセット): PRE=1かつCLR=0の場合、他の入力に関係なくQは1に強制されます
- クロックエッジ: PRE=0かつCLR=0の場合、JおよびK入力が立ち上がりクロックエッジで状態を制御します
入力と出力
入力:
- J [Pin 0]: フリップフロップの次の状態を決定するためにKと連携する1ビットの「セット制御」入力。
- K [Pin 1]: フリップフロップの次の状態を決定するためにJと連携する1ビットの「リセット制御」入力。
- CLK(クロック) [Pin 2]: 状態変化をトリガーする1ビットの正エッジタイミング信号。
- PRE(プリセット) [Pin 3]: アクティブHIGHの場合にQを1に強制する1ビットの非同期入力。
- CLR(クリア) [Pin 4]: アクティブHIGHの場合にQを0に強制する1ビットの非同期入力(最高優先度)。
出力:
- Q: 格納ビット(現在の状態)を表す1ビット出力。
- Q̅: 格納ビットの補数を表す1ビット出力。
設定可能なパラメータ
- クロックエッジ感度: フリップフロップが立ち上がりまたは立ち下がりクロックエッジに応答するかどうか。
- 非同期入力: SETおよびRESET入力が存在するかどうか。
- 伝搬遅延: トリガーイベント後に出力が変化するまでの時間。
DigiSim.io での視覚的表現
JKフリップフロップは、左側にラベル付きの入力(J、K、CLK、PRE、CLR、上から順に)、右側に出力(QおよびQ̅)を持つ矩形ブロックとして表示されます。コンポーネントはJKフリップフロップとして識別するために「JK FF」と明確にラベル付けされています。クロック入力は通常、正エッジ感度を示す三角形のシンボルで示されます。回路に接続されると、コンポーネントは出力に表示される値と接続ワイヤの色変化を通じて現在の状態を視覚的に示します。
教育的価値
主要概念
- 順序論理: タイミング信号に基づいて回路がどのように状態を格納および変更できるかを示します。
- エッジトリガー動作: デジタル回路がレベルではなく信号遷移に応答する方法を示します。
- フィードバックシステム: 現在の状態が次の状態計算にどのように影響するかを示します。
- 状態記憶: デジタル回路がクロックサイクル間で状態をどのように維持するかを紹介します。
- トグル機能: デジタルカウンタの基本概念であるバイナリ状態切り替えを実演します。
学習目標
- JKフリップフロップがバイナリ情報を格納し状態を変更する方法を理解する。
- 入力の組み合わせと結果として生じる状態変化の関係を学ぶ。
- トグルモードが効率的なカウンタ設計をどのように可能にするかを理解する。
- カウンタやステートマシンなどの順序回路の設計にJKフリップフロップを適用する。
- JKフリップフロップが適切な接続により他のフリップフロップタイプをエミュレートできることを理解する。
使用例
- バイナリカウンタ: 連続的な状態をカウントするためにトグル機能を利用する。
- 周波数分周: 各入力クロックパルスでトグルしてクロック分周器を作成する。
- シフトレジスタ: 一連のフリップフロップを通じてデータビットを格納およびシフトする。
- ステートマシン: 定義された状態シーケンスを進行する回路を作成する。
- デバウンス回路: 機械式スイッチ入力からノイズを除去する。
- 記憶素子: メモリシステムで個々のビットを格納する。
技術ノート
- JKフリップフロップのトグル機能(J=K=1の場合)は、カウンタ設計に特に有用です。
- JKフリップフロップは他のフリップフロップタイプとして動作するように構成できます:
- Dフリップフロップとして: JをDに、KをNOT Dに接続
- Tフリップフロップとして: JとKを一緒に接続(J=K=T)
- SRフリップフロップとして: そのまま使用、ただし純粋なSR動作のためにJ=K=1を避ける
- 正エッジトリガーJKフリップフロップは、信頼性のある動作のために特定のセットアップおよびホールド時間要件があります。
- 非同期制御: PREおよびCLR入力はアクティブHIGHで、同期クロック入力よりも優先されます。CLRはPREよりも高い優先度を持ちます。
- 制御信号の優先度: CLR入力は常にPREおよび同期入力をオーバーライドします。CLR=1の場合、出力は0に強制されます。PRE=1かつCLR=0の場合、出力は1に強制されます。
- DigiSim.io では、JKフリップフロップは状態遷移の明確な視覚的フィードバックを伴う正エッジトリガー動作をモデル化します。
タイミングダイアグラム
動作例:
| Clock Edge | J | K | Action | Q (next) |
|---|---|---|---|---|
| Rising 1 | 0 | 1 | Reset | 0 |
| Rising 2 | 1 | 0 | Set | 1 |
| Rising 3 | 1 | 1 | Toggle | 0 |
| Rising 4 | 1 | 1 | Toggle | 1 |
| Rising 5 | 0 | 0 | Hold | 1 |
重要な動作: 出力はクロックエッジでのみ変化し、安定した同期動作を提供します。
特性
- SRフリップフロップやDフリップフロップよりも多用途
- JとKの両方がHIGHの場合にトグル機能を提供
- 通常動作中に無効状態なし
- エッジトリガー(クロック遷移で応答)
- セットアップおよびホールド時間要件あり
- JとKを接続することでTフリップフロップとして使用可能
- 簡単な論理でDフリップフロップとして使用可能
応用
- カウンタと周波数分周器(トグル機能を使用)
- シフトレジスタ
- ステートマシン
- 順序デジタル回路の記憶素子
- パルス検出と生成
- 物理スイッチのデバウンス
- タイミングおよび同期回路
- デジタルシステムのトグルスイッチ
実装
JKフリップフロップは以下から構成できます:
- NANDまたはNORゲート
- 変形されたマスタースレーブ構成
- 一般的なICパッケージ:
- 7473: クリア付きデュアルJKフリップフロップ
- 7476: プリセットおよびクリア付きデュアルJKフリップフロップ
- 74112: プリセットおよびクリア付きデュアルJKフリップフロップ、負エッジトリガー
機能的関係
JKフリップフロップは他のフリップフロップタイプとして構成できます:
- Dフリップフロップ: JをDに、KをNOT Dに接続
- Tフリップフロップ: JとKを一緒に接続(J=K=T)
- SRフリップフロップ: そのまま使用、ただしSR動作のためにJ=K=1を避ける
回路図
基本的なJKフリップフロップは、トグル機能を提供するフィードバックパスを持つマスタースレーブ構成のNANDゲートを使用して実装できます。
関連コンポーネント
- SRフリップフロップ: よりシンプルな設計だが、無効な入力組み合わせがある
- Dフリップフロップ: データ格納、トグル機能なし
- Tフリップフロップ: トグルのみの機能
- カウンタ: トグル機能のためにJKフリップフロップを使用して構築されることが多い