Sie sind auf Seite 1von 111

Lehrstuhl für

Eingebettete Systeme

Hardwarearchitekturen und Rechensysteme

4. Schaltnetze

Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von


Prof. Dr. rer. nat. U. Brinkschulte
Prof. Dr.-Ing. L. Hedrich
(basierend auf Materialien von Prof. Dr.-Ing. K. Waldschmidt)
Motivation
Schaltnetze sind kombinatorische digitale Schaltungen. Rechnerwerkzeuge
für den Entwurf und die Simulation dieser Schaltungen basieren auf der
Booleschen Algebra.
In diesem Kapitel wird das Verhalten und die Struktur einiger ausgewählter
Schaltnetze behandelt. Es sind Schaltnetze, die für den Aufbau von
Operationswerken in Prozessoren benötigt werden.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:2
Gliederung
4.1 Spezielle Schaltnetze
4.1.1 Multiplexer/Demultiplexer
4.1.2 Datenbuszugang
4.1.3 Permutationsschaltnetz
4.1.4 Vergleicher (Komparator)
4.1.5 Addierer
4.1.6 Multiplizierer
4.2 PLA (programmable logic arrays)
4.3 Elektrotechnische Grundlagen
4.4 Zeitliches Verhalten von Schaltnetzen
4.5 Hazards (Gefahr) in Schaltnetzen

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:3
4.1 Spezielle Schaltnetze
4.1.1 Multiplexer/Demultiplexer
4.1.2 Datenbuszugang
4.1.3 Permutationsschaltnetz
4.1.4 Vergleicher (Komparator)
4.1.5 Addierer
4.1.6 Multiplizierer

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:4
4.1.1 Multiplexer/Demultiplexer
Ein Multiplexer/Demultiplexer ist ein Schaltnetz, welches eine Datenweiche
darstellt.
Multiplexer:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:5
Multiplexer
Definition:
Ein Multiplexer ist eine Boolesche Funktion f , für die gilt:

Für die Abbildung g gilt:

Für das Dekodiersignal dk gilt:

Beispiel:
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:6
Demultiplexer
Demultiplexer arbeiten invers zu den Multiplexern. Sie verteilen einen
Datenstrom auf mehrere auswählbare Kanäle.

Demultiplexer finden oftmals in integrierten Schaltkreisen Anwendung, um


die Zahl der Anschlußpins zu begrenzen. In DRAMs beispielsweise wird der
höherwertige und der niederwertige Teil der Adresse nacheinander auf den
Adreßbus gelegt. Der Baustein muß dann die Signale intern demultiplexen
und dem Spalten- bzw. Zeilendekoder zuführen.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:7
Datenwegschaltung
Multiplexer:
0
Eingangs- Datenweg- Ausgangs-
datenwege n-1 schaltung datenweg

Steuereingänge Decoder

Demultiplexer:
0
Eingangs- Datenweg- Ausgangs-
datenweg schaltung n-1 datenwege

Steuereingänge Decoder

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:8
Anwendung – Busbasiert

Datenbus

Akku- Hilfs-
Register register

Multiplizierer Puffer-
ALU register

Ansteuerung

Ergebnisbus

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:9
Anwendung – Multiplexerbasiert
Ansteuerung
Akku- Register 1
Register
Register 2

ALU Register 3
Multiplexer
Ansteuerung Demultiplexer

Ergebnis- Ergebnis-
register 1 register 2

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:10
2:1 Multiplexer
Funktionstafel: KV-Diagramm:
e 0

0 0 1 1
sel 0 1 1 0
e 1

Schaltplan:

Funktion:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:11
4:1 Multiplexer

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:12
4:1 Multiplexer

sel0 1
Decoder
sel1 2

Enable
e0 0 f
e1 1
e2 2
e3 3

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:13
8:1 Multiplexer
sel0 1
Decoder
sel1 2
sel2 1 Enable
e0 0
e1 1
e2 2
e3 3
1 f
1
Decoder
2

Enable
e4 0
e5 1
e6 2
e7 3

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:14
2:1 4-Bit Multiplexer

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:15
Multiplexer – Standardbaustein
Multiplexer sind als integrierte Bauelemente erhältlich. Typischerweise
handelt es sich dabei um 8:1 bzw. 16:1 Multiplexer (mit 3 bzw. 4
Steuereingängen).
SN74151 (TTL-Baureihe):

Steuerung
C0
C1
C2
I0
I1 Y

Eingänge
I2
I3
I4 Y
I5
I6
I7
Enable

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:16
Implementierung Boolescher Funktionen
Jede Boolesche Funktion f(x0, … ,xn-1) kann unter ausschließlicher
Verwendung von Multiplexern realisiert werden. Für f: Bn! B ist hierzu ein
2n:1 Multiplexer mit n Steuereingängen notwendig. Die n Eingangsvariablen
werden an die Steuereingänge gelegt. Die Belegung der 2n Dateneingänge
erfolgt gemäß der Wahrheitstabelle der Funktion f.

Anstelle eines 2n:1 Multiplexers kann auch ein 2n-1:1 Multiplexer mit n-1
Steuereingängen verwendet werden. Die Steuereingänge werden mit den
Variablen x1, … ,xn-1 beschaltet. Die Dateneingänge werden mit den
konstanten Werten 0 und 1 und der freien Variablen belegt.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:17
Implementierung Boolescher Funktionen
Beispiel: 2 von 3 Mehrheitsfunktion

0 0 0 0 0
0 0 1 0 1 f
0 1 0 1 0
0 1 1 f 1 1
1 0 0
1 0 1
1 1 0 x2 x1
1 1 1

0 1 x2 x1 x0 x 0x 00 1

8:1 Multiplexer 4:1 Multiplexer


HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:18
Beispiel

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:19
Implementierung Boolescher Funktionen
Die Beschaltung der Dateneingänge eines 2n-1:1 Multiplexers erhält man
durch n-1-malige Anwendung des Shannon'schen Entwicklungssatzes.

