© A. Steininger / TU Wien 1 Zieltechnologien Welcher ASIC-Typ passt zu meinem Design?

Slides:



Advertisements
Ähnliche Präsentationen
Vom HW-Automaten zum Prozessor
Advertisements

Bauteile des PC´c Werden vorgestellt: PC-Gehäuse Prozessor Tastatur
Network-on-Chip basierende Laufzeitsysteme für dynamisch rekonfigurierbare Hardware Ronald Hecht Institut für Mikroelektrotechnik und Datentechnik Universität.
Multiplizierer 10x10 Bit Finale: ZUSAMMENFASSUNG SPEED POWER AREA.
BUS-Systeme (PCI) Allgemeines über BUS-Systeme Allgemeines zum PCI-Bus
MROM Als Masked ROM, deutsch Masken-ROM oder kurz MROM bezeichnet man Festwertspeicher, bei denen die Information im Rahmen des Fertigungsprozesses fest.
Hardware Präsentation im Fach S&N
Technische Informatik I (SS 2006) Teil 1: Logik 1b: Schaltnetze.
Rechneraufbau & Rechnerstrukturen, Folie 6.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 6.
Rechneraufbau & Rechnerstrukturen, Folie 7.1 © 2006 W. Oberschelp, G. Vossen.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Spezielle Anwendungen.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
EXCEL PROFESSIONAL KURS
Die Finalisten für den Advanced Encryption Standard Advanced Encryption Standard Herbert Frohner Sebastian Hegenbart Joachim Kerschbaumer.
BREWERY-AUTOMATION Solutions for Micro- Breweries
Quelle: Fachreferat von Mathias Herbst 1.
Hardware / Software Codesign
Basisinformationstechnologie HK-Medien
FPGA... ein Versuch. Uli Schäfer 1. Historie: PLD Uli Schäfer 2 Schaltungsgrösse wächst drastisch mit Zahl der Eingänge CPLD = Array + Flipflops + macro.
Hardware / Software Codesign Hardware versus Software.
5 Zieltechnologien Fertigungstechnologien:.
3.2 Grundlegende digitale logische Schaltungen
© Béat Hirsbrunner, University of Fribourg, Switzerland
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
Computerorientierte Physik VORLESUNG
Ram/Rom/EPRom Abb. 3 Abb. 3 Abb. 2 Ein Referat von Xaver Schweitzer.
Warum gibt es Netzwerke?
PRO:CONTROL Ziel des Moduls Arbeitspakete
Interne Speicher © Christian Barby FIN
Μ Version 1.0Seite 1µVision Start Debugger Set Breakpoint µVision Debugger.
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
+ Arbeitsbericht mit Blick in die Zukunft M. Pernicka
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Neue Speichermedien für Datenbanken
Der Design-Flow eines ASIC
Sichere Technologie für die elektronische Gesundheitskarte
Linear Rückgekoppelte Schieberegister und Tristate Treiber
ESYCS - Studie 7 „Embedded Hardware“
Technische Informatik II
Mikrocomputertechnik Jürgen Walter
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Referat von Marcel Poppen & Oliver Lennartz
Die Hardware eines PC s.
Chair-Woei Miu Smartcards SMARTCARDS Wie sicher sind sie wirklich?
Funktionsprinzip·Anwendung·Zukunft
Von Marcel Poppen & Oliver Lennartz
Institut für Angewandte Mikroelektronik und Datentechnik Results of phase 5: Investigations on a specific topic Special Features of the Virtex-6 FPGAs.
Referat - Datenspeicher
SPEICHER ROM + RAM ROM RAM Arten von RAM (DDR-RAM, SDRAM) Beispiel
Von Bits, Bytes und Raid Eine Schnuppervorlesung Inhalt
Technische und Wirtschaftswissenschaftliche Universität Budapest Lehrstuhl für Elektronische Bauelemente MIKROELEKTRONIK, VIEEAB00.
RAID-Systeme - Standards - Leistungsmerkmal - Redundanz - Datensicherheit eine Präsentation von Jochen Throm an der Berufsakademie Mosbach.
© A. Steininger / TU Wien 1 Speichertechnologien Über das richtige Ablegen von Bits & Bytes.
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
Hardware / Software Codesign Hardware versus Software.
Vorlesung 1: Analog / Digital DT1 Zbinden Vorteile Analog:Schneller als Digital, ∞ Genauigkeit, teilweise einfachere Schaltungsrealisierung Vorteile Digital:Störungsanfälligkeit,
AMBA AXI4 Aktuelle Trends bei System-on-Chip Bussen.
Eine Präsentation von Lukas Hick
Eine Einführung in verschiedene Speicherverfahren
Technische Informatik I
Technische Informatik II
RAM, ROM Von Maximilian Bertl.
Grundlagen der Rechnerarchitektur [CS ]
FPGA-Design VHDL-basierter Designflow für FPGAs
Vom HW-Automaten zum Prozessor
CSL211 Computer Architecture
 Präsentation transkript:

