Programmierbare Logikbauelemente

Ähnliche Dokumente
Teil 1: Digitale Logik

FPGA. Übersicht der Aktuellen Bausteine. Inhaltsverzeichnis. 1. Einführung 1.1 Was ist ein FGPA?

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Programmierbare Logik mit GAL und CPLD

Eingebettete Systeme Modellierung und Zielarchitekturen

Entwurfsmethodik bei FPGA's

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign"

Übersicht aktueller heterogener FPGA-SOCs

Technische Informatik (Master)

VHDL - Technologische Grundlagen

Anwenderprogrammierbare

Was ist VHDL? V: very high speed integrated circuit HDL hardware description language. mächtige HW-Beschreibungssprache. Wozu hat man VHDL entwickelt?

Programmierbare Logik

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Hardware-Engineering

Mikroelektronik-Ausbildung am Institut für Mikroelektronische Systeme der Leibniz Universität Hannover

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Einführung in VHDL. Dipl.-Ing. Franz Wolf

13 Programmierbare Speicher- und Logikbausteine

CPLD Auswahl und Design

PALs, CPLDs und FPGAs

FPGAs an der Hochschule München in Lehre und Forschung. Christian Münker, Hochschule München

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Marco Sliwa. Regional Sales Manager Deutschland JTAG Technologies B.V.

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

HaPra Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

PROJEKT WÜRFEL. von Vincent Bootz, Christoph Beigel, Matthias Ackermann. Projekt Würfel WS2002/03

Technologie Überblick Flash & Antifuse vs. SRAM. André Ehlert

PROJEKT WÜRFEL. von Vincent Bootz, Christoph Beigel, Matthias Ackermann. Projekt Würfel WS2002/03

Lehrbuch Digitaltechnik

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Der Design- und Verifizierungsprozess von elektronischen Schaltungen. Y Diagramm

Studie 7: FPGA-Programmierung und Chipdesign

FPGAs und Mikrocontroller - Ein Vergleich

Automotive Software Engineering

elektronische Bauelemente seit 1982 Dr.- Ing. für Mikroelektronik seit 1986

Eine elektronische Schaltung von der Idee bis zum Einbau am Experiment

Einführung in VHDL (2)

Willkommen. Programmierung (MGP) von FPGAs. zur Präsentation

Implementierungsansätze für ein FPGA basiertes Multiprozessor. Marco Kirschke INF-M1 Anwendung 1 - Wintersemester 2009/

Rechnergestützter VLSI-Entwurf

Untersuchung zur hardwareunterstützten Entwurfsverifikation von Stream-basierten Kommunikations- und Verarbeitungsalgorithmen

Automotive Software Engineering

Optimierung der Rechenleistung pro Fläche von Prozessorarchitekturen durch Rekonfiguration von Funktionseinheiten

TBE332 Controller. Produktbeschreibung

VHDL Synthese mit WebPACK

Achtung! Nur ausgewählte Folien

Messsysteme für den SwissFEL

Weiterentwicklung der Systemarchitektur des unbemannten Forschungsflugzeugs UlltRA evo Data Distribution Controller

Freier Linux Kernel für den Virtex4 FX12

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Das große All-in-All CPLD/FPGA Tutorial

Prozessoren in Programmierbarer Logik

Experimentelle Hardwareprojekte. Volker Dörsing 20. März 2014

3.2 Verknüpfung von Variablen Sheffer- und Pierce-Funktion Übungen... 54

Digitaltechnik. Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 3 Termin 1,

BLIT2008-Board. Uwe Berger

Einführung in die Welt der Microcontroller

Realisierung eines fernsteuerbaren Testcontrollers für FPGA-basierte Systeme. Kolloquium zum Mastermodul INF-PM-FPG

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN

Studienvertiefungsrichtung Informationstechnik

Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich

Technische Informatik

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

ARBEITSPROGRAMM. Elektronikerin - Electroniker EFZ

Technische Informatik

Parallel-IO. Ports am ATmega128