Beispiel: Boolesche Funktion mit 3 Variablen

Die Steuereingänge werden mit den


für die Entwicklung gewählten f(0,0,c) 0 0
Variablen und die Dateneingänge f(0,1,c) 0 1 f
mit den entsprechenden Co-Faktoren f(1,0,c) 1 0
belegt. f(1,1,c) 1 1

a b
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:20
1:2 Demultiplexer
Funktionstafel: KV-Diagramm:
e e
0 1 1 1
sel 1 1 sel 0 1
f0 f1
Schaltplan:
Funktion:

Der nicht beschaltete Ausgang


wird mit dem Wert 1 belegt!

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:21
1:4 2-Bit Demultiplexer

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:22
4.1.2 Datenbuszugang
Tri-State-Gatter:
Ein Tri-State-Gatter besitzt die drei definierten Ausgangszustände 0,1
(abhängig vom Eingangssignal e) und einen hochohmigen Zustand z. Der
Zustand z wird durch Aktivierung des Sperreingangs i (inhibit) erreicht.
Funktionstafel: Schaltplan:

e 1 a
i

Tri-State-Gatter werden immer dann verwendet, wenn mehrere Ausgänge,


von denen nur einer aktiv sein darf, an eine Leitung angeschlossen werden
sollen (z.B. Busleitungen).

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:23
Unidirektionaler Datenbuszugang
i i
1 1
Daten- Daten-
sender empfänger
1 1

i i

1 1
Daten- Daten-
empfänger sender
1 1

Bus
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:24
Bidirektionaler Datenbuszugang
Funktionstafel:

Schaltplan: Tri-State-Gatter
a e
e 1
d
a 1 i
r

& & d

i 1 Schaltsymbol

r 1

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:25
Bidirektionaler Datenbuszugang
Einheit 1 Einheit 3

i i
r r

bidirektionaler
Datenbus

i
r

Einheit 2
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:26
4.1.3 Permutationsschaltnetz
Permutationsschaltnetze vertauschen die Reihenfolge von Variablen. Die
Vertauschung wird über einen Steuereingang sel aktiviert.
Schaltplan:

Permutationsschaltnetze werden in Verbindungsnetzwerken verwendet, um


verschiedene Kommunikationswege schalten zu können.
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:27
4.1.4 Vergleicher (Komparator)
Vergleicher sind Schaltungen, die insbesondere in Mikroprozessoren
Verwendung finden um beispielsweise den notwendigen Vergleich für
bedingte Sprunganweisungen durchzuführen.
Vergleicher werden aber auch integriert in Schaltungen eingesetzt, z.B. zur
Speicherauswahl oder für die Selektion von Ein-/Ausgabe-Geräten.
Vergleich der 2 Booleschen Tupel X und Y:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:28
n-Bit Vergleicher
Vergleicher für n-Bit Zahlen lassen sich hierarchisch konstruieren.
(x ≥ y)-Vergleicher:

xn
&
yn 1 fn

&

x n-1
y n-1 Vergleicher für f n-1
(n-1)-stellige
x1 Dualzahlen
y1

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:29
n-Bit Vergleicher
n-Bit Vergleicher lassen sich zu Vergleichern von Dualzahlen mit größeren
Längen kaskadieren.
7-Bit Vergleicher aus zwei 4-Bit Vergleichern:

y1 y2 y3 y4 0 y5 y6 y7
x1 x2 x3 x4 x5 x6 x7

> Komparator > Komparator

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:30
1-Bit Vergleicher für Dualzahlen
Der größer als bzw. kleiner als Vergleicher ist schaltungstechnisch
aufwendiger als der Vergleich auf Identität.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:31
4.1.5 Addierer
Ein Halbaddierer berechnet aus zwei 1-Bit Zahlen die Summen Si und den
Übertrag Ci+1.
Funktionstafel: Schaltplan:

Funktionen:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:32
Volladdierer
Ein Volladdierer berechnet aus drei 1-Bit Zahlen die Summe Si und den
Übertrag Ci+1.
Funktionstafel: Schaltplan:

Funktionen:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:33
n-Bit Ripple-Carry-Addierer
Ein n-Bit Ripple-Carry-Addierer entsteht durch die Kaskadierung von n-1
Volladdierern und einem Halbaddierer.

Im schlimmsten Fall müssen für die Addition zweier n-Bit Zahlen alle
Addierer nacheinander durchlaufen werden, bis der Übertrag Sn vorliegt.
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:34
Carry-Select-Addierer
an-1 bn-1 an/2 bn/2 Ziel: Beschleunigung der Durchlaufzeit
0

n/2-Bit-Addierer
an/2-1 bn/2-1 a0 b0
cn
0
s‘n-1 s‘n/2
an-1 bn-1 an/2 bn/2 n/2-Bit-Addierer
1

n/2-Bit-Addierer sn/2-1 s0

cn
s“n-1 s“n/2
cn/2

sn-1 sn/2

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:35
Subtraktionsschaltung aus Volladdierern
Die Differenz A-B (A,B ¸ 0) wird durch die Addition des 2-er Komplements
:B von B erreicht (A+(: B)), welches auf die bitweise Negation von B
zurückgeführt wird:

Auftretende Überträge werden nicht berücksichtigt.


Beispiel: 4-Bit (Vorzeichen und 3-Bit für die Zahlendarstellung)

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:36
Subtraktionsschaltung auf Volladdierern
Addierer/Subtrahierer:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:37
Allgemeine Vergleicher für Dualzahlen
Der größer als bzw. kleiner als Vergleicher basiert auf einem Subtrahierer.
Integrierter Vergleicher (Komparator) SN7485:

a0 COMP
a1
0

s0
a2
a0 a3
n-Bit-Subtrahierer

b0 ≥1 & A<B
A<B <
= A=B
>

