順序論理回路

その時点で入力に印加されている実際の信号に応じて状態が変化する組合せ論理回路とは異なり、順序論理回路にはある種の固有の「メモリ」が組み込まれています。

つまり、「順序論理回路」の出力状態は、「現在の入力」、「過去の入力」、「過去の出力」の 3 つの状態の関数となるのです。 順序論理回路はこれらの状態を記憶し、次のクロック信号でいずれかの状態が変化するまで現在の状態に固定されるため、順序論理回路に「記憶」を与えることができる。

シーケンシャル ロジック回路は一般に 2 状態または双安定デバイスと呼ばれ、出力または出力を論理レベル「1」または論理レベル「0」の 2 つの基本状態のいずれかに設定でき、他の入力トリガー パルスまたは信号を適用して双安定が再び状態を変更するまで、現在の状態または条件を無期限に「ラッチ」したまま (従ってラッチという名前) になります。

Sequential Logic Representation

sequential logic representationsequential logic representation

sequential logic representation

「Sequential」という言葉は、「順番」で次々と起こるという意味で、順序論理回路では、実際のクロック信号で次に起こることが決定されます。 単純なシーケンシャル ロジック回路は、以下のような標準的な双安定回路から構築することができます。

順序論理の分類

標準の論理ゲートが組み合わせ回路の構成要素であるように、双安定ラッチとフリップフロップは順序論理回路の基本構成要素となります。 順序論理回路は、単純なエッジ トリガー フリップフロップ、またはストレージ レジスタ、シフト レジスタ、メモリ デバイス、カウンターのようなより複雑な順序回路のいずれかを作成するために構築することができます。

  • 1. イベント駆動型 – イネーブルになるとすぐに状態が変化する非同期回路
  • 2. クロック駆動型 – 特定のクロック信号に同期する同期回路
  • 3. パルス駆動型 – トリガー パルスに反応する 2 つの組み合わせです。

sequential logic device

sequential logic device

前述の論理レベル「1」と論理レベル「0」という二つの論理状態と同様、組合せ論理回路と区別される第三の要素、すなわち TIME も導入されています。

現在、順序回路では、クロック信号の印加によってのみ変化が起こり、同期回路となり、それ以外は外部入力に依存する非同期回路となることが分かっています。 現在の状態を維持するために、順序回路はフィードバックに依存し、これは出力の一部が入力にフィードバックされるときに発生します。

Sequential Feedback Loop

sequential feedback loopsequential feedback loop

sequential feedback loopsequential feedback loop

Q で出力を入力にフィードバックした 2 つのインバータまたは NOT ゲートは、直列に接続されています。 残念ながら、この構成では、出力は常に同じで、「1」か「0」のどちらかになり、永久に設定されるため、状態が変化することはありません。 しかし、SR フリップフロップと呼ばれる最も基本的な順序論理コンポーネントを調べることにより、フィードバックがどのように機能するかを確認できます。

SR フリップフロップは、SR ラッチとしても知られ、最も基本的な順序論理回路の 1 つと見なすことができます。 1 つはデバイスを「SET」する入力 (出力 = 「1」を意味する) で、S とラベル付けされ、もう 1 つはデバイスを「RESET」する入力 (出力 = 「0」を意味する) で、R とラベル付けされます。

次に、SR とは「セット-リセット」の略称です。

基本的な NAND ゲート SR フリップフロップ回路は、両方の出力から反対側の入力にフィードバックし、1 つのデータ ビットを保存するためにメモリ回路でよく使用されます。 SR フリップフロップは、セット、リセット、および現在の状態または履歴に関連する現在の出力 Q の 3 つの入力を備えています。 フリップフロップとは、ある論理のセット状態に「フリップ」したり、反対の論理のリセット状態に「フロップ」したりできるデバイスの実際の動作に関連する用語です。

NAND ゲート SR フリップフロップ

基本的なシングル ビット セット リセット SR フリップフロップを作成する最も簡単な方法は、図のようにクロスカップルした 2 入力の NAND ゲートをペア接続して、アクティブ ロー SR NAND ゲート ラッチとしても知られるセット リセット双安定器を形成し、各出力から他の NAND ゲートの 1 入力にフィードバックできるようにすることです。 このデバイスは、下図のように、セット(S)とリセット(R)の2つの入力と、それに対応する2つの出力Qとその逆数または補数Q(not-Q)から構成されています。

