+ All Categories
Home > Documents > Hardwarearchitekturen und Rechensysteme

Hardwarearchitekturen und Rechensysteme

Date post: 13-Jan-2016
Category:
Upload: les
View: 20 times
Download: 0 times
Share this document with a friend
Description:
Hardwarearchitekturen und Rechensysteme. 4. Schaltnetze. Motivation. Schaltnetze sind kombinatorische digitale Schaltungen. Rechnerwerkzeuge für den Entwurf und die Simulation dieser Schaltungen basieren auf der Booleschen Algebra. - PowerPoint PPT Presentation
111
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) Lehrstuhl für Eingebettete Eingebettete Systeme Systeme Hardwarearchitekturen und Rechensysteme 4. Schaltnetze
Transcript
Page 1: Hardwarearchitekturen und Rechensysteme

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)

Lehrstuhl fürEingebettete SystemeEingebettete Systeme

Hardwarearchitekturen und Rechensysteme

4. Schaltnetze

Page 2: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:2

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 3: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:3

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Gliederung

4.1 Spezielle Schaltnetze4.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

Page 4: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:4

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 5: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:5

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4.1.1 Multiplexer/Demultiplexer

Ein Multiplexer/Demultiplexer ist ein Schaltnetz, welches eine Datenweiche darstellt.

Multiplexer:

Page 6: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:6

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

MultiplexerDefinition:

Ein Multiplexer ist eine Boolesche Funktion f , für die gilt:

Für die Abbildung g gilt:

Für das Dekodiersignal dk gilt:

Beispiel:

Page 7: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:7

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 8: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:8

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Datenwegschaltung

Multiplexer:

Demultiplexer:

Steuereingänge

Ausgangs-datenwege

Decoder

0

n-1

Eingangs-datenweg

Datenweg-schaltung

Eingangs-datenwege

Steuereingänge Decoder

0

n-1

Ausgangs-Datenweg-datenwegschaltung

Page 9: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:9

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Anwendung – Busbasiert

Ansteuerung

ALU Multiplizierer Puffer-register

Hilfs-register

Akku-Register

Ergebnisbus

Datenbus

Page 10: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:10

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Anwendung – Multiplexerbasiert

Ansteuerung

Register 1

Register 2

Register 3ALU

Akku-Register

Ergebnis-register 2

Ergebnis-register 1

Ansteuerung Demultiplexer

Multiplexer

Page 11: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:11

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

2:1 Multiplexer

Funktionstafel: KV-Diagramm:

Schaltplan:

Funktion:

0

e 0

e 1

sel

0

1

0

01

1 1

Page 12: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:12

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4:1 Multiplexer

Page 13: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:13

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4:1 Multiplexer

Decodersel0

sel1

e 2

e 3

e 1

e 0 f

1

2

0

1

2

3

Enable

Page 14: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:14

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

8:1 Multiplexer

Enable

1

1

sel0

sel1

sel2

e 0

e 1

e 2

e 3

e 4

e 7

e 6

e 5

f

1

2

0

1

2

3

1

2

0

1

2

3

Decoder

Decoder

Enable

Page 15: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:15

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

2:1 4-Bit Multiplexer

Page 16: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:16

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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):

Ste

ueru

ngE

ingä

nge

Y

Y

Enable

I7I6I5I4I3I2I1I0

C2C1C0

Page 17: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:17

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 18: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:18

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Implementierung Boolescher Funktionen

Beispiel: 2 von 3 Mehrheitsfunktion

f

0 1 0 1

f00

1 10

0011

1

0 0000

0

00

0

0

01111

11

11 1

1

1

4:1 Multiplexer

x

8:1 Multiplexer

2 x 1 x 0 x 0

x 1x 2

x 0

Page 19: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:19

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel

Page 20: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:20

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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 Variablen und die Dateneingänge mit den entsprechenden Co-Faktoren belegt.

100 0

101

ba

f(0,0,c)f(0,1,c)f(1,0,c)f(1,1,c)

f

1

Page 21: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:21

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

1:2 Demultiplexer

Funktionstafel: KV-Diagramm:

Schaltplan:

Funktion:

Der nicht beschaltete Ausgang wird mit dem Wert 1 belegt!

e

0 f 1

0

1 1

1 1 1

10sel

e

sel

f

Page 22: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:22

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

1:4 2-Bit Demultiplexer

Page 23: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:23

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

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).

a1ei