A=B A>B
b0
b1
an-1 sn-1 b2
& A>B b3
bn-1
cn

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik
coutn/2-1 Nr.:38
4.1.6 Multiplizierer
Schnelle Multiplizierer werden durch parallele Berechnung sämtlicher
(dualer) Produktterme und anschließender Addition der Terme mit den
richtigen Wertigkeiten implementiert.

Es werden m2 viele AND-Gatter für die Bildung der Produktterme und m


Addierer benötigt.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:39
Beispiel – 3-Bit Multiplizierer (1)
Eingaben: Faktoren a und b Ausgabe: Produkt p = a ¢ b

Anschauliche Darstellung:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:40
Beispiel – 3-Bit Multiplizierer (1)
a 2 a 1 a 0

b 0

& & &

HA
Addierer

b 1

& & &

VA VA HA
Addierer

b 2

& & &

VA VA HA
Addierer

p 5 p 4 p 3 p 2 p 1 p 0

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:41
Beispiel – 3-Bit Multiplizierer (2)

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:42
Standardbausteine für Multiplikation
Für die Multiplikation zweier 4-Bit Dualzahlen existieren die beiden
Standardbausteine SN74284 und SN74285. Der Baustein SN74285
berechnet den niederwertigen 4-stelligen Teil des Produktes, der SN74284
den höherwertigen Teil.
Multiplikand Multiplikator
23 22 21 20 23 22 21 20

2D 2C 2B 2A 1D 1C 1B 1A 2D 2C 2B 2A 1D 1C 1B 1A

SN74284 SN74285

z7 z6 z5 z4 z3 z2 z1 z0

27 26 25 24 23 22 21 20
Produkt

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:43
4.2 PLA (programmable logic arrays)
PLAs sind integrierte Schaltungen zur Realisierung von DNFs. Sie sind
durch sogenannte Programmiergeräte vom Kunden (Anwender) selbst
personalisierbar. PLAs besitzen eine regelmäßige Struktur und sind daher
besonders für eine VLSI-Realisierung geeignet.
X
UND Z ODER Y
1 Matrix Matrix
X

Literale:

Ausgangsvektor:
Jede Komponente yi aus Y = y1, y2, …, ym stellt eine DNF dar.
Produkttermvektor:
Jede Komponente zk aus Z = z1, z2, …, zl stellt einen Konjunktionsterm der negierten oder
nicht negierten Literale dar.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:44
PLA (programmable logic arrays)
x1 UND-Ebene (UND-Matrix):
1
x2

1 mit den Indexmengen Ik,n und Ik,p der


negierten bzw. nicht negierten Variablen
UND
xn
ODER-Ebene (ODER-Matrix):
1

z1 z2 zl
y1
y2
Die Personalisierung der Matrizen
erfolgt durch Aktivierung der
ODER
Leitungsverzweigungen, meist durch
ym aktive Bauelemente (Transistoren).

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:45
PLA
UND/ODER-PLA: NAND-PLA:
x1 x1

1 1
x2 x2

1 1

UND UND

xn xn

1 1

& & & &

1 y1 & y1

ODER ODER

1 y m & y m

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:46
Beispiel – Volladdierer
Boolesche Funktionen:

a i b i a iC i b iC i
PLA:
ai
1
bi
1
Ci
1
C i+1
Si

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:47
PLA, PAL und ROM
Der Aufwand der Personalisierung wird geringer, wenn nur eine der beiden
Matrizen programmierbar (personalisierbar) ist. Für die Realisierung
Boolescher Funktionen stehen 3 personalisierbare Strukturen zur
Verfügung:

 PLA
Personalisierung: UND-/ODER-Matrix
 PAL
Personalisierung: UND-Matrix
 Festwertspeicher (ROM)
Personalisierung: ODER-Matrix

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:48
PAL (Programable Logic Array)
Bei einem PAL ist die UND-Matrix x1
personalisierbar und die ODER- 1
Matrix festgelegt.
x2

xn

y1
y2

ym

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:49
ROM
Bei einem Festwertspeicher wird die UND-Matrix fest als Adressdecoder
personalisiert.

0
1
x1 2
3
x2 Decoder
4
x3 X/Y 5
6
7

y1 y2 y3

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:50
RAM
Ein Schreib-/Lesespeicher (RAM) hat eine ähnliche Struktur, bei der die
personalisierten Leitungsverzweigungen der ODER-Matrix durch
Speicherzellen (Flipflops) ersetzt werden. Dadurch kann die Information in
der ODER-Matrix jederzeit und schnell geändert werden.
Die UND-Matrix ist wie beim ROM fest als Adressdecoder personalisiert.
Aufbau eines n£m-Bit Arbeitspeichers:

m-1
m-2
m-3
m-4
Adresse
Bit

0
3
2
1
0

Speicherzellen
1

n-2
n-1
Adreß-
decoder Daten

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:51
4.3 Elektrotechnische Grundlagen
Allgemein:
 In einem digitalen Datenverarbeitungssystem werden auf der
physikalischen Ebene binäre Schaltvariablen mit elektronischen
Schaltern nach den Gesetzen der Schaltalgebra verknüpft.
 Elektronische Verknüpfungsglieder werden aus Halbleiterbauelementen
aufgebaut.
 Verknüpfungsglieder werden zu Schaltnetzen und Schaltwerken
zusammengefügt.
 Schaltkreisfamilien (integrierte Schaltungen) bestehen aus
standardisierten Verknüpfungsgliedern, Speichergliedern, Schaltnetzen
und Schaltwerken, die aus gleichen Bauelementen und nach dem
gleichen elektronischen Konzept hergestellt sind.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:52
Modell des idealen Schalters
In der Schaltalgebra werden die binären Variablen mit
Verknüpfungsgliedern aus idealen Schaltern verknüpft.
UB UB
I I

R R
I

UB
I= ein
R
S ein UQ = 0 S aus UQ = UB R

aus
UQ
UB

• Im Schalterzustand ’ein’ ist der Innenwiderstandswert des Schalters S Ri=0.