© 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 Interconnect: für die Verbindungen stehen weitere Layers zur Verfügung (Metallisierung) Zellen: die Transistoren / Zellen benötigen Layers (Diffusionsprozesse auf dem Silizium) für jeden Layer gibt es eine „Maske“

© A. Steininger / TU Wien 5 Full-Custom ASIC alle Masken (Zellen + Interconn.) sind völlig 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 Standard-Cell ASIC (CBIC) Zellen in „Library“ vordefiniert Design verwendet nur Elemente daraus kann auch Cores („Mega-Cells“) enthalten z.B. RAM, ROM, IP-Core Anordnung & Interconnect anw.-spezif. + Entwicklung viel effizienter (Zellen fertig entwickelt, optimiert & getestet) – in der Fertigung immer noch hoher Aufwand + Wartezeit (alle Masken anwenderspezifisch)

© A. Steininger / TU Wien 7 Standard-Cell – ein Beispiel Fig. 1.3 „Standard-Cells passen zusammen wie Ziegel in einer Wand“ internes Layout schon vordefiniert und getestet

© A. Steininger / TU Wien 8 Standard-Cell ASIC Fig. 1.2 Mega -cells Standard- cell area

© A. Steininger / TU Wien 9 Standard-Cell ASIC – Beispiel

© A. Steininger / TU Wien 10 Zellen-Library hunderte von Funktionen AND, OR, FFs mit verschiedenen Optionen,... fertig spezifiziert aus Datenbuch wählbar Funktion, 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 Beispiel: LSI_10k.libLSI_10k.lib

© A. Steininger / TU Wien 11 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 = Intellectual Property) gekauft werden Hard Macro: fertig geroutete „Black Box“ Soft Macro: nur Netzliste, technologieunabh. Spart Entwicklungsaufwand, erhöht Produktivität beliebt bei System on a Chip

© A. Steininger / TU Wien 12 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 DSP USB DAC RAM ROM I2C CPU Flash ADCDAC DSPCPU ROMFlash RAM I2CUSB 74xx glue Wh.

© A. Steininger / TU Wien 13 Gate-Arrays (MGAs) vorgefertigte Wafer enthalten „Basiszellen“ (definierte Anordnung von Transistoren) in regelmäßiger Anordnung Zellen werden als Macros realisiert nur Verbindungen anwenderspezifisch + effiziente Entwicklung (weiterhin Cell-Library) + vorgefertigte Wafer können auf Lager gelegt werden => schneller und billiger – Basiszellen fixer Größe => weniger optimierbar

© A. Steininger / TU Wien 14 Channelless Gate-Array Anschlüsse der Tran- sistoren (contact layer) nicht vorge- geben. Zwischen den Basis- zellen sind keine Kanäle freigehalten. Interconnect über unbenützte Transis- toren geroutet. Fig. 1.6 auch „Sea of Gates“