基本的な SR フリップフロップ

sr flip flop

sr flip flop

セット状態

上の回路について考えて見ましょう。 入力 R が論理レベル “0” (R = 0) で、入力 S が論理レベル “1” (S = 1) であれば、NAND ゲート Y は少なくとも 1 つの入力が論理レベル “0” であるため、その出力 Q は論理レベル “1” でなければなりません (NAND ゲートの原理)。 出力 Q は入力「A」にもフィードバックされるので、NAND ゲート X の両方の入力は論理レベル「1」であり、したがってその出力 Q は論理レベル「0」でなければなりません

再び NAND ゲートの原則。 リセット入力 R の状態が変化し、S が論理レベル「1」で HIGH のままであれば、NAND ゲート Y の入力は R = 「1」、B = 「0」になります。 入力の一方はまだ論理レベル “0 “なので、Qの出力はまだ論理レベル “1 “のHIGHのままで、状態の変化はない。

リセット状態

この 2 番目の安定状態では、Q は論理レベル「0」であり (Q = 「0」ではない)、Q の逆出力は論理レベル「1」であり (Q = 「1」)、R = 「1」、S = 「0」で与えられます。 ゲートXは入力の1つが論理「0」であるため、その出力Qは論理レベル「1」に等しくなければならない(これもNANDゲートの原理である)。 出力 Q は入力「B」にフィードバックされるので、NAND ゲート Y の両方の入力は論理「1」であり、したがって Q = 「0」です。

入力 R が論理「1」のまま、セット入力 S の状態が論理「1」に変化しても、出力 Q は依然として論理レベル「0」で LOW のままで、状態の変化はありません。 したがって、フリップフロップ回路の「リセット」状態もラッチされており、この「セット/リセット」動作を次の真理値表で定義することができます。

このセット/リセットの真理値表。Reset Function

State S R Q Q Description
Set 1 0 0 1 Set Q ” 1
1 1 0 1 no change
Reset 0 1 1 0 Reset Q ” 0
1 1 1 0 no change
Invalid 0 0 1 1 Invalid Condition

It can be seen that when both inputs S = “1” and R = “1” the outputs Q and Q can be at either logic level “1” or “0”, depending upon the state of the inputs S or R BEFORE this input condition existed. したがって、S = R = “1” という条件は、出力 Q および Q の状態を変更しません。

しかし、S = “0” および R = “0” という入力状態は望ましくないか無効な条件であり、回避しなければなりません。 S = R = “0 “の状態では、本来 Q は Q の逆であってほしいのに、出力 Q と Q がともに論理レベル “1” で HIGH になります。その結果、フリップフロップは Q と Q を制御できなくなり、この状態で論理 “1” になった後に 2 つの入力を再び HIGH にすると、次の切り替え図に示すようにフリップフロップは不安定になってアンバランスに基づいて不明のデータ状態に切り替わってしまうからです。

S-R フリップフロップのスイッチング図

sr flip flop switching diagram

sr flip flop switching diagram

このアンバランスにより一方の出力が他方より速くスイッチすることがあり、その結果として、FPGA は不安定になってしまいます。フロップは、どちらかの状態に切り替わると、必要な状態でない可能性があり、データの破損が発生します。

次に、単純な NAND ゲート SR フリップフロップまたは NAND ゲート SR ラッチは、セット入力に論理「0」、(LOW)状態を適用することで設定でき、リセット入力に論理「0」を適用することで再びリセットできます。 SR フリップフロップは、セット入力とリセット入力の両方が同時にアクティブになると、「無効」状態 (メタ安定) になると言われています。

上で見たように、基本的な NAND ゲート SR フリップフロップは、Q から Q、またはその逆に状態を反転または変更するのに、論理「0」入力を必要とします。 しかし、この基本的なフリップフロップ回路は、図のように S と R の入力にインバータとして接続された 2 つの NAND ゲートを追加することで、正の入力信号によって状態が変化する回路に変更することができます。

正極性の NAND ゲート SR フリップフロップ

NAND SR フリップフロップ

NAND ゲートと同様に、同じ構成で接続したクロスカップル NOR ゲートを使用してシンプルな 1 ビット SR フリップフロップも構築することが可能です。 この回路は、入力がアクティブHIGHで、両方の入力が論理レベル “1 “のときに無効な状態になることを除いて、上記のNANDゲート回路と同様に動作します(下図)。

