マスタースレーブフリップフロップの目的は何ですか?



What Is Purpose Master Slave Flip Flop



解決:

の問題 シンプルなJKラッチ 競合状態です。

競合状態は、クロックがハイである限り、伝搬遅延がパルス周期よりも小さい場合、出力が0と1の間で切り替わるというものです。J = K = 1。



値が不確定になる可能性があるため、これは望ましくありません。 2つのJKラッチのマスタースレーブ構成により、このレースの問題が解消されます。

単純なポジティブエッジでトリガーされるマスタースレーブJKフリップフロップは、2つのカスケードラッチで構成されます。1つはネガティブラッチ、もう1つはポジティブラッチです。



ここに画像の説明を入力してください

ラッチは レベルトリガー 。時計が 低い 、最初のラッチは透過モードで、2番目のラッチはホールドモードです。時計が 高い 、最初のラッチはホールドモードで、2番目のラッチは透過モードです。これらは一緒になって、ポジティブエッジでトリガーされるマスタースレーブJKフリップフロップとして機能します。

クロックが0-> 1に移行すると、最初のラッチが透過モードからホールドモードに移行し、同時に2番目のラッチがホールドモードから透過モードに移行します。つまり、最初のラッチの出力 直前 その立ち上がりクロックモーメントは、2番目のラッチによってサンプリングされたデータになります。 2番目のラッチが透過モードになっているため、このデータはクロックがハイになった後のQで利用できます。クロックがハイになると、最初のラッチの入力の変化は、現在ホールドモードになっているため、出力Qに反映されなくなります。前のケースでは、クロックがハイでJ = K = 1の場合、出力はクロックがローになるまでトグルし続けます。この場合、この問題は発生しなくなりました。




あらゆる種類のマスタースレーブフリップフロップは、通常、正のレベルで制御されるフリップフロップと負のレベルで制御されるフリップフロップの組み合わせです。

適切に組み合わせると、エッジ制御されたフロップが得られます。

2つのレベルではなく、1つのエッジによって制御されるシーケンシャルロジックを設計する方が簡単です。レベルでトリガーされたフロップのセットアップ時間とホールド時間に違反しないように、また出力が必要なときに変更されるように、レベル設計ロジックのクロックをオーバーラップしないように設計する必要があります。これまで、ロジック設計は、特にIC設計でこのように行われてきました。 1つのトランジションを処理するだけで、エッジトリガーフロップのデザインで2レベルのデザインとタイミングへの変換の多くを処理する方がはるかに簡単です。


切り替えにJKの代わりにマスタースレーブを使用する主な利点は、qが変化してクロックパルスを待機するときに、マスタースレーブが出力を変更できないことです。これにより、「レース」と呼ばれる誤ったトリガーが防止されます。これはフリップフロップについてのかなり良い記事です:https://www.electronics-tutorials.ws/sequential/seq_2.html