Ko-TAG Protokoll- und Systementwurf für die Ko-TAG-Kommunikation und -Lokalisierung

Grundlagen der Rechnerarchitektur

Entwicklung mit Xilinx-FPGAs

Programmiersprachen für eingebettete Systeme Jiri Spale, Programmierung eingebetteter Systeme 1

Synthese Eingebetteter Systeme. 8 FPGAs

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Simulation von Gatternetzlisten VHDL und Mixed-mode

Modulare Grafische Programmierung (MGP) von FPGAs

1 GNU/Linux in eingebetteten Systemen Einsatzort Vorteile Distribution... 2

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/ November 2010

Digitaltechnik II SS 2007

Linux auf FPGAs. Massgeschneiderte Computersysteme. Christoph Zimmermann, Marc-André Beck. 1. März Berner Fachhochschule MedOnStream

Inhaltsverzeichnis. Teil I. Grundlagen

Embedded System Design

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Modellbasierte Entwicklung im Kontext von Medizingeräten

Übungsblatt 8 Lösungen:

1. Einleitung. Informationstechnische Systeme

Lehr- und Übungsbuch Elektronik

Prototyping eines universellen ISM-Band Transmitters auf Basis des NI FlexRIO MDK

Hardware/Software-Codesign

Einsatz der Programmiersprache Handel-C. zur effektiven Entwicklung von. synthetisierbaren Systemen und Algorithmen. von Thomas Stöcklein SS 2000

Das FPGA-Entwicklungssystem CHDL

Steuern, Messen, Regeln - mit Mikrocontrollern im Eigenbau

Development Tools for 16/32 Bit Microcontroller

Modulare Grafische Programmierung (MGP) von FPGAs

Audiosignalverarbeitung mit FPGA

Transkript:

Programmierbare Logikbauelemente Architekturen und Anwendungen von Axel Sikora mit 148 Bildern und 31 Tabellen HANSER

Grundlagen 13 1.1 Einführung 13 1.2 Grundlagen digitaler Schaltungen 15 1.2.1 Grandlagen der Digitaltechnik 15 1.2.2 Aufbau digitaler Schaltungen 17 1.2.3 Aufbau und Verzögerang der logischen Gatter 21 1.2.4 Verzögerang auf Verbindungsleitungen 22 1.2.5 Timing-Budgets in der endlichen Zustandsmaschine 24 1.2.6 Zielfunktionen beim Entwurf integrierter Digitalschaltungen 25 1.3 Klassifizierungen und Definitionen 26 1.3.1 Klassifizierung integrierter Schaltungen nach der Umsetzung der Funktionalität 27 1.3.1.1 Abgrenzung 27 1.3.1.2 Computing in Time vs. Computing in Space 27 1.3.1.3 Skalierbarkeit 29 1.3.1.4 Hardware-Aufwand 31 1.3.1.5 Echtzeitfähigkeit 31 1.3.1.6 Verlustleistungsaufnahme 32 1.3.1.7 Flexibilität 32 1.3.1.8 Entwurfsprozess 33 1.3.1.9 Erweiterungen von Mikroprozessoren 33 1.3.2 Klassifizierung integrierter Schaltungen nach dem Marktverhalten. 34 1.3.3 Klassifizierung kundenspezifischer Schaltungen 34 1.3.4 Definition programmierbarer Logikbauelemente 35 1.4 Märkte, Technologien und Hersteller 37 1.4.1 Historische Entwicklung 37 1.4.2 Marktentwicklung 38 1.4.3 Technologieentwicklung 39 1.4.4 Die umsatzstärksten Hersteller 40 1.4.4.1 Actel 40 1.4.4.2 Altera 40 1.4.4.3 Atmel 41 1.4.4.4 Cypress 41 1.4.4.5 Lattice 42 1.4.4.6 Lucent 42 1.4.4.7 Quicklogic 42 1.4.4.8 Xilinx 42 1.4.5 Weitere Hersteller 43