© A. Steininger / TU Wien 15 Channelled Gate-Array Anschlüsse der Transistoren („contact layer“) 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 Structured Gate-Array auch „embedded GA“ Teil der Chip-Fläche für spezielle Funktion (RAM, ROM) oder anderen Typ von Basiszelle reserviert meist verschiedene Varianten auf Lager Fig. 1.7 Special funct.

© A. Steininger / TU Wien 17 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, Größe und Position) fix vorgegeben  Wafer sind ja vorgefertigt. Herstellung von Structured GA ist wesentlich schneller und billiger (Wafer vorgefertigt).

© A. Steininger / TU Wien 18 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 19 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 20 Programmable Array Logic kombinatorische Logik als Array aus AND- Gattern und OR-Gattern (logic array) Abbild der disjunktiven Normalform; dahinter Speicherelement (Latch, FF) PAL: nur das AND-Array ist programmierbar PLA: AND und OR-Array sind programmierbar (meist als Core)

© A. Steininger / TU Wien 21 Field Programmable Gate-Array Fig. 1.9 programm. Makrozelle programm. Interconnect programm. I/O-Zelle

© A. Steininger / TU Wien 22 ASIC-Technologien – Überblick Gate- Array (MGA) Full Custom Standard Cell (CBIC) channelled channelless structured PLD ROM PAL, PLA CPLD, FPGA cell design cell placemt cell connect user fixed / macros fixed library user fixed user fixed / progr. Semi- custom

© A. Steininger / TU Wien 23 ASICs: Break-Even Analyse Fig. 1.11

© A. Steininger / TU Wien 24 FPGA versus Standard Cell Evaluation über einen Mix aus Design-Blöcken Faktor FPGA/ASIC Fläche8,5 … 70 Delay1,9 … 6,7 dyn. Leistung5,3 … 52 stat. Leistung5,4 … 87 Vergleich aus [I.Kuon and J. Rose, Measuring the Gap between FPGAs and ASICs, Trans. on CAD, vol 26, no 2, 2/2007]

© A. Steininger / TU Wien 25 Terminologie ASIC-Typen und ihre Charakteristika Programmable Logic Devices: Prinzipien Programmierbare Logikzellen Programmierbare I/O-Zellen Programmierbarer Interconnect Überblick

© A. Steininger / TU Wien 26 ASIC-Technologien – Überblick Gate- Array (MGA) Full Custom Standard Cell (CBIC) channelled channelless structured PLD ROM PAL, PLA CPLD, FPGA cell design cell placemt cell connect user fixed / macros fixed library user fixed user fixed / progr. Semi- custom A

© A. Steininger / TU Wien 27 Modell für den Gewinn Annahmen: Zeitpunkt max. Kaufinteresses sowie Ende des Kaufinteresses unabh. von Einführung (Konkurrenz) Anstieg der Verkaufszahlen begrenzt (Produktionssteigerung) 10M 20M Verkaufszahlen t Ende Kaufinteresse Verzögerung bei Markteinführung entgangener Gewinn max. Kaufinteresse A

© A. Steininger / TU Wien 28 FPGA:Was ist programmierbar? MakrozellenPositionfix (Array) innere Strukturfix Funktion prog.-bar I/O-Zellen Positionfix (Rand) innere Strukturfix Funktionprog.-bar VerbindungenMöglichkeitenfix Auswahlprog.-bar

© A. Steininger / TU Wien 29 Wie wird programmiert? Die Konfiguration lässt sich vollständig durch schaltbare Verbindungen realisieren. Varianten: Verbindungen (permanent) „brennen“ Antifuse Transistor-Schalter ansteuern SRAM, EPROM

© A. Steininger / TU Wien 30 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: div. Actel Al, Cu SiO 2 Wolfram Si A

