4 ei* kann Spuren von Katzen enthalten nicht für Humorallergiker geeignet alle Angaben ohne Gewehr *
Digitaltechnik
1 Moore’sches Gesetz
•alle 18-24 Monate verdoppelt sich die Anzahl der Transistoren auf gleicher Fl¨ache
•Exponentielles Wachstum der Transistorzahl, exponentieller R¨uckgange des Preises pro Tran- sistor
•Herstellungskosten (Fixkosten, Variable Kosten, Technologiefaktor), Entwicklerproduktivit¨at, Verlustleistungsdichte
2 Einheiten
Potenz Vorsatz
1012 T
109 G
106 M
103 k
102 h
101 da
Potenz Vorsatz
10−1 d
10−2 c
10−3 m
10−6 µ
10−9 n
10−12 p 10−15 f
Hz s−1
N kgms−2
J N m=V As W V A=J s−1
C As
V J C−1 F CV−1 Ω V A−1 H V sA−1
Bit−−·8→Byte−−−−→·1024 kByte−−−−→·1024 M Byte
3 Boolsche Algebra
3.1 Boolesche Operatoren (Wahrheitstabelle WT)
x y AND OR XOR NAND NOR EQV
x·y x+y x⊕y x·y x+y x⊕y
0 0 0 0 0 1 1 1
0 1 0 1 1 1 0 0
1 0 0 1 1 1 0 0
1 1 1 1 0 0 0 1
Konfiguration:f=c1+c2+c3⇒cov(f) = c1, c2, c3
3.2 Gesetze der booleschen Algebra
Boolesche Algebra Mengenalgebra
(0,1;·,+, x) (P(G);∩,∪, A;G,∅)
Kommutativ x·y=y·x A∩B=B∩A
x+y=y+x A∪B=B∪A
Assoziativ x·(y·z) = (x·y)·z (A∩B)∩C=A∩(B∩C) x+ (y+z) = (x+y) +z (A∪B)∪C=A∩(B∪C) Distributiv x·(y+z) =x·y+x·z A∩(B∪C) = (A∩B)∪(A∩C)
x+ (y·z) = (x+y)·(x+z) A∪(B∩C) = (A∪B)∩(A∪C)
Indempotenz x·x=x A∩A=A
x+x=x A∪A=A
Absorbtion x·(x+y) =x A∩(A∪B) =A
x+ (x·y) =x A∪(A∩B) =A
Neutral x·1 =x A∩G=A
x+ 0 =x A∪ ∅=A
Dominant x·0 = 0 A∩ ∅=∅
x+ 1 = 1 A∪G=G
Komplement x·x= 0 A∩A=∅
x+x= 1 A∪A=G
x=x A=A
De Morgan x·y=x+y A∩B=A∪B
x+y=x·y A∪B=A∩B
3.3 Boolesche Funktionen
f:{0,1}n→ {0,1} f(x) =f(x1, x2, . . . , xn)
EinsmengeFvonf:F={x∈ {0,1}n|f(x) = 1}
NullmengeFvonf:F={x∈ {0,1}n|f(x) = 0}
Kofaktor bez¨uglich
•xi:fxi=f|xi=1=f(x1, . . . ,1, . . . , xn)
•xi:fxi=f|xi=0=f(x1, . . . ,0, . . . , xn)
Eigenschaften vonf(x)
•tautologisch⇔f(x) = 1 ∀x∈ {0,1}n
•tautologisch⇔f(x) = 1 ∀x∈ {0,1}n
•kontradiktorisch⇔f(x) = 0 ∀x∈ {0,1}n
•unabh¨angig vonxi⇔fxi=fxi
•abh¨angig vonxi⇔fxi6=fxi
3.4 Multiplexer
f=x·a+x·b (2 Eing¨angea, bund 1 Steuereingangx) f=x1x2a+x1x2b+x1x2c+x1x2d (Eing¨ange:a, b, c, dSteuerung:x1,x2)
3.5 Wichtige Begriffe
Wichtige Begriffe: Definition Bemerkung
Signalvariable x ˆx∈
0,1
Literal li=xioderxi i∈I0=
1, ..., n Minterme,0-Kuben M0C3mj= Q
i∈I0
li |M0C|= 2n
d-Kuben MC3cj= Q
i∈Ij⊆I0
li |MC|= 3n
Distanz δ(ci, cj) =
l
l∈ci∧l∈cj δij=δ(ci, cj)
Implikanten M I=
c∈M C c⊆f Primimplikanten M P I=
p∈M I
p6⊂c∀c∈M I M P I⊆M I⊆M C
SOP (DNF) eine Summe von Produkttermen Terme sind ODER-verkn¨upft POS (KNF) ein Produkt von Summentermen Terme sind UND-verkn¨upft CSOP (KDNF) Summe aller Minterme WT: 1-Zeilen sind Minterme CPOS (KKNF) Menge aller Maxterme WT: 0-Zeilen negiert sind Maxterme VollSOP (nur 1) Menge aller Primimplikanten Bestimmung siehe Quine Methode
oder Schichtenalgorithmus MinSOP (min. 1) Minimale Summe v. Primimplikanten durch ¨Uberdeckungstabelle FPGA: Field Programmable Gate Array
LUT: Look Up Table
4 Beschreibungsformen
4.1 Disjunktive Normalform/Sum of products (DNF/SOP)
Eins-ZeilenalsImplikanten(UND) schreiben und alle Implikanten mitODERverkn¨upfen:
Z=A·B+C·D
4.2 Konjunktive Normalform/Product of sums (KNF/POS)
Null-Zeilen negiert als Implikat(ODER) schreiben und alle ImplikatenUNDverkn¨upfen:
Z= (A+C)·(A+D)·(B+C)·(B+D)
4.3 Umwandlung in jeweils andere Form
1. Doppeltes Negieren der Funktion:Z=A·B+C·D2. Umformung “untere“ Negation (DeMorgan) :Z=A·B·C·D= (A+B)·(C+D) 3. Ausmultiplizieren:Z= (A+B)·(C+D) =A·C+A·D+B·C+B·D 4. Umformung “obere“ Negation (DeMorgan) :
Z=AC·AD·BC·BD= (A+C)·(A+D)·(B+C)·(B+D) Analog von KNF (POS) nach DNF (SOP).
5 Logikminimierung
5.1 Nomenklatur
•miMinterm: UND-Term in dem alle Variablen vorkommen (aus KDNF)
•MiMaxterm: ODER-Term in dem alle Variablen vorkommen (aus KKNF)
•ciImplikant: UND-Term in dem freie Variablen vorkommen k¨onnen
•CiImplikat: ODER-Term in dem freie Variablen vorkommen k¨onnen
•piPrimimplikant: UND-Term mit maximal freien Variablen
•PiPrimimplikat: ODER-Term mit maximal freien Variablen
5.2 Karnaugh-Diagramm
Vorteile: sehr anschaulich
Nachteile: Gray-Kodierung notwendig, nur wenige Inputvariablen
Zyklische Gray-Codierung: 2dim:00,01,11,103dim:000,001,011,010,110,111,101,100 zxy 00 01 11 10
0 1 0 0 0
1 X 1 1 0
Gleiche Zellen zusammenfassen: z.B.xy+y·z
Don’t Care Werte ausnutzen!
5.3 Quine Methode
Vorteile: automatisierbar (DEA/FSM), beliebig viele Inputvariablen
Nachteile: viele paarweise Vergleiche, Erweiterung auf KKNF oder KDNF notwendig, viele Min- und Maxterme
geg.: DNF/KNF oder Wertetabelle vonf(x) ges.: alle Primimplikantenpi(VollSOP) Spezielles Resoltuionsgesetz:x·a+x·a=a Absorptionsgesetz:a+a·b=a
1. kanonische Form (KKNF/KDNF) bestimmen (z.B.f(x, y, z) =xy=xyz+xyz) 2. Alle Min-/Maxterme in Tabelle eintragen (Index von m ist (bin¨ar)Wert des Min-/Maxterms),
sortieren nach der Anzahl der positiven Literale (=Klasse)
Homepage: www.latex4ei.de - Fehler bittesofortmelden. Emanuel Regnath (Emanuel.Regnath@tum.de), Martin Zellner (martin.zellner@mytum.de), Hendrik B¨ottcher (hendrik.boettcher@tum.de) (Gek¨urzt, ¨uberarbeitet - lukas.kompatscher@tum.de) Stand: 13.2.2019 1
3. 1-Kubus: Minterme die sich um eine Negation unterscheiden, zu einem Term verschmelzen (Resolutionsgesetz), dabei notieren aus welchen 0-Kuben er besteht und alle verwendeten 0-Kuben abhaken
4. Der 1-Kubus muss zusammenh¨angend sein! (d.h. alle 1-Kubus Minterme m¨ussen zusam- menh¨angen)
5. Wenn m¨oglich 2-Kubus bilden.
6. Wenn keine Kubenbildung mehr m¨oglich→Nicht abgehakte Kuben sind Primimplikanten Beispiel (Quine Methode):
0-Kubus A 1-Kubus R A 2-Kubus A
m1 x1x2x3 √
x2x3 m1&m5 p1 m4 x1x2x3 √
x1x2 m4&m5 √
x1 p2 m5 x1x2x3 √
x1x3 m4&m6 √ m6 x1x2x3 √
x1x3 m5&m7 √ m7 x1x2x3 √
x1x2 m6&m7 √
⇒f(x1, x2, x3) =p1+p2=x2x3+x1
5.4 Resolventenmethode
Vorteile: Keine KDNF Notwendig, skaliert f¨ur viele Inputvariablen Ziel: alle Primimplikanten
Wende folgende Gesetze an:
Absorptionsgesetz:a+ab=a
allgemeines Resolutionsgesetz:x·a+x·b=x·a+x·b+ab Anwendung mit Schichtenalgorithmus
1. schreibe die Funktionfin die 0. Schicht
2. bildealle m¨oglichenResolventen aus der 0. Schicht und schreibe sie in die n¨achste Schicht als ODER Verkn¨upfungen (Resolventen zuf”hinzuf¨ugen”)
3. ¨uberpr¨ufe ob Resolventen aus der 1. Schicht Kuben aus Schicht 0 ¨uberdecken(Absorbtion) und streiche diese Kuben aus Schicht 0
4. Schicht i besteht aus den m¨oglichen Resolventen von Schicht 0 bis(i−1). Abgestrichene Kuben aus vorherigen Schichten brauchennichtmehr beachtet werden.
5. Sobald in der i-ten Schicht +1 steht oder keine weiteren Resolventen gebildet werden k¨onnen, ist man fertig.⇒alle nicht ausgestrichenen Terme bilden die VollSOP
f(x1, . . . , xn) Schicht
x·w+x·w+x·y·w·z+x·y·w·z+y·w·z 0
+w+y·w·z 1
+w·z 2
+w 3
5.5 ¨ Uberlagerung Bestimmung der MinSOP
Geg: CSOP/KDNF (Pmi) und VollSOP (P
pi) Ges: MinSOP (Minimalform)
¨Uberdeckung: C= (m0⊆p1) ·(m2⊆p1+m2⊆p2) = 1!
C= τ1 ·(τ1+τ2) =τ1+τ1τ2=τ1 Alternativ: Mit ¨Uberdeckungstabelle bestimmen. Bsp:
Minterme
Primterme m1 m2 . . . mN L(pi)
p1 √
L(p1) p2
√ √
L(p2) ..
.
.. .
pK √
L(pK) K: Anzahl der Primterme
N: Anzahl der Minterme
L(pi): Kosten/L¨ange der Primimplikanten
Vorgehen: erst alle¨uberdeckendenSpalten, dann alle¨uberdecktenZeilen streichen.
6 Halbleiter
Isolator Metall undotiert N-Typ P-Typ
Ladungstr¨ager Keine e− e−/e+ e− e+
Leitf¨ahigkeit Keine Sehr hoch ∝T Hoch Mittel
7 MOS-FET’s
MetalOxideSemiconductorFieldEffektTransistor
n n
p
+
Substrat(Si) Si-Oxid iG
iS iD
VDS VGS
Drain Source Gate
(Poly-Si)+
VP inch−Of f=VGS−Vth
U
th=U
DSU
GS–U
thI
DU
GSUGS=2V UGS=4V UGS=6V
7.1 Bauteilparameter
Verst¨arkung: β=K0WL mitK0=µεoxε0t
0x [β] = A V2 Kanalweite W
Kanall¨ange L
Elektronenbeweglichkeit µ µn≈250·10−4mV s2,µp≈100·10−4mV s2 rel. Dielektrizit¨at des Gateoxyds εox≈3,9
Dielektrizit¨atskonstante ε0= 8.8541878·10−12 A sV m Gateoxyddicke tox
Verst¨arkung β= µnεoxε0 tox ·W
L =K0WL = µnCG L2 Kapazit¨at CG=εoxε0W L
tox Verz¨ogerungszeit tpHL∝ CLtoxLp
Wpµpεox(VDD−|Vth|)
•große Kanalweite⇒große Drain-St¨orme
⇒schnelle Schaltgeschwindigkeit (daid∝β∝WL) Aber: große Fl¨ache.
•nMos schaltet schneller als pMOS, da nMOS und pMOS unterschiedliche Majo- rit¨atsladungstr¨ager haben. Die Beweglichkeit der L¨ocher ist im Allgemeinen geringer als die der Elektronen.
7.2 Drainstrom
nMos(p-dotiertes Substrat, n-dotierte Drain/Source), schlechter pull up (Pegeldegenerierung)
Id=
0, f¨urUgs−Uth≤0 (Sperrber.)
β[(ugs−Uth)·uds−12u2ds], f¨ur0≤Ugs−Uth≥uds(linearer Ber.) 1
2β·(ugs−Uth)2, f¨ur0≤Ugs−Uth≤uds(S¨attigungsber.) pMos(n-dotiertes Substrat, p-dotierte Drain/Source), schlechter pull down (Pegeldegenerierung)
Id=
0, f¨urUgs−Uth≥0 (Sperrber.)
−β[(ugs−Uth)·uds−1
2u2ds], f¨ur0≥Ugs−Uth≤uds(linearer Ber.)
−1
2β·(ugs−Uth)2, f¨ur0≥Ugs−Uth≥uds(S¨attigungsber.)
7.3 pMos und nMos
S S
G G
D VDD
VGS GND VDS
VGS
VDS
Transistor Source liegt immer am VGS, VDS, ID Substrat pMos
normally on
h¨oheren Potential <0 +(VDD)
nMos
normally off niedrigeren Potential >0 −(GN D)
8 CMOS - Logik
Vorteil:(Fast) nur bei Schaltvorg¨angen Verlustleistung - wenig statische Verluste Drei Grundgatter der CMOS-Technologie:
NOT (2 Trans.) NAND (4 Trans.) NOR (4 Trans.)
Z V
DDA
GND GND
Y
A B
A B
V
DDGND
A
A B
B V
DDY
FallsGN DundVDDvertauscht w¨urden, dannN AN D→AN DundN OR→OR Allerdings schlechte Pegelgenerierung.
8.1 Gatterdesign
Netzwerk Pull-Down Pull-Up
Transistoren nMos pMos
AND Serienschaltung Parallelschaltung OR Parallelschaltung Serienschaltung
1. M¨oglichkeit: Direkt; ggf. Inverter vor die Eing¨ange und Ausg¨ange schalten.
2. M¨oglichkeit: Mit boolescher Algebra die Funktion nur mit NAND und NOR darstellen.
8.2 CMOS Verlustleistung
InverterschaltvorgangVA: 0→1:V
tnI
shortV
DDV
DD–|V
tp|
on off
P
on
N V
Z off–I
capV
AI
statDynamische Verlustleistung Pdyn=Pcap+Pshort Kapazitive Verluste Pcap=α01f CLVDD2
Kurzschlussstrom Pshort=α01f βnτ(VDD−2Vtn)3 Schalth¨aufigkeit α0→1= Schaltvorg¨ange(pos. Flanke)
# Betrachtete Takte Schalth¨aufigkeit (periodisch) α=fswitchf
Abh¨angig von den Signalflanken, mit Schaltfunktionen verkn¨clk upft
≈ VDD1/∝Schaltzeit:VDD2 VDD1= tD1
tD2(bei Schaltnetzentlog) Verz¨ogerungszeit∝ CLtoxLp
Wpµpε(VDD−Vth)
Steigend mit: Kapazitiver Last, Oxiddicke, Kanall¨ange, Schwellspannung
Sinkend mit: Kanalweite, Ladungstr¨ager Beweglichkeit, Oxyd Dielektrizit¨at, Versorgungsspannung Statische Verlustleistung Pstat: Sub-Schwellstr¨ome, Leckstr¨ome, Gate-Str¨ome Abh¨angigkeit:
VDD↑:Pstat↑ Vth↑:Pstat↓ (aber nicht proportional)
9 Volladdierer (VA)/Ripple-C(u)arry-Adder A B
C
inS C
outGenerategn=an·bn
Homepage: www.latex4ei.de - Fehler bittesofortmelden. Emanuel Regnath (Emanuel.Regnath@tum.de), Martin Zellner (martin.zellner@mytum.de), Hendrik B¨ottcher (hendrik.boettcher@tum.de) (Gek¨urzt, ¨uberarbeitet - lukas.kompatscher@tum.de) Stand: 13.2.2019 2
Propagatepn=an⊕bn
SummenbitSn=cn⊕pn=an⊕bn⊕cn Sn=anbncn+anbncn+anbncn
| {z }
genau ein Eingang high
+ anbncn
| {z } alle Eing¨ange high
(Ungerade Anzahl von Eing¨angen 1)
Carry-outcn+1=cn·pn+gn cn+1=anbncn+anbncn+anbncn
| {z }
zwei Eing¨ange 1
+ anbncn
| {z } drei Eing¨ange 1
(Mindesten zwei Eing¨ange 1)
Laufzeiten tsn=
(tcn+txor tcn> txor 2txor sonst
tcn+1=
tand+tor an=bn= 1 (gn= 1) txor+tand+tor an=bn= 0 (pn= 0, gn= 0) tcn+tand+tor an6=bn (pn= 1)
10 Sequentielle Logik
Logik mit Ged¨achtnis (Speicher).
10.1 Begriffe/Bedingungen
tSetup Stabilit¨atszeit vor der aktiven Taktflanke thold Stabilit¨atszeit nach der aktiven Taktflanke
tc2q Eingang wird sp¨atestens nachtc2qam Ausgang verf¨ugbar Min. Taktperiode tclk≥t1,c2q+tlogic,max+t2,setup
Max. Taktfrequenz fmax= j 1
tclk k
(Nicht aufrunden)
Holdzeitbedingung thold≤tc2q+tlogic,min→Dummy Gatter einbauen Durchsatz 1Sample
tclk,pipe =f
Latenz tclk·#Pipelinestufen (das zwischen den FFs)
10.2 Pipelining
Nur bei synchronen(taktgesteuerten) Schaltungen m¨oglich!
•Aufteilen langer kombinatorischer Pfade durch Einf¨ugen zus¨atzlicher Registerstufen
→M¨oglichst Halbierung des l¨angsten Pfades
•Zeitverhalten beachten (evtl. Dummy-Gatter einf¨ugen)
•Durchsatz erh¨oht sich entsprechend der Steigerung der Taktfrequenz
•Gesamtlatenz wird eher gr¨oßer
•Taktfrequenz erh¨oht sich
10.3 Parallel Processing
Durchsatz = #Modultclk,Modul =f Latenz =tclk
•Paralleles, gleichzeitiges Verwenden mehrere identischer Schaltnetze
•Zus¨atzliche Kontrolllogik n¨otig (Multiplexer)
•Taktfrequenz und Latenz bleiben konstant
•Durchsatz steigt mit der Zahl der Verarbeitungseinheiten ABER: deutlich h¨oherer Ressourcenverbrauch
11 Speicherelemente
Fl¨uchtigSpeicherinhalt gehen verloren, wenn VersorgungsspannungVDDwegf¨allt - Bsp: *RAM Nicht Fl¨uchtigSpeicherinhalt bleibt auch ohneVDDerhalten - Bsp: Flash
AsynchronDaten werden sofort geschrieben/gelesen.
SynchronDaten werden erst mitclk0→1geschrieben.
DynamischOhne Refreshzyklen gehen auch bei angelegterVDDDaten verloren - Bsp: DRAM StatischBeh¨alt den Zustand bei solangeVDDanliegt (keine Refreshzyklen n¨otig) - Bsp: SRAM Bandbreite:Bitanzahl, die gleichzeitig gelesen/geschrieben werden kann.Latenz:Zeitverz¨ogerung zwischen Anforderung und Ausgabe von Daten. Zykluszeit: Minimale Zeitdifferenz zweier Schreib/Lesezugriffe.
Speicherkapazit¨at=Wortbreite·2Adressbreite
11.1 Speicherzelle/Register
Ring aus zwei Invertern.11.2 Latch
Set-Reset Latch:Zwei gegenseitig r¨uckgekoppelte NAND-Gatter.0an R/S schaltet.
Enable-Latch: ¨andert Speicherzustand auf D nur wenne= 1
e Q
0 Q
1 D
11.3 Flip-Flop
Besteht aus zwei enable-Latches
Flip-Flop:¨Andert Zustand bei steigender/(fallender) Taktflanke.
clk Q Q
0→1 D D
sonst Q Q
12 Automaten
DFA 6-Tupel
I, O, S, R, f, g
I Eingabealphabet O Ausgabealphabet
S Menge von Zust¨anden R⊆S Menge der Anfangszust¨ande f:S×I→S ¨Ubergangsrelation
g Ausgaberelation
f(s,i) S g(s)
S
1S
2S
3i
11S
2=o
2S
1=o
1S
3=o
3i
12i
21i
22i
32i
23i
31O i
33i
11=o
11i
12=o
12i
21=o
21i
22=o
22i
32=o
32i
23=o
23i
31=o
31
i
33=o
33i clk
f(s,i) S g(s,i) O i
clk
Moore Automat Mealy Automat
Moore Mealy
Ouput h¨angt nur vom Zustand ab Output h¨angt von Zustand und Eingabe ab s0=f(s, i),o=g(s) s0=f(s, i),o=g(s, i)
g:S→O g:S×I→O
Vorteile
•Kein kombinatorischer Pfad von Eing¨angen zu Ausg¨angen
•Wichtig f¨ur Begrenzung der Logiktiefe in sequentiellen Schaltwerken, insb. bei Ver- kettung
Nachteile
•Hohe Anzahl an Zust¨anden
Vorteile
•Weniger Zust¨ande
•Ubersichtliche Beschreibung¨
•Allgemeinster Fall einer FSM Nachteile
•Lange kombinatorische Pfade bei Verket- tung
•in der Praxis zu vermeiden
Homepage: www.latex4ei.de - Fehler bittesofortmelden. Emanuel Regnath (Emanuel.Regnath@tum.de), Martin Zellner (martin.zellner@mytum.de), Hendrik B¨ottcher (hendrik.boettcher@tum.de) (Gek¨urzt, ¨uberarbeitet - lukas.kompatscher@tum.de) Stand: 13.2.2019 3