Logicfunctions_Implement

Werbung
Technische Informatik II
(für Bachelor)
Vorlesung 4: Implementierung kombinatorischer
Schaltungen
03.05.2008 , v7
Themen:
1.
2.
3.
Schaltnetzrealisierung
Praktischer Schaltungsentwurf, PLA, PAL
FI, FO, Hazards
Quellen:
Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 1
Praktische Grundfunktionen
Realisierung verwendet DNF oder KNF (SOP, POS),
also hauptsächlich AND- und OR- Funktionen.
In der Praxis NAND und NOR (Technologie und Ressourcenabhängig).
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 2
Praktische Grundfunktionen
Konjunktion (AND)
y = x 0 x1 x2
y = x 0 + x1 + x 2
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 3
Praktische Grundfunktionen
Disjunktion (ODER)
y = x 0 + x1 + x 2
y = x 0 x1 x 2
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 4
Realisierung einer Funktion in DNF
mit NAND Gattern (Beispiel)
NAND
Grundfunktion
ab + ab
Funktion in DNF
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 5
Realisierung einer Funktion in KNF
mit NOR Gattern (Beispiel)
NOR
Grundfunktion
(a+b) · (a+b)
Funktion in KNF
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 6
Funktion eines Dekodierers (Decoder)
Decoder-Verhalten
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 7
Realisierung eines Dekodierers (Decoder)
X 0 x1 x2
X 0 x1 x2
Realisierung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 8
Funktion eines Multiplexers
e0
…
y
eN-1
x0
Xn-1
N = 2n
MUX-Verhalten
Einer aus vielen Eingängen wird nach
Ausgang y durchgeschaltet
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 9
Funktion eines De-Multiplexers
y0
e
…
yN-1
x0
Xn-1
N = 2n
DEMUX-Verhalten
Ein Eingang wird auf einer aus vielen
Ausgänge durchgeschaltet
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 10
Funktion eines Vergleichers
Bit-Vergleicher
Realisierung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 11
Arithmetische Grundfunktionen
Computer-Arithmetik
In diesem Abschnitt sollen einige grundlegende Techniken vorgestellt werden, mit denen in
Computern arithmetische Operationen ausgeführt werden. Das dabei erworbene Wissen werden
wir später in den Abschnitten über Schaltwerke, ALU-Aufbau und Rechnerarchitektur vertiefen.
Addition
Wir kennen bereits einen Volladdierer. Es ist ein Schaltnetz mit drei Eingängen a, b, c in und zwei
Ausgängen s und cout. Der Volladdierer ist in der Lage, drei Bits zu addieren und das Ergebnis als
2-Bit-Zahl auszugeben. Das Ergebnis der Addition liegt zwischen 0 und 3 und ist daher in zwei
Bits zu codieren. Wir sehen hier das Schaltbild eines Volladdierers und im folgenden seine
Wertetabelle:
a b cin
VA
cout s
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 12
Voll-Addierer (VA)
a
b
cin
s
cout
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
Häufig realisiert man einen Volladdierer nicht in DMF sondern in einer mehrstufigen
Form, wobei man sogenannte Halbaddierer benutzt. Halbaddierer sind Schaltnetze, die
zwei Bits addieren können (und demzufolge ein Ergebnis im Bereich 0 bis 2
produzieren). Durch Zusammenschalten von zwei Halbaddierern und einem Oder-Gatter
erhält man die Funktionalität eines Volladdierers. Wir sehen im folgenden das
Schaltsymbol eines Halbaddierers, seine Wertetabelle und den Aufbau eines Volladdierers
aus Halbaddierern.
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 13
Halb-Addierer
Zwei Zahlen A und B, je 1 Bit werden addiert,
um die Summe S und den Übertrag C zu
berechnen:
A
HA
B
S
C
Eingang
A
B
Ausgang
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
S =A B + A B
C = AB
A
B
S
A
B
A
B
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
C
S
A
B
C
Seite 14
Volladdierer aus zwei Halbaddierern
a
b cin
HA
HA
cout s
IDA, Technische Universität Braunschweig
a
b
HA
S
A
B
C
cout s
Volladdierer aus
zwei Halbaddierern
und einem Oder-Gatter
Technische Informatik II (INF 1211)
Seite 15
Nun wollen wir aber in der Regel längere Operanden addieren, zum Beispiel die Binärzahlen A= a n1an-2...a1a0 und B= bn-1bn-2...b1b0 . Natürlich könnte man ein dafür erforderliches Addierwerk in DNF
oder DMF aufbauen. Dies bringt aber eine Reihe von Problemen mit sich:
• Für jedes n ergibt sich eine völlig andere Realisierung.
• Das Fan-in und das Fan-out an den Gattern wächst polynomial mit n.
Insbesondere wegen dieser zweiten Eigenschaft ist der zweistufige Aufbau z.B. in DMF nicht
sinnvoll. Stattdessen verwendet man im einfachsten Fall eine Kette von Volladdierern, die im Grunde
genau das machen, was wir von der Addition in der „Schulmethode“ kennen. Man beginnt mit den
LSBs (least significant bits), addiert diese, erzeugt einen Übertrag, mit dessen Kenntnis man das
nächste Bit bearbeiten kann, usw. Ein entsprechendes Schaltnetz sieht dann so aus:
an-1bn-1cinn-1 an-2bn-2cinn-2
VA
coutn-1 sn-1
VA
coutn-2 sn-2
=1
IDA, Technische Universität Braunschweig
a2 b2 cin2
a1 b1 cin1
a0 b0 cin0 = 0
VA
VA
VA
cout2 s2
cout1 s1
cout0 s0
Overflow 2-Komplement (Überlauf)
Technische Informatik II (INF 1211)
Seite 16
Programmierbare Grundstrukturen
Produkt Terme
OR-Verknüpfung
DNF-Implementierung in 2 stufiger AND/OR/NOT Logik
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 17
ROM-Programmierung
ROM: Read Only Memory (Festwert-Speicher)
Abstrakte ROM-Programmierung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 18
PLA-Programmierung
PLA: Programmable Logic Array
Abstrakte PLA-Programmierung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 19
PLA-Programmierung
PLA: Programmable Logic Array
Abstrakte PLA-Programmierung
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 20
Praktische Betrachtungen zum Schaltungsentwurf
Fan In FI : Eingangslastfaktor
Fan Out FO : Ausgangslastfaktor
Ausgangs-Belastbarkeit
FO > 8
Da 8xFI
als Last
vorhanden
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 21
Praktische Betrachtungen zum Schaltungsentwurf
Verzögerungszeiten tHL, tLH
Spannung
Zeit
Ausgang
(ideal Verhalten)
(Real-Verhalten)
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 22
Praktische Betrachtungen zum Schaltungsentwurf
Verzögerungszeiten tHL, tLH
Berechnungsbeispiel
FI=4
Spannung
L cm
Zeit
tu
Verzögerungsbeitrag
Pro Last
(Real-Verhalten)
Verzögerungszeit tHL= ( 4 x tu + k · L + .. ) ns
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
K
Verzögerungsbeitrag
Pro cm
Seite 23
Praktische Betrachtungen zum Schaltungsentwurf
statischer und dynamischer Hazard
Spannung
statischer 1 Hazard
Zeit
Spannung
statischer 0 Hazard
Zeit
(statischer Hazard)
Spannung
dynamischer 0-1 Hazard
Zeit
Spannung
dynamischer 1-0 Hazard
Zeit
(dynamischer Hazard)
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 24
Praktische Betrachtungen zum Schaltungsentwurf
Funktions-Hazard
Hazard-frei da
- Unit-Distance Sprung
(nur ein Bit wechselt!)
0
1
4
5
13
Spannung
Spannung
statischer 0
Hazard
Zeit
statischer 1 Hazard
Zeit
Die Reihenfolge der Belegungswechsel ist entscheiden, ob
ein Hazards auftritt oder nicht!
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 25
Praktische Betrachtungen zum Schaltungsentwurf
Struktur-Hazards
Wechsel von x15 zu x7
Hazards Beseitigung:
X3 durch den Inverter verzögert,
dadurch beide UND-Gatter
kurz auf 0
=> y0 kommt kurz auf 0
Vermeiden eines
struktur Hazards
durch redundante Terme
IDA, Technische Universität Braunschweig
Technische Informatik II (INF 1211)
Seite 26
Herunterladen