View
226
Download
5
Category
Preview:
Citation preview
© A. Steininger / TU Wien 1
Zieltechnologien
Welcher ASIC-Typ passt zu meinem Design?
© A. Steininger / TU Wien 2
• Terminologie
• ASIC-Typen und ihre Charakteristika
• Programmable Logic Devices: Prinzipien
• Programmierbare Logikzellen
• Programmierbare I/O-Zellen
• Programmierbarer Interconnect
Überblick
© A. Steininger / TU Wien 3
Was ist ein ASIC ?
Application Specific Integrated Circuit
Beispiele: PC-Chipset, Spielzeug, Satellit
Gegenbeispiele: Pentium, DRAM, 74xxx
„Standard-ICs“90% der Umsätze
10% der Umsätze
A© A. Steininger / TU Wien 4
Aufbau eines Die (Wiederholung)
• Zellen:die Transistoren / Zellen benötigen 5...10 Layers(Diffusionsprozesse auf dem Silizium)
• Interconnect:für die Verbindungen stehen weitere 5...10 Layerszur Verfügung (Metallisierung)
für jeden Layer gibt es eine „Maske“
© A. Steininger / TU Wien 5
Full-Custom ASIC• alle Masken (Zellen + Interconn.)
sind anwenderspezifisch+ beliebig optimierbar
(Fläche, Leistungsaufnahme, Geschwindigkeit)– besonders hoher Aufwand
(Design, Test, Fertigung)– keine Garantie bei der Fertigung
Anwendung nur in Sonderfällen
© A. Steininger / TU Wien 6
“Mixed-Signal Design”Analoge und digitale Funktionen auf einem IC
– extrem kompakte HW (z.B. Handy)– Signal Integrity-Probleme machen Design extrem
schwierig– Zusätzliche Technologieschritte für analoge
Bauelemente erschweren Fertigung
Anwendungsbsp. Full-Custom
© A. Steininger / TU Wien 7
Standard-Cell ASIC (CBIC)• Zellen in „Library“ vordefiniert• Anordnung & Interconnect anw.-spezif.• Cores („Mega-Cells“) im Raster einfügbar
z.B. RAM, ROM, IP-Core
+ Entwicklung viel effizienter (Zellen fertig entwickelt , optimiert & getestet)
– in der Fertigung immer noch hoher Aufwand + Wartezeit (alle Masken anwenderspezifisch)
© A. Steininger / TU Wien 8
Standard-Cell ASIC
Fig. 1.2•
Mega-cells
Standard-cell area
© A. Steininger / TU Wien 9
Standard-Cell – ein Beispiel
Fig. 1.3
„Standard-Cells passen zusammen wie Ziegel in einer Wand“
© A. Steininger / TU Wien 10
Zellen-Library
• hunderte von FunktionenAND, OR, FFs mit verschiedenen Optionen, ...
• fertig spezifiziert aus Datenbuch wählbarFunktion, Layout, Timing, Simulationsmodell...
• für – Standard-Cells– Gate-Array-Macros und auch– FPGAs (Hard & Soft Macros)
• erstellt - meist vom ASIC-Hersteller- oder von einem Library-Vendor
© A. Steininger / TU Wien 11
Standard-Cell ASIC – Beispiel
© A. Steininger / TU Wien 12
Was ist ein IP-Core?
• Eine fertig entwickelte und spezifizierte komplexe Funktionseinheit, die als Macro in das Design eingebunden werden kann (z.B. UART, Mircocontroller; vgl. IC auf einer Platine)
• Kann beim Designer des IP-Core (IP = IntellectualProperty) gekauft werden– Hard Macro: fertig geroutete „Black Box“– Soft Macro: nur Netzliste, technologieunabh.
• Spart Entwicklungsaufwand, erhöht Produktivität• System on a Chip: 2002 ca. 50% IP-Cores
Prognose 2005 ca. 80%
© A. Steininger / TU Wien 13
IP-Cores & System on a chip
• alle für die Anwendung benötigten Funktionen werden auf einem Chip (Die) untergebracht
diese Funktionen sind oft als IP-Cores realisiert
ADC
DSPUSB
DAC
RAM
ROM
I2C
CPU
Flash
ADC DAC
DSP CPU
ROM FlashRAM
I2C USB
74xx
74xx
glue
© A. Steininger / TU Wien 14
Gate-Arrays (MGAs)• „Basiszellen“ (definierte Anordnung von
Transistoren) in regelmäßiger Anordnung• nur Verbindungen anwenderspezifisch• Zellen werden als Macros realisiert
+ effiziente Entwicklung (weiterhin Cell-Library)+ vorgefertigte Wafer können auf Lager gelegt werden,
nur Interconnect-Masken sind anwendungsspezifisch=> schneller und billiger
– Basiszellen fixer Größe => weniger optimierbar
© A. Steininger / TU Wien 15
Channelled Gate-Array• Anschlüsse der
Transistoren („contactlayer“) fix vorgegeben.
• Zwischen den Basis-zellen „Kanäle“ fixer Höhe freigehalten.
• Diese Kanäle stehen für Interconnect zur Verfügung.
Fig. 1.5•
© A. Steininger / TU Wien 16
Channelless Gate-Array• Anschlüsse der Tran-
sistoren (contact layer) nicht vorge-geben.
• Zwischen den Basis-zellen sind keineKanäle freigehalten.
• Interconnect über unbenützte Transis-toren geroutet.
Fig. 1.6
auch „Sea of Gates“
© A. Steininger / TU Wien 17
Structured Gate-Arrayauch „embedded GA“Teil der Chip-Fläche für• spezielle Funktion
(RAM, ROM) oder• anderen Typ von
Basiszellereserviert
meist verschiedene Varianten auf Lager
• Fig. 1.7Special funct.
© A. Steininger / TU Wien 18
Structured GA vs. Std.-Cell• Standardzellen sind weiter optimierbar als
die Makros beim GA.• Cores sind beim Standard-Cell-ASIC frei
wählbar, beim Structured GA (in Funktion und Größe) fix vorgegeben (Wafer sind ja vorgefertigt).
• Herstellung von Structured GA ist wesentlich schneller und billiger (Wafer vorgefertigt).
© A. Steininger / TU Wien 19
• alle Layer (Interconnect und Zellen) fix vorgegeben => Herstellung abgeschlossen
• vorgegebene Matrix aus „Makrozellen“• Interconnect programmierbar
+ billig, extrem kurze Entwicklungszeit+ Einfach änderbar (manchmal sogar on-line)– Komplexität und Optimierbarkeit sehr beschränkt
Beispiele: ROM, PLA, PAL, CPLD, FPGA
Programmable Logic Device
© A. Steininger / TU Wien 20
Read Only Memory ROM
Logik (= Verbindungsmatrix) wandelt Adresse (= Eingang) in Daten (= Ausgang) um, Wahrheitstabelle programmierbar
• Programmierung:– elektrisch / löschbar: EPROM– elektrisch / permanent: PROM, OTP– mit Maske, als Core: mask-progr. ROM
• Löschen (nur für EPROM möglich):– mit UV-Licht: UV-EPROM– elektrisch: EEPROM (electr. erasable PROM)
© A. Steininger / TU Wien 21
Programmable Array Logickombinatorische Logik als Array aus AND-Gattern und OR-Gattern (logic array)dahinter Speicherelement (Latch, FF)
• PAL: nur das AND-Array istprogrammierbar
• PLA: AND und OR-Array sindprogrammierbar (meist als Core)
© A. Steininger / TU Wien 22
Field Programmable Gate-Array
Fig. 1.9
programm. Makrozelle
programm. Interconnect
programm. I/O-Zelle
© A. Steininger / TU Wien 23
ASIC-Technologien – Überblick
Gate-Array(MGA)
Full CustomStandard Cell (CBIC)
channelledchannellessstructured
PLDROMPAL, PLACPLD, FPGA
celldesign
cellplacemt
cellconnect
user
fixed / macros
fixed
libraryuseruser
fixed
fixed
useruser
user
fixed / progr.
Sem
i-cu
stom
© A. Steininger / TU Wien 24
ASICs: Break-Even Analyse
Fig. 1.11
© A. Steininger / TU Wien 25
Modell für den Gewinn
Annahmen: Zeitpunkt max. Kaufinteresses sowie Ende desKaufinteresses unabh. von Einführung (Konkurrenz) Anstieg der Verkaufszahlen begrenzt (Produktionssteigerung)
10M
20M
Verkaufszahlen
t
Ende Kaufinteresse
Verzögerung bei Markteinführung
entgangener Gewinnmax. Kaufinteresse
A© A. Steininger / TU Wien 26
ASIC-Technologien – Überblick
Gate-Array(MGA)
Full CustomStandard Cell (CBIC)
channelledchannellessstructured
PLDROMPAL, PLACPLD, FPGA
celldesign
cellplacemt
cellconnect
user
fixed / macros
fixed
libraryuseruser
fixed
fixed
useruser
user
fixed / progr.
Sem
i-cu
stom
A
© A. Steininger / TU Wien 27
FPGA:Was ist programmierbar?
• Makrozellen Position fix (Array)innere Struktur fixFunktion prog.-bar
• I/O-Zellen Position fix (Rand)innere Struktur fixFunktion prog.-bar
• Verbindungen Möglichkeiten fixAuswahl prog.-bar
© A. Steininger / TU Wien 28
Wie wird programmiert?Die Konfiguration lässt sich vollständig durch
schaltbare Verbindungenrealisieren.
Varianten:– Verbindungen (permanent) „brennen“
Antifuse– Transistor-Schalter ansteuern
SRAM, EPROM
© A. Steininger / TU Wien 29
Antifuse-Konfiguration• Programmierung in eigenem Programmer• Programmierstrom führt zu thermischer
Zerstörung einer Isolationsschicht => Kontakt• Irreversibel / OTP (one time programmable)• Non-volatile & Radiation hard• Mögliche Alterungsprobleme
durch Elektromigration• „Kontaktwiderstand“ ist
kritischer Parameter• Beispiel: Actel ACT
Al, Cu
SiO2Wolfram
Si
A© A. Steininger / TU Wien 30
SRAM-Konfiguration• Speicher-Bitzelle steuert FET bzw. TG auf/zu• In-System-Programmierung (ISP) möglich
(vom PC aus oder aus PROM)• Reconfigurable Hardware (= im Betrieb!)• Reversibel / löschbar• Volatile / Neuprogrammierung nach Abschalten• störanfällig, nicht Radiation hard• SRAM hat viel höheren Platzbedarf als Antifuse• Beispiele: Xilinx, Atmel, Altera FLEX
© A. Steininger / TU Wien 31
EPROM-Konfiguration• EPROM-Bitzelle steuert FET bzw. TG auf/zu
• Programmierung & Löschen wie EPROM
• EEPROM: Elektrisch löschbar, In-System-Programmierung (ISP) möglich
• Non-volatile, aber löschbar (außer OTP-Typen)
• störanfällig, nicht Radiation hard
• EPROM hat ähnlichen Platzbedarf wie Antifuse
• Beispiele: Xilinx EPLD, Altera EPLD
© A. Steininger / TU Wien 32
FPGA:Was ist programmierbar?
• Makrozellen Position fix (Array)innere Struktur fixFunktion prog.-bar
• I/O-Zellen Position fix (Rand)innere Struktur fixFunktion prog.-bar
• Verbindungen Möglichkeiten fixAuswahl prog.-bar
A
© A. Steininger / TU Wien 33
Angewandte Prinzipien:• Mux-basierte Logikzellen
– Beispiel: Actel ACT
• Look-up Table-basierte Logikzellen– Beispiele: Xilinx LCA, Altera FLEX
• PAL-basierte Logikzellen– Beispiel: Altera MAX
Programmierbare Logikzellen
A© A. Steininger / TU Wien 34
Mux-basierte Logik: Prinzip
Shannon‘s Erweiterungstheorem:
)]0([)]1([ =∧¬∨=∧= AFAAFAF
A
F(A=0)F(A=1)
F
© A. Steininger / TU Wien 35
Mux-basierte Logik: Beispiel
DCBBAF ∨∧¬∨∧= )()(
)]([)]([ DCBDABF ∨∧¬∨∨∧=
)()1( DAAFB ∧¬∨∧=
)()1( DCCFB ∧¬∨∧=
A A1 D
B B
C C D1
A© A. Steininger / TU Wien 36
MUX: Realisierbare Funktionen
Realisierbar sind alle Funktionen mit 2 Variablen, manche in 3 Variablen
01
0 G 01
© A. Steininger / TU Wien 37
ACT1: Realisierbare Funktionen
alle Funktionen mit 2 Variablen, Latch (=1/2 FF), fast alle mit 3 Variablen und viele mit 4 Variablen
© A. Steininger / TU Wien 38
ACT2: Verbesserungen
Nachteil weiterhin: Timing nicht deterministisch !
C-Modul mit mehr Eingängen
S-Modul mit zusätzlichem Sequential Element „SE“ = D-FF
© A. Steininger / TU Wien 39
Angewandte Prinzipien:Mux-basierte Logikzellen– Beispiel: Actel ACT
• Look-up Table-basierte Logikzellen– Beispiele: Xilinx LCA, Altera FLEX
• PAL-basierte Logikzellen– Beispiel: Altera MAX
Programmierbare Logikzellen
© A. Steininger / TU Wien 40
Look-up Table (LUT)• Kombinatorische Verknüpfung von n Variablen
ist mittels Wahrheitstabelle eindeutig darstellbar• Es gibt 2n Eingangskombinationen• Realisierung der Wahrheitstabelle als Speicher
mit 2n x 1Bit• Eingangsvariable werden als Adressen angelegt,
Speicherinhalt bestimmt Verknüpfungsfunktion• LUT auch als RAM verwendbar (teuer!)• konstantes Timing für alle Funktionen• Beispiele: Xilinx 3000,4000,5200, Altera Flex
© A. Steininger / TU Wien 41
XC4000 LB: Eigenschaften• Kaskadierte LUTs:
– eine 3-input LUT (RAM 8 x 1) wird von– zwei 4-input LUTs (RAM 16 x 1) angesteuert
• LUTs der 1. Stufe als 32 bit RAM verwendbar
• Hardwired Carry-Logic• Zwei D-FFs, flexibel konfigurierbar
© A. Steininger / TU Wien 42
XC4000 LB: Aufbau
A
© A. Steininger / TU Wien 43
Angewandte Prinzipien:Mux-basierte Logikzellen– Beispiel: Actel ACT
Look-up Table-basierte Logikzellen – Beispiele: Xilinx LCA, Altera FLEX
• PAL-basierte Logikzellen– Beispiel: Altera MAX
Programmierbare Logikzellen
© A. Steininger / TU Wien 44
Prinzip des „Wired AND“
...A B K
VDD
GND
Y=A∧B∧...∧K
Will IC A 1 ausgeben, so ist sein N-FET offen.
© A. Steininger / TU Wien 45
PAL-Struktur
Unprogrammiert (Verbindung)
Programmiert (Unterbrechung)
A© A. Steininger / TU Wien 46
Standard-PLD
© A. Steininger / TU Wien 47
Erweiterte FähigkeitenErgeben sich in kanonischer Form mehr Produkt-terme als zur Verfügung stehen (Eing. des OR):
• Durch Umformung lassen sich oft einzelne Produktterme herauslösen, die mittels Logic Expander vorverarbeitet werden (zusätzliche Durchlaufzeit!).
• Benötigt die inverse Funktion weniger Produktterme, so wird diese realisiert und mit einem programmierbaren Inverter (XOR) am Ausgang wieder richtiggestellt.
© A. Steininger / TU Wien 48
Logic Expander: Prinzip
ist äquivalent und benötigt nur OR2, sofern Aus-drücke in runder Klammer „vorverarbeitet“ sind.Vorverarbeitung ist mit einem einzelnen Produktterm möglich
)()()()( CBBADCBDCAF ¬∧∨∧∨∧∧¬∨∧∧¬=
)]([])([)]([])[(
CABDCBACABDCBAF
∧¬¬∧∨∧∧∧¬=¬∨∧∨∧∧¬∨¬=
hat 4 Produktterme => benötigt OR4
© A. Steininger / TU Wien 49
Realisierung im Standard-PLD
A© A. Steininger / TU Wien 50
Programmierbare Inversion
4 Produktterme 3 Produktterme
)()()()( DCADACABAF ∧∧¬∨¬∧∨¬∧∨¬∧=
)()()( CADADCBAF ¬∧¬∨¬∧¬∨∧∧∧=
© A. Steininger / TU Wien 51
Altera MAX: Features
• AND-Matrix (sehr breit; >100):– Dedicated Inputs– Inputs vom global Interconnect– Shared Logic Expanders (16...64)
• OR-Matrix (schmal; 3...5)– Programmable Inversion– Parallel Expander zur Nachbarzelle
• Ausgang– Flexible Registerbeschaltung mit Bypass– Feedback in den global Interconnect
© A. Steininger / TU Wien 52
Altera MAX-Architektur
© A. Steininger / TU Wien 53
Altera MAX Makrozelle
A© A. Steininger / TU Wien 54
Parallel vs. Logic Expander
Logic Expander:
Rückführung umfasst nur das AND-Array
Parallel Expander:(OR3 #1)
(OR3 #2)Rückführung umfasst auch das OR-Array
)()()()( CBBADCBDCAF ¬∧∨∧∨∧∧¬∨∧∧¬=
)]([])([ CABDCBAF ∧¬¬∧∨∧∧∧¬=
)()()(1 BADCBDCAF ∧∨∧∧∨∧∧=
)(1 CBFF ∧∨=
© A. Steininger / TU Wien 55
Das Turbo-Bit
• Vorteil CMOS: Leistungsaufnahme nur dynamisch (= beim Schalten), kaum statische Leistung
• Der Pull-Up im AND-Array bewirkt jedoch erheblichen statischen Leistungsverbrauch:
0.6 mA x 560 Lines = 336 mA; d.h. 1.68 W bei 5V=> Wunsch nach großem Pull-up
• Steile Flanken nur mit kleinem Pull-up (RC)• Turbo-Bit in jeder Makrozelle erlaubt Wahl:
– High Speed (tpd ca. 4 ns, IR ca. 0.6 mA) oder– Low-Power (tpd ca. 20 ns, IR ca. 0.3 mA)
© A. Steininger / TU Wien 56
FPGA:Was ist programmierbar?
Makrozellen Position fix (Array)innere Struktur fixFunktion prog.-bar
• I/O-Zellen Position fix (Rand)innere Struktur fixFunktion prog.-bar
Verbindungen Möglichkeiten fixAuswahl prog.-bar
© A. Steininger / TU Wien 57
Xilinx-IOB: Features• Eingang
– TTL oder CMOS-Schwellen– direkt oder über eigenes Input-FF / Latch– Verzögerung zuschaltbar
• Ausgang– komplementärer Treiber oder Totem-Pole– passiver Pull-up und Pull-down (50kΩ)– Tri-State-Enable mit wählbarer Polarität– Ausgang direkt oder über FF / Latch– wählbare Flankensteilheit (fast/slow slew rate)
© A. Steininger / TU Wien 58
Xilinx-IOB: Schaltung
A
© A. Steininger / TU Wien 59
Xilinx-IOB: Schaltung
A© A. Steininger / TU Wien 60
Altera MAX 5000/7000-IOB
alle Eingänge gehen in den Chip-weiten Interconnect
© A. Steininger / TU Wien 61
FPGA:Was ist programmierbar?
Makrozellen Position fix (Array)innere Struktur fixFunktion prog.-bar
I/O-Zellen Position fix (Rand)innere Struktur fixFunktion prog.-bar
• Verbindungen Möglichkeiten fixAuswahl prog.-bar
© A. Steininger / TU Wien 62
Interconnect-Optimierung
maximale Flexibilitätbeliebige Verbindungen zwischen Blöckenviele Verbindungen und Anschlüsse
maximale Geschwindigkeitminimale Kapazitäten der Verbindungen & Anschlüsse
wenige Verbindungen und Anschlüsse
© A. Steininger / TU Wien 63
Interconnect beim Actel ACT• Horizontale „wiring channels“ laufen zwi-
schen den (dichten) Reihen von Logikzellen
• „Input stubs“ reichen vertikal in die je-weilsbenachbarten wiring channels und erlauben die Kontaktierung der 8 Eingänge.
• „Output stubs“ reichen vertikal über die jeweils benachbarten zwei wiring channelsund erlauben Kontaktierung des Ausgangs.
© A. Steininger / TU Wien 64
ACT Interconnect-Architektur
© A. Steininger / TU Wien 65
Routing Resources beim ACT1
• Pro horizontalem Kanal 25 „Tracks“ (Leitungen).– 3 für VDD, GND, Clk– 22 für Eingänge, Ausgänge, Routing
Die Tracks sind in Segmente variabler Länge unterteilt. Verbindung von Segmenten ist mittels Antifuse möglich
• Pro vertikaler Spalte (Breite d. Logikzelle) schnei-detjeder horizontale Track 13 „vertical Tracks“:– 4 Inputs d. Zelle darüber, 4 d. Zelle darunter– 2 Outputs d. beiden Zellen darüber, 2 v. unten– 1 long vertical track (LVT)
© A. Steininger / TU Wien 66
ACT1 Routing Ressources
© A. Steininger / TU Wien 67
Antifuses f. den InterconnectBeispiel Actel A1010 (8 x 44 Logikzellen):
22 horizontal Tracks (programmierbare)x 13 vertical Tracks
= 286 Verbindungspunkte je Logikzelle8 Zeilen x 44 Spalten = 352 Logikzellen286 x 352 = 100672 (mögliche) Antifuses
hinzu kommen Antifuses für I/O-Zellen (ACT Logikzellen haben keine Antifuses)Gesamtzahl: 112000 Antifuses
© A. Steininger / TU Wien 68
ACT Interconnect-Architektur
A
© A. Steininger / TU Wien 69
RC im Interconnect
Für jeden Knoten (Vi = V1...V4) im Netz wird eine andere Zeitkonstante wirksam („Elmore Delay“)
Delay wächst quadratisch mit Anzahl d. Antifuses!
0Vt=0 t
1V
V0V1
V2
V3
V4
i1
i2
i3 i4
C1
C2
C3 C4
R1
R2
R3
R4V0 V1
V2
V3 V4
t=0
© A. Steininger / TU Wien 70
Berechnung des Delay
• Widerstand: Antifuse: R ≈ 0.5kΩ Leitung: 50mΩ/sqare => vernachlässigbar
• Kapazität: Antifuse: ca. 10fF Leitung: 0.2pF/cm (= 20fF/mm)
• Delay: C0 = 1.2pF (output stub: 4 x 25 AFs + 10mm Leitung)C1 = C3 = 0.58pF (horiz. Track: 13 x 4 AFs + 3mm Ltg)C2 = 2.8pf (LVT: 8 x 25 AFs + 40mm Metall)C4 = 0.02pF (Eingangskapazität Logikzelle)
tD4 = 4RC4+3RC3+2RC2+RC1 = (0.04+0.87+2.8+0.29)ns = 4.0ns
AElmore-Delay
© A. Steininger / TU Wien 71
Folgerungen für ACT
• Nicht nur Logik, auch Interconnect verursacht Signalverzögerungen
• Verzögerungen werden minimiert durch– geringen Widerstand der Antifuses– geringe Kapazität der Antifuses– kurze Leitungen– wenige Antifuses in Serie (quadrat. Abh.!)– wenige Antifuses parallel auf einem Leitungsstück
(Flexibilität?)
© A. Steininger / TU Wien 72
Trends beim Delay
Mit Verkleinerung der Feature-Size sinkt der Gate Delay rascher als der Interconnect Delay
Bei den heute üblichen Technologien überwiegt der Interconnect Delay klar. Eine realistische Vorher-sage des Timings ist daher erst nach dem Routingmöglich, Optimierungen vor dem Routing werden immer schwieriger.
λ [µm]1.0 0.5 0.25
1.0delay [ns]
interconnectgate
0.1
© A. Steininger / TU Wien 73
Verbesserungen bei ACT2 & 3
• Mehr Routing-Resourcen=> höherer Anteil Verbindungen mit 2 Antifuses
• Weniger Antifuses/Kanal=> geringere Kapazität
• Verringerter Widerstand d. Antifusesca. 200Ω statt 500Ω
• „Fast Fuse“erlaubt direkte Ankopplung des Ausgangs an LVT
=> nur mehr max. 3 AFs in Serie)
• Höherer Programmierstrom für Fast-Fuse=> geringerer Widerstand
© A. Steininger / TU Wien 74
Zusammenfassung (1)• Der Full-Custom-ASIC bietet maximale Flexibili-tät
für Optimierungen, wird jedoch aus Aufwands-gründen nur für Spezialanwendungen eingesetzt (Massenprodukte, Mixed Signal-Designs).
• Der Standardzellen IC (CBIC) geht von einer Library aus vorgefertigten und getesteten Logikzellen aus. Dies vereinfacht das Design, bei der sind dennoch alle Layer kundenspezifisch.
• Beim Gate Array sind Basisfunktionen vorgegeben, durch kundenspezifische Metallisierungslayer kann schließlich die jeweils benötigte Funktion im-plementiert werden. Man unterscheidet zwischen channelled, chanelless und structured GAs.
© A. Steininger / TU Wien 75
Zusammenfassung (2)• Die Time to market ist ein entscheidendes
Erfolgskriterium für ein Design. Deshalb sind programmierbare Logikbausteine nicht nur für kleinere Stückzahlen vorteilhaft.
• Bei den programmierbaren Logikbausteinen (Pro-grammable Logic Devices, PLDs) unterscheidet man zwischen ROM, PAL/PLA und FPGA/CPLD.
• Bei den FPGAs sind die Funktion der Logikzellen, Funktion der I/O-Blöcke und Verbindungen programmierbar.
• Programmiert werden grundsätzlich immer schalt-bare Verbindungen, und zwar Antifuse oder über EPROM bzw. SRAM.
© A. Steininger / TU Wien 76
Zusammenfassung (3)• Programmierbare Logikzellen lassen sich auf der
Basis von Multiplexern, Look-up Tables (LUT) oder Wired AND (PAL-Struktur) realisieren.
• Bei den I/O-Blöcken sind üblicherweise Ausgangspolarität, Verzögerungen, Latches im Datenpfad, Treiberstärke/Anstiegszeit, Pull-ups, Tri-State etc. programmieren.
• Beim Interconnect bedeutet jede programmierbare Verbindung eine Vezögerung. Es muß daher ein Tradeoff zwischen Flexibilität und Geschwindigkeitgefunden werden.
© A. Steininger / TU Wien 77
Zusammenfassung (4)
• Entsprechend dem Elmore-Delay wächst die Verzögerung auf einer Verbindung etwa quadratischmit der Anzahl der RC-Elemente(Verbindungspunkte).
• Während die Verzögerungen durch die Gatter mit fortschreitender Techologie in den Hintergrund rücken, werden die Verzögerungen durch den Interconnect immer dominanter.
Recommended