Top Banner
BME-MIT FPGA labor Digitaltechnik Vorlesung 3 Technische und Wirtschaftswissenschaftliche Universität Budapest Fakultät für Elektrotechnik und Informatik Lehrstuhl für Messtechnik und Informationssysteme Balázs Renczes BME MIT
26

Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

Oct 26, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Digitaltechnik

Vorlesung 3

Technische und Wirtschaftswissenschaftliche Universität BudapestFakultät für Elektrotechnik und Informatik

Lehrstuhl für Messtechnik und Informationssysteme

Balázs Renczes

BME MIT

Page 2: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Minimierungs-Algorithmen

• Bis jetzt nur 2-Stufige Realisierung

• Sum-of-Products (SOP)

• (INV) – AND – OR

beziehungsweise

• Product-of-Sums (POS)

• (INV) – OR – AND

Page 3: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Minimierungs-Algorithmen

• Weitere Minimierungsmöglichkeiten

• Mehrstufige Realisationen

• Mehrausgängige Realisationen

Page 4: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Minimierungs-Algorithmen

• Mehrstufige Realisation

• F = A*B*C+A*B*D+/A*/C*/D+/B*/C*/D

• Unmittelbare Realisation 4 AND3 + 1 OR4 Gatter (16

Gattereingänge)

• X = A*B bzw. Y = C+D Substitution

• F = X*Y + /X*/Y = (A*B)*(C+D) +/(A*B)*/(C+D)

• 3 AND2 + 2 OR2 (10 Gattereingänge)

Page 5: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Minimierungs-Algorithmen

• Mehrausgängige Minimierung• z.B.: Übung 2 - BCD-Kode Fehlermeldung

• ERROR = A*B + A*C

• Gemeinsame Realisation:

• 1 AND2 + 5 OR2

• Bitweise Optimierung, Multiplikationsterme wieder verwenden

• A_OUT = A

• B_OUT = B + A*C

• C_OUT = C + A*B

• D_OUT = D + A*B +A*C

• 2 AND2 + 3 OR2

Page 6: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Logic Friday

• Demonstrations Programm

• Allgemeiner logischer Entwurf, Maximal 16 Ein-, 16

Ausgänge

• Unabhängige, oder mehrausgängige Minimierung

• Schnelle Laufzeit oder Bessere Minimierungsoption

• Spezifikation: Gleichung,

Wahrheitstabelle, Schaltbild

• Espresso und MIS II Prog.

Page 7: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten

• Mithilfe der angezeigten Methoden und Gattern

lassen sich beliebige logische Schaltungen aufbauen

(Bis kleine und mittelmäßige Komplexität).

• Ausgehend von einer angegebenen Spezifikation:

Durchführen der Minimierung (Geschwindigkeit /

wenigsten Bauelemente), und Entwurf des

Realisations mit Gattern

• In meisten Fällen werden die Minimierung und

Optimierung durch das Entwicklungssystem

gemacht. (Basierend auf der Verilogs-spezifikation)

Page 8: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten

• Anstatt von Entwurf auf Gatter-”Ebene” ist es

einfacher/effizienter, der Aufbau aus

Standardmodulen zu realisieren (Falls extreme

Optimierung nicht notwendig ist.)

• Das Ziel von Standardmodulen ist, dass man einfache

Lösungen für typische Aufgaben finden kann, die

zuverlässig funktionieren und skalierbar sind.

Page 9: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten

• Logische Funktionen für allgemeine Anwendungen

• Logische Funktionen (DEC, MUX, DEMUX)

• Arithmetische Funktionen (ADD, SUB, COMP)

• Andere, noch nötige Funktionen

Page 10: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten: Dekoder

• Der Dekoder erzeugt aus den binären Eingängen

durch eine allgemeine logische Funktion alle

Minterme – die Ordinalzahl der Eingabe wird 1

AUS = f (EIN)

• Falls EIN ein n-Bit langer binärer Eingang ist, dann

ist AUS eine 2n große, 1-aus-2n kodierter Bitvektor ,

deswegen heißt es DE-KODIERUNG

• Typische Größen: 1:2, 2:4, 3:8, 4:16. Aber es kann

auch 4:10 sein mit BCD-kodierten Eingängen

• Es kann auch größer sein, aber es ist besser, eine

mehrstufige Zeile / Spalte- oder eine Baumstruktur zu

benutzen

Page 11: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten: Dekoder

• Einstufige, direkte Dekoders

• Die Ausgänge eines Dekoders entsprechen den

Minterms einer allgemeinen logischen Funktion mit

n Eingängen. Also alle Variablen tauchen entweder

poniert oder negiert auf.

• z.B. 2 Eingänge:

• Für n Bits n INV und

2n n Eingänige UND ist nötig

(Auf einem Bit nur 1 INV)

Page 12: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten : Dekoder• Einer der Ausgänge des Dekoders ist immer aktiv

(Auf dem Eingang existiert immer eine Kombination)

• Deswegen ist est nützlich, ein Freigabesignal

einzuführen: Enable (EN).

• Falls EN = 0, alle Ausgänge inaktiv.

• So ist die Steuerung von weiteren Einheiten einfacher

• Dies ist die

wichtigste Funktion

des Dekoders

• Einfache Erweiterung

Page 13: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten : Dekoder

• Aufbau eines einstufigen, direkten Dekoders

• Mit Inverters oder negierte Eingänge (schwierig zu

zeichnen und lesen)

Page 14: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten : Dekoder

• Größere Dekoders• 60 Ausgänge: 60 Stück 6-Bit UND Gatter

• In einem Speicher z.B. für 217 Ausgänge

