0

バレルシフタ/ローテーターを組み合わせて作りました。今、私はエッジトリガーのものを作らなければなりません。制御信号を使用して、エッジトリガーシフター/ローテーターに1ビット右にシフトするように指示する場合、制御を変更しないと、出力は最終的に0になりますか?

シフター/ローテーターとDレジスターを組み合わせて設計することになっています。なぜDレジスタが必要なのですか?

4

2 に答える 2

1

私が理解していることから、シフトしているだけの場合、ビットは落ち、ゼロは空のビット位置を埋めます。回転している場合、ビットが落ちることはなく、代わりにもう一方の端に固定されます。これは、ビットABCDを1ビット位置で2回ローテーションしたものです:ABCDDABCCDAB。コントロールが回転で動かなくなった場合、ビットは循環し続けることがわかります。これがシフトです1ビット位置の3回:ABCD 0ABC 00AB 000Aであり、コントロールが変更されていない場合、このケースは最終的にゼロになることがわかります。Dレジスタの使用に関しては、これが私の推測です。レジスタはメモリ要素であり、ビット値を格納する必要があるため、Dレジスタは、その要素を格納するためのDフリップフロップで構成されるレジスタであり、D以降はDフリップフロップを使用します。フリップフロップはエッジトリガーデバイスです。JKフリップフロップを使用してメモリ要素を格納するJKレジスタを使用することもできます。お役に立てれば。

于 2011-03-19T19:33:40.203 に答える
1

出力が入力としてフィードバックされないため、最終的に0にはなりません。組み合わせシフター/ローテーターはそれに敏感ではないので、クロックの立ち上がりエッジに敏感を提供するためにDレジスタが必要です。立ち上がりエッジで、Dレジスタは保持しているものをすべてシフター/ローテーターにダンプします。

于 2011-04-16T19:47:54.717 に答える