© A. Steininger / TU Wien 31 Vorteile der Antifuse-Techn. radiation hard Kopierschutz Schutz gegen Reverse Engineering klein allein bootfähig (kein ext. Speicher) [Actel] Antifuse A

© A. Steininger / TU Wien 32 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 Virtex, Altera Stratix („FPGAs“)

© A. Steininger / TU Wien 33 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 XC9500, Altera MAX („CPLDs“)

© A. Steininger / TU Wien 34 Terminologie ASIC-Typen und ihre Charakteristika Programmable Logic Devices: Prinzipien Programmierbare Logikzellen Programmierbare I/O-Zellen Programmierbarer Interconnect Überblick

© A. Steininger / TU Wien 35 FPGA:Was ist programmierbar? MakrozellenPositionfix (Array) innere Strukturfix Funktion prog.-bar I/O-Zellen Positionfix (Rand) innere Strukturfix Funktionprog.-bar VerbindungenMöglichkeitenfix Auswahlprog.-bar A

© A. Steininger / TU Wien 36 Angewandte Prinzipien: Mux-basierte Logikzellen Beispiel: Actel Axcelerator Look-up Table-basierte Logikzellen Beispiele: Xilinx Virtex, Altera Stratix PAL-basierte Logikzellen Beispiel: Altera MAX, Xilinx XC9500 Programmierbare Logikzellen A

© A. Steininger / TU Wien 37 Mux-basierte Logik: Prinzip Shannon‘s Erweiterungstheorem: A F(0,B,C,…) = F(A=0) F(1,B,C,…) = F(A=1) F (A,B,C,…) F(A,B,C…) = [  A  F(0,B,C,…)]  [A  F(1,B,C,…)]

© A. Steininger / TU Wien 38 Mux-basierte Logik: Beispiel B B A F = (A  B)  (  B  C)  D F = [  B  (C  D)]  [B  (A  D)]

© A. Steininger / TU Wien 39 Mux-basierte Logik: Beispiel B CC D 1 A F = (A  B)  (  B  C)  D F = [  B  (C  D)]  [B  (A  D)] F B = [  C  D)]  [C  1]

© A. Steininger / TU Wien 40 Mux-basierte Logik: Beispiel B C D 1 A F = (A  B)  (  B  C)  D F = [  B  (C  D)]  [B  (A  D)] F B = [  C  D)]  [C  1] F B = [  A  D)]  [A  1] A A1D

© A. Steininger / TU Wien 41 MUX: Realisierbare Funktionen Realisierbar sind alle Funktionen mit 2 Variablen, manche in 3 Variablen

© A. Steininger / TU Wien 42 MUX-Realisierung: Beispiele A 1 0 Y=  A A B 1 Y= A  B A 0 B Y= A  B A 0 1 Y= A B A 1 Y= A   B A B 0 Y=  A  B

© A. Steininger / TU Wien 43 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 44 ACT2: Verbesserungen C-Modul mit mehr Eingängen S-Modul mit zusätzlichem Sequential Element „SE“ = D-FF

© A. Steininger / TU Wien 45 Actel Axcelerator-Familie clock [Actel] 3 x 3 = 9 core tiles 336 x 9 = 3024 SuperClusters 4k x 4 x 9 = 144k RAM (für AX1000) ?? A

© A. Steininger / TU Wien 46 Actel‘s „Supercluster“ carry logic MUX logic select logic selectable inversion FF clk source clk polarity data source clk enable routing resources A

© A. Steininger / TU Wien 47 Angewandte Prinzipien: Mux-basierte Logikzellen Beispiel: Actel Axcelerator Look-up Table-basierte Logikzellen Beispiele: Xilinx Virtex, Altera Stratix PAL-basierte Logikzellen Beispiel: Altera MAX, Xilinx XC9500 Programmierbare Logikzellen

