So entwerfen Sie ein linkes Schieberegister

Ich möchte eine Schaltung, in der ich die folgende Sequenz bekomme:

0001,
0010,
0100,
1000,
0001

Ich weiß, dass es ein 4-Bit-Schieberegister ist. Aber was ist mein Ansatz, um diese Schaltung zu entwerfen?

Antworten (2)

Ein Ansatz besteht darin, die Schaltung als regulären Zwei-Bit-Binärzähler unter Verwendung eines Paars Flip-Flops zu entwerfen. Dann setzen Sie eine Schaltung auf die Ausgänge, die die vier Zählerzustände in die gewünschte Ausgangssequenz dekodiert. Solche Dekodierungsfunktionen existieren tatsächlich bereits als eigenständige Chips.

Hier ist die zugehörige Zustandstabelle:

Binär 00 -> 0001 dekodieren

Binär 01 -> 0010 decodieren

Binär 10 -> 0100 dekodieren

Binär 11 -> 1000 decodieren

Binär 00 -> 0001 dekodieren

.....

[usw]

Es gibt andere Möglichkeiten, Ihr rezirkulierendes Schieberegister zu erstellen, aber sie haben oft das Problem, dass unerwünschte Zustände in den Ausgangsstrom gelangen, sodass mehr als ein Bit gleichzeitig gesetzt wird. Der Binärzähler gefolgt von einem Decoder hat dieses Problem nicht.

Vielleicht finden Sie es interessant zu wissen, dass es einen allgemein erhältlichen Chip gibt, der den Zähler- und Decoderbetrieb in einem einzigen IC-Chip durchführt. Der CD74HC4017 ist einer, der dies mit 10 Ausgangspins tut.

Ich denke, diesen Decodertyp können wir mit Logikgattern herstellen. Ist es möglich, dies mit Flip Flop zu machen?
@rAsHmI - Sie können den 2-Bit-Binärzähler aus zwei Flip-Flops machen. Und ja, Sie können Logikgatter verwenden, um den Decoder zum Funktionieren zu bringen, obwohl es genauso einfach sein kann, einen Chip wie einen 74HC138 oder 74HC139 zu verwenden, um den Decoder in einem IC-Chip zu machen.

Schreiben Sie Ihre Wahrheitstabelle wie gewohnt auf, dh

     Current    Next
    A B C D | A' B' C' D'
    0 0 0 1 | 0  0  1  0
    0 0 1 0 | 0  1  0  0
    0 1 0 0 | 1  0  0  0
    1 0 0 0 | 0  0  0  1

Bedeutung A' = D , B' = C , C' = D, D' = A

Sie haben jetzt also die booleschen Gleichungen, die Ihr System definieren, und können jetzt Ihre Schaltung entwerfen. Da Sie möchten, dass Ihre Signale A, B, C und D nur an Taktflanken zugewiesen werden, würden Sie dann jedes Ihrer Ausgangssignale mit dem Ausgang verbinden eines Flipflops verbinden Sie dann den Eingang des Flipflops mit der entsprechenden logischen Gleichung. In diesem Fall würden Sie nur ein Schieberegister erhalten.