18 Schieberegister -...

Preview:

Citation preview

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-1

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

18 Schieberegister • In Schieberegistern wird die Eingangsinformation

am Schiebeeingang SE in einer Kette von Flipflops bei jeder Taktflanke eingelesen und weiter gescho-ben. Sie erscheint schließlich nach n-Takten am Schiebeausgang.

Serieller Serieller Eingang 5 Stufen Ausgang 1. Takt

2. Takt

3. Takt

4. Takt

0

0

0 0 1 1 0

1 0 0 1 1

0 1 0 0 1

1

0 1 1 00

• Die Schieberichtung ist durch die Wertigkeit der Bits gegeben:

• Rechtsschieben: vom MSB zum LSB • Linksschieben: vom LSB zum MSB

• Im 8-stufigen Schieberegister SN74xx91 ist der Schiebeeingang die logische Verknüpfung SE = A∧B. Der Schiebeausgang erscheint auch invertiert.

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-2

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

18.1 Entwurf eines 3-Bit Serien-Parallelumsetzers • Dient in der Datenkommunikation zur Parallelisierung eines seriellen Datenstroms ( 1 Bit→ n-Bit).

Die Daten werden in den Schiebeeingang SE eingelesen und erscheinen an den Registerausgängen REG.

• Das Signal X steuert, ob geschoben und die parallele Ausgabe gesperrt wird (X='0'), oder ob das Schieben gesperrt wird und dafür die Ausgabe freigegeben wird (X='1'). Für die Freigabe werden Torschaltungen aus UND-Gattern benötigt.

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-3

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

VHDL-Beschreibung eines N-Bit Serien-Parallel Umsetzers

• Parametrisierte Registerbreite durch eine generic-Anweisung. • 2 Prozesse: - Taktflankengesteuertes internes Schieberegister INTREG,

- durch internes Register und Steuersignal X gesteuertes Schaltnetz. • Schieben innerhalb einer for-Schleife. Der Schleifenindex I muss nicht deklariert werden. • Es wird vom LSB zum MSB, also links geschoben: INTREG(I) <= INTREG(I-1)

entity SRG_NBIT is generic(N : natural :=3); -- Anzahl der Bits, voreingestellt: 3 port( CLK, SE, RESET, X: in bit; REG: out bit_vector(N-1 downto 0)); -- N Register Flipflops end SRG_NBIT;

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-4

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK architecture VERHALTEN of SRG_NBIT is signal INTREG: bit_vector(N-1 downto 0); begin P1: process(CLK, RESET) -- Schieberegister begin if RESET='1' then INTREG <= (others => '0') after 10 ns; elsif (CLK='1' and CLK'event) then -- ansteigende Flanke if X='0' then for I in N-1 downto 1 loop -- zum MSB (links) Schieben INTREG(I) <= INTREG(I-1) after 10 ns; end loop; INTREG(0) <= SE after 10 ns; -- Schiebeeingang als LSB end if; end if; end process P1; P2: process(X, INTREG) -- Freigabe des Ausgangssignals begin if X='1' then REG <= INTREG after 10 ns; else REG <= (others=>'0') after 10 ns; end if; end process P2; end VERHALTEN;

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-5

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

Simulation des 3-Bit Serien-Parallel Umsetzers

• Alle Flipflops werden zum gleichen Zeit-punkt getaktet.

• Die Übernahme in die Flipflops erfolgt nur bei X='0'.

• Eine korrekte Funktion des Schieberegisters ist nur dadurch gegeben, dass die Signalverzö-gerung tpLH län-ger ist, als das Entscheidungs-intervall tE.

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-6

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

18.2 Entwurf eines Parallel-Serien Umsetzers Schieberegister werden auch als Parallel-Serien Umsetzer (n-Bit→ 1-Bit) eingesetzt. Dies erfordert einen Parallel-Ladeeingang E und einen Schiebeausgang (SA):

• Die parallelen Daten liegen am Eingang E an. • Für X='0' sind die Dateneingänge gesperrt, für X='1' sind sie freigegeben. • Alle Stufen sind gleichartig aufgebaut . Daher muss nur eine Stufe entworfen werden.

Entwurf der Stufe 1:

X Q0 E1 D1

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

2

D1:

X

Q0

E1

¬ X ¬ X

¬ Q0

¬E1

7

0 4 5

6 3

1

X

E1

Q0

Schaltnetz D1

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-7

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

Schaltplan eines 3-Bit Parallel-Serien Umsetzers

• Die Übergangsschaltnetze zwischen jeweils benachbarten Stufen sind identisch • In das niederwertigste Bit (LSB) wird eine '0' hineingeschoben.

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-8

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

VHDL-Entwurf entity PAR_SER is generic(N : natural :=3); -- Anzahl der Bits, voreingestellt: 3 port( CLK, RESET, X: in bit; E: in bit_vector(N-1 downto 0); SA: out bit); -- Schiebeausgang end PAR_SER; architecture VERHALTEN of PAR_SER is signal INTREG: bit_vector(N-1 downto 0); begin P1: process(CLK, RESET) -- Schieberegister begin if RESET='1' then INTREG <= (others => '0') after 10 ns; elsif (CLK='1' and CLK'event) then -- ansteigende Flanke if X='0' then for I in N-1 downto 1 loop -- zum MSB (links) Schieben INTREG(I) <= INTREG(I-1) after 10 ns; INTREG(0) <= '0' after 10 ns; -- LSB auf '0' end loop; else INTREG <= E after 10 ns; -- Daten laden end if; end if; end process P1; SA <= INTREG(N-1); -- Schiebeausgang end VERHALTEN;

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-9

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

Simulation des Parallel-Serien Umsetzers

1 11010

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-10

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

18.3 Rückgekoppelte Schieberegister • Wenn der Ausgang eines Schieberegisters auf dessen Ein-

gang zurück gekoppelt wird so läßt sich das im Schiebere-gister gespeicherte Bitmuster zyklisch verschieben. Es kann an den Ausgängen abgegriffen werden. Zuvor muss das Bitmuster jedoch in das Schieberegister geladen wer-den.

4-Bit Pseudozufallsmuster Q3 Q2 Q1 Q0 Q/h Y 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0

0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0

0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0

1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1

1 2 4 9 3 6 D A 5 B 7 F E C 8 1

0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0

• Wenn die Rückkopplung über ein Schaltnetz erfolgt, so lassen sich spezielle Bitmuster generieren. Z.B. bewirken geeignet eingesetzte XOR-Gatter in n-Bit Schieberegistern eine bestimmte Reihenfolge von Pseudozufallszahlen.

• Bei einem 4-Bit Pseudozufallsgenerator werden die Bitstel-len 2 und 3 XOR verknüpft. Der auf diese Weise aufgebau-te Pseudozufallsgenerator darf nicht mit "0000" initiali-siert werden da sich in diesem Fall das Bitmuster nicht ändern würde.

Bitlänge 4 6 7 8 9 10 11 12XOR-verkn.

Augangsindices2,3 4,5 3,6 2,4

6,7 4,8 6,9 8,10 5,7

10,11

Prof. Dr. J. Reichardt Prof. Dr. B. Schwarz

DIGITALTECHNIK 18-11

Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK

UND INFORMATIK

Schaltung und Simulation eines 4-Bit Pseudozufallsgenerators

Recommended