Programmierbare Logikbausteine: Unterschied zwischen den Versionen
Beagle (Diskussion | Beiträge) |
Beagle (Diskussion | Beiträge) |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
|richtung=II/IHS | |richtung=II/IHS | ||
|vorlesender=Dipl.-Ing. Thomas Rommel | |vorlesender=Dipl.-Ing. Thomas Rommel | ||
− | |||
}} | }} | ||
Zeile 76: | Zeile 75: | ||
* in CMOS Schaltungen proportional zu der Anzahl der Gatter und der Taktung | * in CMOS Schaltungen proportional zu der Anzahl der Gatter und der Taktung | ||
− | Computing in Space vs. Computing in Time | + | '''Computing in Space vs. Computing in Time''' |
− | Space: | + | ''Space:'' |
* Datenflussorientiert | * Datenflussorientiert | ||
* Parallelisierung | * Parallelisierung | ||
* Piplining | * Piplining | ||
− | Time: | + | ''Time:'' |
* Kontrollflussorientiert | * Kontrollflussorientiert | ||
− | Piplining in moderne DSP möglich | + | * Piplining in moderne DSP möglich |
− | weitere Kriterien | + | ''weitere Kriterien'' |
* Skalierbarkeit | * Skalierbarkeit | ||
* Hardwareaufwand | * Hardwareaufwand | ||
Zeile 95: | Zeile 94: | ||
* Entwurfsprozess | * Entwurfsprozess | ||
− | CMOS-Technologie - Vorteile | + | '''CMOS-Technologie - Vorteile''' |
* hoher Eingangswiderstand | * hoher Eingangswiderstand | ||
* geringer Eingangsstrom | * geringer Eingangsstrom | ||
* geringer Stromverbrauch | * geringer Stromverbrauch | ||
− | Entwurfsstile | + | '''Entwurfsstile''' |
* PLD hoher Preis/Gatter zu Full-Custom hin immer weniger | * PLD hoher Preis/Gatter zu Full-Custom hin immer weniger | ||
* Performance bei FC sehr hoch bei PLD gering | * Performance bei FC sehr hoch bei PLD gering | ||
Zeile 111: | Zeile 110: | ||
=== Allgemeine Eigenschaften von PLD === | === Allgemeine Eigenschaften von PLD === | ||
+ | |||
+ | * niedrige bis hohe Komplexität | ||
+ | * Vielfalt enthaltener Baugruppen von SRAM Blöcken, speziellen Blöcken für Arithmetische Funktionen zur Signalverarbeitung, Ankopplung an weitere Systemelemente per schneller I/O | ||
+ | * sehr kurze Entwicklungs- und Fertigungszeiten | ||
+ | * Änderungen sehr leicht Möglich | ||
+ | * keine NRE-Kosten - mehr als 1000 Stück pro Jahr nicht wirtschaftlich | ||
+ | * schnellere Datenverarbeitung als bei Mikrocontrollern aber teurer | ||
+ | * bausteinseitig vollständig getestet | ||
+ | |||
+ | '''Low Cost Produkte durch''' | ||
+ | * Zellstruktur mit hoher Dichte | ||
+ | * wenige Typen dafür hohe Stückzahl | ||
+ | * günstige Gehäusetypen | ||
+ | * spezielle I/O-Schnittstellen | ||
+ | * kurze Verfügbarkeit | ||
+ | * kleinstmögliche Technologie | ||
+ | |||
+ | '''Systematisierung der PLD''' | ||
+ | |||
+ | --- BILD müsste hier hin --- | ||
+ | |||
+ | '''Effektivität von PLD''' | ||
+ | * Logikdichte (Schaltungsfunktionalität pro Flächeneinheit) | ||
+ | * Durchlaufzeit der Logikblöcke und der Verbindungswege | ||
+ | * Anwenderfreundlichkeit und Implemeniterungsfreundlichkeit | ||
+ | * Stromverbrauch | ||
+ | |||
+ | '''Probleme beim Entwurf von PLD''' | ||
+ | * steigende Integrationsdichte | ||
+ | * kürze Lebensdauer der Produkte | ||
+ | * alle FPGA-Strukturen sind verschieden | ||
+ | * kurze Entwicklungszeiten | ||
+ | * Schlatungskomplexität muss beherrscht werden | ||
+ | * neue Einarbeitungszeit | ||
+ | * Entwurf möglichst Architektur unabhängig | ||
+ | |||
+ | '''Sicherung hoher Entwurfsqualität''' | ||
+ | * Zehner Regel: Kosten der Fehlerbeseitigung | ||
+ | |||
+ | === Programmiertechnologie === | ||
+ | |||
+ | '''Schutz vor Klau''' | ||
+ | * Level 1: praktisch kein Schutz (SRAM, EEPROM) | ||
+ | * Level 2: moderat sicher, nur von Profis mit entsprechender Ausrüstung (Antifuse) | ||
+ | * Level 3: defakto sicher, aber bei PLDs kaum realisierbar | ||
+ | |||
+ | |||
+ | ==== Reversible ==== | ||
+ | |||
+ | '''SRAM''' | ||
+ | * flüchtig | ||
+ | * ca. 5 Transistoren (XILINX) | ||
+ | * große Zellgröße | ||
+ | * keine zusätzlichen Prozessschritte | ||
+ | * pro | ||
+ | ** kein Programmiergerät erforderlich | ||
+ | ** jede beliebige Funktion aus Eingangssignalen realisierbar | ||
+ | ** Rekonfiguriung | ||
+ | ** schnelle Entwurfsänderung | ||
+ | * con | ||
+ | ** schlechter bzw. umständlicher Kopierschutz | ||
+ | ** Konfigurationsspeicher erforderlich | ||
+ | ** sorgfältige Planung eines Neustarts erforderlich | ||
+ | ** empfindlich gegen radioaktive Strahlung | ||
+ | |||
+ | '''Flash-EEPROM''' | ||
+ | * Flashzellen können nicht wortweise, sondern nur in größeren Blöcken | ||
+ | * NOR: - alle Speicherzellen sind parallel an Bitleitung angelschlossen, schnell | ||
+ | * NAND: - Speicherzellen in Serie geschaltet, weniger Kontakte zur Bitleitung, Zelle ca. 40% kleiner, höhere Speicherdichte und geringere Kosten, aber langsamer als NOR | ||
+ | *pro | ||
+ | ** rekonfigurierbar | ||
+ | ** mittel groß | ||
+ | *con | ||
+ | ** 3-5 Prozessschritte | ||
+ | |||
+ | ==== Irreversibel ==== | ||
+ | |||
+ | '''Antifuse''' | ||
+ | * Anlegen einer Programmierspannung wird die isoliernde Schicht zwischen den beiden Anschlüssen durchschmolzen | ||
+ | * es entsteht ein niederohmige Verbindung | ||
+ | * einmal programmierbar | ||
+ | * klein bis sehr klein | ||
+ | * große Schalttransistoren, dafür kleine Widerstände | ||
+ | * 3 Prozessschritte | ||
+ | |||
+ | === Verbindungsarchitekturen === | ||
+ | |||
+ | == Literaturempfehlungen == | ||
+ | |||
+ | == Materialien == |
Aktuelle Version vom 24. Juli 2011, 16:53 Uhr
Programmierbare Logikbausteine (PLD) | |
---|---|
Vertiefungsrichtung | II/IHS |
Vorlesung | |
Vorlesender |
Dipl.-Ing. Thomas Rommel |
Abschluß | |
Art | k.A. |
Die Studierenden sind in der Lage, die verschiedensten angebotenen Bausteine in die unterschiedlichen Architekturen von PLD einzuordnen und die sich daraus ergebenden Konsequenzen für den Entwurf von digitalen Schaltungen abzuleiten. Sie können für konkrete Anwendungen eine optimale Bausteinauswahl treffen und den Entwurf unter Anwendung moderner Designmethoden (Hierarchischer Entwurf, Hardwarebeschreibungssprache usw.) realisieren. Ökonomische Parameter fließen genauso bei der Auswahl geeigneter Bausteine in die Überlegungen ein wie technische. Dadurch besitzen die Studenten ein strategisches Wissen, dass es Ihnen ermöglicht auch Neueinführungen auf dem Markt zu beurteilen. Durch die Praktikas ist Ihnen der Entwurfsablauf von der Problematik (Pflichtenheft) über die Schaltungseingabe, Verifikation, Programmierung bis hin zur Testung geläufig und auf andere Anforderungen übertragbar.
Einarbeitung in die Entwurfssoftware Max+Plus II von Altera, Einführung und Besonderheiten der Hardwarebeschreibungssprache AHDL, Systematisierung der gebräuchlichen PLD, unterschiedliche Bausteinarchitekturen und deren Vor- bzw. Nachteile, Programmiertechnologien, Verbindungsarchitekturen, Möglichkeiten der Speicherrealisierung in komplexen PLD, CPLD und FPGA, Handhabung von Intellectually Property in PLD, Embedded Processor Solutions am Beispiel eines 32bit Prozessors (Softcore) in einem PLD mit zusätzlicher Hardware, technische Parameter des Prozessors, Programmierung des Prozessors. Überblick über analoge PLD, Einschränkung, Vorstellung eines Analogmasters, Vergleich von PLD verschiedener Hersteller (Altera, XILINX, Lattice u.a.) Im Praktikum Entwurf eines PLD (von der formellen Aufgabenstellung bis hin zur Erprobung in der Hardware)
Prüfung
Klausur | |
---|---|
Termin | |
Datum: | 25.07.2011 |
Zeit: | 12:30 - 14:00 |
Ort: | Röntgen-Hs |
Am Ende des Semester gibt es eine Klausur die über 90 Minuten geht.
Themen
Inhalt:
- allgemein gültige Sachen
- grobe Nennwerte der Schaltungstechnik (z.B. Antifuse ist schnell, SRAM ist groß…), aber keine konkreten Zahlen
- Programmiertechnologie
- Speicherrealisierung
- Verbindungen
- Leitungen
- Unterschied zwischen CPLD und FPGA
- FPGA-Modell
- Aufbau Programmiertechniken
- Look Up Tables (Aufbau)
- Aufbau Speicherzelle
- Mealy vs. Moore Automat
- Übersicht & Vergleiche -> allgemein bekannt, nicht im Detail
- keine technischen Parameter zu einzelnen Bausteinen
- nichts zu VHDL
Vorlesungsskript Zusammenfassung
Entwurf
Dreieck integrierter Schaltungen:
Flächenaufwand
- zur Realisierung einer Schaltung wird Fläche auf dem Chip benötigt
- bestimmte Einflussfaktoren für fest verdrahtete und programmierbare Bauelemente
- mehr Kommunikation und oder Funktionsblöcke mehr Chipfläche
Taktfrequenz
- Schaltung benötigt eine bestimmte Anzahl an Taktzyklen zum durchlaufen
- je mehr Takt umso schneller ist eine Schaltung
- je höher der Takt umso mehr Verbrauch
Verlustleistungsaufnahme
- in CMOS Schaltungen proportional zu der Anzahl der Gatter und der Taktung
Computing in Space vs. Computing in Time
Space:
- Datenflussorientiert
- Parallelisierung
- Piplining
Time:
- Kontrollflussorientiert
- Piplining in moderne DSP möglich
weitere Kriterien
- Skalierbarkeit
- Hardwareaufwand
- Echtzeitfähigkeit
- Verlustleistungsaufnahme
- Flexibilität
- Entwurfsprozess
CMOS-Technologie - Vorteile
- hoher Eingangswiderstand
- geringer Eingangsstrom
- geringer Stromverbrauch
Entwurfsstile
- PLD hoher Preis/Gatter zu Full-Custom hin immer weniger
- Performance bei FC sehr hoch bei PLD gering
- Zur Entwicklung sind Prozessschritte durchzuführen bei FC voll bei PLD keine
- dafür sehr Ausnutzung der Fläche in FC in PLD wiederum nicht
- time to market: PLDs in Tagen bis Wochen, FC in Monaten
- hohe NRE Kosten bei FC
- Entwurfsänderungen in PLDs problemlos in FC nicht
- wenige FC Lieferanten, dafür viele PLD Lieferanten
Allgemeine Eigenschaften von PLD
- niedrige bis hohe Komplexität
- Vielfalt enthaltener Baugruppen von SRAM Blöcken, speziellen Blöcken für Arithmetische Funktionen zur Signalverarbeitung, Ankopplung an weitere Systemelemente per schneller I/O
- sehr kurze Entwicklungs- und Fertigungszeiten
- Änderungen sehr leicht Möglich
- keine NRE-Kosten - mehr als 1000 Stück pro Jahr nicht wirtschaftlich
- schnellere Datenverarbeitung als bei Mikrocontrollern aber teurer
- bausteinseitig vollständig getestet
Low Cost Produkte durch
- Zellstruktur mit hoher Dichte
- wenige Typen dafür hohe Stückzahl
- günstige Gehäusetypen
- spezielle I/O-Schnittstellen
- kurze Verfügbarkeit
- kleinstmögliche Technologie
Systematisierung der PLD
--- BILD müsste hier hin ---
Effektivität von PLD
- Logikdichte (Schaltungsfunktionalität pro Flächeneinheit)
- Durchlaufzeit der Logikblöcke und der Verbindungswege
- Anwenderfreundlichkeit und Implemeniterungsfreundlichkeit
- Stromverbrauch
Probleme beim Entwurf von PLD
- steigende Integrationsdichte
- kürze Lebensdauer der Produkte
- alle FPGA-Strukturen sind verschieden
- kurze Entwicklungszeiten
- Schlatungskomplexität muss beherrscht werden
- neue Einarbeitungszeit
- Entwurf möglichst Architektur unabhängig
Sicherung hoher Entwurfsqualität
- Zehner Regel: Kosten der Fehlerbeseitigung
Programmiertechnologie
Schutz vor Klau
- Level 1: praktisch kein Schutz (SRAM, EEPROM)
- Level 2: moderat sicher, nur von Profis mit entsprechender Ausrüstung (Antifuse)
- Level 3: defakto sicher, aber bei PLDs kaum realisierbar
Reversible
SRAM
- flüchtig
- ca. 5 Transistoren (XILINX)
- große Zellgröße
- keine zusätzlichen Prozessschritte
- pro
- kein Programmiergerät erforderlich
- jede beliebige Funktion aus Eingangssignalen realisierbar
- Rekonfiguriung
- schnelle Entwurfsänderung
- con
- schlechter bzw. umständlicher Kopierschutz
- Konfigurationsspeicher erforderlich
- sorgfältige Planung eines Neustarts erforderlich
- empfindlich gegen radioaktive Strahlung
Flash-EEPROM
- Flashzellen können nicht wortweise, sondern nur in größeren Blöcken
- NOR: - alle Speicherzellen sind parallel an Bitleitung angelschlossen, schnell
- NAND: - Speicherzellen in Serie geschaltet, weniger Kontakte zur Bitleitung, Zelle ca. 40% kleiner, höhere Speicherdichte und geringere Kosten, aber langsamer als NOR
- pro
- rekonfigurierbar
- mittel groß
- con
- 3-5 Prozessschritte
Irreversibel
Antifuse
- Anlegen einer Programmierspannung wird die isoliernde Schicht zwischen den beiden Anschlüssen durchschmolzen
- es entsteht ein niederohmige Verbindung
- einmal programmierbar
- klein bis sehr klein
- große Schalttransistoren, dafür kleine Widerstände
- 3 Prozessschritte