© A. Steininger / TU Wien 48 Look-up Table (LUT) Kombinatorische Verknüpfung von n Variablen ist mittels Wahrheitstabelle eindeutig darstellbar Es gibt 2 n Eingangskombinationen Realisierung der Wahrheitstabelle als Speicher mit 2 n x 1Bit Eingangsvariable werden als Adressen angelegt, Speicherinhalt bestimmt Verknüpfungsfunktion LUT auch als RAM verwendbar (teuer!) konstantes Timing für alle Funktionen Beispiele: Altera Cyclone & Stratix, Xilinx Virtex

© A. Steininger / TU Wien 49 Altera Stratix-Familie [Altera] I/O-Elements Embedded RAM blocks Embedded DSP Blocks Logic Array Block (LAB) 1 LAB = 10 LEs ?? A

© A. Steininger / TU Wien 50 Altera‘s „Logic Element“ [Altera]

© A. Steininger / TU Wien 51 Xilinx Virtex „CLB“ Configurable Logic Block (CLB)Slice (1 CLB = 2 Slices) Logic Cell (1 Slice = 2 LCs) A [Xilinx]

© A. Steininger / TU Wien 52 LUT-basierte FPGAs - Beispiele Altera Stratix EP1S LABs = LEs 2Mbit RAM 706 I/O Pins 80 embedded multipliers (9x9), Xilinx Virtex XCV300 32x48 CLBs = 6912 LCs 64kbit RAM 316 I/O Pins

© A. Steininger / TU Wien 53 Angewandte Prinzipien: Mux-basierte Logikzellen Beispiel: Actel Axcelerator Look-up Table-basierte Logikzellen Beispiele: Xilinx Virtex, Altera Stratix PAL-basierte Logikzellen Beispiel: Altera MAX, Xilinx XC9500 Programmierbare Logikzellen

© A. Steininger / TU Wien 54 Grundprinzip des PAL direkte Implementierung der disjunktiven Normalform mehrere AND-Gatter bilden die Minterme ein OR-Gatter fasst diese zusammen dahinter FF um sequenzielle Logik realisieren zu können a b c d y y = (a  b)  (c  d)

© A. Steininger / TU Wien 55 Prinzip des „Wired AND“... A B K VDD GND Y=A  B ...  K Will IC A ‚1‘ ausgeben, so sperrt sein N-Stack. Wh.

© A. Steininger / TU Wien 56 PLD: Notation Unprogrammiert (Verbindung) Programmiert (Unterbrechung) A wired AND

© A. Steininger / TU Wien 57 Standard PLD Struktur

© A. Steininger / TU Wien 58 Erweiterte Fähigkeiten Ergeben sich in kanonischer Form mehr Produkt- terme als zur Verfügung stehen (Eing. des OR): Kaskadierung von Stufen, d.h. Teilberechnung in einer Stufe => als Input für die nächste Stufe (Parallel Expander). Doppelte Durchlaufzeit! Durch Umformung einzelne Produktterme heraus- lösen, die mittels Logic Expander vorverarbeitet werden (zusätzliche Durchlaufzeit!). Inverse Funktion realisieren und mit einem programmierbaren Inverter (XOR) am Ausgang wieder richtig stellen.

© A. Steininger / TU Wien 59 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 hat 4 Produktterme => benötigt OR4 F = (  A  C  D)  (  B  C  D)  (A  B)  (B   C) F = [(  A   B)  C  D]  [B  (A   C)] = [  (A  B)  C  D]  [B   (  A  C)]

© A. Steininger / TU Wien 60 Realisierung im Standard-PLD A

© A. Steininger / TU Wien 61 Programmierbare Inversion 4 Produktterme3 Produktterme F = (A   B)  (A   C)  (A   D)  (  A  C  D)  F = (A  B  C  D)  (  A   D)  (  A   C)

© A. Steininger / TU Wien 62 Xilinx XC9500 Familie ?? A [Xilinx]