• Im Schalterzustand ’aus’ ist der Sperrwiderstand des Schalters S Ri=∞.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:53
Modell des idealen Schalters
 Die Schaltwirkung folgt unmittelbar der Schaltursache, d.h. es gibt keine
Zeitverzögerung.
 Die vom Schalter aufgenommene Leistung P = U ¢ I ist immer Null, da
entweder der Strom I (’aus’) oder die Spannung U (’ein’) gleich Null ist.

Kein realer Schalter kann diese Anforderungen erfüllen. Mit elektronischen


Schaltern kommt man dem Ziel heute am nächsten. Je nach
Bauelementetyp (bipolar oder unipolar) werden mehr die einen oder die
anderen Eigenschaften optimal erreicht. Deshalb haben sich verschiedene
Schaltkreisfamilien entwickelt.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:54
Modell des realen Schalters
UB UB
IE IA
R R

I
Ri
UB
S ein S aus
UA R
UE IE ein
Rs R
Ri aus Rs
IA
UQ
UE UA UB

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:55
In der Schalterstellung ’ein’ liegen R und Ri in Reihe und ihre
Widerstandsgeraden schneiden sich im Arbeitspunkt ein. Für Strom und
Spannung gilt:

Am Schalter fällt also eine Spannung UE ab. In der Schalterstellung ’aus’


liegen R und Rs in Reihe und ihre Widerstandsgeraden schneiden sich im
Arbeitspunkt aus. Für Strom und Spannung gilt:

Trotz Schalterstellung ’aus’ fließt ein Strom IA. In beiden Betriebszuständen


wird vom Schalter Leistung aufgenommen, weil der Strom IA bzw. die
Spannung UE verschieden von Null sind.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:56
MOS-FET als Schalter
UB ID U th = threshold voltage
ID U p = pinch off voltage
Up
R ein
U GS> U th
Drain

Gate
R
U DS aus
U GS Source U GS< U th
U DS
UE UA

Die Schalterzustände ’ein’/’aus’ werden durch die Zustände Transistor aus


(UGS < Uth) und Transistor ein (UGS > Uth) mit dem Schnitt der
Widerstandsgeraden realisiert.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:57
MOS-FET als Schalter
Für UGS < Uth ist die Drain-Source-Strecke gesperrt. Mit dieser Spannung
wird der Transistorschalter ausgeschaltet. Der Schnittpunkt der Kennlinie
für UGS < Uth mit der Widerstandsgeraden für R ist der Arbeitspunkt des
Schalterzustandes ’aus’. Mit einer Spannung UGS > Uth wird die Drain-
Source-Strecke leitend, der Transistor eingeschaltet.
Die Gate-Source-Spannung wird wie beim bipolaren Transistor so gewählt,
daß die zugehörige Kennlinie von der Widerstandsgeraden für R im linearen
Bereich geschnitten wird. Dieser Schnittpunkt ist der Arbeitspunkt des
Schalterzustandes ’ein’. Wechselt die Gate-Source-Spannung zwischen
UGS < Uth und UGS > Uth, dann schaltet der Transistor zwischen gesperrt und
leitend bzw. UDS zwischen UA und UE.
Der Vorteil von MOS-FETs als Schalter gegenüber bipolaren Transistoren
besteht darin, dass sie leistungslos am Gate angesteuert werden können.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:58
Kenngrößen
Signalpegel:
Es werden Pegelbereiche eingeführt, die die Werte der binären
Schaltvariablen darstellen. Dadurch werden die Einflüsse der
Störspannung berücksichtigt. Für die Zuordnung der Pegelbereiche zu
den Werten der binären Schaltvariablen gibt es zwei Möglichkeiten:
• Positive Zuordnung:
• Negative Zuordnung:

Der typische statische Störabstand USS ergibt sich aus der Differenz der
Ausgangsspannung des steuernden Schaltgliedes zur
Eingangsschwellspannung UES des angesteuerten Schaltgliedes.
• bei H-Pegel: USSH = UAH - UES
• bei L-Pegel: USSL = UES - UAL

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:59
Kenngrößen
Pegelbereiche:
U
Ausgang A Eingang E

H-Pegel H-Pegel
U AH min
U AH U EH min
U AH min U AS U ES

U AS U EL max
U AL max
U AL max
U L-Pegel L-Pegel
AL
U
U EL maxU ES U EH min

U EL U EH
Meist werden ’worst-case’ Störspannungsabstände definiert:
 bei H-Pegel:
 bei L-Pegel:

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:60
Kenngrößen
idealer Rechteckimpuls am Eingang
Signalübertragungszeit: U

Elektronische Schalter benötigen H


Zeit, um von einem Schaltzustand
in den anderen zu gelangen.
Hauptursache für diese L t
t p
Zeitverzögerung ist die kapazitive T p
Eigenschaft der Bauelemente; t Pulsdauer
p
beim bipolaren Transistor T p Pulsperiode
hauptsächlich der Basis-Emitter
linearisierter Ausgangsimpuls
pn-Übergang, beim unipolaren U
Transistor die Gate-Oxid-Substrat H
Schichtfolge (MOS-Kondensator). 90%

Die eigentlichen 10%


Signalübergangszeiten L t
(Transition time) der Impulsflanken t THL t TLH

liegen zwischen 90% und 10% der


t Transition Time H->L
Amplitude. t
THL
TLH Transition Time L->H

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:61
Kenngrößen
Eingang
Signallaufzeit:
Die Signallaufzeit (Propagation U
delay time) gibt die
Impulsverzögerung zwischen H
Eingangs- und Ausgangspegel an 50%
(tPHL bzw. tPLH). Die Messung der
Signallaufzeiten wird auf die 50% L t
Marke der Amplitude bezogen, die
zwischen dem H- und dem L-Pegel Ausgang
liegt.
U
Als mittlere Signallaufzeit eines
Schaltgliedes wird definiert: H

