誰かがこれを手伝ってくれることを願っています。フリップフロップの効用のポイント、状態を保存するポイントを取得できません。以前の状態を保存したい場合は、入力をそのまま維持してみませんか。一般に、なぜこのようになっていないのですか。たとえば、入力=出力を使用してゲートを使用しないでください。または、出力を提供した後、入力をゼロにして他の目的に使用し、出力を維持できるという事実のために、フリップフロップがメモリストレージで使用されていますか?
3 に答える
フリップフロップの有用性は、状態を保存して安定させることです。
「input=output」の作成に関するステートメントでは、入力行のすべての変更が必ずしもフリップフロップの入力であるとは限らないことを理解する必要があります。また、出力は前の出力と現在の入力の操作である可能性があり、フリップフロップが使用される場所に保存する必要がある前の出力が必要です(レジスタはフリップフロップのグループです)。
フリップフロップでは、クロックを使用して動作を同期します。フリップフロップのタイプ、つまりエッジトリガーまたはレベルトリガーに応じて、フリップフロップの入力はその出力に影響を与えます。例:レベルトリガーフリップフロップの場合、フリップフロップの入力は、クロックがハイのときにのみ出力に影響します。
したがって、「入力をゼロにして出力を維持できる」という質問に対しては、出力を維持するのに役立つだけでなく、出力を維持する場合もそうです。クロックが低い場合、入力の変化は出力に影響を与えません。
フリップフロップは、1ビットの情報を格納するために使用されます。これらは、操作対象の値(32/64ビット値)を格納するレジスタで一般的に使用されます。フリップフロップには通常、イネーブルがあります。イネーブルがオフになると、フリップフロップは状態を維持します(つまり、1ビットの情報を格納します)。イネーブルがオンになり、次のクロックエッジ(正または負)で、フリップフロップの出力は、フリップフロップのタイプと入力に基づいて変化します。
たとえば、T(トグル)フリップフロップでは、T=1およびEnable=1の場合は常に、出力状態が反転(1から0または0から1)されます。したがって、Enable = 0である限り、Tの値が何であれ、出力は変化せず、フリップフロップは同じ状態を維持し続けます。enableが1に変更され、T = 1の場合、次のクロックエッジで、フリップフロップは状態を変更します(1から0またはoから1)。
レジスタを含むより実用的な例。32ビットレジスタがあるとしましょう。各フリップフロップは1ビットを格納するため、32個のフリップフロップがあります。32ビット値がレジスタにロードされると、フリップフロップイネーブルがオンになり、入力に応じてフリップフロップの状態が設定されます。次に、イネーブルがオフになり、レジスタに他の値がロードされるまで、フリップフロップは状態を維持します。
これは正解です(質問からの引用):
...出力を与えた後、入力をゼロに設定しても出力を維持できるという事実のため
さらに重要なことに、FFのファーストクラスで遭遇する基本的なSR FFよりも複雑なFFには、データ入力を確認するタイミングをFFに通知するイネーブル入力があります。 enableがオフの場合、出力は変更されません。
これにより、入力の値に関係なく、出力に値を保持することができます。