Architekturen programmierbarer Logikbauelemente 44 2.1 Basisarchitekturen programmierbarer Logikbauelemente 44 2.1.1 Speicherbasierte Tabellen 44 2.1.2 Einfache PLDs 45 2.1.3 Produktbeispiele 48 2.1.3.1 Produktbeispiele von Vantis 48 2.1.3.2 Produktbeispiele von Lattice...' 50 2.1.3.3 Andere Hersteller 50 2.2 Systemelemente komplexer programmierbarer Logikbauelemente... 50 2.3 Logikarchitekturen komplexer programmierbarer Logikbauelemente. 52 2.3.1 CPLDs - Monolithische Kaskadierung von PALs 52 2.3.2 FPGAs - Kleine Zellen, komplexe Verdrahtung 56 2.3.2.1 FPGAs in der Abgrenzung zu CPLDs 56 2.3.2.2 Sammelbegriffe 58 2.3.2.3 Klassifizierung von FPGAs 58 2.3.3 Implementierungen von Basiszellen in FPGAs 59 2.3.3.1 Übersicht 59 2.3.3.2 Die Basiszelle der Actel ProASIC-Architektur 60 2.3.3.3 Die Basiszelle der SX-Familie von Actel 61 2.3.3.4 Die Basiszellen der pasic-familie von Quicklogic 62 2.3.3.5 Die Basiszellen der Virtex-Familie von Xilinx 63 2.3.3.6 Die Basiszellen der Spartan-Familie von Xilinx 65 2.3.3.7 Die Basiszellen der FLEX-Familie von Altera 65 2.3.3.8 Die Basiszellen der ORCA-Familie von Lucent 65 2.3.3.9 Die Basiszellen der AT40K-Familie von Atmel 67 2.3.3.10 Die Basiszellen der APEX-Familie von Altera 69 2.3.4 Vergleich der Logikarchitekturen 70 2.3.4.1 Überblick 70 2.3.4.2 Granularität 70 2.3.4.3 Anzahl der verknüpfbaren Signale 71 2.3.4.4 Festverdrahtete vs. programmierbare Zelle 72 2.3.4.5 Speicherbasierende Tabelle vs. Einzelprogrammierung... 72 2.3.4.6 Anwesenheit von Registern 73 2.3.4.7 Multiplexlogik 73 2.4 Verbindungsarchitekturen komplexer programmierbarer Logikbauelemente 73 2.4.1 Allgemeine Anforderungen 73 2.4.2 Symmetrie der Verbindungsarchitektur 75 2.4.3 Auswirkungen eines Schleppfehlers bei der Taktverteilung 76 2.4.3.1 Verringerung des Timing-Budgets 76 2.4.3.2 Minimierung des internen Schleppfehlers 77 2.4.3.3 Unterschiedliche Taktnetze 78

