13
© 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 Layers zur 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

Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

Embed Size (px)

Citation preview

Page 1: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 2: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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%

Page 3: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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).

Page 4: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 5: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 6: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 7: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 8: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 9: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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 ∧∨=

Page 10: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 11: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 12: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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

Page 13: Was ist ein ASIC ? Aufbau eines · PDF file · 2005-10-05• Beispiele: Xilinx, Atmel, Altera FLEX ... Xilinx LCA, Altera FLEX ... Xilinx 3000,4000,5200, Altera Flex © A. Steininger

© 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.