5 Zieltechnologien Fertigungstechnologien:
Fertigungstechnologien Eigenschaften:
5.1 CMOS Alle Grundbausteine (Gatter, Flipflops) werden ausschließlich aus MOS-Feldeffekt-Transistoren aufgebaut Wie werden MOS-Feldeffekt-Transistoren für integrierte Schaltungen gefertigt? Wie entstehen durch die Verbindung mehrerer solcher Transistoren die Grundbausteine der CMOS-Technik? Was entsteht als Ergebnis des Schaltungsentwurfs (Ausgangsdaten für die Fertigung)
MOS-Transitoren G D S S – D nMOS-Transistor pMOS-Transistor verbunden unterbrochen 1 Modellierung als Schalter reicht für viele Zwecke aus. positive Logik High Low "1" "0" negative Logik High Low "0" "1" Im folgenden wird stets positive Logik verwendet !
CMOS-Grundprinzip
CMOS-Grundprinzip Grundeigenschaft: Außerhalb von Umschaltzeitpunkten existiert kein geschlossener Strompfad zwischen unterschiedlichen Versorgungspotentialen. Vorteil: Keine statische Verlustleistung.
Beispiel AOI-Gatter
Realisierung von MOS-Transistoren
CMOS-Layout
Layout-Schichten (layer) n-Diffusion (n-Transistoren) p-Diffusion (p-Transistoren) n-Wanne Polysilizium (Gates) Metall 1 (1. Verdrahtungsschicht) Metall 2 (2. Verdrahtungsschicht) Kontaktlöcher (Verbindung zwischen Schichten)
Layout eines CMOS-Inverters
Problematik des Layouts genaue geometrische Spezifikation einer Schaltung Notwendiges Wissen: Breite von Leitungen Mindestabstände Größe von Kontaktlöchern Überlappung bei Transistoren ... prozeßspezifische Entwurfsregeln
Reguläre Layoutstrukturen Es gibt weitere reguläre Layoutstrukturen, die spezielle Funktionen sehr effizient zu implementieren gestatten. Automatische Generierung dieser Strukturen durch spezialisierte Modulgeneratoren und Einpassung als Makrozelle in restliches Standardzellen-/Vollkundenlayout. PLAs zweistufige Bündelschaltnetze ROMs Speichermatrizen Gate-Matrizen beliebige Zusammenschaltung von Gattern
6 Integrierte Schaltungen Integrierte digitale Schaltungen (ICs) Standard ICs anwendungsspezifische ICs fest verdrahtet masken- programmiert prgrammiert für Anwendung gefertigt PLD (PAL, GAL) Anwendungs- spezifische Entwürfe Speicher (SRAM, DRAM) Festwertspeicher (ROM) Vollkunden- entwürfe PROM EPROM EEPROM Flash-Speicher Prozessoren (DSP, Mikrocontroller) FPGA Gate-Array Makros Sea-of-Gate Standardzellen Standard- system- elemente (E/A-Bausteine, Graphik) Actel Xilinx
6.1 Vollkundenentwurf Entwurf Fertigungsvorbereitung Fertigung Nutzung Individuelle Optimierung der Plazierung und Dimensionierung einzelner Transistoren auf dem Chip Fertigungsvorbereitung Individuelle Erstellung aller Fertigungsmasken Fertigung Individuelle Durchführung aller Fertigungsschritte Nutzung Nutzung nur durch einen Anwender
Möglichkeiten des Vollkundenentwurfs Layout individuell regelmäßig standardisiert physikal. symbol. manuell automatisch Entwurf Entwurf optimiert optimiert + (Modulgenerator) automat. Kompaktierung ROM PLA … GM …
Gegenüberstellung
6.2 Anwendungsspez. Schaltungen Idee: Einsparung eines Teils des Entwurfs und Fertigungsaufwands Standardzellen/ Einsparung beim Entwurf durch Makros: vorentworfene Zellen Gate-Array/ Einsparung beim Entwurf durch Sea-of-Gate: vorentworfene Zellen Einsparung bei der Fertigung durch vorgefertigte Transistormatrix.
6.2.1 Standardzellen / Makros Entwurf Platzierung standardisierter Teilschaltungen (Zellen) auf Chip Fertigungsvorbereitung wie Vollkundenentwurf Fertigung Nutzung
Standardzellen Vorentwickelte Teilschaltung mit spezieller Geometrie Automatische Platzierung und Verdrahtung der Zellen. Standardisierte Grundstruktur: GND VDD VDD feste Höhe oder feste Höhe GND GND Anschlüsse Anschlüsse
Hintergrundstruktur . . . . . . . . . E/A-Padzellen Verdrahtungskanäle GND VDD . . . E/A-Padzellen Verdrahtungskanäle (Höhe flexibel) Verdrahtung der Versorgungsspannungen . . . Plazierung von Standardzellen . . . GND VDD
Anordnung von Zellen Anschlüsse an einer Seite („back to back“) Anschlüsse an zwei Seiten ("dual entry")
Lokale Optimierung gemeinsame Nutzung von Versorgungsleitungen Verwendung von Doppelzellen komplexe Standardzellen flächeneffizienter als Zusammensetzung aus Einzelzellen GND Zelle 1 Doppel- VDD Zelle 2 zelle GND
Verdrahtung der Zellen Verdrahtung im Kanal Verdrahtung über Zellen zusätzliche Verdrahtungsebene „poröse“ Zellen Durchführungen („feedthroughs“) Standard- zellenreihe Verdraht- ungskanal Höhe variabel Standard- zellenreihe
Umsetzung einer Schaltung Gatterschaltung & C1 1D clk x Standardzellen-Layout NAND2 DFF clk x
Zellbibliothek einfache Gatter (NAND, UND, NOR, ODER, AOI, OAI) Treiber (invertierend, nicht invertierend, versch. Stärken) arithmetische Elemente (Halb-, Volladdierer, Komparatoren) Multiplexer (mit/ohne Enable), Decoder Latches Flipflops (D-, RS-, JK-, T-FF, mit/ohne PRESET/CLEAR) Schieberegister, Zähler E/A-Zellen (CMOS-/TTL-kompatibel, Tristate)
Zellbeschreibung Schaltzeichen, Funktionstabelle (logisches Verhalten ) Abmessungen, äquivalente Gatter Anschlüsse, Anschlußbezeichnungen Zeitverhalten, Zeitdiagramme ( temporales Verhalten ) Lastfaktoren / Eingangskapazitäten ( elektrisches Verhalten ) schematische Schaltungsbeschreibung (Gatter-/Transistorebene) Simulationsmodelle (z. B. für Logik- oder Schaltkreissimulation, Laufzeit-Analyse, Fehlersimulation)
Zellabmessungen
Makros Probleme bei Standardzellen : Lösung durch Makrozellen : begrenzter Funktionsumfang (feste Höhe) Standardisierung (Treiberstärken) aufwendige Verdrahtung (Zelle Kanal Zelle) Lösung durch Makrozellen : rechteckiger Grundriß beliebiger Breite und Höhe Realisierung von RAMs, ROMs, PLAs, Mikroprozessor-Kernen, ALUs, aus Standardzellen aufgebauten vordefinierten Schal tungsteilen, Analogteile, ... hierarchische Zusammenfassung möglich
Probleme bei Makrozellen Unterbrechung der regelmäßigen Spannungsversorgungsstruktur bei Standardzellen
Probleme bei Makrozellen
Makrozellen-Layout
Entwurf von Makrozellen manuell voll optimiert (Analogteile, Datenpfadelemente) regelmäßiges Layout (Datenpfade) automatisiert Modulgeneratoren (RAM, ROM, PLA, Weinberger Array, ...) Aufbau aus Standardzellen und anderen Makrozellen
Optimierung von Makrozellen
Bit-Slice-Makros
Standarzellen- / Makro-Entwurf
6.2.2 Gate-Array / Sea-of-Gate Entwurf Verdrahtung vorgegebener Felder von Transistoren Fertigungsvorbereitung Individuell werden nur Verdrahtungsmasken erstellt Fertigung Vorratsfertigung der Transistorfelder, individuelle Verdrahtung Nutzung Ohne Verdrahtung allgemein nutzbar, mit Verdrahtung wie Standardzellen-ICs
Gate-Array Verdrahtungskanäle aktive Zellen
Gate-Array-Zelle Polysilizium p-Diffusion Vdd (+5V) Vss (Gnd) n-Diffusion
Gate-Array-Zelle Polysilizium p-Diffusion p-Transitoren Vdd (+5V) n-Diffusion Polysilizium Vdd (+5V) Vss (Gnd) p-Transitoren n-Transitoren
Personalisierung Polysilizium p-Diffusion Vdd (+5V) Vss (Gnd) n-Diffusion Polysilizium Vdd (+5V) Vss (Gnd)
Personalisierung Vdd Vss E1 A1 Inverter Vdd Vss E1 E3 E2 E4 A3 A2 A1
Personalisierung Vdd Vss E1 E3 E2 E4 A3 A2 A1 Vdd Vss E2 A2 NOR2 E3
Personalisierung Vdd Vss E1 E3 E2 E4 A3 A2 A1 Vdd Vss Doppel-Inverter
Gate-Array-Grundstrukturen
Sea-of-Gates Keine speziellen Verdrahtungskanäle, Transistorfeld gleichmäßig über ganzen Chip Verdrahtung über ungenutzten Transistoren
Charakteristika von Sea-of-Gates Verdrahtung über Transistoren nur mit zus. Metallebene Flexible Aufteilung zwischen Transistor- und Verdrahtungsfläche Möglichkeit der Integration von Speicherstrukturen Beispiel:
Komplexitätsangaben Auswahlkriterien: Angabe äquivalenter Gatter ( • 4 Transistoranzahl) Da Transistoren im Gegensatz zu Standardzellen äquidistant, hier guter Schätzwert für Schaltungsfläche. ABER: Je nach Verdrahtung können evtl. nur 70-95% eines Gate Arrays ausgenutzt werden, bei Sea of Gates nur 25-70%. Auswahlkriterien: Anzahl Gatter Anzahl Ein-/Ausgabe-Pads max. Taktfrequenz
Gate-Array-Generationen
Gate-Array Standardzellen
Fertigung von Gate-Arrays
6.3 Speicher Speicherbausteine ROM (nur lesen) RAM (schreiben & lesen) masken- programmierbar (Hersteller) elektrisch programmierbar (Anwender) SRAM DRAM FPM ... Rambus PROM (nicht löschbar) EPROM (mit UV-Licht löschbar) EEPROM (elektrisch löschbar) FLASH
Maskenprogrammiertes ROM ziehen die Ausg. auf "1" Hersteller fertigt kundenspezifische Maske für den Fertigungsprozess ziehen die Ausg. auf "0" Inhalt der Speichermatrix: 0110 1001 0101 1100
PROM elektrisch programmierbar Programmiergerät überträgt kundenspezifische Daten (z.B. Funktionstabelle) in den Chip. PROM (nicht löschbar) Sicherungen werden durchgebrannt.
EPROM EPROM (löschbar) wird mit hoher Spannung programmiert und als ganzes mit UV- Licht gelöscht
EEPROM EEPROM (löschbar) wird elektrisch programmiert und elektrisch gelöscht bitweise Löschung hoher Platzbedarf
Flash-Speicher FLASH Weiterentwicklung des EPROM blockweise löschbar Speicherdichte höher als bei EEPROM schneller lesbar als EPROM 2 Bit pro Zelle speicherbar Typen: NOR, NAND, AND, DINOR (Divided bit-line NOR) Schreiben Löschen
SRAM Statisches RAM Speicherung mit Flipflops großer Platzbedarf kein Wiederauffrischen nötig schneller Speicherzugriff
DRAM dynamisches RAM Speicherung in Kondensatoren kleiner Platzbedarf häufiges Wiederauffrischen (Refresh) nötig
Speichermatrix Zeilen- D auswahl E n n C • • • O D quadratische n E 1 O D quadratische n 2 E Speichermatrix (k x k) R MULTIPLEXER Spalten- auswahl m
Zugriffszeiten Refresh : Zugriffszeiten : erfolgt zeilenweise (lesen und neu schreiben) Zykluszeit: mehrere Millisekunden Zugriffszeiten : statisches CMOS RAM 25ns - 100ns dynamisches RAM 60ns - 120ns EPROMS 170ns - 300ns Flash-Speicher 45ns - 120 ns
Dynamische Speicher DRAM FPM-DRAM SDRAM R-DRAM EDO-DRAM DDR-DRAM Concurrent Rambus BEDO-DRAM SLDRAM Direct Rambus
Entwicklung
DRAM Ablauf des Zugriffs auf Daten: Latenzzeit: 80 - 150 ns Zeilenadresse anlegen (RAS) Spaltenadresse anlegen (CAS) Warten Daten am Ausgang auslesen Latenzzeit: 80 - 150 ns 4-Bit-Burst: 5-5-5-5 (bei 66 MHz Systemtakt)
FPM-DRAM Fast Page Mode Zeilenadresse wird zur Seitenadresse mehrere Spalten einer Seite werden nacheinander gelesen Latenzzeit: 60 - 80 ns (auf einer Seite: 35 ns) 4-Bit-Burst: 5-3-3-3
EDO-DRAM Extended Data Out gegenüber FPM-DRAM geändertes Zeitverhalten überlappende Speicherzugriffe auf eine Seite Register am Ausgang erforderlich (Daten bereitstellen und nächste Daten speichern) Latenzzeit: 60 - 80 ns (auf einer Seite: 25 ns) 4-Bit-Burst: 5-2-2-2
BEDO-RAM Burst Extended Data Out Latenzzeit: 60 - 80 ns modifiziertes EDO-DRAM Pipelinetechnologie zusätzliche Speicherregister am Ausgang nur BURST-Zugriffe möglich Latenzzeit: 60 - 80 ns 4-Bit-Burst: 5-1-1-1 (funktioniert nur bis 66 MHz Systemtakt => nicht durchgesetzt)
SDRAM Synchronous DRAM Taktraten: 66 MHz - 250 MHz neu: Speicherzugriff synchron zum Systemtakt 2 Speicherbänke, die wechselweise angesprochen werden (2 Seiten gleichzeitig!) vier Taktsignale (statt zwei) EEPROM mit 2k Bit enthält exaktes Zeitverhalten eines DIMM-Moduls Taktraten: 66 MHz - 250 MHz Burst: 5-1-1-1-1-... (kontinuierliches Auslesen ist möglich)
DDR / SDRAM II Double Data Rate Taktrate: bis 300 MHz wie SDRAM, jedoch höhere Geschwindigkeit erweiterte Synchronisation für Daten verschiedener Speichermodule Daten bei steigender und fallender Taktflanke Technologie: TTL -> SSTL3 Taktrate: bis 300 MHz
SLDRAM SyncLink DRAM Taktrate: 400 - 800 MHz statt funktionsbezogener Pins ein Kommando-Bus Addressierungskommandos werden zusammengefasst Pipelinetechnologie optimiertes Zeitverhalten mehrere überlappende Speicherbänke (4 - 16) Taktrate: 400 - 800 MHz
RDRAM RAMBUS Taktraten: 600 MHz bereits im Einsatz Systemweites Chip-zu-Chip Interface hohe Datenraten über einfachen Bus System aus Speicher, ASIC, Verbindungskomponenten (Rambus-Channel 8 bit) sehr niedrige Signalpegel Daten zu beiden Taktflanken Taktraten: 600 MHz bereits im Einsatz
Rambus-Weiterentwicklungen Concurrent Rambus modifiziertes Protokoll gleichzeitige Abarbeitung von blockorientierten Transfers Taktrate: bis 800 MHz Direct Rambus nochmals verbessertes Protokoll 16 Bit Rambus-Channel Taktrate: 800 MHz
Speichertakt
6.4 Programmierbare logische Felder
Struktur logischer Felder
Bezeichnungsweise "PLDxxyyzz" Beispiele: PAL 22L10, GAL16V8 PLD: Bausteintyp, z.B. PAL, GAL,… xx: Gesamtzahl der Eingänge (auch durch Umkonfigurieren von Ausgängen) zz: Anzahl der Ausgänge yy: Ausgangskonfiguration (Bedeutung siehe folgende Tabelle) Beispiele: PAL 22L10, GAL16V8
Bezeichnungsweise Kodierung der Ausgangskonfiguration yy
Ausgangsbeschaltungen
GAL 16V8
6.5 FPGA
FPGA-Technologien Stand 1997
6.5.1 LCA-Architektur (Xilinx) Logic Cell Array (LCA)
Konfigurierbarer Logikblock 16x1 SRAM: Speicher oder Funktionstabellen 2 Speicherelemente konfigurierbar als Flip-Flop oder Latch Multiplexer zur Konfiguration der Funktion
Ein-/Ausgabe Block Ausgabe: - invertiert, nicht invertiert - direkt, gepuffert Eingabe: - direkt und gepuffert - Rückkopplung der Ausgabe
Verbindungsmatrix Vorgegebene Leitungen laufen zwischen den CLB. E/A-Leitungen der CLB kreuzen diese Leitungen. Verbindungen zwischen Leitungen werden durch SRAM-Zellen hergestellt Zur Konfiguration eines Xilinx-FPGA muss der Inhalt der SRAM-Zellen geladen sein. Für Stand-Alone-Betrieb ist ein Eprom mit den Konfigurationsdaten erforderlich
Beispielfunktion
FPGA-Layout CLB CLB CLB CLB
Die Xilinx 4000 Familie ML: Anzahl Metalllagen
6.5.2 MLL-Architektur (Actel)
Beispielpersonalisierung
Anordnung der Module
Kombinatorisches Modul
Sequentielles Modul
Actel Antifuse FPGAs ML: Anzahl Metalllagen
Antifuse-Technologie im Grundzustand nicht verbunden 10-50 mal kleiner als SRAM-Zelle 10 mal kleiner als EEPROM-Zelle nur wenige Zellen müssen programmiert werden (2%-3%) Test nach Programmierung notwendig
6.6 Auswahlkriterien Aspekte, die bei der Wahl von Zieltechnolgien und Systempartitionierung berücksichtigt werden müssen: Entwurfs- und Fertigungszeiten Kosten (Stückzahl) Fertigungsaufwand Chipkomplexität (Gatter, I/O) Taktraten Zuverlässigkeit …
Entwurfs- und Fertigungszeiten Alle Angaben in Monaten
Stückzahlen und Kosten