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