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