50%

L t
t PHL t PLH

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:62
Verknüpfungsglieder: unipolare MOS-FETs
Complementary MOS (CMOS) Technik:
Verknüpfungsglieder werden in dieser Technologie aus
(selbstsperrenden) NMOS- und PMOS-Transistoren aufgebaut.
Inverter U U U
B B B

p-Kanal MOS-FET
gesperrt

T 1 T 1 T 1

E E 1 0 0 1=U B

gesperrt

T 2 T 2 T 2

n-Kanal MOS-FET

Es ist stets ein Transistor gesperrt und der andere leitend. Daher ist der
Betriebsstrom und die statische Verlustleistung nahezu Null.
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:63
Verknüpfungsglieder: MOS-FETs
NAND U NOR U
B B

A B

A A B

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:64
4.4 Zeitliches Verhalten von Schaltnetzen

Auf Gatterebene wurden die Gatter der bisher als ideale logische
Verknüpfungen betrachtet.

In der Realität werden Gatter


jedoch mittels Transistoren,
Widerstände, Kapazitäten,
etc. realisiert (Layoutebene).

=> Der zeitliche Signal-Verlauf


eines realen Gatters weicht vom Verlauf
der idealen booleschen Größen ab

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:65
Zeitliches Verhalten von Schaltnetzen

Um die Effekte auf der annähernd Gatterebene zu beschreiben, gibt es


eine Reihe verschieden komplexer Modelle.

Einfachstes Modell: Totzeitmodell

Es werden lediglich die durch Gatter und Leitungen entstehenden


Verzögerungen berücksichtigt.

Ein reales Verküpfungsglied (Gatter) wird modelliert durch:


- ein ideales Verknüpfungsglied ohne Verzögerung
- ein Totzeitglied als reines Verzögerungsglied
(steht für die Schaltzeit des Gatters und ggf. für t
Leitungsverzögerungen).

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:66
Totzeitglied

Das zeitliche Verhalten einer binären Größe hinter


einem Totzeitglied ist dasselbe wie dasjenige vor dem
Totzeitglied, aber um die Zeit t versetzt.

a(t) t b(t) = a(t-t)

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:67
Totzeitmodell eines Inverters

x(t)

x y
1 t
y(t) t t

Mit Hilfe dieses einfachen Modells lassen sich Laufzeiteffekte bereits sehr
gut modellieren.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:68
Eigenschaften von Totzeiten
Addierbarkeit: zwei hintereinanderliegende Totzeiten können durch ihre Summe ersetzt werden

t1 b(t) t2
a(t) c(t) = a(t) t1 + t2 c(t)

Durchschiebbarkeit: Ein Totzeitglied in diesem Totzeitmodell, welches hinter einem Gatter mit
beliebiger Verknüpfungsfunktion f liegt, kann durch das Gatter hindurch in alle Eingänge
vorgeschoben werden.

a1 (t- t )
a (t ) a1 (t) t
1 y´ (t )
f t y(t ) = f y(t)
an(t) t
a (t ) an(t- t )
n

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:69
Trennung von Verknüpfungs- und Verzögerungsteil
Alle Verzögerungszeiten sukzessive zum Eingang des Schaltnetzes verschieben
und aufaddieren.

e1 1 t
& t

e
2

1 t a
& 3t
e3

Beispiel: gemischte Verknüpfungen und Verzögerungen

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:70
Trennung von Verknüpfungs- und Verzögerungsteil

e11
e1 3t 1
&

e21
e2 2t

e12
1
•1
4t a
e31 &
e3 4t

Verzögerungsteil Verknüpfungsteil

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:71
Pfadvektor und Strukturausdruck

e11
e1 3t 1
&

e21
e2 2t

e12
4t 11
• a
e31 &
e3 4t

Pfadvektor: <e11, e12, e21, e31> (alle Pfadvariable)


Strukturausdruck: e11 e21  e12 e31 (beschreibt die Struktur der Funktion)

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:72
Alternative Methode zu Pfadvektor und
Strukturausdruck
- Man schreibt die der Schaltnetzstruktur entsprechende algebraische Darstellungsform auf.
- Hierbei versieht man jede Eingangsvariable bei ihrem ersten, zweiten, dritten … Auftreten
mit dem zusätzlichen Index 1, 2, 3, ...

Beispiel:
e1
&

e2
1 
•1 a

e &
3

Algebraische Darstellungsform: e1 e2  e2 e3
Strukturausdruck mit Pfadvariablen: e11 e21  e22 e31

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:73
4.5 Hazards und Hazardfehler in Schaltnetzen
Gegeben:

e 1 a
1
a=ee=1

Beide Gatter haben eine Verzögerung von 1 ns

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:74
Hazards und Hazardfehler in Schaltnetzen

e 0 11 0 0 0
1 t 1 11 1 0 1
a
1 t 1 10 0 1 1

Zeitdiagramm:

1 2 3 4 5 6 7 8 9 10 11 12 t/ns

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:75
Verhalten bei Änderung der Eingabebelegung
Ideales Schaltnetz:
- Das Ausgangssignal ändert sich nicht, wenn alte und neue Belegung
denselben logischen Verknüpfungswert liefern.
- Das Ausgangssignal ändert sich genau einmal, wenn alte und neue
Belegung verschiedene logische Verknüpfungswerte liefern.

Reales Schaltnetz:
- Die Änderung läuft auf verschieden langen Wegen mit verschiedenen
Verzögerungen durch das Schaltnetz.

=> Mehrfache Änderungen des Ausgangssignals sind möglich, bis sich


der stabile Endwert einstellt:

=> Hazardfehler

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:76
Hazardfehler - Hazard

Ein Hazardfehler ist eine mehrmalige Änderung der Ausgangsvariablen


während eines Übergangs.

Ein Hazard ist die durch das Schaltnetz gegebene logisch-strukturelle


Vorbedingung für einen Hasardfehler, ohne Berücksichtigung der konkreten
Verzögerungswerte.

