エッジトリガードラッチ:SR/Dラッチからフリップフロップへ
以前のセクションで、イネーブル(E)信号がアクティブな間のみデータ入力に応答するS-RおよびDラッチを調べました。多くのデジタル設計では、イネーブルラインがハイである全期間ではなく、非常に短い間隔のみラッチの応答性を制限することが有利です。
エッジトリガリングは、イネーブル信号が一方のレベルから他方へ遷移する瞬間のみデータ入力がラッチに影響することを可能にします。この短いウィンドウは、イネーブルラインが状態を変えるたびに短いパルスを生成するパルス検出器によって生成されます。
以下に、従来のDラッチとエッジトリガードDラッチのタイミング図を比較します:


最初の図では、イネーブル(E)信号がハイの間、出力が入力Dに追従。Eがローに戻ると、回路は最後の状態を保持。2番目の図では、出力がEのロー→ハイ遷移の瞬間のみ変化—これがポジティブエッジトリガリングです。
ネガティブエッジトリガリングは同様ですが、イネーブル信号の立ち下がりエッジ(ハイ→ロー)に反応します:

ラッチがクロック信号のエッジでパルス検出器によって駆動されるとき、それをラッチではなくフリップフロップと呼びます。したがって、エッジトリガーSRラッチはSRフリップフロップ、エッジトリガーDラッチはDフリップフロップになります。イネーブル入力はクロック(C)と改名され、データ入力(S, R, またはD)はクロックエッジの瞬間のみ出力に影響するため同期的と呼ばれます。
このようなエッジトリガリングをどう実装するか? 通常のSRラッチをゲート付きラッチに変換するのは少数のANDゲートで簡単ですが、デジタル信号の立ち上がりまたは立ち下がりエッジのみをマークするパルスを生成するには、専用パルス検出器が必要です。この検出器は実質的に、入力がトグルするたびに短いパルスを生成するモノステーブルマルチバイブレータです。

パルス幅は検出器内部コンポーネントで決定。ラダーロジックでは、非常に短い遅延を持つタイムディレイリレーで実現:

半導体ロジックでは、ロジックゲート固有の伝播遅延を利用します。入力信号を分岐し、一方をゲートまたはゲート列でわずかに遅延。元信号と遅延信号を2入力ゲートに入力し、遅延信号が元の立ち上がりエッジに遅れている間のみハイ出力を生成。ロー→ハイ遷移でパルスを生成する例:

立ち下がりエッジ検出には、最終ANDゲートをNORゲートに置き換えます:

パルス検出器を配置すれば、ラッチをフリップフロップに変換できます。例えば、SRフリップフロップはSRラッチのイネーブルラインをパルス検出器でゲートすることで得られます:

この回路は、クロック(C)がロー→ハイに遷移する瞬間のみSとRに応答し、それ以外ではラッチ状態を維持。同一SRフリップフロップのラダーロジック表現:

ラダーダイヤグラムでは、接点CR3が元のイネーブル接点に置き換わり、Cとタイムディレイ接点TR1が両方閉じている短いウィンドウでのみ閉じます。ゲートでもリレーでも、SとR入力はCが0→1遷移しない限り無効です。
SRフリップフロップの無効状態は、パルス検出器がラッチをイネーブルする短期間のみ存在することに注意。ウィンドウが閉じると、出力はセットまたはリセットのいずれかにロックされます。この短い競合状態—各ラッチゲートが自分の出力を先にアサートしようと競う—により、フリップフロップは有効で相互排他的な状態に落ち着きます。
フリップフロップのブロック記号はラッチとわずかに異なります。クロック入力横の三角形がエッジトリガーデバイスを示します。ポジティブエッジフリップフロップはプレーン三角形、ネガティブエッジデバイスはクロックラインにバブル付き:


両図は、クロック信号の立ち下がりエッジ(ハイ→ロー遷移)でクロックするフリップフロップを示します。
復習
- フリップフロップは、クロックの短い立ち上がりまたは立ち下がりエッジのみに応答できるパルス検出器を備えたラッチ。
- パルス検出器は、ラダーロジックではタイムディレイリレー、半導体ゲートでは伝播遅延で実装可能。
関連ワークシート
- フリップフロップワークシート
産業技術