Digitaltechnik II SS 2007 - fbi.h

Werbung
Digitaltechnik II
SS 2007
8. Vorlesung
Klaus Kasper
Inhalt
• Halbleiterspeicher
– Random Access Memory (RAM)
– SRAM
– DRAM
– ROM
– Programmierbare ROM
• Realisierung digitaler Systeme
• Automaten
Digitaltechnik 2
2
Halbleiterspeicher
Halbleiterspeicher
Festwertspeicher
(Nur-Lese-Speicher)
Flüchtige Speicher
(Lese-Schreib-Speicher)
Einmal beschreibbar
Mehrfach beschreibbar
Dynamisch
Statisch
ROM
EPROM
erasable
DRAM
SRAM
PROM
programmable
EEPROM
electrical
SDRAM
Synchronous
Flash ROM
DDR-RAM
Double Data Rate
RDRAM
Rambus
Digitaltechnik 2
3
Statische RAM (SRAM)
• Für statische RAM werden die Speicherzellen
mit Flip-Flops realisiert.
• Solange die Versorgungsspannung anliegt,
bleibt die Information im SRAM erhalten.
• Sehr kurze Schreib- und Lesezeiten.
• Relativ große Fläche zur Realisierung einer
Speicherzelle.
• Es werden 6 Transistoren für die Realisierung
eines Flip-Flop benötigt.
• SRAM werden häufig für die Realisierung von
Cache eingesetzt. Digitaltechnik 2
4
Dynamische RAM (DRAM)
• Elementares Speicherelement ist eine
Kapazität. Prinzip wurde 1966 von IBM
entwickelt. Erstes Produkt 1970 von Intel (1
kbit).
• Sehr hohe Speicherdichte (ca.10-fach im
Vergleich zu SRAM).
• Beim Schreiben wird ein adäquater
Spannungspegel an der Kapazität realisiert (1
entspricht einer geladenen und 0 einer
entladenen Kapazität).
• Beim Lesen wird der Pegel abgefragt.
Digitaltechnik 2
5
DRAM (Forts.)
• Beim Lesen einer Zelle wird die gespeicherte
Information zerstört, muss also anschließend
wieder eingeschrieben werden.
• In den Schaltungen existieren ständig
Leckströme.
• Auch sehr kleine Leckströme führen zu einem
Verlust der Information, da die Kapazitäten sehr
klein sind (0.1 … 1pF).
• Zur Erhaltung der Information muss diese in
regelmäßigen Abständen (ca. 2–16ms)
Zeilenweise ausgelesen und direkt wieder
geschrieben werden (Refresh).
• Während des Refresh kann auf den Inhalt des
DRAM nicht zugegriffen werden.
Digitaltechnik 2
6
Prinzip SRAM
Digitaltechnik 2
7
Architektur SRAM
Digitaltechnik 2
8
Aufbau eines RAM
A: Adresseingänge, CS: Chip Select, WE: Write Enable
Dout: Datenausgang, Din: Dateneingang
Digitaltechnik 2
9
Symbolische Darstellung eines
RAM
Digitaltechnik 2
10
DRAM Typen
• SDRAM (Synchronous Dynamic RAM) wird mit einem
Taktgeber synchronisiert, der vom CPU-Takt abgeleitet
ist. Alle Schreib- und Lesevorgänge werden von der
steigenden Flanke dieses Taktes ausgelöst.
• DDR-SDRAM (Double Data Rate) ist eine Variante des
SDRAM mit doppelter Datenübertragungsrate. Die Daten
werden mit der steigenden und der fallenden Taktflanke
gelesen oder geschrieben. Die angeforderten oder zu
speichernden Daten müssen immer mindestens der
doppelten Busbreite entsprechen (2-fach Prefetch).
• RDRAM ist eine spezielle Entwicklung der Firma
Rambus. Daten werden aus vielen Bänken parallel
gelesen und dann über einen Multiplexer auf den
Datenausgang schaltet. Z.B. können aus 8 Bänken
gleichzeitig 8 Byte gelesen werden. Das entspricht dann
der 8-fachen internen Lesegeschwindigkeit.
Digitaltechnik 2
11
DDR2-RAM
•
•
•
•
Double Data Rate Verfahren wird weiter genutzt
verringerte Betriebsspannung: 1,8 V (2,5V)
nicht Pin-kompatibel: 240 (184) Pins
intern wird mit verringerter Taktfrequenz gearbeitet
(prefetch 4-fach, bzw. 8-fach bei DDR3)
• interne Datenbreite wurde erweitert
• 2007: DDR3 (GDDR3 schon verfügbar)
höhere Datentübertragungsraten
günstigere Produktion
Digitaltechnik 2
12
Neue nichtflüchtige Speicher
• MRAM (Magnetoresestive RAM):
Speicherung erfolgt über zwei
Magnetplättchen, aktuell
aussichtsreichster Kandidat für die
Nachfolge DRAMs
• F(e)RAM (Ferro Electric):
ferroelektrisches Prinzip, Information
wird mit Kondensatoren gespeichert
Digitaltechnik 2
13
Festwertspeicher (ROM)
• Auf einen typischen ROM wird während
des Betriebs ausschließlich lesend
zugegriffen.
• Die Programmierung (Schreiben) eines
ROM ist deutlich aufwändiger als der
Lesezugriff.
• Der Aufbau eines ROM entspricht
hinsichtlich der Matrixanordnung der
Speicherzellen und der Adressverwaltung
dem Aufbau eines RAM.
Digitaltechnik 2
14
Maskenprogrammierte ROM
• Für große Stückzahlen werden bei der
Herstellung der Speicher die
Information fest eingegeben.
• Die zu speichernde Information wird
mittels einer Metallisierungsmaske
eingebracht.
• Beispiel: Haushaltsgeräte
Digitaltechnik 2
15
Programmierbare ROM
(PROM)
• Mit speziellen Programmiergeräten
können PROM vom Anwender
programmiert werden.
• Die Programmierung erfolgt durch die
Herstellung von Verbindungen (AntiFuse) oder durch die Trennung von
Verbindungen (Fuse).
• Die Programmierung ist irreversibel.
Digitaltechnik 2
16
UV-löschbares PROM (EPROM)
• EPROMS können mit speziellen Geräten
programmiert und gelöscht werden.
• Für die Programmierung wird eine Spannung
von ca. 20 Volt benötigt.
• Bei der Programmierung werden mit Hilfe des
Avalanche-Effektes (Lawineneffektes)
elektrische Ladungen injiziert.
• Für die Löschung wird entsprechend
energiereiches Licht benötigt.
• Die Löschung dauert einige Minuten.
• Der Baustein muss i.a. zur Löschung aus der
Schaltung entfernt werden.
Digitaltechnik 2
17
Elektrisch lösch- und programmierbare
ROM (EEPROM)
• Der Baustein kann für den Löschvorgang in der
Schaltung verbleiben.
• Für den Löschvorgang wird eine Spannung von
ca. 20 Volt benötigt.
• Für Programmierung und Löschung wird der
Tunneleffekt ausgenutzt.
• Jedem Schreibvorgang wird ein Löschvorgang
vorgeschaltet.
• Der Schreibvorgang für ein Byte benötigt ca. 10
ms.
• Anzahl von Lösch-/Schreibzyklen: ca. 10000
• Speicherdauer: mindestens
10
Jahre
Digitaltechnik 2
18
Floating-Gate-Technologie
für EEPROM-Speichertransistor
Digitaltechnik 2
19
Flash-Speicher
• Weiterentwicklung der EEPROMs.
• Im Fall des Flash-Speichers wir im Unterschied
zu EEPROMS der Speicher blockweise (!)
gelöscht.
• In ersten Realisierungen wurde der Speicher mit
einem Flash (Blitz) vollständig gelöscht.
• Ein Block umfasst ca. 0,5 KB – 128 KB.
• Der direkte Zugriff auf einzelne Bytes ist
prinzipiell nicht möglich. Dies entspricht dem
Prinzip von Massenspeichern, die eine typische
Blockgröße von 512 Byte haben.
• Moderne Typen kommen mit 5 Volt als
Programmier- und Löschspannung aus.
Digitaltechnik 2
20
Moderne Flash-Speicher
Lesen/Schreiben
(nominell)
Lesen/Schreiben
(gemessen)
Vorstellung
Kapazität
Memory Stick
Pro
20/20 MB/s
1,4/1,0 MB/s
2003
1 GB
(4 GB)
CompactFlash
(CF)
8/8 MB/s
2,5/2,5 MB/s
1994
1 GB
(8 GB)
SecureDigital
Card (SD)
12,5/12,5 MB/s
7/3 MB/s
2000
1 GB
(8 GB)
USB-2.0-Stick
60/60 MB/s
6/5 MB/s
2000
1 GB
(8 GB)
MultimediaCard
(MMC)
2,5/2,5 MB/s
1,6/1,6 MB/s
1997
1 GB
(4 GB)
Quelle: c‘t 11/2004
Digitaltechnik 2
21
Fazit
Eigenschaften
SRAM
DRAM
EEPROM
FLASH FRAM/
MRAM
Nichtflüchtig
nein
nein
ja
ja
ja
kleine Zellenmaße
nein
ja
nein
ja
ja
Wortweise les-/schreibbar
ja
ja
ja
nein
ja
geringer Leistungsbedarf
ja
ja
nein
nein
ja
schneller Schreibzugriff
ja
ja
nein
nein
ja
1015 Schreibzyklen
ja
ja
nein
nein
ja
Kostengünstig
nein
ja
nein
ja
ja
Digitaltechnik 2
22
Realisierung digitaler Systeme
Digitaltechnik 2
23
Realisierung digitaler
Lösungen
• Full Custom IC
• ASIC (Application Specific Integrated
Circuit)
• Bausteine mit programmierbarer Logik
Digitaltechnik 2
24
Full Custom IC (Integrated
Circuit)
• individuelle Entwicklung eines digitalen
Systems
• lange Entwicklungszeiten
• sehr große Stückzahlen
• individuelle Fertigung
• geringer Stückpreis
Digitaltechnik 2
25
Application Specific Integrated
Circuit (ASIC)
• Hersteller stellt umfangreiche
Bibliotheken für Funktionen
• verkürzte Entwicklungszeiten
• Schaltung wird mit einer HardwareBeschreibungssprache beschrieben
• Hersteller realisiert Schaltung auf der
Basis eines adäquaten ASIC
• große Stückzahlen
• günstiger Stückpreis
Digitaltechnik 2
26
Programmierbare Logik
• Hersteller bieten programmierbare
Logik-Bausteine an
• Lösung wird vom Anwender entwickelt
• hohe Flexibilität
• kleine Stückzahlen
• hoher Stückpreis
Digitaltechnik 2
27
Programmierbare Bausteine
• PLD (Programmable Logic Device)
• programmierbare Logikelemente (seit
Mitte der 70er)
• PLD stellen eine logische Grundstruktur
zur Verfügung, die vom Entwickler nach
Bedarf konfiguriert (programmiert)
werden kann.
• Für hoch integrierte PLD stehen
Beschreibungssprachen zur Verfügung.
Digitaltechnik 2
28
Verfahren zur Programmierung
• PROM (Programmable Read Only Memory)Prinzip: Durchbrennen einer Sicherung
(Fuse) oder Entfernen einer Isolierung
(Antifuse), Programmierung ist irreversibel
• EPROM (Erasable PROM)-Prinzip:
Programmierung kann durch Bestrahlung mit
UV-Licht wieder gelöscht werden
• EEPROM (Electrical Erasable PROM)Prinzip: Programmierung kann durch
elektrische Impulse wieder gelöscht werden
Digitaltechnik 2
29
PAL (Programmable Array Logic)
• Realisierung logischer Gleichungen in
disjunktiver Form.
• Alle Eingangsgrößen werden in
negierter und nicht-negierter Form zur
Verfügung gestellt.
• Programmierbares UND-Feld das mit
den Eingangsgrößen verbunden ist.
• Fest verdrahtetes ODER-Feld.
Digitaltechnik 2
30
Prinzip PAL
Frei programmierbare
UND-GATTER
Fest verschaltete
ODER-Gatter
Digitaltechnik 2
31
Beispiel PAL
Y 1 = ( X 2 ∧ X 3) ∨ ( X 1 ∧ X 2 ∧ X 3) ∨ X 1
Y 2 = ( X 1 ∧ X 2 ∧ X 3) ∨
( X 1 ∧ X 2 ∧ X 3) ∨
( X 1 ∧ X 2)
Digitaltechnik 2
32
PLA Struktur
D C B A Y1
Y2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
Die mit der Wahrheitstabelle definierten
Booleschen Funktionen sollen mit der unten
dargestellten PLA-Struktur realisiert werden.
Digitaltechnik 2
33
PLA Struktur
Y1
B
Y2
A
A
0 0 1 *
0 0 0 *
0 1 * 0
1 0 0 *
1 1 * 0
1 *
B
D
1 0
1 0 1 *
D
0 * 0 1
C
C
Digitaltechnik 2
34
PLA Struktur
Y1 = ( A ∧ C ∧ D ) ∨ ( A ∧ B ∧ D ) ∨ ( A ∧ B ∧ C )
Y2 = ( A ∧ B ∧ C ) ∨ ( A ∧ B ∧ D ) ∨ ( A ∧ B ∧ C ) ∨ ( A ∧ C ∧ D )
Digitaltechnik 2
35
Typisierung
• PAL (Programmable Array Logic):
Programmierbare UND-Matrix, feste OderMatrix, von einem Hersteller auch als GAL
(Generic Array Logic) bezeichnet
• PLE (Programmable Logic Element):
Programmierbare Oder-Matrix, feste Und-Matrix
• PLA (Programmable Logic Array):
Programmierbare UND-Matrix und
programmierbare ODER-Matrix
Digitaltechnik 2
36
Erweiterung
• Einfache PAL Elemente haben
mindestens 8 Ein- und Ausgänge
• Moderne PAL Bausteine verfügen über
komplexe, programmierbare
Makrozellen
• die Ausgänge verfügen über Register
• die Ausgänge können zurück gekoppelt
werden
Digitaltechnik 2
37
CPLD (Complex Programmable
Logic Device)
• komplexe PLDs mit einer Block-Struktur
• jeder Block entspricht einem einfachen PAL
• die Blöcke werden über eine programmierbare Schaltmatrix miteinander verbunden
• ein einzelner Block enthält typischerweise
ca. 50 Eingänge und 10-20 Ausgänge
• jeder Ausgang kann aus 10-15 Produkttermen gebildet werden
Digitaltechnik 2
38
FPGA (Field Programmable Gate
Array)
• frei programmierbarer Logikschaltkreis
• aus einzelnen Logikblöcken (CLBs
Configurable Logic Blocks) aufgebaut
• in den einzelnen Blöcken werden einfache
Operationen und auch Flip-Flop-Logik zur
Verfügung gestellt
• teilweise werden FPGAs ausschließlich über
Look-Up Tabellen realisiert
• hohe Kompexität
• Selbstkonfigurierende Systeme werden
möglich
Digitaltechnik 2
39
CPLD vs. FPGA
CPLD
FPGA
Wenige Logikblöcke mit großer
Anzahl an Makrozellen
Viele Logikblöcke mit
kombinatorischer Logik
Kurze Wege
Lange Wege
Platzierung und Routing fest
vorgegeben
Platzierung und Routing variabel
Schaltzeiten einfach vorhersagbar
Schaltzeiten sind von der Größe
des Designs sowie Platzierung
und Routing abhängig
Hohe Taktfrequenzen unabhängig
von der konkreten Schaltung
Taktfrequenz ist von der Größe
der Schaltung abhängig
Kleine und mittelgroße
Schaltungen
Für sehr komplexe Schaltungen
geeignet
Digitaltechnik 2
40
Programmierung (CPLD, FPGA)
Beispiel:
ispLEVER
Digitaltechnik 2
41
Programmierung
•
•
•
•
•
ISP (In System Programming)
HDL (Hardware Description Language)
VHDL (VHSIC HDL)
VHSIC (Very High Speed Integrated Circuit)
Abel (Advanced Boolean Expression/Equation
Language)
• Abel wurde in den 80er Jahren entwickelt und ist
für kleinere Schaltungen hinreichend.
• VHDL und Verilog sind die weltweit am meisten
genutzten Hardware-Beschreibungssprachen und
sind beide von IEEE standardisiert.
Digitaltechnik 2
42
Automaten
• Ein endlicher Automat ist ein Modell,
das zur Modellierung diverser
Problemstellungen verwendet werden
kann.
• Ursprung: Biologie (McCulloch, Pitts
1943), Elektrotechnik (Mealy, 1955),
Linguistik (Chomsky, 1956).
Digitaltechnik 2
43
Wolf, Kohl, Ziege
• Ein Hirte will einen Fluss mit einem Wolf
einer Ziege und einem Kohlkopf
überqueren.
• Es gibt eine Fähre. Mit der Fähre kann
der Hirte und ein Element (Tier oder
Kohlkopf) transportiert werden.
• Probleme: Ohne Hirte frisst der Wolf die
Ziege bzw. die Ziege den Kohlkopf.
• Lösung?
Digitaltechnik 2
44
Modellierung
Z
H
HKWZ-
KW-HZ
HKW-Z
W
K
Startzustand
K-HWZ
W-HKZ
Z
Z
HKZ-W
Endzustand
HWZ-K
K
-HKWZ
HZ-KW
Z
W
Z-HKW
H
Digitaltechnik 2
45
Anwendung in der
Digitaltechnik
• Mit endlichen Automaten kann eine
abstrakte Beschreibung von
Schaltwerken realisiert werden.
• auch: Finite State Machine (FSM)
• Zur Darstellung der Modellierung
werden häufig Zustandsdiagramme und
Zustandsfolgetabellen verwendet.
Digitaltechnik 2
46
Prinzip
• Aktuelle Zustand des
Automaten wird in
einem Speicher
(Register) gehalten.
• Aus dem aktuellen
Zustand und den
Eingangssignalen wird
ein Folgezustand
berechnet.
• Der neue Zustand wird
(synchronisiert) in den
Speicher geschrieben.
Digitaltechnik 2
47
Definition
• Ein endlicher Automat ist ein Fünftupel
A=(X,Y,S,f,g).
• X ist ein endliches nichtleeres
Eingabealphabet.
• Y ist ein endliches nichtleeres
Ausgabealphabet.
• S ist eine endliche nichtleere Menge von
Zuständen.
• f: Zustands(überführungs)funktion
• g: Ausgabefunktion
Digitaltechnik 2
48
Moore-Automat
Ausgangssignale sind
nur vom Zustand abhängig.
S = f(S*,X)
Y = g(S)
Digitaltechnik 2
49
Mealy Automat
Bei Mealy-Automaten
wechselt das Ausgangssignal schon bei der Veränderung des Eingangssignals.
S = f(S*,X)
Y = g(S,X)
Digitaltechnik 2
50
Herunterladen