Upload
amelia
View
38
Download
0
Embed Size (px)
DESCRIPTION
Technische Informatik II (für Bachelor). Vorlesung 4: Implementierung kombinatorischer Schaltungen. 03.05.2008 , v7. Themen: Schaltnetzrealisierung Praktischer Schaltungsentwurf, PLA, PAL FI, FO, Hazards. Quellen: - PowerPoint PPT Presentation
Citation preview
Seite 1IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Quellen:Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler, Prof. Loogen
Technische Informatik IITechnische Informatik II(für Bachelor)(für Bachelor)
Vorlesung 4:Vorlesung 4: Implementierung kombinatorischer Implementierung kombinatorischer SchaltungenSchaltungen
03.05.2008 , v703.05.2008 , v7
Themen:1. Schaltnetzrealisierung2. Praktischer Schaltungsentwurf, PLA, PAL3. FI, FO, Hazards
Seite 2IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Realisierung verwendet DNF oder KNF (SOP, POS),also hauptsächlich AND- und OR- Funktionen. In der Praxis NAND und NOR (Technologie und Ressourcenabhängig).
Praktische GrundfunktionenPraktische Grundfunktionen
Seite 3IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische GrundfunktionenPraktische GrundfunktionenKonjunktion (AND)Konjunktion (AND)
y = x0 x1 x2
y = x0 + x1 + x2
Seite 4IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische GrundfunktionenPraktische GrundfunktionenDisjunktion (ODER)Disjunktion (ODER)
y = x0 + x1 + x2
y = x0 x1 x2
Seite 5IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Realisierung einer Funktion in DNF Realisierung einer Funktion in DNF mit NAND Gattern (Beispiel)mit NAND Gattern (Beispiel)
NANDGrundfunktion
Funktion in DNFab + ab
Seite 6IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Realisierung einer Funktion in KNF Realisierung einer Funktion in KNF mit NOR Gattern (Beispiel)mit NOR Gattern (Beispiel)
NORGrundfunktion
Funktion in KNF(a+b) · (a+b)
Seite 7IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Funktion eines Dekodierers (Decoder)Funktion eines Dekodierers (Decoder)
Decoder-Verhalten
Seite 8IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Realisierung eines Dekodierers (Decoder)Realisierung eines Dekodierers (Decoder)
Realisierung
X0 x1 x2
X0 x1 x2
Seite 9IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Funktion eines MultiplexersFunktion eines Multiplexers
MUX-Verhalten
…
x0
Xn-1
…
e0
eN-1
y
N = 2n
Einer aus vielen Eingängen wird nach Ausgang y durchgeschaltet
Seite 10IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Funktion eines De-MultiplexersFunktion eines De-Multiplexers
DEMUX-Verhalten
…
x0
Xn-1
…
y0
yN-1
e
N = 2n
Ein Eingang wird auf einer aus vielenAusgänge durchgeschaltet
Seite 11IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Funktion eines VergleichersFunktion eines Vergleichers
Bit-Vergleicher
Realisierung
Seite 12IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
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 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:
VA
a b cin
cout s
Arithmetische GrundfunktionenArithmetische Grundfunktionen
Seite 13IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
a b cin s cout
0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 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.
Voll-Addierer (VA)Voll-Addierer (VA)
Seite 14IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Zwei Zahlen A und B, je 1 Bit werden addiert, um die Summe S und den Übertrag C zu berechnen:
HAA
B
S
C
Halb-AddiererHalb-Addierer
Eingang Ausgang A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
A
BCA
B
A
BC = A B
S A B A B= +
CAB
S
Seite 15IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
HA
a b
cout s
HA
HA
a b cin
cout sVolladdierer auszwei Halbaddierernund einem Oder-Gatter
CAB
S
Volladdierer aus zwei HalbaddierernVolladdierer aus zwei Halbaddierern
Seite 16IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Nun wollen wir aber in der Regel längere Operanden addieren, zum Beispiel die Binärzahlen A= an-
1an-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:
VA
a0 b0 cin0 = 0
cout0 s0
VA
a1 b1 cin1
cout1 s1
VA
a2 b2 cin2
cout2 s2
VA
an-2bn-2cinn-2
coutn-2 sn-2
VA
an-1bn-1cinn-1
coutn-1 sn-1
=1 Overflow 2-Komplement (Überlauf)
Seite 17IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Programmierbare GrundstrukturenProgrammierbare Grundstrukturen
DNF-Implementierung in 2 stufiger AND/OR/NOT Logik
Produkt Terme OR-Verknüpfung
Seite 18IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
ROM-ProgrammierungROM-ProgrammierungROM: Read Only Memory (Festwert-Speicher)ROM: Read Only Memory (Festwert-Speicher)
Abstrakte ROM-Programmierung
Seite 19IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
PLA-ProgrammierungPLA-ProgrammierungPLA: Programmable Logic ArrayPLA: Programmable Logic Array
Abstrakte PLA-Programmierung
Seite 20IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
PLA-ProgrammierungPLA-ProgrammierungPLA: Programmable Logic PLA: Programmable Logic ArrayArray
Abstrakte PLA-Programmierung
Seite 21IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurf
Fan Out FO : Ausgangslastfaktor Ausgangs-Belastbarkeit
Fan In FI : Eingangslastfaktor
FO > 8
Da 8xFIals Lastvorhanden
Seite 22IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurf
Verzögerungszeiten tHL, tLH
Zeit
Spannung
Ausgang(ideal Verhalten)
(Real-Verhalten)
Seite 23IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurf
Verzögerungszeiten tHL, tLH Berechnungsbeispiel
Zeit
Spannung
(Real-Verhalten)
FI=4
Verzögerungszeit tHL= ( 4 x tu + k · L + .. ) ns
L cm
tuVerzögerungsbeitragPro Last
KVerzögerungsbeitragPro cm
Seite 24IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurfstatischer und dynamischer Hazard
(statischer Hazard)
ZeitSpannung statischer 1 Hazard
ZeitSpannung statischer 0 Hazard
(dynamischer Hazard)
ZeitSpannung dynamischer 0-1 Hazard
ZeitSpannung dynamischer 1-0 Hazard
Seite 25IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Funktions-Hazard
Hazard-frei da- Unit-Distance Sprung (nur ein Bit wechselt!)
Die Reihenfolge der Belegungswechsel ist entscheiden, ob ein Hazards auftritt oder nicht!
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurf
ZeitSpannung statischer 0
Hazard
ZeitSpannung statischer 1 Hazard
0 4
1 5 13
Seite 26IDA, Technische Universität Braunschweig Technische Informatik II (INF 1211)
Struktur-Hazards
Wechsel von x15 zu x7
X3 durch den Inverter verzögert,dadurch beide UND-Gatterkurz auf 0 => y0 kommt kurz auf 0
Vermeiden eines struktur Hazardsdurch redundante Terme
Praktische Betrachtungen zum SchaltungsentwurfPraktische Betrachtungen zum Schaltungsentwurf
Hazards Beseitigung: