Digitaltechnik 2 - BUAS-TI · PDF file1.3.5 Subtrahierer (Subtractor) ... D e D1 e D2 e D3...
-
Upload
trinhkhanh -
Category
Documents
-
view
219 -
download
1
Transcript of Digitaltechnik 2 - BUAS-TI · PDF file1.3.5 Subtrahierer (Subtractor) ... D e D1 e D2 e D3...
Digitaltechnik 2Grundschaltungen der Digitaltechnik
BFH-TI-Biel/Bienne
(Version v1.1d)
Roland Schafer
Inhaltsverzeichnis
1 Kombinatorische Schaltungen 11.1 Multiplexer/Demultiplexer . . . . . . . . . . . . . . . . . 1
1.1.1 Multiplexer (Multiplexers) . . . . . . . . . . . . . 21.1.2 Demultiplexer (Demultiplexers) . . . . . . . . . . 3
1.2 Komparatoren (Comparators) . . . . . . . . . . . . . . . 41.3 Rechenschaltungen (Arithmetic Circuits) . . . . . . . . . 6
1.3.1 Halbaddierer (Half Adder) . . . . . . . . . . . . . 61.3.2 Volladdierer (Full Adder) . . . . . . . . . . . . . 61.3.3 4-Bit Parallel-Addierer (Carry-Ripple-Adder) . . 71.3.4 Serienaddierer (Serial Adder) . . . . . . . . . . . 81.3.5 Subtrahierer (Subtractor) . . . . . . . . . . . . . 8
2 Sequentielle Schaltungen 102.1 Register (Registers) . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Schieberegister (Shift Registers) . . . . . . . . . 112.1.2 Beispiel: Zwei-Richtungs-Schieberegister mit syn-
chroner Paralleleingabe . . . . . . . . . . . . . . 142.2 Zahler (Counter) . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Ubersicht . . . . . . . . . . . . . . . . . . . . . . 152.2.2 Beispiele von Zahlern . . . . . . . . . . . . . . . 182.2.3 Frequenzteiler . . . . . . . . . . . . . . . . . . . . 202.2.4 Universalzahler (Universal Counter) . . . . . . . 222.2.5 Aufzahlung weiterer gebrauchlicher Zahler . . . . 23
i
Kapitel 1
KombinatorischeSchaltungen
1.1 Multiplexer/DemultiplexerMultiplexer sind allgemein Funktionseinheiten, die Nachrichten von ei-ner Gruppe von Nachrichtenkanalen an eine andere Gruppe von Nach-richtenkanalen ubergeben. Man unterscheidet zwischen konzentrieren-den Multiplexern, kurz Multiplexer (MUX) und expandierenden Multi-plexern, Demultiplexer (DEMUX) genannt.Anwendungsbereich: Datenabfrage, Parallel-Serien- und Serien-Parallel-Umsetzung sowie als Festwertspeicher.
1
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 2
1.1.1 Multiplexer (Multiplexers)
4Bit−MUX
eD0
eS1
eS2
aD
eD1 eD2 eD3
enable
Abbildung 1.1: Symbol 4-Bit zu 1-Bit Multiplexer. Je nach Beschal-tung der Steuereingange (eS1,eS2) wird wahlweise eines der Eingangs-signale (eD0, eD1, eD2, eD3) an den Ausgang aD gelegt. Der zusatzlicheEingang ’enable’ lasst die Steuerung aktivieren bzw. deaktivieren.
��
��
��
��
�� ��
��
��
��
1
1
& & & &
≥ 1
eD0 eD1 eD2 eD3
eS1
eS2
enable
aD
Abbildung 1.2: Schema 4-Bit zu 1-Bit Multiplexer
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 3
1.1.2 Demultiplexer (Demultiplexers)
4Bit−DEMUX
eD
aD0 aD1 aD2 aD3
eS2
eS1
enable
Abbildung 1.3: Symbol 1-Bit zu 4-Bit Demultiplexer. Je nach Beschal-tung der Steuereingange (eS1,eS2) wird das Eingangssignal eD wahlwei-se an einen der Ausgange (aD0, aD1, aD2, aD3) gelegt. Der zusatzlicheEingang enable lasst die Steuerung aktivieren bzw. deaktivieren.
��
��
��
��
��
��
�� ����
1
1
& & & &
eS1
eS2
&
aD0 aD1 aD2 aD3
eD
enable
Abbildung 1.4: Schema 1-Bit zu 4-Bit Demultiplexer
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 4
1.2 Komparatoren (Comparators)
Ein Komparator (auch Vergleichsschaltung genannt) in der Digitaltech-nik ist ein elektronischer Schaltkreis der zwei digitale Werte (z.B. Aund B) vergleicht. Dabei gibt es prinzipiell drei mogliche Ausgange desVergleiches: A > B, A = B oder A < B.
Abbildung 1.5 zeigt das Symbol und den moglichen Aufbau eines 1-BitKomparators.
��
�� ��
��1
1comparator1bit−
&& =A>BBA
A=BA<BA<BA=BA>BABAbbildung 1.5: Symbol und Schema eines 1-Bit Komparators. Es wirdnur derjenige Ausgang logisch ’1’ , fur den die entsprechende Beziehungzwischen den Eingangssignalen A und B erfullt ist.
Am einfachsten ist die Herleitung der drei Booleschen Funktionen zurBeschreibung der Ausgange mit Hilfe einer Wahrheitstabelle, falls nurWerte mit einer kleinen Anzahl von Stellen verglichen werden muss. Eineandere Moglichkeit ist der Stellenweise Vergleich (siehe Abb. 1.6). Kom-paratoren fur Vergleiche mit grossen Stellenzahlen lassen sich als Kaska-denaufbau von kleineren Komparatoren mit zusatzlichen Ubertragsbitsrealisieren (e(A > B), e(A = B), e(A < B)) (siehe Abb. 1.7).
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 5
�� ��
����
�� ��
�� ��
��
�� ��
�� ��
��
��
�� ��
�� ��
��
��
��
A=B A>BA<B
& =
=& =&
=&
&
& &
& &
& &
≥ 1 ≥ 1
A3
A2
A1
A0
B3
B2
B1
B0
Abbildung 1.6: 4-Bit Komparator mit stellenweisem Vergleich.
A7 A6 A5 A4 A3 A2 A1 A0e(A=B)e(A<B)e(A>B)010 e(A=B)e(A<B)e(A>B) A>BA=BA<Ba(A>B)a(A=B)a(A<B) a(A<B)a(A=B)a(A>B)B4B5B6B7 B0B1B2B3
Abbildung 1.7: Aufbau 8-Bit Komparator aus zwei 4-Bit Kompara-toren. Zu beachten ist die fixe Eingangsbeschaltung (0, 1, 0) des 4-BitKomparatoren fur die hoherwertigen Bits (links).
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 6
1.3 Rechenschaltungen (Arithmetic Circuits)
1.3.1 Halbaddierer (Half Adder)
Abbildung 1.8: Halbaddierer: a) Schema, b) Symbol, c) Wahrheitsta-belle.
1.3.2 Volladdierer (Full Adder)
Abbildung 1.9: Volladdierer: a) Schema, b) Symbol, c) Wahrheitsta-belle.
Ein Volladdierer kann auch einfach aus 2 Halbaddierern und einemODER-Gatter aufgebaut werden.
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 7
1.3.3 4-Bit Parallel-Addierer (Carry-Ripple-Adder)
Abbildung 1.10: 4-Bit Parallel-Addierer .
Nachteil: Das Carry-Bit muss im ’worst case’ durch die ganze Schal-tung weitergegeben werden, was zu einer Verzogerung fuhrt. Um dieVerzogerung moglichst klein zu halten wurden verschiedene Variantenentwickelt. Hier eine Auflistung:
• carry-look-ahead-adder
• carry-skip-adder
• carry-select-adder
• conditional-sum-adder
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 8
1.3.4 Serienaddierer (Serial Adder)
��������
��������
Q1D
QC1
PISO−Register
PISO−Register
SIPO−Register
clk
FullAdder
a0a1a2a3
S0S1S2S3
b0b1b2b3
Abbildung 1.11: Serienaddierer realisiert mit einem Volladdierer.
Spezielle Addierer Prominente Vertreter von speziellen Arten vonAddierern sind Dezimaladdierer und BCD-Addierer. Sie konnen z. B.mit Hilfe von oben vorgestellten Parallel-Addierern und vor- sowie nach-geschalteten Code-Umsetzern (coder) realisiert werden.
1.3.5 Subtrahierer (Subtractor)
Subtrahierer konnen analog zu Addierern als Halbsubtrahierer oderVollsubtrahierer realisiert werde (Hausaufgabe).
In der Praxis ist es ublich einen Parallel-Subtrahierer uber die Additi-on des Komplements (siehe Skript Digitaltechnik, 2. Kapitel) mit Hilfeeines Parallel-Addierers aufzubauen.
Abbildung 1.12 zeigt links eine Eingangsbeschaltung fur das 2. Argu-ment (b) bei dem wahlweise eine Addition (unverandertes Argument)oder eine Subtraktion (invertiertes Argument mit carry-in (Cin = 1)durchgefuhrt werden kann. Das carry-out (Cout) des Parallel-Addieres
KAPITEL 1. KOMBINATORISCHE SCHALTUNGEN 9
zeigt dann an, ob das Resultat als negative Zahl im 2-er Komplement(Cout = 0) oder als positive Zahl (Cout = 1) interpretiert werden muss.
= 1
= 1
= 1
b0
b1
b2
b3b′3
b′1
b′0
b′2
= 1
Cout
Cin
4Σ
S3
S2
S0
S1
b′0
b′1
b′2
b′3
a3
a2
a1
a0
Cinm
0 = add1 = substract
Abbildung 1.12: Eingangsbeschaltung eines 4-Bit Paralleladdierers(links) zur Benutzung als Addierer/Subtrahierer. Mit dem zusatzlichenSignal m wird angegeben, ob eine Addition oder eine Subtraktion durch-gefuhrt werden soll. m wird als carry-in (Cin) in den Parallel-Addierergefuhrt.
Kapitel 2
Sequentielle Schaltungen
2.1 Register (Registers)
Register dienen zur Speicherung von Informationen und sind hauptsachlichaus D-FlipFlops oder JK-FlipFlops aufgebaut. Normalerweise wird als’Register’ eine Speichereinheit bezeichnet, wo die Informationen paralleleingelesen und auch wieder parallel ausgelesen werden konnen. Sonstspricht man von Schieberegistern. In Figur 2.1 ist das Logiksymboleines N-Bit Register mit zusatzlichem Steuereingang zur Aktivierung(en=enable) dargestellt. Die dazugehorige Wahrheitstabelle ist in Ta-belle 2.1 gegeben.
10
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 11
clear
N
clk
NRegister Qndata
en
Abbildung 2.1: Logiksymbol N-Bit Register mit ’enable’ (en) Eingang
operating mode en Qn[k +1]
parallel load 1 data
hold (do nothing) 0 Qn[k]
Tabelle 2.1: Wahrheitstabelle N-Bit Register mit ’enable’ (en) Eingang
2.1.1 Schieberegister (Shift Registers)
Nachfolgend werden die vier Grundtypen von Schieberegistern darge-stellt. Dabei wurde zur Vereinfachung der ’enable’ Eingang weggelassen.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 12
SISO: Serial-In, Serial-OutAnwendung: Verzogerungsglieder oder Puffer (buffer) bei asynchronenProzessen.
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
��
�� ��
��
��
��
data input data output
Clear
Clk
Abbildung 2.2: 4-Bit SISO-Shift Register.
PIPO: Parallel-In, Parallel-Out
Bermerkung: Normalerweise als Register und nicht als Schieberegisterbezeichnet.Anwendung: Zwischenspeicherung von Daten.
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
��
�� ��
�� ��
��
Clear
Clk
D0 D1 D2 D3
Q2Q1Q0 Q3
Abbildung 2.3: 4-Bit PIPO-Shift Register.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 13
SIPO: Serial-In, Parallel-Out
Anwendung: seriell zu parallel Umsetzer.
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
Q1D
C1QCLR
��
�� ��
�� ��
��
Clear
Clk
data input
Q0 Q1 Q2 Q3
Abbildung 2.4: 4-Bit SIPO-Shift Register.
PISO: Parallel-In, Serial-Out
Anwendung: parallel zu seriell Umsetzer.
Q1D
C1QCLR
Q1D
QC1
CLR
Q1D
QC1
CLR
shiftwrite/
��
��
��
��
��
�� ��
��
��
����
��
clear
clk
Q1D
C1QCLR
data output
&
&
&
&
&
&
&
&
&
&
D0 D1 D2 D3
Abbildung 2.5: 4-Bit PISO-Shift Register.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 14
2.1.2 Beispiel: Zwei-Richtungs-Schieberegister mitsynchroner Paralleleingabe
�� ����������������
��������������
��������������
����������������
������
�� ����
��
�� ��
��
��
��
��
��
��
��
Clear
Clk
Q1D
C1
Q1D
C1
Q1D
QC1
Q1D
QC1
Q
1
1
Q CLRCLRCLRCLR
≥ 1≥ 1 ≥ 1
&&&& &&&& &&&& &&&&
≥ 1
Q2Q1Q0 DP1DP0 DP2 DP3 Q3
DSRDSL
S1
S2
Abbildung 2.6: Zwei-Richtungs-Schieberegister mit synchroner Paralleleingabe.Linksschieben bei S2 = 1 und S1 = 0,Rechtschieben bei S2 = 0 und S1 = 1,Paralleleingabe bei S2 = 1 und S1 = 1.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 15
2.2 Zahler (Counter)
Zahler sind digitale Schaltungen die Impulse zahlen, z.B die positiveFlanke eines Clock Signals. Sie konnen als einfache endliche Automaten(FSM) betrachtet werden. Zahlsequenzen werden oft mit Zustandsdia-grammen angegeben.
2.2.1 Ubersicht
Zahler werden mit einfachen Gattern und FFs aufgebaut. Ublicherweisewerden dazu D-FFs oder JK-FFs verwendet. Eine wichtige Beschal-tungsart ist die als Untersetzer FF, auch bekannt als T-FFs (siehe Abb.2.7). Damit wird ein Takthalbierer realisiert.
D-FFs und JK-FFs als Untersetzer-FFs
CT
Q
Q
��
��Q1D
QR
C1C
1
C1
Q1J
1K QR
C
Abbildung 2.7: D-FF und JK-FF als Untersetzer-FF. Symbol einesUntersetzer-FFs (rechts).
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 16
Synchrone Zahler (Synchronous Counters)
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
�� ��
����
����
��
��
����
��
��
��
���� �� ����
1
reset
clk
Q3Q2Q1Q0
& &
Abbildung 2.8: Synchroner Dual-Zahler.
Asynchrone Zahler (Asynchronous Counters/ Ripple Coun-ters)
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
����
�� ��
���� �� �� ��
1111
reset
clk
Q3Q2Q1Q0
Abbildung 2.9: Asynchroner Dual-Zahler.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 17
Analyse von Zahlerschaltungen Ein wichtiges Hilfsmittel zur Ana-lyse von Zahlerschaltungen sind Impulsdiagramme. Abbildung 2.10 zeigtfur die oben besprochenen einfachen synchronen und asynchronen Zahlerden Ubergang von 0111(7) nach 1000(8).
0
1
0
1
0
1
0
1
0
1
t
t
t
t
t0
1
0
1
0
1
0
1
0
1
t
t
t
t
t
a) b)
T
Q0
Q3
Q1
Q2
Q0
Q1
Q2
Q3
T
Abbildung 2.10: Vierstelliger Vorwarts-Dual-Zahler in synchronerund asynchroner Betriebsart. Impulsdiagramm fur den Ubergang von0111(7) nach 1000(8) links fur synchrone (a) und rechts fur asynchro-ne (b) Betriebsart.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 18
2.2.2 Beispiele von Zahlern
Synchroner 8-4-2-1 BCD Vorwartszahler
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
C1
Q1J
R1K Q
reset
����
����
��
��
��
��
�� ��
��
���� ����
����
��
��
��
1
clk
C
& &&
≥ 1
Q0 Q1 Q2 Q3
Abbildung 2.11: Synchroner 8-4-2-1 BCD Vorwartszahler. Der Aus-gang C ist das Kontrollsignal fur einen gleichen BCD Zahler fur dienachst hohere Dezimalstelle.
1
0
1
0
1
0
1
0
1
0
1
t
t
t
t
t
t
0
clk
Q0
Q1
Q2
Q3
C
Abbildung 2.12: Impulsdiagramm des synchronen 8-4-2-1 BCDVorwartszahlers (Abb. 2.11) zum Ausfullen als Aufgabe.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 19
Asynchroner 8-4-2-1 BCD Ruckwartszahler
��
��
����
��
RR R
T
Q
Q
T
Q
Q
T
Q
Q
R
T
Q
Qclk
reset
Q1 Q2 Q3Q0
&
&
Abbildung 2.13: Asynchroner 8-4-2-1 BCD Ruckwartszahler
1
0
1
0
1
0
1
0
1
t
t
t
t
t
0
clk
Q0
Q1
Q2
Q3
Abbildung 2.14: Impulsdiagramm des asynchronen 8-4-2-1 BCDRuckwartszahlers (Abb. 2.13) zum Ausfullen als Aufgabe.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 20
2.2.3 Frequenzteiler
Jeder synchrone bzw. asynchrone Dual-Zahler kann als Frequenzteilermit einem festen Teilverhaltnis von 2:1, 4:1, 8:1, ...2n : 1, d.h. mit 2er Po-tenzen verwendet werden. Andere Teilverhaltnisse konnen mit einer ent-sprechenden Beschaltung erreicht werden. Nebst Frequenzteilern mit fe-stem Teilverhaltnis gibt es auch solche mit einstellbarem Teilverhaltnis.Diese konnen z.B. durch Frequenzteiler mit festem Teilverhaltnissen undeinem Multiplexer realisiert werden.
Asynchroner Frequenzteiler mit Teilverhaltnis 8:1
����
�� ��
T
Q
Q
T
Q
Q
T
Q
Q
reset
R RR
QA QB QC lkAbbildung 2.15: Asynchroner 3-Bit-Dual-Vorwartszahler als Fre-quenzteiler mit Teilverhaltnis 8:1. fQA
= fclk/2, fQB= fclk/4,
fQB= fclk/8.
1
0
1
0
1
0
1
t
t
t
t0
clk
QA
QB
QC
Abbildung 2.16: Impulsdiagramm des Frequenzteilers mit Teil-verhaltnis 8:1 (Abb. 2.15) zum Ausfullen als Aufgabe.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 21
Asynchroner Frequenzteiler mit Teilverhaltnis 10:1
Um Frequenzteiler zu realisieren deren Teilverhaltnis keine 2er Potenzist muss zusatzlich der asynchrone Reset (clear) entsprechend beschal-tet werden. Bei dieser Methode kann es vorkommen, dass das Impuls-Pausen Verhaltnis nicht mehr 1:1 ist, was in gewissen Anwendungsfallenungunstig ist. Als Ausweg bietet sich fur gerade Teilverhaltnisse (z.B.10:1) die Realisierung eines Teilers mit der doppelten Frequenz (1:5) undzusatzlich nachgeschaltetem Untersetzer-FFs. Damit wird ein Impuls-Pausen Verhaltnis von 1:1 erreicht.
T
Q
Q
T
Q
Q
T
Q
Q
T
Q
Q���� ��
�� ��
��
��
��
reset
RR R R
lk QA QB QC QD
&
&
Abbildung 2.17: Asynchroner Frequenzteiler mit Teilverhaltnis 10:1.Zu beachten ist das nachgeschaltete Untersetzer-FF dessen Ausgang wie-der ein Impuls-Pausen Verhaltnis von 1:1 aufweist.
1
0
1
0
1
0
1
0
1
t
t
t
t
t
0
clk
QA
QB
QC
QD
Abbildung 2.18: Impulsdiagramm des Frequenzteilers mit Teil-verhaltnis 10:1 (Abb. 2.17) zum Ausfullen als Aufgabe.
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 22
2.2.4 Universalzahler (Universal Counter)
Ein Universalzahler ist ein Binarzahler, der uber zusatzliche Eingangeverfugt, die es ermoglichen, einen bestimmten Wert (data) zu laden(load), die Zahlrichtung zu andern (up/ down) und den Zahler zu akti-vieren (en=enable). In Figur 2.19 ist das Logik-Symbol angegeben unddie Funktion ist in der Wahrheitstabelle (Tab. 2.2) reprasentiert. Wiedort ersichtlich ist, wird das Laden prioritar behandelt.
Qn
reset
clk
load
enable
up/down
N NUniversal
Counterdata
Abbildung 2.19: Logiksymbol Universalzahler
operating mode load up/ down en Qn[k +1]
parallel load 1 X X data
count up 0 1 1 count up
count down 0 0 1 count down
hold (do nothing) 0 X 0 Qn[k]
Tabelle 2.2: Wahrheitstabelle Universalzahler
KAPITEL 2. SEQUENTIELLE SCHALTUNGEN 23
2.2.5 Aufzahlung weiterer gebrauchlicher Zahler
• Ringzahler
• Johnson Zahler
• Dekaden Zahler
• Modulo-n Zahler