Page 24: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:24

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Unidirektionaler Datenbuszugang

1

1

i

i i

i

Daten-sender

Daten-empfänger

Daten-sender

Daten-empfänger

Bus

1

1

1

1

1

1

Page 25: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:25

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Bidirektionaler Datenbuszugang

Funktionstafel:

Schaltplan:

& &

1

1

1

1

ir

d

a e

Schaltsymbol

e

a

i

r

d

Tri-State-Gatter

Page 26: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:26

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Bidirektionaler Datenbuszugang

i

Datenbus

Einheit 1

Einheit 2

Einheit 3

ir

ir

r

bidirektionaler

Page 27: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:27

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 28: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:28

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

Page 29: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:29

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

n-Bit Vergleicher

Vergleicher für n-Bit Zahlen lassen sich hierarchisch konstruieren.

(x ≥ y)-Vergleicher:

n-1

&

&

1

Vergleicher für(n-1)-stelligeDualzahlen

y n-1

x n-1

y n

x n

x 1y 1

f n

f

Page 30: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:30

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

0

> Komparator > Komparator

x1

y1x2

y2x3

y3x4

y4x5

y5x6

y6x7

y7

Page 31: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:31

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

1-Bit Vergleicher für Dualzahlen

Der größer als bzw. kleiner als Vergleicher ist schaltungstechnisch aufwendiger als der Vergleich auf Identität.

Page 32: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:32

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4.1.5 Addierer

Ein Halbaddierer berechnet aus zwei 1-Bit Zahlen die Summen Si und den Übertrag Ci+1.

Funktionstafel: Schaltplan:

Funktionen:

Page 33: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:33

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Volladdierer

Ein Volladdierer berechnet aus drei 1-Bit Zahlen die Summe Si und den Übertrag Ci+1.

Funktionstafel: Schaltplan:

Funktionen:

Page 34: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:34

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 35: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:35

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Carry-Select-Addierer

Ziel: Beschleunigung der Durchlaufzeit

n/2-Bit-Addierer

an/2-1 bn/2-1 a0 b0

sn/2-1 s0

0

n/2-Bit-Addierer

an-1 bn-1 an/2 bn/2

s‘n-1 s‘n/2

0

n/2-Bit-Addierer

an-1 bn-1 an/2 bn/2

s“n-1 s“n/2

1

sn-1 sn/2

cn/2

cn

cn

Page 36: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:36

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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)

Page 37: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:37

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Subtraktionsschaltung auf Volladdierern

Addierer/Subtrahierer:

Page 38: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:38

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Allgemeine Vergleicher für Dualzahlen

Der größer als bzw. kleiner als Vergleicher basiert auf einem Subtrahierer.

Integrierter Vergleicher (Komparator) SN7485:

0a 1a 2a 3

b 3

b 2

b 1

b 0

<=>

COMP

A = B

A < B

A > B

an-

Bit-

Sub

trah

iere

r

bn-1

sn-1

0

coutn/2-1

a0

an-1

b0

s0

cn

≥1

……

A=B

&

&A<B

A>B

Page 39: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:39

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 40: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:40

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel – 3-Bit Multiplizierer (1)

Eingaben: Faktoren a und b Ausgabe: Produkt p = a ¢ b

Anschauliche Darstellung:

Page 41: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:41

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel – 3-Bit Multiplizierer (1)

b

VA

&

b 2

&

HA

VA

VA

1

VA

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

1a 0a

&0b

&&

HA

&

HA

&

a 2

&&

Addierer

Addierer

Addierer

Page 42: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:42

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel – 3-Bit Multiplizierer (2)

Page 43: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:43

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

4252627

z0z1z2z3

20212223

23 22 21 2023 22 21 20

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

SN74285SN74284

MultiplikatorMultiplikand

z

Produkt

4z5z6z7

2

Page 44: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:44

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

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.

XMatrix

ODERMatrix1

YZX

UND

Page 45: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:45

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

PLA (programmable logic arrays)

UND-Ebene (UND-Matrix):

mit den Indexmengen Ik,n und Ik,p der negierten bzw. nicht negierten Variablen

ODER-Ebene (ODER-Matrix):

Die Personalisierung der Matrizen erfolgt durch Aktivierung der Leitungsverzweigungen, meist durch aktive Bauelemente (Transistoren).

1

1

x1

x2

xn

y1

y2

y m

z1 z2 z l

UND

ODER

1

Page 46: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:46

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

PLA