217 (131072) Stück 17-Eingang UND Gatter

• Andere Strategie ist nötig

• Mit Hilfe von EN Signalen eine

mehrstufige, hierarchische Aufbau.

• Speicher: Reihe-Spalte Dekoder,

2-Eingang UND-Gatter

Page 15: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten : Dekoder• Große Dekoders (Moderiert Angezeigt)

• 4:16 Dekoder, mit EN Eingang,

• 2:4 Dekoder, Aus EN Dekoders aufgebaut

Hierarchisch 2D, Reihe-Spalte

Page 16: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionale Einheiten: Multiplexer

• Grundlegende Funktion: Datenquelle, Datenfluss-richtungen auswählen• Xi, Xj, Xk sind die Dateneingänge• ENi, ENj, ENk Freigabe

• Y = Xi*ENi + Xj*ENj + Xk*ENk• Beliebige Anzahl von Eingängen• Richtige Funktionalität: Die EN Bitvektor soll 1-aus-N-

kodiert werden → Ausgang eines Dekoders

Page 17: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionelle Einheiten: Multiplexer• Ein MUX: ein DEK+AND-OR

Mit der Dekoderfunktion gezeigt Auf Gatter-Ebene gezeigt

• Typische Größen: 2:1, 4:1, 8:1, 16:1

Page 18: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionelle Einheiten: Multiplexer

• Der MUX ist realisierbar auch hierarchisch, in

Baumstruktur

• Die Struktur ist generierbar von LSB oder von MSB

• Mit LSB angefangen ist der erste Schritt die Wahl

zwischen gerade und ungerade Bits, und so weiter.

• Mit MSB angefangen ist der erste Schritt die

Eingänge zu halbieren (erste-zweite Teile), und

wieder halbieren usw…

• Der Baum ist in 2:1, 4:1, 8:1… Schritten aufzubauen

Page 19: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionelle Einheiten: DEMUX

• Der DEMUX Demultiplexer entspricht der inversen

Funktionalität eines Multiplexers

• Eine Datenquelle auf mehrere Ausgänge verteilen

• Im Allgemeinen ist das auch ein DEK + AND Gatter

• Typische Grössen: 1:2, 1:4, 1:8

Page 20: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionelle Einheiten: DEMUX• Anwendung von MUX-DEMUX Einheiten

• Übertragung von mehrere Daten auf einer einzigen Linie• Senderseite MUX, Empfängerseite DEMUX

• Die Übertragungslinie ist nur eine einzige Leitung. Sie hat aber eine

wesentlich größere Bandbreite

• Zeitmultiplexer Datenübertrag: an den beiden Seiten identischer Zeitplan

für Auswahlsignale

Page 21: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Funktionelle Einheiten: DEMUX• Anwendung von DEMUX-MUX Einheiten

• Parallele Durchführung von langsamenDatenverarbeitungen• Quellenseite 1:4 DEMUX,

• Aufgaben verteilen,

zwischen Einheiten S0, S1, S2, S3

• z. B. Daten mit 100MHz Abtastfreq.

(∆t = 10ns) durch 4x10ns

Einheiten verarbeiten

• An Ausgängen ist in alle 10ns

ein neues Ergebnis vorhanden

• Empfängerseite 4:1 MUX,

Ergebnisse sammeln

Page 22: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Universale logische Elemente• Aufgrund der Definition von boolschen Algebra sind alle

logische Funktionen mit 3 Grundoperationen (AND, OR,

INV) erstellbar. Also sind 3 Grundelemente nötig.

• Universales logisches Element: mit einem einzigen

Grundelement sind alle logische Funktionen erstellbar.

Exitiert solche?

• Ja, 2: NAND Gatter und NOR Gatter

• Beweis: die drei Grundfunktionen sind realisierbar

NAND /(A*B) NOR /(A+B)

INV: /(A*A) /(A+A)

AND:/(/(A*B)*/(A*B)) /(/(A+A)+/(B+B))

OR: /(/(A*A)*/(B*B)) /(/(A+B)+/(A+B))

Page 23: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Universale logische Elemente

• Also die einfachste universale Elemente

• NAND Gatter und NOR Gatter

• Andere universale Elementbestand:

• Multiplexer

• Speichertabelle (LUT, Look Up Table)

Page 24: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Multiplexer als UNIV Element

• Multiplexer als universale Logik

• Eingangsvariablen: Auswahleingänge (SEL)

• Funktion angeben: Werte von Spalte der

Ausgangssignal von der Wahrheitstabelle werden als

konstantes Signal auf die Dateneingänge verbunden

• frühere F1 und F2 Funktionen (1-Bit FADD Si und Co)

Page 25: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

Multiplexer als UNIV Element• Eingangsvariablen: Auswahleingänge (SEL), aber eine

Variable (oder ihre Negierte) ist auf die Dateneingänge

verbindbar (Größe von MUX wird die Hälfte

• Angabe der Funktion: Die Werte der Ausgangssignale werden

durch das augewählte Signal angegeben

• aufgrund vorigem Beispiel (1-Bit FADD Si und Co)

Page 26: Fakultätfür Elektrotechnik und Informatik Lehrstuhl für ...

BME-MIT

FPGA labor

LUT Speicher, als UNIV Element• Speicher = universale Logik

• Eingangsvariablen: Adressenbits des Speichers

• Angabe der Funktion: Werte von Spalte des Ausgangssignals

von der Wahrheitstabelle werden als konstantes Signal auf die

Adresse des Speichers aufrgrund des Zeileindex

eingeschrieben

• frühere F1 und F2 Funktionen (FADD Si und Co)