Altifigence Academy

19 / 63 · 概念

記憶の始まり:フィードバックと SR・D ラッチ

交差結合の二つの安定状態を理解し、SR の禁止入力と D ラッチの透過期間を説明します。

現在の入力だけでは説明できない出力

スイッチを短く押して離した後も、その事実を覚えるには状態が必要です。組合せ回路の出力は現在の入力だけで決まりますが、記憶回路では以前の状態も次の結果に影響します。

二つの NOR を交差結合した active-high の SR ラッチラッチ 制御信号が有効な間は入力に追従し、無効な間は値を保持する記憶素子です。エッジでのみ記憶するフリップフロップとは異なります。には、次の関係が成り立ちます。

Q=R+Q‾‾,Q‾=S+Q‾Q=\overline{R+\overline Q},\qquad \overline Q=\overline{S+Q}

S=R=0 では、(Q,Q̅)=(1,0) と (0,1) がともに安定解です。フィードバックが以前選ばれた状態を維持します。ただし式で Q̅ と書いても、禁止条件では実際の出力が Q の補数にならないことがあります。

SR安定後の Q意味
00以前の Q保持
101セット
010リセット
11両 NOR 出力とも 0通常動作では使わない条件

S=R=1 を同時に解除すると、どの状態に落ち着くかはデジタルの真理値表真理値表 可能な入力組合せをすべて列挙し、各組合せの出力を記した表です。時間に伴う変化は波形で別途確認します。 詳しく見るだけでは保証できません。「禁止」はその入力列が存在できないという意味ではなく、期待する記憶動作が保証されないので設計で避けるという意味です。NAND で作る active-lowactive-low 信号が 0 のときに要求や機能が有効になる規則です。末尾の _n は一般的な命名慣習で、実際の動作は仕様で定めます。 詳しく見る の SR ラッチでは、入力極性と禁止組合せが異なります。

D ラッチはデータと更新許可を分けます

正常なラッチ素子の機能を理想化すると、enable=1 で Q は D に追従し、enable=0 では以前の Q を保持します。

Q+={DE=1QE=0Q^{+}=\begin{cases}D & E=1\\ Q & E=0\end{cases}

S=EDS=ED、R=ED‾R=E\overline D という論理式で、SR 動作との関係を理解できます。ただし、遅延のある任意のゲートを組み立てて安全なラッチを得ることは別問題で、データ遷移と enable 終了のタイミング条件が必要です。

CLK を enable と読み、D ラッチの透過期間を確認

両方の q は 0 から始まると仮定します。D ラッチは CLK=1 の間 D に追従し、CLK=0 では保持します。D フリップフロップはクロックの 0→1 遷移でのみ D を取り込みます。

左側のラッチの CLK を E として読んでください。CLK=1 を保って D を何度も変えると、Q も変わり続けます。CLK を 0 に下げた後は、D を変えても保持します。右側のフリップフロップフリップフロップ 指定されたクロックエッジで入力を記憶し、次のエッジまで保持する素子です。入力はセットアップ・ホールド条件を満たす必要があります。 詳しく見るは次の講義で比較します。

すべてのフィードバックが記憶素子になるわけではありません

一つのインバータ否定 0 を 1 に、1 を 0 に変える NOT 演算です。式の上の線は、その下の式全体に NOT を適用することを表します。 詳しく見るの出力を自分の入力につないでも、正しい 1 ビットメモリにはなりません。Q=Q‾Q=\overline Q には 0/1 の解がありません。記憶素子には安定状態・入力制御・タイミング条件が必要です。

参考資料:MIT OpenCourseWare — Sequential Logic

自分で考えてみましょう

初期 Q=0 の正レベル D ラッチに、(E,D) を (0,1)→(1,1)→(1,0)→(0,0)→(0,1) の順に与えます。各段階で安定した Q は何ですか。

解説を見る

0→1→0→0→0 です。E=1 の二段階では D に追従し、最後の D=1 は E=0 なので記憶されません。これはタイミング条件を満たした理想動作の計算です。

選択はこのブラウザに適用されます。フッターからいつでも変更できます。