IAA Die Verbindungsarchitektur der ProASIC-Familie von Actel 78 2.4.5 Die Verbindungsarchitektur der SX-Familie von Actel 79 2.4.6 Die Verbindungsarchitektur der Virtex-Familie von Xilinx 80 2.4.7 Die Verbindungsarchitektur der AT40K-Familie von Atmel 82 2.4.8 Die Verbindungsarchitektur der APEX-Familie von Altera 83 2.5 Konfiguration komplexer programmierbarer Logikbauelemente 84 2.5.1 Speichertechnologien 84 2.5.1.1 Klassifizierung der Speichertechnologien 84 2.5.1.2 Verfügbare Produkte 86 2.5.1.3 SRAM-basierte Technologien 87 2.5.1.4 Flash-Technologien 88 2.5.1.5 Antifuse-Technologien 89 2.5.2 Programmieralgorithmen 91 2.5.2.1 Formate der Konfigurationsdaten 92 2.5.2.2 Programmierung flüchtiger programmierbarer Logikbauelemente 92 2.5.2.3 Programmierung nichtflüchtiger programmierbarer Logikbauelemente 94 2.5.3 Ausblick 95 2.6 Die I/O-Architekturen komplexer programmierbarer Logikbauelemente 95 2.6.1 Anforderungen 95 2.6.2 Minimierung des Off-chip-Schleppfehlers 97 2.6.3 I/O-Architektur der ProASIC-Familie von Actel 98 2.6.4 Die I/O-Architektur der Virtex-Familie von Xilinx 98 2.6.5 Die I/O-Architektur der APEX-Familie von Altera 99 2.7 Speicher in komplexen programmierbare Logikbauelementen 99 2.7.1 Allgemeine Kriterien zur Speichemutzung 99 2.7.2 Die Speicher-Architektur der proasic-familie von Actel 102 2.7.3 Die Speicher-Architektur der ORCA3-Familie von Lucent 102 2.7.4 Die Speicher-Architektur der APEX-Familie von Altera 102 2.7.5 Die Speicher-Architektur der Virtex-Familie von Xilinx 103 2.7.6 Die Speicher-Architektur der AT40K-Familie von Atmel 104 2.8 Konvergenz und Differenzierung der Architekturen von Logikbauelementen 105 2.8.1 Aspekte der Konvergenz 105 2.8.2 Zunehmende Verbreitung von Übertragslogik 105 2.8.3 Konvergenz der Basiszellen 106 2.8.4 Konvergenz der Verbindungsarchitekturen 106 2.8.5 Konvergenz der Systemarchitekturen 106 2.8.6 Konvergenz der Programmiertechnik 106 2.8.7 Aspekte der Differenzierung 107

10 Inhaltsverzeichnis 3 Schaltungsentwurf mit VHDL 108 3.1 Aspekte des Schaltungsentwurfs 108 3.1.1 Historische Entwicklung und schrittweise Erweiterung 108 3.1.2 Einsatz von automatischen Entwurfswerkzeugen 113 3.1.3 Modelle und Simulation 114 3.1.4 Entwurf und Verifikation 117 3.1.4.1 Bedeutung der Verifikation 117 3.1.4.2 Funktionale Verifikation 118 3.1.4.3 Formale Verifikation 119 3.1.5 Hardware-Beschreibungssprachen und prozedurale Programmiersprachen 119 3.1.6 Hardware-Beschreibungssprachen 123 3.2 Die Hardware-Beschreibungssprache VHDL 124 3.2.1 Einführung 124 3.2.2 Grandlagen 125 3.2.3 Schaltungsbeschreibungen 128 3.2.3.1 Verhaltens- und Strakturmodelle 128 3.2.3.2 Verhaltensmodelle 129 3.2.3.3 Strakturmodelle 129 3.2.3.4 Schnittstellen 130 3.2.3.5 Signale 131 3.2.3.6 Iterative Instanziierung 131 3.2.3.7 Parameterübergabe mit Generics 131 3.2.4 Zeit 132 3.2.4.1 Anforderungen an eine Modellierung der Zeit 132 3.2.4.2 Modellierung auf Gatterebene 132 3.2.4.3 Modellierung mit Hilfe der wait-anweisung 133 3.2.5 Nebenläufigkeit 133 3.2.5.1 VHDL-Prozesse 133 3.2.5.2 Bearbeitung eines Prozesses 135 3.2.5.3 Signalzuweisungen 137 3.2.5.4 Kommunikation zwischen Prozessen 138 3.2.6 Variable 138 3.2.7 Typen 140 3.2.7.1 Gebündelte Typen 140 3.2.7.2 Mehrwertige Logik 140 3.3 Simulation mit VHDL. 143 3.3.1 Ablauf einer Simulation 143 3.3.2 Aufbau einer Verifikationsumgebung 145 3.4 Synthese mit VHDL 149 3.4.1 Einführung 149 3.4.2 Beschreibung und Synthese von Schaltnetzen 151