Ein Hazard ist die Eigenschaft eines bestimmten Übergangs im Schaltnetz.


Zur Betrachtung, ob ein Übergang hazardbehaftet ist, interessieren nur
die Funktion und die Struktur des Schaltnetzes, nicht die konkreten
Verzögerungswerte

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:77
Hazardfehler - Hazard

Tritt in einem konkreten Schaltnetz bei einem bestimmten Übergang ein


Hazardfehler auf, so ist dieser Übergang hazardbehaftet, also:

Hazardfehler => Hasard

Die Umkehrung gilt jedoch nicht: Ist ein Übergang hazardbehaftet, so folgt
hieraus nicht notwendigerweise das Eintreten eines Hazardfehlers.

Hazard => ungünstige Verzögerungswerte => Hazardfehler

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:78
x1
Beispiel: e1 1 t
t
x2
&

e2

x3 1 t a
& 3t
e3

e
1
a = e1 e 2  e 1 e 3 1
1 1 1 e
2
e
3

Es soll der folgenden Eingabewechsel betrachtet werden:


Die Eingänge e2 und e3 seien konstant 1, der Eingang e1 wechsle von 0 auf 1

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:79
Beispiel:
Funktionswerte bei dem Übergang: e
1
1
(e3,e2,e1) = (1,1,0) => a = 1
1 1 1 e
(e3,e2,e1) = (1 1 1) => a = 1 2
e
3

- korrektes Verhalten bei den Übergängen: bei beiden


Übergängen darf sich der Wert von a nicht ändern. Er
muss konstant 1 bleiben.

Genau dieses Verhalten kann jedoch nicht garantiert


werden !

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:80
Verhalten anhand des Totzeitmodells
t0
1
e1 0

1
x1 e2 0
e1 1 t
t 1
& x2 e3 0

e2 t
1
x1 0
1 t a t
x3
& 3t x2
1
0
e3
3 t
1
x3 0
t t
1
a 0

Hazardfehler => Hazard

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:81
Verhalten anhand des Totzeitmodells

t0
x1 1
e1 1 t e1 0
& t x2 1
e2 0
1
e3 0
e2 t
1
x1
t 0

x3
1 t a x2 t 3t
1
0
& tt
3 1
e3 x3 t t 0
1
a 0

Kein Hazardfehler, aber


Veränderung der Totzeit 3t auf t trotzdem Hazard

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:82
Definitionen
Statischer Hazard: Hazard bei statischem Übergang des
Ausgangssignals, d.h. Anfangs- und Endwert des
Ausgangssignals sind gleich

Statischer 0-Hazard: Hazard bei einem statischen 0-Übergang des


Ausgangssignals, d.h. Anfangs- und Endwert des
Ausgangssignals sind beide 0

Statischer 1-Hazard: Hazard bei einem statischen 1-Übergang des


Ausgangssignals, d.h. Anfangs- und Endwert des
Ausgangssignals sind beide 1

Statischer 1-Hazardfehler Statischer 0-Hazardfehler

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:83
Definitionen
Dynamischer Hazard: Hazard bei dynamischem Übergang des
Ausgangssignals, d.h. Anfangs- und Endwert des
Ausgangssignals sind verschieden

Dynamischer 01-Hazard: Hazard bei einem dynamischen 01-Übergang des


Ausgangssignals, d.h. Anfangswert des Ausgangssignals ist 0,
der Endwert ist 1

Dynamischer 10-Hazard: Hazard bei einem dynamischen 10-Übergang des


Ausgangssignals, d.h. Anfangswert des Ausgangssignals ist 1,
der Endwert ist 0

Dynamischer 01-Hazardfehler Dynamischer 10-Hazardfehler

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:84
Definitionen
Funktionshazard: Hazard, dessen Ursache in der zu realisierenden Funktion liegt.
Er tritt in jeder möglichen Schaltnetzrealisierung für diese Funktion
auf.
Er kann somit nicht behoben werden.
Nur das Auftreten des Hazardfehlers kann durch günstige Wahl der
Verzögerungen vermieden werden.

Strukturhazard: Hazard, dessen Ursache in der Struktur des realisierten


Schaltnetzes liegt.
Er kann durch Änderung der Schaltnetzstruktur bei gleicher
Schaltfunktion behoben werden.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:85
Analyse von Hazards
Methode: Alle möglichen Wege eines Übergangs werden im KV-
Diagramm untersucht

Erkennen eines Funktionshazards


Vorgehensweise:
 Man stellt das KV-Diagramm der Funktion auf und markiert das Feld der
Anfangsbelegung und das der Endbelegung des betrachteten
Eingabewechsels.
 Nun betrachtet man alle Wege, die der Übergang nehmen kann. Hierzu
stellt man zunächst fest, welche Eingangsvariablen am Eingabewechsel
beteiligt sind.
 Nacheinander muss dann jeweils genau einmal an allen Achsen dieser
Eingangsvariablen gespiegelt werden, um einen Weg von der
Anfangsbelegung bis zur Endbelegung zu erhalten.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:86
Erkennen eines Funktionshazards
 Mit m Eingangsvariablen, die am Wechsel beteiligt sind,
gibt es m! mögliche Wege, da jede mögliche Reihenfolge der m
Spiegelungen berücksichtigt werden muss.
 Der Übergang ist genau dann funktionshazardbehaftet, wenn es
mindestens einen Weg gibt, für den die Folge der zugehörigen
Funktionswerte (0 oder 1 im KV-Diagramm) nicht monoton ist, d. h. in
der mindestens zweimal der Funktionswert wechselt.

Beispiele monotoner Folgen von Funktionswerten:


0 0 0 0, 0 0 1 1,
1 1 1 0, 1 1 1 1.

Beispiele nicht monotoner Folgen von Funktionswerten:


0 0 1 0, 0 1 0 1,
1 0 1 0, 1 0 0 1.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:87
Erkennen eines Funktionshazards

 Es ist leicht einzusehen, dass jeder ermittelte Weg eine mögliche


Übergangsfolge im Schaltnetz darstellt.

 Welcher Weg eingeschlagen wird, hängt von den Verzögerungszeiten ab.

 Ist mindestens ein nichtmonotoner Weg dabei, so kann dieser bei


ungünstigen Verzögerungswerten auch eingeschlagen werden

 Bereitschaft zum Hazardfehler

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:88
Beispiel
Übergang (e3, e2, e1): (0,1,0)  (1,1,1), im KV-Diagramm:
e1
1
1 1 1 e2
e3

Hier sind die Variablen e1 und e3 am Übergang beteiligt. Es gibt 2 Wege:

e1 e1
1 1
1 1 1 e2 1 1 1 e2
e3 e3
(0,1,0)  (0,1,1)  (1,1,1) (0,1,0)  (1,1,0)  (1,1,1)
1  0  1 1  1  1
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:89
Erklärung zum Beispiel

Der erste dieser Wege liefert als Folge der Funktionswerte die nicht monotone
Folge 10  1.

 Der Übergang ist mit einem Funktionshazard behaftet.

Bereits eine nicht monotone Folge ist dafür hinreichend.

Dass der zweite Weg eine monotone Folge liefert, spielt keine Rolle mehr.

Es handelt sich um einen statischen 1-Funktionshazard.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:90
Beispiel 2

Übergang (e3, e2, e1): (1,1,0)  (1,1,1) im KV-Diagramm:


e
1
1
1 1 1 e
2
e
3
Es ändert sich nur die Variable e1. Es gibt daher nur einen Weg, der aus
Anfangs- und Endwert des Übergangs besteht.
Die Folge der dazugehörigen Funktionswerte muss monoton sein. Die Folge
heißt hier 11.
 Dieser Übergang enthält also keinen Funktionshazard.
Ein Übergang, bei welchem nur eine Eingangsvariable wechselt, kann
keinen Funktionshazard enthalten.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:91
Beispiel 2
Übergang (e3, e2, e1): (1,1,0)  (1,1,1)

e1
1
1 1 1 e
2
e
3

Der Übergang enthält keinen Funktionshazard.

Da wir jedoch von voher wissen, dass der Übergang


hazardbehaftet ist, muss es sich hierbei um einen
Strukturhasard handeln.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:92
Erkennen eines Strukturhazards
Ähnlich wie bei Funktionshazards kann man Strukturhazards mit Hilfe des
KV-Diagramms erkennen.

Da ein Strukturhazard eine Eigenschaft eines Übergangs in einem


Schaltnetz bestimmter Struktur ist, muss man hier diese Struktur in die
Überlegungen einbeziehen.

Die Struktur des Schaltnetzes liefert Information darüber, über wie viele und
welche Pfade sich Änderungen der Eingangsvariablen auf den Ausgang
auswirken.

 Ausgangspunkt ist der Strukturausdruck des Schaltnetzes

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:93
Erkennen eines Strukturhazards
Für den Strukturausdruck des Schaltnetzes stelle man das KV-
Diagramm auf.
Anstelle der Eingangsvariablen treten hier die Pfadvariablen.

Man markiere wieder die beiden Felder der Anfangs- und der
Endbelegung.

In diesen müssen die Werte aller Pfadvariablen einer Eingangsvariablen


gleich sein.
Man betrachtet alle möglichen Wege von der Anfangs- zur
Endbelegung.

Der Übergang ist genau dann strukturhazard-behaftet, wenn es


mindestens einen Weg mit nicht-monotoner Folge gibt

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:94
Beispiel
Schaltfunktion: a = e1e2  e1e3
Totzeitmodell:
e11
e1 3t 1
&

e21
e2 2t

e12
4t 1 a
e31 &
e3 4t

Strukturausdruck: a = e11e21  e12e31

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:95
Strukturspezifisches KV-Diagramm

• Übergang (e3, e2, e1) : (1,1,0)  (1,1,1)


• Mit Hilfe der Pfadvariablen ausgedrückt lautet dieser Übergang:

(e31, e21, e12, e11) : (1,1,0,0)  (1,1,1,1)

• Übergang wird im KV-Diagramm eingezeichnet:

e11
e1 1
1 1
e
e 12
1 1 1 2
1 1 1 1
e 31
e 1
3
e
21
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:97
Strukturspezifisches KV-Diagramm
Hier kann man die schon bei den Funktionshazards erprobte Methode zur
Hazardbestimmung anwenden:
Es sind zwei mögliche Wege zu erkennen, die eingeschlagen
werden können:
e11 e11

1 1
1 1
e12 e12
1 1 1 1 1 1 1 1
e31 e31
1 1
e21 e21

Kein Hazardfehler! Hazardfehler!


=> der Übergang ist hazardbehaftet (wie schon früher festgestellt)

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:98
Zeitbedingungen für Hazardfehler
e e11
11

1 1

1 1
e12 e12
1 1 1 1 1 1 1 1
e 31 e 31
1 1
Weg 2
e
21 Weg 1 e 21

Es existieren 2 Wege. Weg 2 erzeugt einen Hasardfehler.


Dieser Weg wird eingeschlagen, wenn sich erst e11 und dann e12 ändert

=> Der Hasardfehler tritt auf, wenn die Totzeit in Pfad e11
kleiner als die Totzeit in Pfad e12 ist.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:99
Zeitbedingungen für Hazardfehler
Der Hazardfehler tritt auf, wenn die Totzeit in Pfad e11 kleiner als die
Totzeit in Pfad e12 ist.

e11
e1 3t 1
&
e21
e2 2t
e12
4t 1 a
e31 &
e3 4t

Aus dem Totzeitmodell folgt: Totzeit e11: 3t