UND/ODER-PLA: NAND-PLA:

UND

ODER

x1

x2

xn

y1

y m

& &

1

1

1

1

1

UND

ODER

1

1

x1

x2

xn

y1

y m

& &

&

&

1

Page 47: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:47

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel – Volladdierer

Boolesche Funktionen:

PLA: i b Ci ia ib i a iC

1

1

1

C i

b i

a i

S i

Ci+1

Page 48: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:48

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

PLAPersonalisierung: UND-/ODER-Matrix

PALPersonalisierung: UND-Matrix

Festwertspeicher (ROM)Personalisierung: ODER-Matrix

Page 49: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:49

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

PAL (Programable Logic Array)

Bei einem PAL ist die UND-Matrix personalisierbar und die ODER-Matrix festgelegt.

1

1

x1

x2

xn

ym

y2

y1

1

Page 50: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:50

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

ROM

Bei einem Festwertspeicher wird die UND-Matrix fest als Adressdecoder personalisiert.

7

1 y2 y3

x3

x2

x1

DecoderX/Y

0

1

2

3

4

5

6

y

Page 51: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:51

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

Adreß-decoder

m-3

m-4

m-2

m-1

01230

1

n-2

n-1

Daten

Bit

Sp

eic

he

rze

llen

Adresse

Page 52: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:52

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 53: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:53

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Modell des idealen Schalters

In der Schaltalgebra werden die binären Variablen mit Verknüpfungsgliedern aus idealen Schaltern verknüpft.

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

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

aus

B

S

R

I

UB

UB

R=I

UB

UQ

=UQ UB= 0UQein

U

S

R

I

I

R

ein

aus

Page 54: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:54

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 55: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:55

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Modell des realen Schalters

I

BU B

R i

R s

U B

U Q

U B

RI E

I A

U E U A

R s

R i

I

U

S

R

ein ausS

R

I

Rein

aus

U AU E

AE

Page 56: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:56

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 57: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:57

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

MOS-FET als Schalter

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.

Source

B

U GS

U DS

U E U AU DS

I D

U GS U th>

U GS U th

pU

U th

pUI D

Drain

U

R

R

<

= threshold voltage= pinch off voltage

ein

aus

Gate

Page 58: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:58

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 59: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:59

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 60: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:60

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Kenngrößen

Pegelbereiche:

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

U

U

U AS

U AL max

U EL max U ES U EH min

U AL max

U AH minU AH

U AL

U EHU EL

U EL max

U ESU AS

U EH min

Ausgang A Eingang E

L-Pegel

H-Pegel H-Pegel

L-Pegel

U

AH min

Page 61: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:61

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Kenngrößen

Signalübertragungszeit:

Elektronische Schalter benötigen Zeit, um von einem Schaltzustand in den anderen zu gelangen. Hauptursache für diese

Zeitverzögerung ist die kapazitive Eigenschaft der Bauelemente; beim bipolaren Transistor hauptsächlich der Basis-Emitter pn-Übergang, beim unipolaren Transistor die Gate-Oxid-Substrat Schichtfolge (MOS-Kondensator).

Die eigentlichen Signalübergangszeiten (Transition time) der Impulsflanken

liegen zwischen 90% und 10% der Amplitude.

Transition Time H->L

p

p

tL

H

Uidealer Rechteckimpuls am Eingang

Pulsdauer pT Pulsperiodep

t THL t TLH

90%

10%tL

H

Ulinearisierter Ausgangsimpuls

t TLH Transition Time L->Ht THL

T

Page 62: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:62

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Kenngrößen

Signallaufzeit:

Die Signallaufzeit (Propagation delay time) gibt die

Impulsverzögerung zwischen Eingangs- und Ausgangspegel an

(tPHL bzw. tPLH). Die Messung der Signallaufzeiten wird auf die 50% Marke der Amplitude bezogen, die zwischen dem H- und dem L-Pegel liegt.

Als mittlere Signallaufzeit eines Schaltgliedes wird definiert:

t

PLHt PHL

L

H

L

H

50%

50%

U

U

Eingang

Ausgang

t

t

Page 63: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:63

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Verknüpfungsglieder: unipolare MOS-FETs

Complementary MOS (CMOS) Technik:

Verknüpfungsglieder werden in dieser Technologie aus (selbstsperrenden) NMOS- und PMOS-Transistoren aufgebaut.

Es ist stets ein Transistor gesperrt und der andere leitend. Daher ist der Betriebsstrom und die statische Verlustleistung nahezu Null.