© A. Steininger / TU Wien 63 Xilinx XC9500 Macrocell AND-Matrix OR FF Progr. INV Logic Expander A [Xilinx]

© A. Steininger / TU Wien 64 Altera MAX7000 Familie ?? [Altera] A

© A. Steininger / TU Wien 65 Altera MAX7000 Macrocell AND-Matrix OR FF Progr. INV A Logic Expanders [Altera]

© A. Steininger / TU Wien 66 PAL-basierte CPLDs - Beispiele Xilinx XC Function Blocks = 144 Macrocells 81/133 I/O Pins (je nach Gehäuse) Altera MAX LABs = 128Macrocells 100 I/O Pins

© A. Steininger / TU Wien 67 Terminologie ASIC-Typen und ihre Charakteristika Programmable Logic Devices: Prinzipien Programmierbare Logikzellen Programmierbare I/O-Zellen Programmierbarer Interconnect Überblick

© A. Steininger / TU Wien 68 FPGA:Was ist programmierbar? MakrozellenPositionfix (Array) innere Strukturfix Funktion prog.-bar I/O-Zellen Positionfix (Rand) innere Strukturfix Funktionprog.-bar VerbindungenMöglichkeitenfix Auswahlprog.-bar

© A. Steininger / TU Wien 69 Typische I/O-Block Features Eingang unterschiedliche Spannungen/Standards direkt oder über eigenes Input-FF / Latch Verzögerung zuschaltbar Ausgang unterschiedliche Spannungen/Standards passiver Pull-up und Pull-down (50k  ) Tri-State und Open Drain Ausgang direkt oder über FF / Latch wählbare Flankensteilheit und Treiberstärke

© A. Steininger / TU Wien 70 Xilinx Virtex I/O Block [Xilinx] bus-keeper pull-down pull-up tri-state buffer data reg reg bypass reg for tristate control reg bypass in buffer with var threshold progr. delay input reg reg bypass A

© A. Steininger / TU Wien 71 Terminologie ASIC-Typen und ihre Charakteristika Programmable Logic Devices: Prinzipien Programmierbare Logikzellen Programmierbare I/O-Zellen Programmierbarer Interconnect Überblick

© A. Steininger / TU Wien 72 FPGA:Was ist programmierbar? MakrozellenPositionfix (Array) innere Strukturfix Funktion prog.-bar I/O-Zellen Positionfix (Rand) innere Strukturfix Funktionprog.-bar VerbindungenMöglichkeitenfix Auswahlprog.-bar

© A. Steininger / TU Wien 73 Interconnect-Optimierung maximale Flexibilität beliebige Verbindungen zwischen Blöcken viele Verbindungen und Anschlüsse maximale Geschwindigkeit minimale Kapazitäten der Verbindungen & Anschlüsse wenige Verbindungen und Anschlüsse

© A. Steininger / TU Wien 74 MAX7000 CPLD Interconnect ?? [Altera] A

© A. Steininger / TU Wien 75 MAX Progr. Interconn. Array Maskierung mittels Maskierung (Konfig.) wird genau jenes Signal gewählt, das zum LAB soll [Altera] A

© A. Steininger / TU Wien 76 Signale im PIA Senken alle LAB Inputs Quellen alle I/O Pins alle „dedicated Inputs“ alle Macrocell Outputs PIA ist ein völlig symmetrisches globaler Bus von jeder Quelle zu jeder Senke [Altera]

© A. Steininger / TU Wien 77 Bewertung CPLD-Interconnect hoch regulär und symetrisch möglich wegen einfacher Struktur der CPLDs voll verbunden PPR einfach Timing gut vorhersagbar Interconnect bestimmt auch Funktion Funktion und Struktur der Logik fix (PLD) ABER: welcher Product Term verwendet welche Eingänge