Totzeit e12: 4t
=> Der Hazardfehler tritt immer auf

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:100
Beheben von Hazards
Funktionshazards:
Funktionshazards können nicht behoben werden, da sie in der
Schaltfunktion begründet sind.
Einzige Möglichkeit: Vermeidung des Hazardfehlers durch die Wahl
geeigneter Verzögerungszeiten.

Strukturhazards:
Strukturhasards können durch geeignete Veränderung der
Struktur bei gleicher Schaltfunktion behoben werden.

Behebung statischer Strukturhasards:


Prinzip: Die beim Übergang konstant bleibenden
Eingangsvariablen
müssen in die Lage versetzt werden,
das Ausgangssignal
konstant zu halten. HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:101
Behebung statischer 1-Strukturhazards
Gegeben:
Ein funktionshazardfreier, aber strukturhazardbehafteter
1-Übergang in einem Schaltnetz

Beispiel (bereits bekanntes Schaltnetz)

e1 1
&

e2

1 a
&
e3

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:102
Behebung statischer 1-Strukturhazards

Übergang: (e3,e2,e1) : (1,1,0)  (1,1,1)


Dieser Übergang enthält, wie wir bereits wissen, einen statischen 1-
Strukturhasard.

e e
11 11

1 1

1 1
e e
12 12
1 1 1 1 1 1 1 1
e e
31 31
1 1
Weg 2
e
21 Weg 1 e
21

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:103
Behebung statischer 1-Strukturhazards
Die Variablen e2 und e3 bleiben konstant 1
=> Zusätzliches UND-Glied e2e3

e1 1
&
e
1
e2 1
1 a 1 1 1 e
& 2
e3
e
3
e2e3 enthält Anfangs- und Endbelegung
&

Das zusätzliche UND-Glied hält den Ausgang während des Übergangs auf
konstant 1.
HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:104
Behebung statischer 1-Strukturhazards
Ein solcher Einsblock kann immer für einen 1-Strukturhazard konstruiert
werden, da anderenfalls mindestens eine 0 im Übergangsbereich vorhanden
ist
=> Nicht behebbarer Funktionshazard

Beispiel:

e
1
1
1 1 1 e
2
e
3

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:105
Behebung statischer 1-Strukturhazards
Kosten dieser Art von Hazardbehebung ist umso günstiger, je größer der
zusätzlich realisierte Einsblock ist.
Am günstigsten ist somit ein Prim-Einsblock, der sowohl die Anfangs- als
auch die Endbelegung umschließt.

Allgemeine Regel zur Beseitigung eines 1-Strukturhazards

Man realisiere mit einem UND-Glied einen Primimplikanten, der


sowohl Anfangs- wie auch Endbelegung des Übergangs enthält und
verknüpfe den UND-Ausgang disjunktiv mit dem Schaltnetz-
Ausgang.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:106
Behebung statischer 0-Strukturhazards

Auf gleiche Weise kann mit Nullblöcken vorgegangen werden:

Allgemeine Regel zur Beseitigung eines 0-Strukturhazards

Man realisiere mit einem ODER-Glied ein Primimplikat, der


sowohl Anfangs- wie auch Endbelegung des Übergangs enthält
und verknüpfe den ODER-Ausgang konjunktiv mit dem
Schaltnetz-Ausgang.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:107
Satz von Eichelberger

Verallgemeinerung der Regeln:

Ein Schaltnetz, das durch die Disjunktion aller


Primimplikanten oder die Konjunktion aller Primimplikate
einer gegebenen Funktion realisiert wird, ist frei von
 allen statischen Strukturhazards
 allen dynamischen Strukturhazards, falls nur eine
Eingabevariable wechselt.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:108
Behebung dynamischer Strukturhazards

Die Behebung dynamischer Strukturhasards ist erheblich schwieriger als die


Behebung statischer Strukturhasards !
Problem:
Die Behebung eines dynamischen Strukturhasards für einen Übergang
kann einen Strukturhasard für einen anderen Übergang erzeugen.

Vorgehensweise:
Einvariablenwechsel: Satz von Eichelberger
Mehrvariablenwechsel: hier soll kurz ein Verfahren für zweistufige
Schaltnetze skizziert werden

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:109
Behebung dynamischer Strukturhazards
Regel für zweistufige Schaltnetze in disjunktiver Form:
Ein dynamischer Strukturhasard bei einem Übergang wird
genau dann vermieden, wenn jeder Einsblock, der in den
Übergangsbereich hineinragt, die Einsbelegung des Übergangs
umschließt

Beispiel: e1
1
a = e1e3  e2e3 e2
1 1
e3
Der Übergang (e3, e2, e1) : (1,1,1)  (0,0,1) ist mit einem dynamischen 01-
Strukturhasard behaftet.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:110
Behebung dynamischer Strukturhazards
Beseitigung des Hazards durch Aufspalten des Einsblocks e2e3, der in den
Übergangsbereich hineinragt, die Einsbelegung aber nicht umschließt.

e1
a = e1e3  e1e2e3
1
1 1 e2
e
=> Hasardfreier Übergang
3

Durch die Beseitigung des 01-Strukturhazards handelt man sich einen 1-


Strukturhazard im Übergang:
(e3, e2, e1) : (0,1,1)  (0,1,0) ein !

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:111
Wieso funktioniert dieses Verfahren?

Einsblöcke, die in den Übergangsbereich hineinragen (im Beispiel: e3e2 ),


die Einsbelegung aber nicht umschließen, sind am Anfang und am Ende
des Übergangs sicher 0.
Während des Übergangs können diese jedoch kurzfristig zu 1 werden.
=> Hazardfehler

Dies lässt sich auch auf Nullblöcke übertragen:


Ein dynamischer Strukturhazard bei einem Übergang wird genau
dann vermieden, wenn jeder Nullblock, der in den Übergangsbereich
hineinragt, die Nullbelegung des Übergangs umschließt.

HWR · K4
Uwe Brinkschulte  Eingebettete Systeme  Lars Hedrich  Entwurfsmethodik Nr.:112