PDF-Datei

Transcription

PDF-Datei
Digitaltechnik Teil 3
-1-
Prof . Komar
Digitaltechnik
Teil 3: Programmierbare Logik
Inhaltsverzeichnis
Speicher
Umlaufspeicher, FIFO, LIFO
Halbleiterspeicher (Matrixspeicher)
Nichtflüchtige Speicher
Festwertspeicher (ROM, PROM, EP ROM)
Flüchtige Speicher (SRAM, DRAM)
Assoziativspeicher (CAM )
Speicher – Sonderformen
Übersicht gebräuchlicher Speicherbausteine
..................
.................
.................
.................
.................
.................
.................
..................
................
2
3
5
8
9
12
18
19
20
Programmierbare Logikbausteine PLD
ASIC-Vollkundenspez.-, Standard-ICs, Gate-Arrays
Programmierbare Logikbausteine PLD
PROM – PLA – PAL
Übersicht über PALs
Schaltnetz- Realisierung mit PLD-ICs
PLD mit programmierbaren Ausgängen – GAL
Ausgangs Makrozelle OLMC
FPGA
Rechnergestützter Entwurf programmierbarer Logik
............... 22
...............
23
...............
24
................ 26
................ 27
................. 28
.................. 29
.................. 31
................. 32
Digitaltechnik Teil 3
-2-
Speicher
Speicherhierarchie
Computer-System mit verschiedenen Speicherarten
Prof . Komar
Digitaltechnik Teil 3
-3-
Prof . Komar
Begriffspaare zur Charakterisierung von Speichern
Halbleiterspeicher lassen sich unterteilen in Matrix - und Umlaufspeicher
Umlaufspeicher sind Speicher mit seriellem Zugriff und werden aus rückgekoppelten Schieberegistern
gebildet.
Ein parallel zum Schieberegister betriebener modulo -n-Zähler adressiert die jeweils am Registerausgang
befindliche Information. Bei Gleichheit von Adresse der gewünschten Information und Zählerstand gibt der
Vergleicher Datenein- und ausgang des Schieberegisters frei.
Für einen m-Bit Wortspeicher werden m Schieberegister parallel betrieben.
Rückgekoppeltes Schieberegister als Umlaufspeicher
DA-Datenausgang DE-Dateneingang SE-Steuerereingang für Schreiben oder Lesen Ta-Schiebetakt
Schieberegister für Umlaufspeicher werden häufig in dynamischer Technik ausgeführt.
Dynamische Technik heißt, daß als 1bit-Speicherelement ein Kondensator (z.B. Gate-Kapazität eines MOSTransistors) dient, der aufgrund der Leckströme seine Information (Ladung) innerhalb von msec verlieren würde
und deshalb ständig aufgefrischt werden muß. Dieser benötigte Refresh bedingt bei dynamischen
Schieberegistern bzw. Umlaufspeichern (Umlaufrefresh) eine untere Grenzfrequenz für den Takt.
Statische Schieberegister sind demgegenüber aus Flipflops aufgebaut und behalten ihre Information solange
die Versorgungsspannung anliegt.
Digitaltechnik Teil 3
-4-
Prof . Komar
Vorteile haben dynamische Schieberegister durch die mögliche höhere Taktfrequenz (schneller als statische) und
die größere Packungsdichte (einfacherer Zellaufbau) auf dem Chip.
FIFO- und LIFO-Speicher
Zu den seriellen Halbleiter-Schreib/Lesespeichern kann man auch noch die Speicher für variable Datenmengen
zählen, die nach den Prinzipien
- FIFO First-In-First-Out Queue- oder Warteschlangenprinzip mit asynchronem Ein- und Auslesen von
verschiedenen Seiten. Mit FIFOs werden Systeme mit unterschiedlichen Datentransferraten gekoppelt.
Sie dienen als elastische Zwischenspeicher ( Pufferspeicher, Ringspeicher ), die z.B. schnell Daten
übernehmen können um diese dann langsam auszulesen oder umgekehrt.
Zustandssignale geben über den Füllstand der FIFOs Aufschluß.
- LIFO Last-In-First-Out Stack- oder Stapelprinzip, Ein- und Auslesen von derselben Seite, wobei die
zuletzt eingelesene Information zuerst wieder entnommen wird
Ein LIFO hat einen eigenen Adressgenerator, den Stackpointer ( SP ), der auf die Spitze des Stapels
zeigt. Bei PUSH ( Wort in Stack einschreiben ) wird der SP inkrementiert und bei POP ( Wort aus
Stack lesen ) dekrementiert. Der Stack eignet sich in Mikrocomputersystemen sehr gut für die
effiziente Zwischenspeicherung von Rücksprungadressen oder Registerinhalten.
arbeiten bzw. organisiert sind.
FIFO mit seriellen Ein- und Ausgängen
Blockschaltbild und Zugriffsmöglichkeiten eines LIFO -Speichers ( Stack, Stapel )
Digitaltechnik Teil 3
-5-
Prof . Komar
Halbleiterspeicher (Matrixspeicher)
Halbleiterspeicher sind integrierte Digitalschaltungen, die Daten aufnehmen, aufbewahren und abgeben können.
Sie lassen sich nach folgenden Gesichtspunkten klassifizieren:
Einteilung der Halbleiterspeicher nach Zugriffsarten
Digitaltechnik Teil 3
-6-
Prof . Komar
Ein Speicherelement, der nicht weiter zerlegbare Teil eines Speichers, dient zur Aufbewahrung eines Bit.
Wenn in einem Speicher jedes Speicherelement einzeln angesprochen (adressiert) werden kann, dann ist der
Speicher bitorganisiert.
Bei einem wortorganisierten Speicher sind die Speicherelemente nur in Gruppen zugänglich (Wortlänge meist
8 Bit = 1 Byte). Eine derartige Gruppe heißt Speicherzelle und der Inhalt Speicherwort.
Die Kapazität eines Speichers wird in der Form 2K*Wortlänge in Bit angegeben.
Bei wahlfreiem Zugriff kann auf die Speicherwörter in beliebiger Reihenfolge (random access) zugegriffen
werden.
Serieller Zugriff liegt vor, wenn nur in einer gewissen Reihenfolge zeitlich nacheinander auf die Speicherwörter
zugegriffen werden kann.
Die Zugriffszeit (access time) kennzeichnet die Zeitspanne, die zwischen dem Anlegen der Adresse (AdressZugriffszeit) und der Verfügbarkeit der gültigen Daten an den Ausgängen vergeht.
Die Zykluszeit ist die Zeitspanne zwischen dem Beginn zweier aufeinanderfolgender, gleichartiger, zyklisch
wiederkehrender Schreib- oder Lesevorgänge (manchmal Zykluszeit = Zugriffszeit).
Im ortsadressierten Halbleiterspeicher wird eine Speicherzelle mit Hilfe einer fest zugeordneten Adresse
ausgewählt.
Im inhaltsadressierten Halbleiterspeicher ( Assoziativspeicher ) werden Speicherzellen durch Suchbegriffe
(Suchbitmuster) angesprochen.
Im nichtflüchtigen Speicher ( Festwertspeicher ) bleiben die Daten auch ohne Betriebsspannung erhalten, im
flüchtigen ist dies nicht der Fall.
Im löschbaren Speicher ist Umprogrammierung möglich, im nichtlöschbaren dagegen lassen sich einmal
gespeicherte Daten nicht mehr rückgängig machen.
Im statischen Speicher bleiben die Daten erhalten solange die Versorgungsspannung anliegt, im dynamischen
Speicher müssen die Daten alle 2-4 ms aufgefrischt ( refresh ) werden.
Digitaltechnik Teil 3
-7-
Prof . Komar
Prinzipieller Aufbau von Matrixspeichern am Beispiel eines 64*1 Bit Schreib-Lesespeichers mit
Impulsdiagramm
Adressierung und Betriebsartenwahl eines 64 x 1-Bit-Schreib-Lese-Speichers
Impuls-Zeitdiagramm für Lese- und Schreib-Zyklus des RAMs a) Lese-Zyklus
b) Schreib-Zyklus
Digitaltechnik Teil 3
-8-
Prof . Komar
Nichtflüchtige Speicher
Bei nichtflüchtigen oder Festwertspeichern bleiben die Daten auch ohne Betriebsspannung erhalten. Da es sich
um Speicher mit wahlfreiem Zugriff handelt, müßten sie eigentlich 'read only RAM' heißen. Sie werden in
bipolarer und unipolarer Technik hergestellt
Unter 'Programmierung' von Festwertspeichern versteht man das Übertragen der gewünschten Information in
den Speicher.
Im Bild ist die prinzipielle Organisation eines bitorganisierten, nichtflüchtigen Speichers mit einer Kapazität
von 1K*1Bit dargestellt.
Die 10 Adressleitungen werden speicherintern in Zeilenadresse A0 - A4 (row) und Spaltenadresse A5 - A9
(column) aufgeteilt.
Mit der Zeilenadresse A0 - A4 wird über einen 1-aus-32-Decoder jeweils genau eine der 32 Zeilenleitungen auf
H-Pegel gelegt.
Damit legen alle 32 Speicherelemente der adressierten Zeile ihren Inhalt auf ihre Spaltenleitung.
Mit Hilfe der Spaltenadresse (A5 - A9) schaltet der Multipl exer dann die gewünschte Spaltenleitung (1 Bit) auf
den Ausgang D.
Bei einem wortorganisierten Speicher mit einer Kapazität von 128*8Bit benötigt man ebenfalls 1024
Speicherelemente, die nun aber zu 128 Speicherzellen zusammengefasst werden und dafür sind nur 7 Adreß leitungen erforderlich.
Die Adressierung der Zeilenleitung erfolgt auch hier über einen 1-aus 32-Decoder durch die Zeilenadressen A0 A4 und alle Elemente der Zeilenleitung legen ihren Inhalt auf die Spaltenleitungen.
Mittels der Spaltenadresse A5 - A6 schalten die Multiplexer MUX 0 -MUX 7 dann das gewünschte
Speicherwort zu den Ausgängen D0 bis D7 durch.
Prinzipieller Aufbau eines bitorganisierten Speichers ( 1K * 1 )
Aufbau eines wortorganisierten Speichers (128 * 8 )
Speichermatrix mit Diodenkopplung
Festwertspeicher mit MOS-Transistoren
Digitaltechnik Teil 3
-9-
Prof . Komar
ROM ( read only memory )
Ein ROM wird vom Hersteller programmiert, indem eine leitende Verbindung zwischen Zeilenleitung und
Spaltenleitung der Speichermatrix hergestellt wird oder nicht.
Eine nachträgliche Änderung der gespeicherten Daten ist nicht möglich.
Als Koppelelemente werden in bipolaren Schaltungen Schottky-Dioden oder Transistoren und in MOSSchaltungen Feldeffekttransistoren mit verschieden dicken Isolierschichten zwischen Gate und Substrat
verwendet.
Die Programmierung der vorgefertigten Speicherbausteine erfolgt mit der letzten Metallisierungsmaske.
PROM ( programmable ROM )
Ein PROM kann vom Anwender programmiert werden, wobei die Programmierung sich nicht mehr
rückgängig machen läßt.
Es enthält neben den bereits beschriebenen Speichermartrixelementen noch zusätzliche Schaltungen für die
Programmierung.
Beim Fusible-Link-Verfahren wird eine, in Reihe zum Koppelelement geschaltete, leicht schmelzbare Brücke
(Nickel-Chrom oder Silizium ) durch einen Stromimpuls von etwa 500 mA und 0.1-1ms Dauer zerstört
Der Speicher ist also mit einer '1' in allen Bit gefüllt und die '0'-Inhalte werden durch Schmelzen der Brücke
erzeugt.
Beim AIM-Verfahren (Avalanche Induced Migration ) ist jeder Kreuzungspunkt mit bipolaren Transistoren
versehen, deren Basis nicht angeschlossen ist und die deswegen sperren.
Im unprogrammierten Zustand sind somit alle Bit '0'. Beim Programmieren einer '1' wird nun die Emitter-Basis Diode bis zum Durchbruch belastet und verliert ihre Sperrwirkung.
Die Programmierung erfolgt unabhängig von der Speicherorganisation immer bitweise.
Die Vorgehensweise bei der Programmierung muß dem jeweiligen Datenblatt entnommen werden und erfolgt
mit speziellen Programmiergeräten.
Digitaltechnik Teil 3
- 10 -
Prof . Komar
EPROM (erasable PROM)
Ein EPROM läßt sich vom Anwender programmieren und durch UV-Bestrahlung von 5-20 minütiger Dauer
wieder gesamthaft löschen.
EPROMs gibt es nur in unipolarer MOS-Technik, wobei als Koppelelement ein spezieller, selbstsperrender
Feldeffekttransistor, der FAMOS-Transistor ( Floating gate Avalanche injection MOS ), dient.
Aufbau, Schaltsymbol und vereinfachte Kennlinien des FAMOS-Transistors
Eine hohe Programmierspannung zwischen Gate ( Zeilenleitung ) und Drain ( Spaltenleitung ) injiziert in das
zusätzliche, schwebende Gate durch die SiO2-Schicht hindurch schnelle Elektronen, die dort für 10-20 Jahre
gespeichert bleiben. Durch diese Ladung erhöht sich die Schaltschwellenspannung.
Ein unprogrammiertes EPROM liefert an allen Datenausgängen H-Pegel.
FAMOS-Transistor als Speicherelement
EPROM TMS27128
Über ein Quarzfenster eingestrahltes Licht von 250 nm Wellenlänge läßt die im schwebenden Gate gespeicherten Elektronen abfließen und erniedrigt die Schwellenspannung.
Im Gegensatz zum PROM läßt sich hier eine ganze Speicherzelle in einem Schritt programmieren, wobei die
Reihenfolge beliebig ist.
Der TTL-kompatible MOS-Baustein TMS 27128 benötigt im Normalbetrieb eine Leistung von 525mW und im
Power Down-Modus von 125mW. Es gibt ihn mit Adresszugriffszeiten von 250ns, 350ns und 450ns.
Typische EPROM-Konfigurationen
Blockschaltbild eines EEPROMs
Digitaltechnik Teil 3
- 11 -
Prof . Komar
EEPROM/EAROM ( electrically erasable/alterable PROM )
Ein EEPROM kann vom Anwender programmiert werden und läßt eine elektrische, selektive Umprogrammierung der Speicherzellen zu.
Als Koppelelemente werden wie beim EPROM Feldeffekttransistoren mit Ladungsspeichern, hier aber in
FLOTOX-Technik ( Floating Gate Tunnel-Oxide ) verwendet. Dieses FLOTOX-Speicherelement entspricht
der FAMOS-Struktur, enthält aber einen Abschnitt zwischen Gate und Dra in, in dem Elektronen bei hohen
elektrischen Feldstärken tunneln können.
Zum Programmieren und Umprogrammieren werden nun mit einer Spannung von etwa 20 V Elektronen auf das
schwebende Gate gebracht oder wieder entfernt. Die Zeitdauer für die Programmierung einer Speicherzelle
beträgt 1 bis 10ms, und die Anzahl der zulässigen Programmier/Löschzyklen ist auf etwa 10 000 beschränkt.
Bei neueren Bausteinen werden die zum Programmieren und Löschen benötigten hohen Spannungen auf dem IC
selbst erzeugt und man kommt mit einer Versorgungsspannung von 5 V aus.
EEPROM -> erst wortweises Löschen bevor neu programmiert
EAROM -> ohne vorheriges Löschen direkt umprogrammierbar
Flash-EEPROM
Die Flash-EEPROM Speicherzelle basiert auf einer Eintransistor-EPROM-Zelle und ist ähnlich der EEPROMSpeicherzelle elektrisch löschbar.
Technisch und im Preis zwischen EPROM und EEPROM angesiedelt, findet das Flash-EEPROM sein
Einsatzgebiet als Disketten- oder Festplattenersatz in Kleinstcomputern ( Siliziumdisk, Memory-Cards
->PCMCIA-Standard ) und auch als updatefähiger ( kein Ausbau aus Schaltung für Programmierung ) BIOSoder Betriebssystem-Festwertspeicher.
Der Aufbau der Flash-EEPROMs stimmt im wesentlichen mit dem der EEPROMs überein, benötigen aber
weniger Fläche pro Bit (Preis) und auch eine geringere Programmierspannung von nur 12 V.
Sie müssen vor einer Programmierung gelöscht werden und dies wird durch einen Löschimpuls innerhalb einer
Sekunde entweder gesamthaft oder bei anderen Versionen sektorweise ( Block, Page ) erreicht wobei sie anders
als das EPROM in der Schaltung verbleiben können.
Typische Flash-EEPROMs weisen derzeit byte-organisierte Kapazitäten bis zu 20 M Byte bei Lesezugriffzeiten
von 70 bis 120 nsec auf.
Vergleich
rel.Zellengröße
Programmierung
Spannung
Auflösung
Zeit pro Byte
Löschen
Spannung
Auflösung
Zeit
EPROM
1
Flash-EEPROM
1.2-1.3
EEPROM
3
Programmer
12-20 V
Byte
< 100 µsec
in Schaltung
12 V intern
Byte
< 10 µsec
in Schaltung
5 V extern
Byte
5 msec
UV-Löschgerät
12-20 V
Chip
10-20 min
in Schaltung
12 V intern
Chip/Page
1 sec
0,3 sec/Block
in Schaltung
5 V extern
Byte
5 msec/Byte
Lösch/Prgr.Zyklen
100
->100 000
10 000
Lese-Spannung
5V
5V
5V
Digitaltechnik Teil 3
- 12 -
Prof . Komar
Flüchtige Speicher
Im flüchtigen Speicher oder Schreib-Lese-Speicher gehen die Daten nach Ausschalten der Versorgungsspannung
verloren. Die interne Organisation der RAM-Bausteine entspricht weitgehend derjenigen nichtflüchtiger
Speicher ( Matrixprinzip ).
Im Beispiel eines 256*4Bit Schreib-Lesespeichers wird über die Zeilenadresse die Wortleitung dekodiert und
über die Spaltenadresse werden jeweils 4 Schreib/Leseverstärker dekodiert.
Abhängig vom Write-Signal W, werden die Daten entweder über den Eingangsbuffer eingelesen und in die
Speicherelemente geschrieben oder über den Ausgangsbuffer ausgelesen.
Es gibt Bausteine mit getrennten und mit gemeinsamen Daten-Ein/Ausgängen, die dann beim Schreiben als
Eingänge und beim Lesen als Tristate-Ausgänge funktionieren.
SRAM ( statisches RAM )
Die Speicherelemente in SRAM-Bausteinen sind Flipflops aus kreuzgekoppelten Transistoren in bipolarer oder
unipolarer Technik, die eingeschriebene Information bis zum Spannungsausfall behalten.
Für die Steuerung der Betriebsabläufe eines SRAM findet man nebem dem Steuersignal CE oder CS (chip
enable oder chip select= Bausteinfreigabe) noch OE (output enable = Ausgänge freigeben bzw auslesen )
und WE oder R/W oder W (write enable oder read/write = Schreibfreigabe bzw Unterscheidung Lesen /
Schreiben ).
Diese Steuersignale sind üblicherweise low-aktiv.
Aufbau eines wortorganisierten Schreib/Lese-Speichers 256*4Bit
Flipflop aus Feldeffekttransistoren
Schreib/Lese-Verstärker und Buffer
Schreib/Lesespeicher TMS4016
Digitaltechnik Teil 3
Typische Organisationsformen bei statischen RAMs
Gehäuseformen für ein statisches ( 32k x 8 )-RAM
Statisches RAM-Modul 128k x 8
- 13 -
Prof . Komar
Digitaltechnik Teil 3
- 14 -
Prof . Komar
DRAM (dynamisches RAM)
Als Speicherelemente für DRAM werden Ein-Transistorzellen mit einem Kondensator ( 0.04-0.08pF ) als
Informationsspeicher eingesetzt. Aufgrund der entladenden Leckströme müssen dynamische RAMs alle 24ms durch einen Auffrischvorgang aufgeladen werden ( refresh ).
Bei neueren DRAMs muß dieser Refresh nicht mehr durch externe Logik durchgeführt werden, sondern er wird
durch chipinterne Schaltungen ausgeführt ( pseudostatisch ).
Bei allen Speicherzugriffen wird zuerst die Wortleitung aktiviert und über die geöffneten Feldeffekttransistoren
kommt es jeweils zum Ladungsausgleich zwischen der Speicherkapazität C und der Schaltkapazität Cs. Es findet
also ein zerstörendes Lesen statt, wobei aber der Schreib/Leseverstärker die Information erkennt und intern
zwischenspeichert.
Beim Lesen wird danach das zwischengespeicherte Wort ausgegeben und anschließend die gesamte Zeile
unverändert zurückgeschrieben.
Beim Schreiben werden die zwischengespeicherten internen Werte des Schreib/Leseverstärkers durch das neue
Wort überschrieben und anschließend die gesamte Zeile zurückgeschrieben.
Beim Refresh wird die gesamte Zeile unverändert zurückgeschrieben.
Um die gegenüber SRAM um Faktor vier höhere Integrationsdichte des DRAM auszunutzen, müssen diese in
platzsparenden Gehäuse untergebracht werden. Um aus diesem Grund die Zahl der Anschlüsse zu reduzieren,
werden bei DRAMS oft die Zeilen- und die Spaltenadresse an die gleichen Anschlüsse gemultiplext und
außerdem sind die meisten DRAM bitorganisiert, was bei gegebener Speicherkapazität die Zahl der Adreß- und
Datenanschlüsse minimiert.
Bei einem 64k*1Bit DRAM sind dann z.B. nur 8 statt 16 Adressanschlüsse notwendig.
Aufbau und Steuerung eines DRAMs
Es muß durch die beiden Signale RAS ( Zeilenadresstakt, row adress strobe ) und CAS ( Spaltenadresstakt,
Column Adress Strobe ) festgelegt werden, welcher Adressteil gültig anliegt.
Der Refreshvorgang wird durch Anlegen von Zeilenadresse und RAS-Signal jeweils für alle
Speicherelemente einer Zeile durchgeführt. Der Zeitanteil für das Auffrischen liegt bei etwa 1-3 % der
Betriebsdauer.
Nur-Auffrisch-Zyklus eines DRAMs
Speicherelement eines DRAM
Digitaltechnik Teil 3
Schreibzyklus
- 15 -
und
Prof . Komar
Lesezyklus
eines DRAMs
Für das Auffrischen der DRAMs in Mikrocomputerschaltungen gibt es verschiedene Verfahren:
- Burst-Refresh ->für die Dauer der Ansteuerung aller Zeilen ist kein Zugriff vom Mikroprozessor möglich
- Cycle-Stealing ->verteilt über 2 bis 4 msec wird z.B. alle 15 µsec ein Refresh-Zyklus durchgeführt
- Hidden-Refresh ->nur wenn Prozessor nicht auf Speicher zugreift wird aufgefrischt
Neben den Read-, Write- und Refresh-Cycles gibt es meist noch verschiedenste andere Zugriffsmöglichkeiten
( Zyklen ) in Abhängigkeit von dem verwendeten DRAM und dem speziellen Anwendungsfall, wie z.B.
Early-Write-Cycle, Read-Write-Cycle,
Static-Column -Read-Cycle, Static-Column -Early-Write-Cycle
CAS-Before-RAS-Refresh-Cycle…
Zur Charakterisierung der Zugriffszeit auf den Baustein hat man einen repräsentativen Wert, nämlich die
maximale RAS-Zugriffszeit ( t RAC ) herausgegriffen. Bei einem typischen Wert von 60 ns liegt dann die CASZugriffszeit ( t CAC ) bei 15 ns.
Übliche Organisationsformen dynamischer Speicherbausteine
Neben den Bauformen wie sie bei allen digitalen ICs zum Einsatz kommen, gibt es gerade für den Einsatz in PCSystemen noch spezielle Bauformen, sogenannte Module, bei denen mehrere Speicherbausteine auf einem
keramischen Träger angebracht werden ( SIMM, SIP u. DIMM ).
Wegen der hohen Lokalität von Code und Daten in Computersystemen, finden Zugriffe auf dynamische RAMs
sehr häufig mit der gleichen Zeilenadresse statt, finden also in der gleichen Page statt ( Page - Hits ).
Daraufhin entwickelte Page -Mode -DRAMs erlaubten es, durch eine kleine Änderung in der RAS/CASZugriffstechnik, innerhalb einer durch RAS adressierten Page mit maximal 100 µsec CAS-Zyklen beliebige
andere Spalten dieser Page zu adressieren. Es wurde hierbei aber nach jedem CAS-Zugriff der Speicherinhalt
wieder zurückgeschrieben, was sehr viel Zeit kostete.
Daraufhin entwickelte Fast-Page -Mode-DRAMs ( FPM-DRAM ) schreiben die Daten erst bei einem
Page-Wechsel (neue Zeilenadresse ) zurück. Dadurch wurden bei einem Page-Hit, verglichen mit einem
kompletten RAS/CAS-Zyklus, dreimal so schnelle Zugriffe möglich.
Digitaltechnik Teil 3
- 16 -
Prof . Komar
Wird ein zusätzliches Ausgaberegister für die Daten vorgesehen, erhält man ein EDO-DRAM ( Enhanced
Data Output-DRAM ), bei dem man schon die nächste zu lesende Adresse innerhalb einer Page übermitteln
kann, bevor die Daten der vorangegangenen Adresse gelesen werden. Dadurch kommt es zu einer Verkürzung
der CAS-Zykluszeit, die bei einem 60ns EDO-DRAM nur 25 ns beträgt, gegenüber 40ns bei einem FPM DRAM.
Bei einem Systemt akt von 66 MHz kann mit nur zwei Takten auf den Baustein zugegriffen werden, gegenüber
drei Takten beim FPM -DRAM.
Bei heutigen Rechnersystemen hat man es, bedingt durch den Einsatz von Cache-Speichern, meist nicht mehr
mit einzelnen Zugriffen auf den Arbeitsspeicher zu tun, sondern es wird mit gebündelten Zugriffen ( Bursts ) auf
meist vier aufeinanderfolgenden Adressen gearbeitet. Da diese Bursts eine vorgegebene Reihenfolge von
Adressen aufweisen und eine bestimmte Anzahl von Zugriffen haben, braucht man eigentlich nur eine
Startadresse zu übermitteln. Darauf wird dann ein interner Zähler im RAM eingestellt. Die Zugriffe können dann
über das CAS-Signal getaktet und von dem Zähler, der entsprechend hochgezählt wird, adressiert erfolgen.
Mit diesen sogenannten Burst-EDO-RAMs ( BEDO-RAM ) erreicht man Page-Mode-Zugriffszeiten von
15 ns. Hiermit kann bei 66 MHz Systemtakt in einem Taktzyklus auf die Bausteine zugegriffen werden.
Lesezyklus bei verschiedenen DRAM-Typen
Digitaltechnik Teil 3
- 17 -
Prof . Komar
Die schnellsten Zugriffe bei dynamischen Speichern sind mit synchronen DRAMs ( SDRAM ) und
Rambus bzw. Direct Rambus DRAMs ( RDRAM ) möglich.
Bei synchronen DRAMs beziehen sich alle Signale auf ein gemeinsames Taktsignal ( üblicherweise der
Systemtakt ). Es gibt zwar noch die von DRAMs bekannten Steuersignale, durch diese wird aber eigentlich ein
Kommando an das SDRAM geschickt. Bei SDRAM kann bei einem Burst auf die Daten mit 100 MHz
Systemtakt zugegriffen werden, allerdings erst nach einer gewissen Zeit, die zur Übermittlung der Zeilen und
Spaltenadressen benötigt wird. Die Länge des Bursts ist nicht auf vier Zugriffe beschränkt, sondern lässt sich
einstellen ( 1, 4, 8 oder 16 ).
Mit den RDRAMs ( bzw. den Direct Rambus DRAMs ) ist nocheinmal eine deutliche Steigerung des
Datendurchsatzes zu erreichen. Hierbei kann, nach 40 ns Row Access Time bzw. beim Page-Hit nach 20 ns
Column Access Time, alle 10 ns auf 16 Bytes des Speichers zugegriffen werden. Mit dieser Technik erreicht
man eine Speicherbandbreite bei 800 MHz Speichertakt und 16 Bit Busbreite von bis zu 1,6 Gbyte/s, das
doppelte dessen, was mit SDRAMs bei 100 MHz Systemtakt und 64 Bit Busbreite möglich ist.
Lesezyklus beim SDRAM und RDRAM
Digitaltechnik Teil 3
- 18 -
Prof . Komar
Assoziativspeicher (CAM contents adressed memory)
Inhaltsadressierte Halbleiterspeicher werden nicht gezielt durch Adressen sondern durch Suchbegriffe ange sprochen. Das Bitmuster, nach dem gesucht wird, ist im allgemeinen kürzer als die Wortlänge des Speichers.
Falls es gefunden wird, wird dies durch ein Treffersignal angezeigt und in einem Lesezyklus kann wie bei RAMSpeichern das vollständige Speicherwort gelesen werden.
CAM-Speicher erleichtern vor allem Suchvorgänge. Sie erfordern aber einen deutlich höheren Bauteileaufwand
und werden daher nur selten eingesetzt.
Blockschaltbild eines Assoziativspeichers und Beispiel eines Suchvorgangs
Organisatorischer Aufbau eines Assoziativspeichers
Suche in einem inhaltsadressierbaren Speicher
Digitaltechnik Teil 3
- 19 -
Prof . Komar
NOVRAM Nichtflüchtige Halbleiter-Schreib/ Lesespeicher
Durch Kombination von EEPROM-Zellen mit SRAM gleicher Kapazität auf einem Chip lassen sich
nichtflüchtige Schreib/Lesespeicher mit wahlfreiem Zugriff aufbauen.
Mittels eines Signals (STORE) läßt sich der RAM-Inhalt innerhalb von Millisekunden in den EEPROM-Bereich
kopieren und das Signal RECALL bewirkt umgekehrt das Laden des RAM mit den EEPROM-Daten innerhalb
von Mikrosekunden.
Ansonsten funktioniert das RAM als schneller Arbeitsspeicher und das EEPROM als nichtflüchtiger
Hintergrundspeicher.
Sind z.B. geeignet zum Retten von Daten bei Spannungsausfall, wenn keine batteriegepufferten CMOS-RAMBausteine dafür verwendet werden können.
Prinzip des NOVRAM
Cache-Speicher
Cache-Speicher sind schnelle Zwischenspeicher in Rechnersystemen. Sie werden sowohl zwischen
Arbeitsspeicher und Zentraleinheit ( Prozessor ) als auch zwischen Peripherieeinheiten (z.B. Festpatte ) und
Arbeitsspeicher eingesetzt.
Multiport-Speicher
Multiport-Speicher gestatten es, von mehreren Seiten unabhängig voneinander auf einen gemeinsamen
Speicherbereich zuzugreifen. Eine interne Steuerung sorgt dafür, dass Konfliktfälle vermieden werden. Sie
werden in Multiprozessorsystemen eingesetzt.
Video-RAMs (VRAMs)
Video-RAMs wurden speziell für den Einsatz als Bildspeicher für Grafikkarten entwickelt. Der
Zugriffsmechanismus ist auf die dort gestellten Anforderungen optimiert.
RAM-DACs
RAM-DACs ( Random Access Memory-Digital Analog Converter ) sind eine Kombination aus RAM mit D/AWandler die zwischen Video-RAM und Monitor geschaltet sind. Bei den üblichen Farbmonitoren und
Farbgrafikkarten gibt es drei parallele RAM-DACs also für jede Farbe ( Rot, Grün u. Blau ) ein eigenes. Anhand
einer im RAM gespeicherten Umsetzungstabelle ( Look-Up-Table ) liefert jeder Kanal ein analoges Signal zur
Ansteuerung des Monitors. Dadurch ist es möglich, unterschiedliche Farbtabellen bei einer festen, gegebenen
Anzahl von Bits darzustellen, indem man die Umsetzungstabelle jeweils entsprechend belegt.
Adressdecodierung des Arbeitsspeichers eines Computers
Digitaltechnik Teil 3
- 20 -
Übersicht über statische und dynamische Schreib-/Lesespeicher
Übersicht über Festwertspeicher
Prof . Komar
Digitaltechnik Teil 3
- 21 -
Übersicht der möglichen digitalen Elektronik-System-Realisierungstechniken
Prof . Komar
Digitaltechnik Teil 3
- 22 -
Prof . Komar
ASIC
Programmierbare Logikbausteine PLD ( Programmable Logic Devices ) gehören zu den
anwendungsspezifischen integrierten Schaltungen ASIC ( Application Specific Integrated Circuits ).
Allen ASIC-Typen ist gemeinsam, daß sie ihre endgültige Funktion erst durch die Spezifikation des Anwenders
erhalten.
Vollkundenspezifische IC's werden vom Hersteller für eine spezielle Anwendung bzw für einen Kunden
speziell entworfen und sind nicht auf dem freien Chipmarkt verfügbar.
Der Entwurf erfolgt auf Transistorebene, bietet die Möglichkeit der Integration von Analog- und Leistungsfunktionen und ergibt eine optimale Packungsdichte.
Durch die sehr aufwendige Entwicklung sind sie nur bei sehr hohen Produktionsstückzahlen wirtschaftlich.
Gate -Arrays ( Matrix von Zellen )
sind vorgefertigte IC's in Waferform, bei denen digitale und analoge Funktionszellen (Makros) auf dem Chip in
Art und Position festliegen und Änderungen nicht möglich sind.
Kundenspezifisch ist lediglich die Verdrahtung der einzelnen Funktionselemente, die mit den letzten Masken
durchgeführt wird und natürlich den Chip nicht optimal ausnutzen kann ( ungenutzte Makros )
Der Hersteller stellt eine sogn. Zellbibliothek für die einzelnen Makros (Gatter, Zähler, Register usw.) zur
Verfügung. Dadurch kann der Entwurf vom Anwender wesentlich schneller und kostengünstiger durchgeführt
werden als für vollkundenspezifische Schaltkreise.
Standardzellen IC's
versuchen die wirtschaftlichen Vorteile von Gate Arrays mit den Vorzügen der Vollkunden-IC's zu verbinden.
Durch eine Funktionsbibliothek wird der Design-Aufwand in Grenzen gehalten, andererseits liegen für die
Makros aber nicht bereits fertige Transistorstrukturen vor, sondern alle Transistorebenen und Masken werden
flächenoptimal entsprechend der Anforderung ausgelegt und somit die Chipfläche optimal genutzt.
Aufwand beim ASIC -Einsatz
Digitaltechnik Teil 3
- 23 -
Prof . Komar
Gemeinsam ist diesen drei Typen, daß sie nur in enger Zusammenarbeit mit dem Hersteller und leistungsfähiger
Computerunterstützung ( CAE/CAD) entworfen werden können.
Übersicht über digitale, gemischte und analoge ICs
Programmierbare Logikbausteine PLD
können dagegen meistens vom Anwender alleine z.B. auf dem PC entwickelt ( FORTRAN-Programm
PALASM ) und mit speziellen Programmiergeräten programmiert werden.
PLD ist ein Sammelbegriff für alle programmierbaren Logik-Bausteine und ausgehend von ursprünglich rein
kombinatorischen PLDs ( Schaltnetzrealisierung ) sind sequentielle PLD ( Schaltwerkrealisierung ) heute
Stand der Technik.
Prinzipielle Struktur von PLDs
Die stürmisch verlaufende, technische Entwicklung hat zu einer verwirrenden Vielzahl zum Teil geschützter
Bezeichnungen geführt.
Zu den kombinatorischen PLD lassen sich im Prinzip auch die Festwertspeicher zählen und damit ist folgende
grobe Unterteilung möglich:
- (X)ROM (PROM, EPROM, EEPROM ..)
- PAL
(CPAL, PLE, HAL,....)
- PLA
(FPLA, IFL, FPLS, FPGA ...)
Digitaltechnik Teil 3
- 24 -
Prof . Komar
Die allgemeine Grundstruktur progra mmierbarer Logikschaltungen besteht aus der Kombination einer UNDund einer ODER- Matrix.
Matrixfestwertspeicher wie PROM oder EPROM bestehen aus einer festverdrahteten UND-Matrix zur
vollständigen Dekodierung der einzelnen Adressen und aus einer programmierbaren ODER-Matrix, die
den Inhalt der Speicherwörter festlegt.
Im Grunde eine zweistufige Logik in disjunktiver Normalform DNF.
In einem PROM müssen alle Zeilen der Wahrheitstabelle abgespeichert werden, unabhängig vom Wert der
Ausgangsvariablen.
Wenn aber die Ausgangsvariablen nur in verhältnismäßig wenig Zeilen den Wert 1 (oder den Wert 0) annehmen,
dann ist es wirtschaftlich vorteilhafter, nicht die gesamte Tabelle zu programmieren, sondern nur diese wenigen
Zeilen. Die integrierten Bausteine, die sich diesen praktischen Erfordernissen besser anpassen lassen sind:
- PLA Programmable Logic Array
UND- als auch ODER-Matrix programmierbar
- PAL Programmable Array Logic
UND-Matrix programmierbar, ODER-Matrix fest
vorgegeben.
Programmierung der UND-Verknüpfung
Ein PROM mit n-Eingängen enthält grundsätzlich 2 n UND-Glieder ( Produktterme ) während es bei PLA - und
PAL-Bausteinen viel weniger sind und deswegen für PLA/PAL-Realisierung die Schaltfunktion minimiert
werden muß (möglichst wenig Produktterme verwenden ).
Beispielsweise hat das FPLA DM 8575/8576 von National Semiconductor bei n=14 Eingängen, m=8 Ausgängen
p=96 Produktterme und damit eine 'Speicherkapazität' von 96*8 Bit = 768 Bit.
Ein PROM mit 14 Eingängen und 8 Ausgängen hat demgegenüber 2 14 Produktterme und eine Speicherkapazität
von 2 14 * 8 =131 072 Bit
Digitaltechnik Teil 3
- 25 -
Prof . Komar
Prinzipielle Schaltung eines FPLA
Beim PLA unterscheidet man zwischen maskenprogrammierten Typen (vom Hersteller zu programmieren) und
denjenigen, die vom Kunden selbst programmiert werden können, dem FPLA ( Field PLA ).
PAL-Bausteine können ebenfalls vom Anwender programmiert werden. Die Bezeichnung FPAL ist aber nicht
üblich. Die Programmierung erfolgt wie beim PROM mittels einer durchzubrennenden Sicherung ( daher IFL =
Integrated Fuse Logic) und ist nicht reversibel.
Entsprechend der EPROM und EEPROM – Technik sind auch löschbare EPLD ( Erasable PLD ) und
EEPLD auf dem Markt. Allerdings muß die Möglichkeit der Umprogrammierung mit Geschwindigkeits einbußen bezahlt werden. PLA und PAL werden in bipolarer und in CMOS-Technik hergestellt.
Vereinfachte Darstellung der logischen Verknüpfungen
Es gibt bei beiden Bausteinkategorien Ausführungen, bei denen
. die Ausgänge entweder high- oder low- aktiv sind oder durch Antivalenz-Gatter (Antivalenz als
programmierbarer Inverter) programmierbar sind ( FPLA bei den PLA -Bausteinen)
. die Ausgänge über programmierbare Tristate-Buffer intern zurückgeführt werden
. die Ausgänge auf Flipflops geführt sind und ein Teil der Flipflopausgänge intern zurückgeführt werden sowie
der Flipflop- Typ (D-,JK-,RS-,T-) programmierbar ist (sequentielle PLD)
Damit lassen sich ganze Schaltwerke auf einem Chip unterbringen.
Digitaltechnik Teil 3
- 26 -
Ausschnitt aus einem PAL mit bidirektionalem Ausgang
Übersicht über weit verbreitete PALs
Prof . Komar
und
Register-Ausgang
Digitaltechnik Teil 3
- 27 -
Realisierung eines Schaltnetzes durch PROM-, PLA- und PAL-Bausteine
PROM Schaltnetz
Schaltnetzentwurf beim Einsatz eines PLA
Schaltnetzentwurf beim Einsatz eines PAL
Prof . Komar
Digitaltechnik Teil 3
- 28 -
Prof . Komar
GAL-Bausteine
PAL-Bausteine mit Rückkopplungen und programmierbaren Ausgängen, sogn. Makrozellen besitzen aufgrund
ihrer universell einsetzbaren Ausgänge eine hohe Flexibilität.
Sie kommen immer stärker zum Einsatz und werden üblicherweise als GAL ( generic array logic ) bezeichnet
Die dargestellte Makrozelle des GAL 22V10 besitzt ein D-FF mit asynchronem Rücksetz- und synchronem
Setzeingang.
Der 1-aus-4-Multiplexer schaltet entweder den kombinatorischen oder den Register-Ausgang auf den
invertierenden Tri-State-Ausgangstreiber durch.
Der 1-aus-2-Multiplexer liefert das Rückkoppelsignal auf die UND-Matrix.
Die Konfiguration jeder Makrozelle wird durch die zwei programmierbaren Variablen C1 und C0 festgelegt.
Die Variable OE ( Output Enable ) wird über einen eigenen Produktterm gesteuert, unabhängig von der
programmierten Konfiguration.
Der allen FFs gemeinsame Takteingang ist zusätzlich noch auf die UND-Matrix geschaltet und steht für interne
Verknüpfungen zur Verfügung.
Asynchroner Reset und synchroner Preset kann für alle Kippglieder gemeinsam über je einen zusätzlichen
Produktterm gesteuert werden.
Alle FFs werden beim Anlegen der Versorgungsspannung rückgesetzt.
GAL-Baustein mit programmierbarem Ausgang
GAL-Bausteine haben eine sehr große Verbreitung gefunden, da sie auf der Basis von schnellen elektrisch
löschbaren CMOS-Zellen aufgebaut sind und aufgrund ihrer vielfältigen Programmiermöglichkeiten und ihrer
universellen OLMCs ( output logic macro cells ) eine Vielzahl von PAL-Bausteinen ersetzen können.
Der ispGAL22V10 ( in system programmable generic array logic ) verfügt über individuell konfigurierbare
Makrozellen und kann im System, also ohne spezielles Programmiergerät in der Schaltung programmiert werden
Funktionsblockschaltbild des ispGALs 22V10
Gehäuse und Anschlussbelegung
Digitaltechnik Teil 3
- 29 -
Logikdiagramm und JEDEC Fuse Map des ispGAL22V10
Blockschaltbild der Ausgangs-Makrozelle OLMC
Prof . Komar
Digitaltechnik Teil 3
- 30 -
Schaltbilder der Ausgangs-Makrozelle für den Betriebszustand Combinatorial I/O
Schaltbilder der Ausgangs-Makrozelle für den Betriebszustand “ Registered Output “
Ausgangskonfigurationen
Prof . Komar
Digitaltechnik Teil 3
- 31 -
Prof . Komar
FPGA
Field Programmable Gate Arrays ( FPGA ) sind vom Anwender programmierbar und benötigen für die
Personalisierung keine Masken.
Damit sind sie ein Kompromiß zwischen der flexiblen Programmierfähigkeit der PLD und der
Leistungsfähigkeit der Masken-Gate-Arrays.
FPGAs enthalten im Kern eine Vielzahl von einfachen, konfigurierbaren Logikblöcken ( Configurable Logic
Block = CLB ) , die beliebige logische Funktionen mit einer begrenzten Anzahl von Eingangsvariablen
implementieren können.
Zahlreiche Leitungssegmente und programmierbare Verbindungsstrukturen ( C = Connectivity Matrix, S =
Switching Matrix ) erlauben es , die Logikblöcke sehr flexibel miteinander zu verbinden.
Am Rande des FPGAs befinden sich besondere Ein-/ Ausgabeblöcke ( IOB = Input Output Block ), die als
Schnittstelle zwischem dem Kern des FPGAs und der Peripherie dienen.
Schaltungen mit Millionen Gattern können so in einem einzigen FPGA implementiert werden.
Für den Aufbau programmierbarer Verbindungen werden bei FPGAs benutzt:
SRAM-Programmierung – statisches RAM in Verbindung mit Pass-Transistoren oder Multiplexern
Floating-Gate-Transistor wie bei EPROMs
Antifuses – durch große Ströme wird ein gut leitende, dauerhafte Verbindung hergestellt.
Struktur eines FPGAs
Prinzipschaltung eines Logikblocks
Digitaltechnik Teil 3
- 32 -
Prof . Komar
Rechnergestützter Entwurf programmierbarer Logik
Bei PALs, GALs, EPLD, CPLD und FPGAs werden zur sprachorientierten Beschreibung die
Hardwarebeschreibungssprachen ( HDL ) PALASM und ABEL eingesetzt.
Bei komplexeren CPLDs und FPGAs kommen dann die professionellen Standardwerkzeuge VHDL ( Europa )
und Verilog ( USA ) für den rechnergestützten Entwurf zum Einsatz.
Hardware-Beschreibungssprachen HDL im Überblick
Entwicklungsablauf bei
programmierbarer Logik
Entwicklungsablauf bei rechnergestütztem Entwurf programmierbarer Logik
ausgehend von Spezifikation wird die Aufgabe in einer HDL beschrieben
in der anschließenden Logiksynthese erfolgt die rechnergestützte Umsetzung des Entwurfs in eine
Hardwarestruktur
danach wird mit Logiksimulation überprüft, ob die entwickelte Schaltung die gestellten Anforderungen
erfüllt
Wahl des Bausteins, in dem die Funktion unterzubringen ist
Umsetzung der logischen Gleichungen in das Format des ausgewählten Bausteins ( Fit )
Simulation zur Überprüfung der Umsetzung des Entwurfs
Erzeugung einer JEDEC-Datei zur Programmierung des Bausteins ( FuseMAP )
mit funktioneller Simulation wird die Richtigkeit der erzeugten Datei überprüft und mit einer TimingSimulation erfolgt die Überprüfung des genauen Zeitverhaltens
nach erfolgreicher Simulation kann der Baustein programmiert werden
Test der Programmierung mit Hilfe der gleichen Testvektoren wie bei der vorausgegangenen
Simulation