3.4.2.1 Multiplexer 151 3.4.2.2 Bedingte Zuweisungen 154 3.4.2.3 Arithmetische Funktionen 155 3.4.3 Beschreibung und Synthese von Schaltwerken 156 3.5 Layout von programmierbaren Logikbauelementen 159 3.5.1 Arbeitsschritte 159 3.5.2 Beispiel 160 3.6 Entwurfstechniken für programmierbare Logikbauelemente 161 3.6.1 Übersicht 161 3.6.2 Zustandsdiagramme 161 3.6.3 Flussdiagramme 163 3.6.4 Grenzen der graphischen Eingabemethoden 163 3.6.5 Codierung 164 3.7 Systementwurf mit programmierbaren Logikbauelementen 165 3.7.1 Bedeutung des Systementwurfs 165 3.7.2 Entwurfsprozess 166 3.7.3 Klassifizierung von Schaltungsmodulen für programmierbare Logikbauelemente 167 3.7.4 Modularer Entwurf unter VHDL. 170 3.7.5 Produktbeispiele 170 3.7.5.1 Kommunikationsbaugruppen 170 3.7.5.2 Mikroprozessoren und Mikrocontroller 171 3.7.5.3 Weitere Baugruppen 172 Implementierungen 173 4.1 Einführung 173 4.2 Ampelsteuerung 173 4.2.1 Aufgabenstellung 173 4.2.2 Zustandsdiagramm der Ampelsteuerung 174 4.2.3 Codierung der Ampelsteuerung 175 4.2.4 Flussdiagramm der Ampelsteuerung 177 4.2.5 Partitionierung des Systems 177 4.2.6 Aufbau der endlichen Zustandsmaschine 178 4.2.7 Implementierung der Ampelsteuerung 179 4.2.8 Simulation der Ampelsteuerung 183 4.2.9 Erweiterungen der Ampelsteuerung 184 4.3 Serielle Schnittstelle - UART 184 4.3.1 Aufgabenstellung 184 4.3.2 Partitionierang 185 4.3.3 Das Sendemodul 186 4.3.4 Das Empfangsmodul 190 4.3.5 Verschaltung der Module 193 4.3.6 Implementierung der Testbench für die serielle Schnittstelle 193

12 Inhaltsverzeichnis 4.3.7 Implementierung der seriellen Schnittstelle 196 4.3.8 Erweiterungen der seriellen Schnittstelle 197 4.4 Komponenten eines Mikroprozessors.' 197 4.4.1 Einführung 197 4.4.2 Arithmetisch-logische Einheit 197 4.4.3 Aufbau der Registerstruktur 201 4.4.4 Aufbau der Kontrollstruktur 201 4.4.5 Aufbau der Busstruktur 202 5 Anwendungen programmierbarer Logikbauelemente 203 5.1 Kommerzielle Gesichtspunkte 203 5.1.1 Klassifizierung der Aufwendungen 203 5.1.2 Infrastrukturbezogene Fixkosten 204 5.1.3 Sichere projektbezogene Fixkosten 205 5.1.4 Unsichere projektbezogene Fixkosten 207 5.1.5 Variable Kosten 209 5.1.6 Umsatz 210 5.2 Einführung 212 5.2.1 Klassifizierung der Anwendungen 212 5.2.2 Anwendungen als Prototypen 212 5.2.3 Anwendungen mit charakteristischem und meist kurzem Produktlebenszyklus 213 5.2.4 Anwendungen mit geringen Stückzahlen 214 5.2.5 Anwendungen mit moderaten Leistungsanforderungen 215 5.3 Kriterien zur Auswahl von programmierbaren Logikbauelementen... 215 5.3.1 Einführung 215 5.3.2 Die Entscheidung über den Einsatz programmierbarer Logikbauelemente 216 5.3.3 Die Auswahl programmierbarer Logikbauelemente 217 5.3.4 Die Auswahl eines Dienstleisters 219 5.3.5 Zusammenfassung 220 5.4 Rekonfigurierung programmierbarer Logikbauelemente 220 5.4.1 Klassifizierung.. 220 5.4.2 Paradigmenwechsel 222 5.4.3 Entwurf 223 5.4.4 Zeitanforderungen 223 5.4.5 Netzwerkgestützte Aktualisierung 224 5.4.6 Ausblick 224 Glossar 225 Literaturverzeichnis 232 Sachwortverzeichnis 235