1

T 2

U B

T 1

T 2

U B

01

gesperrt

T 1

T 2

U B

U B

10

gesperrt

=

T

EE

Inverter

p-Kanal MOS-FET

n-Kanal MOS-FET

Page 64: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:64

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Verknüpfungsglieder: MOS-FETs

NORB

A B

U B

A B

B

A

NAND

A

B

U

Page 65: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:65

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4.4 Zeitliches Verhalten von Schaltnetzen

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

In der Realität werden Gatterjedoch 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

x(t)

U (t)

y(t)

U (t)y

x

Zeit t

Zeit t

Eingangs-spannung

Ausgangs-spannung

1U (t)

x(t)

x U (t)

y(t)

y

Page 66: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:66

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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 Leitungsverzögerungen).

Page 67: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:67

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

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

Page 68: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:68

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Totzeitmodell eines Inverters

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

1x y

Page 69: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:69

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Eigenschaften von Totzeiten

Addierbarkeit: zwei hintereinanderliegende Totzeiten können durch ihre Summe ersetzt werden

=

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.

=

a(t)b(t) c(t)1 2 a(t) c(t)1 + 2

f

a1

an

(t)

(t)

y ´ (t )y ( t ) f

y(t)

a (t)1

a (t)n

a (t- )1

a (t- )n

Page 70: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:70

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Trennung von Verknüpfungs- und Verzögerungsteil

Beispiel: gemischte Verknüpfungen und Verzögerungen

Alle Verzögerungszeiten sukzessive zum Eingang des Schaltnetzes verschieben und aufaddieren.

&

&

1

1 e 1

e 2

e 3

a

3

Page 71: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:71

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Trennung von Verknüpfungs- und Verzögerungsteil

Verzögerungsteil Verknüpfungsteil

&

&

1

1e1

e21

e3

a

3

2

4

4

e11

e12

e31

e2

1

Page 72: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:72

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Pfadvektor und Strukturausdruck

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

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

&

&

1

1e1

e21

e3

a

3

2

4

4

e11

e12

e31

e2

1

Page 73: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:73

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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, ...

Algebraische Darstellungsform: e1 e2 e2 e3

Strukturausdruck mit Pfadvariablen: e11 e21 e22 e31

Beispiel:

&

�1 1

e 1

e 2

e 3

a

&

Page 74: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:74

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

4.5 Hazards und Hazardfehler in Schaltnetzen

Gegeben:

Beide Gatter haben eine Verzögerung von 1 ns

a = e e = 1

1

1e a

Page 75: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:75

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Hazards und Hazardfehler in Schaltnetzen

Zeitdiagramm:

1

1e a

e

a

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

0

1

11

1

10

0

10

1

00

1

11

0

1

Page 76: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:76

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 77: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:77

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 78: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:78

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 79: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:79

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel:

a = e1 e2 e1 e3

Es soll der folgenden Eingabewechsel betrachtet werden:

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

e2

e1

e3

1 1 1

1

&

&

1

1 e 1 e

2

e 3 a

3

x 1

x 2

x 3

Page 80: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:80

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel:

Funktionswerte bei dem Übergang:

(e3,e2,e1) = (1,1,0) => a = 1

(e3,e2,e1) = (1 1 1) => a = 1

- 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 !

e2

e1

e3

1 1 1

1

Page 81: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:81

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Verhalten anhand des Totzeitmodells

Hazardfehler => Hazard

&

&

1 e1

a

3

e2

e3

x1

x2

x3

1

t0

e1

e3

e2

10

10

10

3

x110

x210

x310

a 10

Page 82: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:82

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Verhalten anhand des Totzeitmodells

Kein Hazardfehler, aber trotzdem HazardVeränderung der Totzeit 3 auf

&

&

1 e1

a

3

e2

e3

x1

x2

x3

1

t0

e1

e3

e2

101010

x110

x210

x310

a 10

Page 83: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:83

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 84: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:84

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 85: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:85

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 86: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:86

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 87: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:87

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Erkennen eines Funktionshazards Mit mm Eingangsvariablen, die am Wechsel beteiligt sind,

gibt es m!m! mögliche Wege, da jede mögliche Reihenfolge der mm 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.

Page 88: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:88

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 89: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:89

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel

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

e2

e3

1 1 1

1

e1

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

e3

e1

e21 1 1

1

(0,1,0) (0,1,1) (1,1,1)