NOR ゲート SR フリップフロップ

nor gate sr flip flop

nor gate sr flip flop

スイッチ デバウンス回路

edge-trigger フリップフロップには、きれいな信号推移が要求されます。 このタイプのセット・リセット回路は、機械的なスイッチのバウンスを除去するためのラッチとして実用化されています。 その名前が示すように、スイッチ バウンスは、機械的に動作するスイッチ、押しボタン、またはキーパッドの接点が操作されたときに発生し、内部のスイッチ接点は完全にきれいに閉じず、スイッチが押されたときに閉じる (または開く) 前にまず一緒に跳ねます。

これにより、デジタル カウンターなどの電子システムまたは回路が、長い単一のパルスではなく一連の論理パルスとして見て、正しく動作しないことがある、長さが 10 ミリ秒の一連の個別のパルスが発生します。 例えば、このバウンス期間中に出力電圧が乱高下し、1つのカウントではなく、複数の入力カウントを登録する可能性がある。 そこで、セット・リセット型のSRフリップフロップや双安定ラッチ回路を使用することで、このような問題を解消することができますので、以下にその例を示します。

SR フリップフロップ スイッチ デバウンス回路

sr flip flop switch debounce circuit

sr flip flop switch debounce circuit

現在の出力状態に依存することです。 セットボタンまたはリセットボタンが押された場合、出力は上記の方法で切り替わり、スイッチの機械的動作による不要な入力(バウンス)が追加されても、Qでの出力に影響はありません。

もう一方のボタンが押されると、最初の接触によってラッチの状態が変わりますが、追加の機械的なスイッチのバウンドは影響を与えません。 キーボードの「RETURN」キーからの複数の入力など、同じスイッチ接点からの追加の意図的な繰り返し入力を登録するために、SR フリップフロップは、たとえば 0.5 秒などの短い期間の後に自動的に RESET されます。

スイッチ バウンスの問題を克服するために特に作られた一般的な IC は MAX6816、シングル入力、 MAX6817、デュアル入力および MAX6818/8 入力スイッチ デバウサー IC です。

セット-リセット双安定ラッチは、タイミングまたは制御目的で指定された幅または時間のハイまたはローの単一出力パルスを生成する単安定 (ワンショット) パルス ジェネレーターとして使用することもできます。 74LS279は、4つのNAND型双安定ラッチを1チップに搭載しており、スイッチデバウンス回路やモノステイブル/アステイブルクロック回路を容易に構成することが可能な双安定ラッチICです。

Quad SR Bistable Latch 74LS279

74LS279 quad sr latch

74LS279 quad sr latch

Gate or Clocked SR Flip->

74LS279 Quad SR Bistable Latch 74LS279

74LS279 quad sr latchフリップフロップ

順序論理回路では、セットまたはリセット入力の状態に関係なく、特定の条件が満たされたときのみ状態が変化する双安定 SR フリップフロップが望まれる場合があります。 SR フリップフロップの各入力端子に 2 入力 AND ゲートを直列に接続することで、ゲート付き SR フリップフロップを作成することができます。 この追加された条件入力は「イネーブル」入力と呼ばれ、「EN」という接頭語が付けられています。 この入力を追加すると、Qの出力はHIGHのときだけ状態が変化するので、下図のようにクロック(CLK)入力としてレベルセンシティブに使用できるようになります。

Gated SR Flip-flop

gated SR flip flop

gated SR flip flop

Enable 入力 “EN” が論理レベル “0” であるとき、” (Enable) は論理レベル “0” になります。 2つのANDゲートの出力も、2つの入力SとRの状態に関係なく論理レベル “0 “になり(ANDゲート原理)、2つの出力QとQを最後に知られていた状態にラッチします。

このイネーブル入力は、クロックタイミング信号 (CLK) にも接続でき、フリップフロップにクロック同期を追加し、「クロック付き SR フリップフロップ」と呼ばれることもあります。

次回の順序論理回路のチュートリアルでは、RS フリップフロップに非常によく似た、もう 1 つのタイプの単純なエッジ トリガー フリップフロップである JK フリップフロップ (発明者 Jack Kilby の名にちなんで命名) を取り上げます。 JK フリップフロップは、汎用デバイスと考えられているため、すべてのフリップフロップ設計の中で最も広く使用されています。

JK フロップは、すべての設計で最も広く使用されています。

コメントを残す

メールアドレスが公開されることはありません。