フリップフロップ(シフトレジスタ)の
データスキュウ(筒抜け)の解説
ーーーーーーーーーーーーーーーー
数値(規格:スペック)としは、前の人の示したとおり。 フリップフロップの箱の中は、ゲートとかもっと分解してトランジスタになっています。 外から与えられたクロックという信号が確定する前に、D入力が変化してしまうと、結果としてどんなデータになるのかわからなくなります。微小時間といっても、nsec(10^(-9)オーダとかそれより早い時間の話)。 回路設計やさんは、内部でクロック信号の応答が、Dのデータ入力変化応答時間より極力早く確定するように、設計してます。(Q出力の変化も極端に早くならないようにという配慮もあるような無いような:これを遅くすると、早い周波数で動かなくなるのでバランス難しい)
トランジスタレベル設計者の配慮により、クロック同期の回路同士なら何とかなる期待ができる。
フリップフロップを、縦続接続(というのかな初段のQを、次段のD入力につなぐ)場合、期待値は、クロック単位で初段のD入力が、ひとつづつずれていくことを期待します。 次段のD入力のホールド時間が、初段のQ変化の遅れ時間によって満足できるなら、この動作が保証できるわけです。 初段のQ出力は、クロック変化後に起きるのだから、次段のクロック変化前のD入力のホールド時間は守られると期待が大きい。
ところが、フリップフロップのクロックが、厳密にいうと(nsec前後の意味)で、同一でないと、ホールド時間が保障できなくなってしまいます(1クロックで、2段3段すっ飛ばしてしまうような例)。 これを防ぐために、複数のフリップフロップのクロックが厳密に同時:無理やり後ろが早く前が遅いというような細工をすることだってあります(配線長の細工をするとか、極端に大きな場合は、途中でクロックドライバをいれて、時間差を無理に作るとか)。
もちろんフリップフロップが違いもの(回路構成が違ってセットアップホールド時間やデータホールド時間が微妙に違う)だとすると、単純につなぐと、うまくいかないかもしれないよ。クロック信号の負荷が重くて、立ち上がりが急峻でなくなった場合、何ボルトで、Hレベルになったという認識が、個々のトランジスタ毎にばらつくので、Hになったというタイミングがずれることがあります。だから、全回路が同時にLH偏移ができるように、強力なクロックドライバでクロック波形を急峻にします。回路図みて、論理的に不必要なインバータがなんかいっぱい入っていると感じたら、そういう話かも。
--------------------
前の方が参照先示してくれてるものは、アナログスイッチによるフリップフロップの回路が示されていて、アナログスイッチという遅い回路が、D入力につながっているので、変化が遅いので、クロック確定まで余裕が取りやすい構成になっています。
解りやすい原理的な回路ですので、よく見ると理解しやすいと思います。
PR