© A. Steininger / TU Wien 78 Actel Axcelerator Routing verbindet C-R, keine Antifuse, t pd <0.1ns verbindet carry logic, keine Antifuse, t pd <0.1ns horiz. innerh. SC, vert. zu nächst. SC, 1 Antifuse, t pd < 0.4ns global „highway“, Segmente, Antifuses und t pd variieren [Actel] A

© A. Steininger / TU Wien 79 Bewertung Actel-Interconnect Antifuse erlaubt effiziente Verbindung auf kleinstem Raum lokal sehr regulär, „highway“ variabel Timing schwieriger vorhersagbar highway ist potentieller Flaschenhals PPR schwierig, muss nicht aufgehen Interconnect bestimmt auch Funktion Struktur und Funktion der Logik fix (MUX) ABER: welche Signale an welche MUX-Eingänge

© A. Steininger / TU Wien 80 Stratix FPGA Interconnect [Altera] hochkomplexe vielschichtige Struktur A

© A. Steininger / TU Wien 81 Bewertung FPGA Interconnect hochkomplexes Netzwerk mehrstufig segmentiert Routing oft über mehrere Segmente in Serie Timing kaum vorhersagbar nicht voll vernetzt => potentieller Flaschenhals Routing und Funktion getrennt Funktion durch LUT bestimmt Routing wird getrennt konfiguriert

© A. Steininger / TU Wien 82 Konfiguration von CPLDs Speichermedium = on-chip Flash Memory non-volatile, löschbar Programmierdaten ca. 1Mbit Security-Bit verhindet Auslesen (wenn aktiv) In-System Programmierung über JTAG-Interface (Standard-Testschnittstelle) Ansprechen vom PC (USB, Centronix) Dauer: 5…10s Alternativ: in externem Programmer

© A. Steininger / TU Wien 83 Konfiguration von FPGAs Einspielen der Konfiguration durch externen oder embedded (!) Microcontroller Configuration Device (In-System progr.) ( = OTP/Flash Mem + IF controller) Download vom PC (seriell) ca. 8Mbit für Stratix EP1S25 Interfaces seriell, parallel (8Bit), JTAG Auswahl durch Beschaltung von Pins

© A. Steininger / TU Wien 84 Hardcopy Devices vereinfacht Migration von FPGA zu ASIC Angaben von Altera für Stratix Hardcopy: gleiche Architektur, gleiches Pinout 50% schneller 40% weniger Energie 8 Wochen Lieferzeit

© A. Steininger / TU Wien 85 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. Der Standardzellen IC (CBIC) geht von einer Library aus vorgefertigten und getesteten Logik- zellen aus. Dies vereinfacht das Design, bei der Fertigung sind aber alle Layer kundenspezifisch. Beim Gate Array sind Basisfunktionen vorgegeben, durch kundenspezifische Metallisierungslayer kann über Makros jede Funktion implementiert werden. Man unterscheidet zwischen channelled, chanelless und structured GAs.

© A. Steininger / TU Wien 86 Zusammenfassung (2) Time to market ist ein entscheidendes Erfolgs- kriterium für ein Design. Das ist ein entscheiden- des Argument für programmierbare Logik. 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 schaltbare Verbindungen, (Antifuse oder TG über EPROM bzw. SRAM).

© A. Steininger / TU Wien 87 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 Geschwindigkeit gefunden werden.

© A. Steininger / TU Wien 88 Zusammenfassung (4) Der Interconnect ist bei den CPLDs völlig regulär und sein Timing daher einfach vorhersagbar. Die wesentlich leistungsfähigeren FPGAs haben auch einen komplexeren Interconect, der dadurch auch im PPR sowie im Zeitverhalten schwerer beherrschbar ist. Die Konfiguration ist bei EEPROM- und Antifuse- basierten CPLDs ist nicht-flüchtig; bei den SRAM-basierten FPGAs muss sie bei jedem power-on nachgeladen werden. Hierzu gibt es vielfältige Möglichkeiten.