1

e3

e21 1 11

e

(0,1,0) (1,1,0) (1,1,1)

1 1 0 0 1 1 1 1 1 1 1 1

Page 90: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:90

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Erklärung zum Beispiel

Der erste dieser Wege liefert als Folge der Funktionswerte die nicht monotone Folge 10 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.

Page 91: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:91

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel 2

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

e2

e1

e3

1 1 1

1

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 11.

Dieser Übergang enthält also keinen Funktionshazard.

Ein Übergang, bei welchem nur eine Eingangsvariable wechselt, kann keinen Funktionshazard enthalten.

Page 92: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:92

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel 2

Da wir jedoch von voher wissen, dass der Übergang hazardbehaftet ist, muss es sich hierbei um einen Strukturhasard handeln.

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

e2

e1

e3

1 1 1

1

Der Übergang enthält keinen Funktionshazard.

Page 93: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:93

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 94: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:94

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 95: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:95

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Beispiel

Schaltfunktion: a = e1e2 e1e3

Totzeitmodell:

&

&1e1

e21

e3

a

3

2

4

4

e11

e12

e31

e2

1

Strukturausdruck: a = e11e21 e12e31

Page 96: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:97

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

e12

11e

31e

21e

1

1

1

1

111e2

e1

e3

1 1 1

1

Page 97: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:98

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

1

1

1 e12

11e

31e

21e

1

1

111 1e12

11e

31e

21e

1

1

111

Kein Hazardfehler! Hazardfehler!

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

Page 98: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:99

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

1

1

1e12

11e

31e

21e

1

1

111 1

e12

11e

31e

21e

1

1

111

Weg 1

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.

Zeitbedingungen für Hazardfehler

Weg 2

Page 99: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:100

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Zeitbedingungen für Hazardfehler

Aus dem Totzeitmodell folgt: Totzeit e11: 3Totzeit e12: 4

=> Der Hazardfehler tritt immer auf

e

&

&1e1

e21

e3

a

3

2

4

4

11

e12

e31

e2

1

Der Hazardfehler tritt auf, wenn die Totzeit in Pfad e11 kleiner als die Totzeit in Pfad e12 ist.

Page 100: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:101

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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 bleibendenEingangsvariablen

müssen in die Lage versetzt werden, das Ausgangssignal

konstant zu halten.

Page 101: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:102

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Behebung statischer 1-Strukturhazards

Gegeben:

Ein funktionshazardfreier, aber strukturhazardbehafteter 1-Übergang in einem Schaltnetz

Beispiel (bereits bekanntes Schaltnetz)

&

&1e 1

e2

e 3

a1

Page 102: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:103

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

1

1

1e

12

11e

31e

21e

1

1

111 1

e12

11e

31e

21e

1

1

111

Weg 1Weg 2

Page 103: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:104

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Behebung statischer 1-Strukturhazards

Die Variablen e2 und e3 bleiben konstant 1

=> Zusätzliches UND-Glied e2e3

&

&1e1

e 2

e 3

a

&

1

Das zusätzliche UND-Glied hält den Ausgang während des Übergangs auf konstant 1.

e3

e1

e2

1 1 1

1

e2e3 enthält Anfangs- und Endbelegung

Page 104: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:105

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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:

e3

e1

e2

1 1 1

1

Page 105: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:106

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 106: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:107

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 107: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:108

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.

Page 108: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:109

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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

Page 109: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:110

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Behebung dynamischer Strukturhazards

a = e1e3 e2e3

Der Übergang (e3, e2, e1) : (1,1,1) (0,0,1) ist mit einem

dynamischen 01-Strukturhasard behaftet.

ee11

1

e1

2

3

Beispiel:

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

Page 110: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:111

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

Behebung dynamischer Strukturhazards

e

e11

1

e1

2

3=>Hasardfreier Übergang

a = e1e3 e1e2e3

Beseitigung des Hazards durch Aufspalten des Einsblocks e2e3, der in den Übergangsbereich hineinragt, die Einsbelegung aber nicht umschließt.

Durch die Beseitigung des 01-Strukturhazards handelt man sich einen 1-Strukturhazard im Übergang:(e3, e2, e1) : (0,1,1) (0,1,0) ein !

Page 111: Hardwarearchitekturen und Rechensysteme

HWR · K4Nr.:112

Uwe Brinkschulte Eingebettete Systeme Lars Hedrich Entwurfsmethodik

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.


Recommended