12.03.2019
1
Achtung! Nur ausgewählte Folien
Zu der Vorlesungsreihe:
Programmierbare Logikbausteine
Studiengänge: Ingenieurinformatiker,
Elektrotechnik und Informationstechnik
12.03.2019 Seite 1 Dipl. Ing. Th. Rommel PLD
Programmierbare Logikbausteine
Dipl.-Ing. Thomas RommelFakultät Elektrotechnik und InformationstechnikFachgebiet Elektronische Schaltungen und Systeme
Helmholtzbau Zimmer H 3521Telefon: 69 1170
Praktikumsraum: H1555
12.03.2019 Seite 2 Dipl. Ing. Th. Rommel PLD
12.03.2019
2
Praktikumsanleitungen und Vorlesungsscript
• Fakultät Elektrotechnik und Informationstechnik– Institute und Fachgebiete
• Fachgebiet Elektronische Schaltungen und Systeme– Lehre und Studium
» Vorlesungsübersicht» Programmierbare Logikbausteine
12.03.2019 Seite 3 Dipl. Ing. Th. Rommel PLD
http://www.tu-ilmenau.de/mne-ess/studium-und-lehre/pld/
(Teil A)Entwurf eines PLD an Hand von konkreten
Aufgaben
1. Aufgabenstellung
2. Die Entwurfssoftware Quartus II von Altera
3. Einführung in die Hardwarebeschreibungssprache VHDL (optional)
12.03.2019 Seite 4 Dipl. Ing. Th. Rommel PLD
12.03.2019
3
1. Aufgabenstellung Praktikum I (Licon)
• automatische Lichtsteuerung, abhängig, ob sich jemand im Raum aufhält oder nicht!
• Anzeige der Anzahl der im Raum befindlichen Leute über 7-Segment-Display (max. 9 Leute)
• zusätzliches Warnsignal, das anzeigt, dass sich mehr als 4 Leute im Raum befinden.
12.03.2019 Seite 5 Dipl. Ing. Th. Rommel PLD
AufgabenstellungPraktikum II
Implementation eines Videospieles (Moorhuhn) in abgerüsteter Version in einen Cyclone III -Baustein Freie Wahl der Entwursmethoden:
Schematic, VHDL, AHDL, Verilog, State Machine Editor, LPM (Library of Parameterized Modules)
12.03.2019 Seite 6 Dipl. Ing. Th. Rommel PLD
12.03.2019
4
Quartus II Web Edition
• Search• Download Center• Software Selector: Quartus Version 13.1• Web Edition• Downloaden entweder als Combined Files oder Individual Files• Create Account• Anweisungen folgen
12.03.2019 Seite 7 Dipl. Ing. Th. Rommel PLD
http://www.altera.com
Altera Megafunctions(XILINX Core Generator)
• Standardisierte, parametrisierbare, getestete Blöcke• Verkürzung der Entwurfszeit durch Einsatz von Megafunctions• In allen Entwurfsmethoden verfügbar einschließlich in HDL• Optimierte Designs für diesen Block• Steigerung der Produktivität • Reduzierung Time-to-market• Quellen für Megafunctions:
– AMPP (Altera Megafunctions Partner Program)– MegaCore Functions (Max-Plus II migration products)– Reference Designs (IP)– MegaWizard Plug-Ins
12.03.2019 Seite 8 Dipl. Ing. Th. Rommel PLD
12.03.2019
5
Megafunctions Design Flow
12.03.2019 Seite 9 Dipl. Ing. Th. Rommel PLD
Anforderung eines OpenCore bei Altera
Instantiierung der Funktion im Design
Simulation des Designs
Funktioniert die Lösung im Design?
Lizensierung der FunktionKonfigurieren des PLD
Kein Risiko
(Wenn überhaupt notwendig)
(Nicht notwendig bei MegaWizard Plug-In)
Nein
Ja
Megafunctions (Auszug)
12.03.2019 Seite 10 Dipl. Ing. Th. Rommel PLD
IP Core Name Funktion
LPM_ADD_SUB IP Core Adder/Substractor
LPM_COMPARE IP Core Comperator
LPM_COUNTER IP Core Counter
LPM_MULT IP Core Multiplier
LPM_DIVIDE IP Core Divider
ALTECC ECC Encoder/Decoder
ALTMULT_COMPLEX IP Core Complex Multipier
ALTPLL PLL
LPM_CONSTANT Constant Declaration
LPM_MUX Multiplexer
ALTCLKCTR Clock Control Block
LPM_ROM ROM Block
LPM_FIFO Fifo Block
ca. 300 Megafunctions + IP‘s
12.03.2019
6
MegaFunction in VHDL nutzen (Beispiel lpm_counter)• VHDL Component Declaration:COMPONENT lpm_counter
GENERIC (LPM_WIDTH: POSITIVE; LPM_MODULUS: NATURAL := 0; LPM_DIRECTION: STRING := "UNUSED"; LPM_AVALUE: STRING := "UNUSED"; LPM_SVALUE: STRING := "UNUSED"; LPM_PVALUE: STRING := "UNUSED"; LPM_TYPE: STRING := "LPM_COUNTER"; LPM_HINT : STRING := "UNUSED");
PORT (data: IN STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0) := (OTHERS => '0'); clock: IN STD_LOGIC; clk_en, cnt_en, updown: IN STD_LOGIC := '1'; sload, sset, sclr, aload, aset, aclr, cin: IN STD_LOGIC := '0'; cout: OUT STD_LOGIC; --eq: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); q: OUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0));
END COMPONENT;
• VHDL LIBRARY-USE DeclarationLIBRARY lpm; USE lpm.lpm_components.all;
12.03.2019 Seite 11 Dipl. Ing. Th. Rommel PLD
Programmierbare Logikbausteine
Teil BÜbersicht über verschiedene PLD-Architekturen
12.03.2019 Seite 12 Dipl. Ing. Th. Rommel PLD
12.03.2019
7
Übersicht• Einführung: Möglichkeiten vom Markt• Entwurfsstile im Vergleich• Programmierbare Logikbausteine (PLD)
– Programmiertechnologien– Verbindungsarchitekturen– Speicher in komplexen PLD– Verschiedene Bausteinarchitekturen
• PLD geringer Dichte• Complex Programmable Logic Devices• Field Programmable Gate Array FPGA
– Modell– Moderne FPGA-Strukturen– Aufbau und Ressourcen– Methoden und Werkzeuge für FPGA basierende Designs
• Embedded Processor Solutions• Analoge PLD
12.03.2019 Seite 13 Dipl. Ing. Th. Rommel PLD
Hardware oder Software?Computing in Space vs. Computing in Time
Räumliche Sequentialisierung• Datenflussorientierung• Parallelisierung (Addition und Subtraktion)• Pipelining (Add/Sub und Mul)
12.03.2019 Seite 14 Dipl. Ing. Th. Rommel PLD
Algorithmus
X = A + BY = C – DZ = X * Y
strukturierbare Hardware
2 Zyklen
A
B
C
D -
+
*Z
Y
X
Mikroprozessor
load Aload B
addstore Xload Cload D
substore Yload Xload Y
mulstore Z
12 Zyklen
Zeitliche Sequentialisierung• Kontrollflussorientierung• Pipelining bei modernen
Mikroprozessoren (DSP) auch möglich
FPGA
12.03.2019
8
Performance vs Flexibility
12.03.2019 Seite 15 Dipl. Ing. Th. Rommel PLD
ASICsFPGAs
µCsDSPs
Multicore
GPGPUs
Flexibility
Perfo
rman
ce
Quelle: J.J. R. Andina
Merkmale von ASIC, FPGA, µC, Multicore and GPGPU
12.03.2019 Seite 16 Dipl. Ing. Th. Rommel PLD
ASIC
FPGA
Flexibility
Design cost
Unitary costPerformance
Powerefficiency
µCMulticore GPGPU
Quelle: FPGAs, J. J. R. Andina
12.03.2019
9
Hardware oder Software?Computing in Space vs. Computing in Time
12.03.2019 Seite 17 Dipl. Ing. Th. Rommel PLD
Hardware Software
Skalierbarkeit + -
Hardwareaufwand -- ++
Echtzeitfähigkeit +++ --
Verlustleistungsaufnahme + -
Flexibilität -- ++
Entwurfsprozess -- +
Kosten -- +++
Hardware FPGA Software
Skalierbarkeit + + -
Hardwareaufwand -- - ++
Echtzeitfähigkeit +++ +++ --
Verlustleistungsaufnahme ++ + -
Flexibilität -- ++ ++
Entwurfsprozess -- + +
Kosten -- - +++
Zielkonflikte beim Entwurfmagische Dreieck beim Entwurf integrierter Digitalschaltungen
12.03.2019 Seite 18 Dipl. Ing. Th. Rommel PLD
Geschwindig-keit
Verlustleistungs-aufnahme
Flächen-aufwand
synchrone Schaltung benötigt bestimmte Anzahl von Taktzyklen
zur Realisierung einer Schaltung wird bestimmte Fläche auf Silizium benötigt
Verlustleistungsaufnahme in herkömmlicher CMOS-Realisierung ist proportional zu Anzahl der Gatter und Schalthäufigkeit
12.03.2019
10
Lösungsraum mit bester Lösung
12.03.2019 Seite 19 Dipl. Ing. Th. Rommel PLD
Ver
lust
leis
tung
Datenrate
Lösungsraum
Integrated Circuits (IC) Übersicht
12.03.2019 Seite 20 Dipl. Ing. Th. Rommel PLD
Integrated Circuits
Standard-baustein
ASIC
Micro-Controller
A/D-Wandler
Speicher …
Semi-Custom
Custom
PLDGate-Array
Cell-Array
Full-Custom
FPGAsimplePLDCPLD
12.03.2019
11
CMOS-Technologie(Complimentary Metal Oxide Semiconductor)
• häufigst verwendete Technologie in ASIC und PLD
• Vorteil: Gate ist isoliert gegenüber Substrat
→ hoher Eingangswiderstand→ geringer Eingangsstrom→ geringer Stromverbrauch
12.03.2019 Seite 21 Dipl. Ing. Th. Rommel PLD
CMOS-Technologie
einfache Darstellung eines Feldeffekttransistors (N-Channel MOSFET)
12.03.2019 Seite 22 Dipl. Ing. Th. Rommel PLD
12.03.2019
12
CMOS-Technologie(N-Channel MOSFET)
Spannung Gate/Source ≤ 0V: Schalter offen (kein Strom)
12.03.2019 Seite 23 Dipl. Ing. Th. Rommel PLD
Quelle:http://www.digitaltechnik.org
CMOS-Technologie(N-Channel MOSFET)
Spannung Gate/Source > 0V: Schalter geschlossen
(pos. Drain/Source Strom)
12.03.2019 Seite 24 Dipl. Ing. Th. Rommel PLD
Quelle:http://www.digitaltechnik.org
12.03.2019
13
Entwurfsstile
12.03.2019 Seite 25 Dipl. Ing. Th. Rommel PLD
PLD
vollständig vorentworfen
vollständig vorgefertigt
Design beim Anwender
Zuweisung von Funktionselementen auf Zielarchitektur
evtl. Place & Route
Implementation beim Anwender
Fertigstellung beimAnwender
Gate-Array
Master und Macrosvorentworfen
Master vorgefertigt
Design beimAnwender
Abbildung auf Bibliothek des Zielsystems
Place & Route
Implementation bei Anwender und
Hersteller
Fertigstellung beimHersteller
Cell-Array
vorentworfene Zellen
keine Vorfertigung -durchgängiger Prozess
mit allen Masken
Design beim Anwender
Abbildung auf Bibliothek des Zielsystems
Place & Route
Implementation bei Anwender und
Hersteller
Fertigstellung beimHersteller
F llFullCustom
kein Vorentwurf
keine Vorfertigung -durchgängiger Prozess
mit allen Masken
Design beim Anwender und
Hersteller
Entwurf aller geometrischen
Strukturen
Place & Route
Implementation beim Hersteller
Fertigstellung beimHersteller
Full Custom
• Layout aller geometrischen Strukturen• optimierte Entwürfe (Geschwindigkeit,
Fläche, Verlustleistung usw.)• sehr lange Entwurfsdauer (Effizienz)• Ausnutzung von Regularitäten• viel Erfahrung notwendig• Teamarbeit nötig, (Interfacebeschreibung
problematisch)
12.03.2019 Seite 26 Dipl. Ing. Th. Rommel PLD
Quelle: A.Mäder
12.03.2019
14
Cell-Array (Standardzelle)
12.03.2019 Seite 27 Dipl. Ing. Th. Rommel PLD
• vorgefertigte Zellen aus Bibliothek• Layout der Standardzellen in Full-Custom Qualität• flexibler Entwurf• meist in Verbindung mit
Quelle: A.Mäder
Makrozellgeneratoren
Makrozellgenerator Zellen wie Speicher, ALUs oder Datenpfade werden über
Generatoren erzeugt Makrozellen in Full-Custom Qualtität
Chipgröße, variabelZellenanzahl variabelZellenhöhe festZellengröße variabelAnschlusslage variabelLeiterbahnkanäle variabel
Cell-Array (Standardzelle)
12.03.2019 Seite 28 Dipl. Ing. Th. Rommel PLD
Quelle: A.Mäder
Aufbau eines NAND-Gatters (CMOS-Technologie) und…….
12.03.2019
15
Gate-Array (Sea of Gate)
12.03.2019 Seite 29 Dipl. Ing. Th. Rommel PLD
Quelle: A.Mäder
• vorgefertigte Transistoren• Layout durch Verbindungsstruktur (Verdrahtung, Kontakte)• Intra-Zell Verdrahtung aus Zellbibliotheken• vorgegebener Master: Komplexität eingeschränkt, keine optimale
Auslastung• schnelle Verfügbar-
keit
Gate-Array (Sea of Gate)
12.03.2019 Seite 30 Dipl. Ing. Th. Rommel PLD
Quelle: A.Mäder
freie Zelle
belegte Zelle (4-input NOR)
12.03.2019
16
Entwurfsstile
12.03.2019 Seite 31 Dipl. Ing. Th. Rommel PLD
Standard-baustein Full-Custom Semi-
Custom PLD
Preis pro Gatter gering gering mittel hoch
Performance mittel hoch mittel gering
Prozesschritte voll voll 4 – 10 0
Silizium Ausnutzung sehr gut sehr gut gut gering
time-to-market sofort Monate Wochen sofort
NRE-Kosten - sehr hoch hoch gering
Entwurfsänderungen - sehr aufwendig aufwendig einfach
Lieferanten viele einer zumeist einer viele
Entwurfsstile
12.03.2019 Seite 32 Dipl. Ing. Th. Rommel PLD
12.03.2019
17
verzögerte Markteinführung
12.03.2019 Seite 33 Dipl. Ing. Th. Rommel PLD
rechtzeitigerEintritt
Ein
nahm
en (
€)
Marktwachstum Markteinbruch
Zeit
verspätet
rechtzeitig
Maximaleinnahmen
Maximaleinnahmenbei verspätetem Eintritt
verspäteterEintritt
V LH L
Quelle: Vahid, Embedded System Design
Programmierbare Logikbausteine (PLD)Allgemeines
• niedrige bis hohe Komplexität (100 ... 5 Mio. Gatter)• Vielfalt enthaltener Baugruppen
– SRAM Blöcke (64 Mb), – Bereitstellung aufwendiger Taktaufbereitung (PLL, Clock-Network)– spezielle Blöcke für arithmetische Funktionen zur digitalen Signalverarbeitung,– Ankopplung weiterer leistungsfähiger Systemelemente an die I/O-Schnittstellen des PLD
(gängigen Protokolle für Speicheranbindung, Kommunikationsprotokolle bis in GHz-Bereich)
• sehr kurze Entwicklungs- und Fertigungszeiten (Stunden bis Wochen)• Änderungen sehr leicht möglich • Keine NRE-Kosten - wirtschaftliche Stückzahl: 1000 pro Jahr (!)• Schnellere Datenverarbeitung als bei Mikrocontrollern (aber auch teurer)• bausteinseitig vollständig getestet (bei RAM basierten Bausteinen)
12.03.2019 Seite 34 Dipl. Ing. Th. Rommel PLD
12.03.2019
18
PLD - History
12.03.2019 Seite 35 Dipl. Ing. Th. Rommel PLD
Geschäftsbereiche
12.03.2019 Seite 36 Dipl. Ing. Th. Rommel PLD
Xilinx
Intel (Altera)
Lattice
Microsemi(Actel)
12.03.2019
19
„Low-Cost“ - Produkte
z.B. Altera: „Cyclone“XILINX: „Spartan“
Günstige Kostenstruktur durch:
• Zellstruktur höherer Dichte• Produktportfolio auf wenige Typen beschränkt -> hohe Stückzahlen• Nur günstige Gehäusetypen• Spezielle I/O-Architekturen um Chipfläche zu sparen• Kurze Verfügbarkeitszeiten• Kleinstmögliche Technologie (65 nm), (28 nm)
(1 Mio. Gatter für unter 6 $)
12.03.2019 Seite 37 Dipl. Ing. Th. Rommel PLD
Modernste Prozesstechnik
Ein Technologieschritt:• 30-50% weniger Power• 55% weniger Platz• 10-50% Geschwindigkeitserhöhung• 50% Kosteneinsparungen• Verdoppelungen der Performance
Aber auch:• Höhere Wärmeproblematik• Höhere Leckstromproblematik• Geringer Signal-Rausch-Abstand usw.
12.03.2019 Seite 38 Dipl. Ing. Th. Rommel PLD
28nm
12.03.2019
20
Tri-Gate
12.03.2019 Seite 39 Dipl. Ing. Th. Rommel PLD
Inhalte von FPGA
12.03.2019 Seite 40 Dipl. Ing. Th. Rommel PLD
12.03.2019
21
Entwurfsablauf (z.B. FPGA)
12.03.2019 Seite 41 Dipl. Ing. Th. Rommel PLD
Design Entry
Functional Simulation
Synthesizingand Optimizing
Place & Routment
Generating Bitstream
Download toDevice
Constraits
Timing (Pre-Layout) Simulation
Timing (Post-Layout) Simulation
HDL
Schematic
State Machine
Macrogenerator
IP
…
Synthese
• Unter der Synthese beim Entwurf digitaler Systeme versteht man die Erzeugung einer hardwarenäheren Beschreibung aus einer abstrakten Beschreibung
• Synthese kann auf verschiedenen Ebenen erfolgen:
• Die algorithmische Synthese übersetzt eine verhaltensbasierte Beschreibung in die RTL-Ebene
• Die Logiksynthese überführt ein RTL-Modell in eine gatterbasierte Beschreibung
• Die Layoutsynthese überführt eine Gatternetzliste in ein Layout für die Zielarchitektur
12.03.2019 Seite 42 Dipl. Ing. Th. Rommel PLD
12.03.2019
22
Synthese (Entwurfsschritte)• Funktionelle Simulation• Technologieabbildung
• Wahl einer Zielarchitektur (FPGA, CPLD)• RTL-Beschreibung unter Einbeziehung von Bibliothekselementen• Beschr. auf Logikebene unter Verw. der Grundbausteine Zielarchitektur• Ausgabe einer Netzliste
• Place & Route• Konkreter Zielbaustein muss vorliegen• Auswahl und Platzierung der Primitivzellen im Zielbaustein• Realisierung der Verdrahtung (intern und zu den E/A-Pins)• Extraktion von realen Zeitparametern aus Geometrie• Zeitliche Simulation des Entwurfs nach der Synthese
• Hardware-Test
12.03.2019 Seite 43 Dipl. Ing. Th. Rommel PLD
Steuerung der Synthese
• Optimierung bzgl. Geschwindigkeit zweistufige Logik, möglichst viele parallele Berechnungen,um kurze Laufzeiten zu erreichen
• Optimierung bzgl. Fläche mehrstufige Logik mit möglichst vielen gemeinsamen Subtermen
• Optimierung bzgl. Verlustleistung (optional)
• Weitere Randbedingungen der Synthese werden über bestimmteEingabeparameter gesteuert, die als Constraints bezeichnetwerden
12.03.2019 Seite 44 Dipl. Ing. Th. Rommel PLD
12.03.2019
23
Place & Route
• Layoutsynthese• Abbildung der Schaltung auf den konkreten Zielbaustein• (d.h. es muss festgelegt werden, welche CLBs eines vorgegebenen Chips nun zur Realisierung
benutzt werden und wie die Verdrahtung zu realisieren ist)
• Es erfolgt zunächst eine Platzierung: beginnend z.B. in der linken oberen Ecke werden den Elementen aus der
Netzliste die nächsten freien CLBs zugeordnet und eng gekoppelte Elementesollten auch auf benachbarte CLBs platziert werden
evtl. angegebene Constraints bzgl. Geometrie werden berücksichtigt
• Anschließend Routing: die benötigten Verbindungen aus der Netzliste werden auf die nächsten
freie Kanäle abgebildet (Verbindungen sollen hierbei möglichst kurz sein und mit möglichst wenigen Segmenten auskommen)
12.03.2019 Seite 45 Dipl. Ing. Th. Rommel PLD
Synthese und Implementation
12.03.2019 Seite 46 Dipl. Ing. Th. Rommel PLD
process (clk, reset)beginif reset = ‘1‘ then counter <= 0;elseif clk‘event and clk=‘1‘ then
if counter = MaxVal thencounter <= 0;
elsecounter <= counter +1;
end if;end if;end process;
(a) HDL code
Adder
Reg =?clk
1
MaxVal
(b) abstract model
Tclk
Tclk
1
(c) after Boolean optimization
LUT0
FF0
LUT1
FF0
clk
(d) mapped intor target technology
LB0,0
LB0,1
LB1,0
LB1,1
Switchbox
(e) placed design
LB0,0
LB0,1
LB1,0
LB1,1
Switchbox
(f) placed and routed design
12.03.2019
24
Sicherung hoher Entwurfsqualität
Zehner-Regel: Kosten der Fehlerbeseitigung
12.03.2019 Seite 47 Dipl. Ing. Th. Rommel PLD
Systematisierungs- und Auswahlkriterien
• Anzahl der Funktionselemente (CLB, LE, PFU usw.)
• Größe der Funktionselemente
• Art und Anzahl der Verbindungsleitungen
• Realisierung der Kombinatorik (Aufbau der Logikblöcke)
• Programmiertechnologie
12.03.2019 Seite 48 Dipl. Ing. Th. Rommel PLD
Granularität(Körnung)
12.03.2019
25
Granularität (Beispiel)
Feine Granularität
12.03.2019 Seite 49 Dipl. Ing. Th. Rommel PLD
Grobe Granularität
Programmable Function Unit (PFU) der OR2C-Familie (Lucent Technologies)
Systematisierung der PLD
12.03.2019 Seite 50 Dipl. Ing. Th. Rommel PLD
ein klassisches FE
Kombinatorik +FF
keine
PAL, PLA(UND/ODER)
Fused LinkEPROM
Globale Architektur
Wenige FE
Breite Kombinatorik +FF
Vorwiegend global
PAL, PLA, MUX
EEPROM, Flash
viele FE
Schmale Kombinatorik +FF
Vorwiegend lokal
LUT, MUX
SRAM, FlashAntifuse
Aufbau Funktionselement
Verbindung zwischen den FE
Realisierung der Kombinatorik
Realisierung der Kombinatorik
simpl
e PLD
CPLD
FPG
A
12.03.2019
26
Schwierigkeiten beim Entwurf von PLD
• steigende Integrationsdichte
• kürzere Lebensdauer der Produkte
• alle FPGA-Strukturen sind unterschiedlich
12.03.2019 Seite 51 Dipl. Ing. Th. Rommel PLD
Schaltungskomplexität muss beherrscht werden
kurze Entwicklungszeiten
neue Einarbeitungszeit
Entwurf möglichst unabhängig von Architektur
Programmiertechnologie
12.03.2019 Seite 52 Dipl. Ing. Th. Rommel PLD
Programmtechnologien
Reversibel Irreversibel
Speicherzelle Antifuse Fused Link
SRAM EPROM/ Flash
PLICE Via Link Micro Fuseflüchtig nicht flüchtig
12.03.2019
27
Übersicht Hersteller/Programmiertechnologie
12.03.2019 Seite 53 Dipl. Ing. Th. Rommel PLD
Technologie Hersteller Baustein-familie Architektur
Antifuse ActelQuicklogic
AxcelatorpASIC
FPGAFPGA
SRAM
AlteraAlteraAtmelXilinx
StratixFLEX
AT40KVirtex
FPGAFPGA/CPLD
FPGAFPGA
EEPROMAlteraLatticeXilinx
MAXGodfather
Coolrunner
CPLDCPLDCPLD
FLASH ActelXilinx
ProAsicXC9500
FPGACPLD
Fused-Links Atmel PAL SPLD
Programmiertechnologie - Fused Link
12.03.2019 Seite 54 Dipl. Ing. Th. Rommel PLD
Word Line
Data Bit Line
PullupResistor
ProgrammedConnection
Transistor
Durchbrennphasen in der UND/ODER-MatrizenSchaltbild
12.03.2019
28
Fused Link
12.03.2019 Seite 55 Dipl. Ing. Th. Rommel PLD
Einmal programmierbareDioden basierte PROM-Zelle
Einmal programmierbareTransistor basierte PROM-Zelle
Programmiertechnologie - Antifuse
• durch Anlegen einer Programmierspannung wird die isolierende Schicht zwischen den beiden Anschlüssen durchgeschmolzen
es entsteht eine niederohmige, dauerhafte Verbindung
• Anwendung: vorwiegend in FPGA
12.03.2019 Seite 56 Dipl. Ing. Th. Rommel PLD
12.03.2019
29
Via Link – AntifuseAmorphe Silizium Antifuse (QuickLogic)
• sehr geringer Platzbedarf
• niedriger elektrischer Widerstand
• kleine Kapazitäten
12.03.2019 Seite 57 Dipl. Ing. Th. Rommel PLD
SiO2
Metall
Metall amorphesSilizium
Verbindung
Programmiertechnologie - SRAM
12.03.2019 Seite 58 Dipl. Ing. Th. Rommel PLD
5 Transistor-SRAM-Zelle von XILINX
Zwei kreuzweise gekoppelte Inverter A und B als Speicherelement
12.03.2019
30
SRAM-Zellen(Programmierelemente mit Speicherzelle)
12.03.2019 Seite 59 Dipl. Ing. Th. Rommel PLD
S
SSSSSSSSS
S
= Speicherzelle
DurchgangsgatterPass Transistor
Multiplexer Lookup Table(LUT)
SRAM-Programmiertechnologie
12.03.2019 Seite 60 Dipl. Ing. Th. Rommel PLD
Vorteile Nachteile
kein Programmiergerät erforderlichschlechter bzw. umständlicher
Kopierschutz
jede beliebige Funktion ausEingangssignalen realisierbar
Konfigurationsspeicher erforderlich
Rekonfigurierung, ISPsorgfältige Planung nach Neustarts
notwendig
schnelle Entwurfsänderungen möglich
empfindlich gegen radioaktive Strahlung -> SEU
Technologie preiswert
12.03.2019
31
Verschlüsselung des Datenstroms bei SRAM-basierenden Bausteinen
12.03.2019 Seite 61 Dipl. Ing. Th. Rommel PLD
Kleiner nicht flüchtiger Speicher
Programmiertechnologie – EPROM(Aufbau einer EPROM-Zelle)
12.03.2019 Seite 62 Dipl. Ing. Th. Rommel PLD
12.03.2019
32
12.03.2019 Seite 63 Dipl. Ing. Th. Rommel PLD
Programmiertechnologie – EPROM(Beschreiben einer EPROM-Zelle)
12.03.2019 Seite 64 Dipl. Ing. Th. Rommel PLD
Programmiertechnologie – EPROM(Lesen einer EPROM-Zelle)
12.03.2019
33
Flash- EEPROM
• FLASH-Zellen können nicht wortweise gelöscht werden, sondern nur in größeren Blöcken
• NOR-Architektur: alle Speicherzellen sind parallel an die Bitleitung angeschlossen
• NAND-Architektur: typischerweise 8 oder 16 usw. Speicherzellen in Serie geschaltet
notwendige Kontakte zu den Bitleitungen entfallen Zelle ca. 40% kleiner höhere Speicherdichte als bei NOR geringere Kosten, ABER Zeit für Auslesen durch die Serientransistoren
deutlich größer als bei NOR
12.03.2019 Seite 65 Dipl. Ing. Th. Rommel PLD
EPROM - Zellen
12.03.2019 Seite 66 Dipl. Ing. Th. Rommel PLD
UV-EPROM EEPROM Flash-EEPROM
Löschen UV-Licht elektrisch elektrisch
Relative Zellgröße 14,2
(zusätzlich Transistoren)
1extrem dünne Silizium-Schicht unter Floating-
Gate
Programmier-zeit < 1 ms < 1 ms 200 µs
Löschzeit 20 min 1 ms < 1 ms
12.03.2019
34
Vergleich der Technologien
12.03.2019 Seite 67 Dipl. Ing. Th. Rommel PLD
SRAM FLASH-EPROM Plice ViaLink
Konfigurierung flüchtig? ja nein nein nein
rekonfigurierbar? ja ja nein nein
in System programmierbar? ja theoretisch ja nein nein
Zellengröße groß mittel; als Array klein (sehr)klein sehr klein
Schalttransitoren - - groß groß
On-Widerstand 0,6….1 kΩ 0,6….1 kΩ 200Ω 20….50Ω
Off-Kapazität 10…20 fF 10….20 fF 5 fF 1 fF
zusätzliche Prozessschritte 0 3 bis 5 3 3
Logik-Designs vor Reverse-Engeneering schützen
• Level I– Bausteine gelten als unsicher (SRAM, EPROM)
• Level II– Moderat sicher, da nur von sehr gut ausgebildeten Personen mit teurer
Laborausrüstung durchgeführt werden kann. (Antifuse)
• Level III– In hohem Maße sicher, Reverse Engeneering kaum möglich (Bei PLD kaum
realisierbar)
12.03.2019 Seite 68 Dipl. Ing. Th. Rommel PLD
12.03.2019
35
12.03.2019 Seite 69 Dipl. Ing. Th. Rommel PLD
Programmierung von PLDs/FPGAsJTAG-Schnittstelle
Quelle: Bringmann/Lange/Bogdan, Eingebette Systeme
Bedeutung Konfigurierbarkeit
12.03.2019 Seite 70 Dipl. Ing. Th. Rommel PLD
Konfigurationskonzepte:• Kompletter Bitstream im Konfigurationsspeicher• Partieller Bitstream, während restlicher FPGA weiterarbeitet (RTR)• Selbstrekonfigurierbare Systeme (SFS)
Granularität als Aspekt für partielle Rekonfiguration:• Große Granularität (z.b. Austausch eine komplexen IP-Cores)• Mittlere Granularität (Registerebene, um IP-Kern zu modifizieren)• Kleine Granularität (Inhalt LUT modifizieren)
12.03.2019
36
VerbindungsarchitekturenAnforderungen an die Verbindungsarchitekturen programmierbarer Logikbauelemente:
12.03.2019 Seite 71 Dipl. Ing. Th. Rommel PLD
Typen von Verbindungsleitungen:• Lokale Verbindungsleitungen• Globale Verbindungsleitungen• Spezielle Verbindungsleitungen für die Verteilung von Taktsignalen und anderen
zeitkritischen Signalen• Leitungen die zum Preset oder Reset der Schaltungen genutzt werden• Leitungen für Spannungsversorgung der Logikzellen
12.03.2019 Seite 72 Dipl. Ing. Th. Rommel PLD
𝜏𝐷𝑁, 𝑃𝑇 𝐶 · 𝑅 𝐶 · 2 · 𝑅 … 𝐶 · 𝑁 · 𝑅
Verdrahtung und Zeitverhalten
𝑅 𝑅 𝑅
Elmore Zeitkonstante:
𝜏𝐷𝑁, 𝑃𝑇 𝐶 · 𝑅 ·𝑁 𝑁
2
12.03.2019
37
12.03.2019 Seite 73 Dipl. Ing. Th. Rommel PLD
Taktsystemeim FPGA
Cyclone III
Taktsysteme im FPGA(Clock Control Block)
12.03.2019 Seite 74 Dipl. Ing. Th. Rommel PLD
Cyclone III
12.03.2019
38
Taktsysteme im FPGA(PLL)
12.03.2019 Seite 75 Dipl. Ing. Th. Rommel PLD
Cyclone III
Off-chip und In-chip Kommunikation
Bei datenintensiven Anwendungen (Big Data Anwendungen) ist Kommunikation einer der Schlüsselfaktoren für Gesamtleistung
Off-chip:
• Low-Speed Interfaces
– Kleine Datenmengen
– Meist serielle Interfaces (I2C, SPI usw.)
• High-Speed Interfaces
– Z.B. PCIe
On-chip:
• Point-to-Point
• Busbasierte Kommunikation
• NoC (Network on Chip)
12.03.2019 Seite 76 Dipl. Ing. Th. Rommel PLD
12.03.2019
39
Speicher in komplexen PLD (FPGA)
Kriterien:
• Größe• Wortbreite• Zugriffszeit• zusätzliche
Funktionalitäten
12.03.2019 Seite 77 Dipl. Ing. Th. Rommel PLD
technologiebedingt
entwurfsbedingt
Energiebedarf von elektronischen Systemen
12.03.2019 Seite 78 Dipl. Ing. Th. Rommel PLD
𝐸 𝑊ℎ 𝑃 𝑡 𝑑𝑡
𝑃 𝑊 𝑃 𝑃
𝐼 𝐼 ∗ 𝑉 𝑎 ∗ 𝑓 ∗ 𝐶 ∗ 𝑉
a – relative Schalthäufigkeitf – TaktfrequenzCL- LastkapazitätVDD- Versorgungsspannung
12.03.2019
40
Energiesparfunktionen
• Wählbare Core-Spannung Core-Spannung kann von 1,1V auf 0,9V reduziert werden, wenn Design nicht die
volle Leistung des FPGA benötigt
• Quartus II Power Play Optimierungsfunktion in der Quartus II – Software, die das Design möglichst
energiesparend realisiert in dem z.B. Synthese, Platzierung und Routing entsprechend optimiert werden
12.03.2019 Seite 79 Dipl. Ing. Th. Rommel PLD
• Programmable Power Technologie Nur Logikblöcke im kritischen Pfad
arbeiten im High-Speed-Mode alle anderen Logikblöcke werden im Low-Power-Mode betrieben
Quartus II – Software erkennt selbständig kritische Pfade und programmiert entsprechend
Verschiedene Bausteinarchitekturen:
PLD geringer Dichte
12.03.2019 Seite 80 Dipl. Ing. Th. Rommel PLD
ProgrammierbareUND / ODER - Matrix
AusgabeBlock
EingabeBlock
programmierbare Rückkopplung
Eingang Ausgang
12.03.2019
41
Chiparchitekturen bei PLD geringer Dichte
Realisierung der Kombinatorik durch zweistufige Logik: UND- und ODER-Felder
12.03.2019 Seite 81 Dipl. Ing. Th. Rommel PLD
UND-Matrix ODER-Matrix Normalform
RAM, ROM fest programmierbar KDNF
PAL programmierbar fest DNF
PLA programmierbar programmierbar DNF
Grundstruktur von PLA-Bausteinen
12.03.2019 Seite 82 Dipl. Ing. Th. Rommel PLD
12.03.2019
42
PLA-Programmierung
unprogrammiert
12.03.2019 Seite 83 Dipl. Ing. Th. Rommel PLD
programmiert
PROM
12.03.2019 Seite 84 Dipl. Ing. Th. Rommel PLD
PAL
programmierbarem ODER-Feld programmierbarem UND-Feld
12.03.2019
43
PLA
12.03.2019 Seite 85 Dipl. Ing. Th. Rommel PLD
programmierbarem UND- und ODER-Feld
Beispiel für PLA-Realisierung
12.03.2019 Seite 86 Dipl. Ing. Th. Rommel PLD
𝑥 𝑏 𝑐 𝑎 𝑏 𝑐
y 𝑎 𝑏 𝑐 + b c
12.03.2019
44
Implementierbarkeit bei PLD geringer Dichte
• Anzahl der Register• Konfigurationsmöglichkeiten für Register (CLK, S, R usw.)• Anzahl Ausgänge• Anzahl Eingänge• Anzahl Produktterme
Hauptaugenmerk bei Untersuchung der Kombinatorik
ROM: Anzahl der EingängePAL: Anzahl Produktterme pro EingangPLA: Anzahl Produktterme gesamt
12.03.2019 Seite 87 Dipl. Ing. Th. Rommel PLD
Gemeinsamkeiten zwischen CPLD und FPGA
• Aufbau aus mehreren Blöcken, die untereinander geeignet verbunden werden können, „Programmierbare Blöcke mit programmierbaren Verbindungsstrukturen“
• flexible Blockstruktur im Vergleich zum PLD niedriger Dichte bessere Logikzuordnung flexiblere Makrozellen bessere Entkopplung interner Ressourcen
• weitgehende Entkopplung von Logik und E/A-Blöcken (mit Einschränkungen)• E/A-Blöcke als Eingang, Ausgang oder bidirektional konfigurierbar;
universelle Steuerungsmöglichkeiten für vorhandene Tristate-Buffer• Platzierung notwendig• Technologie: CMOS• Programmiertechnologien: SRAM, EPROM, Antifuse
12.03.2019 Seite 88 Dipl. Ing. Th. Rommel PLD
12.03.2019
45
Ursprüngliche Unterschiede zwischen CPLD und FPGA
12.03.2019 Seite 89 Dipl. Ing. Th. Rommel PLD
Eigenschaften CPLD FPGA
Aufbau der Logikzellen
wenige große Blöcke mit integrierter Logik- und E/A-Makrozellen
PAL-Logik (AND/OR-Matrix)· 22-48 Eingänge· 8-32 Makrozellen pro/Bl.· 8-32 Ausgänge· alle Makrozellen benutzen die
gleichen Eingänge
große Anzahl relativ kleiner Funktionselemente (feinkörnig)
Logik: MUX oder LUT (RAM)· 4-13 Eingänge · 2-4 Makrozellen· 2-4 Ausgänge
Verbindungen zentrale globale Verbindungen
keine Verdrahtung notwendig
dezentrale lokale Verbindungen
Verdrahtung notwendig
Unterschiede zwischen CPLD und FPGA
12.03.2019 Seite 90 Dipl. Ing. Th. Rommel PLD
CPLD FPGA
E/A relativ feste Konfiguration der Verbindungsleitungen zwischen Makrozellen und Pins
schneller Signalweg von Logikmakrozellen zu Pins
keine separaten Ausgangsregister
Ring aus frei zuordenbaren E/A-Blöcken
jede Logikmakrozelle kann mit jedem Pin verbunden werden
separate Ausgangsregister vor den Pins
Signallaufzeiten homogen
· konstant· relativ kurz· vorhersagbar
Geschwindigkeit nicht abhängig von Schaltung
stark vom konkreten Signalweg abhängig· ungleichmäßig· auch hohe Werte möglich· erst durch Layoutextraktion
zu bestimmen
Geschwindigkeit abhängig von der Schaltung
12.03.2019
46
Unterschiede zwischen CPLD und FPGA
12.03.2019 Seite 91 Dipl. Ing. Th. Rommel PLD
Eigenschaften CPLD FPGA
Flexibilität mittel hoch
Flächenausnutzung 40% - 60% 50% - 95%
Stromverbrauch Low Power Low Power,
Einsatzgebiete bei breiten Eingangsfunktioneneinfache Realisierung schneller komplexer State Machines
schmale Eingangslogikregisterintensive Schaltungen
Vor-/Nachteil Preis pro Gatter mittel bis hoch
• Preis pro Gatter gering bis hoch• anspruchsvolle Software erforderlich• angemessene
Verdrahtungsressourcen erforderlich• einfacher Umstieg auf Bausteine öherer
Komplexität bei Beibehaltung der Leistungsdaten
Unterschiede zwischen CPLD und FPGA
12.03.2019 Seite 92 Dipl. Ing. Th. Rommel PLD
Eigenschaften CPLD FPGA
Anzahl I/O Pins 44 ... 500 44 ... 1200
Komplexität 500 ... 12.000 Gatter40-2000 FF
1000...5.000.000 Gatter100-2 Mio FF
Total RAM Blocks 0- 1,6Mbits 0-68 MBits
Programmier-technologie EEPROM / FLASH SRAM/Antifuse
Flexibililät ADCs, PLL, wenige IPs ADCs, PLL, DSP-Blöcke, Memory-Interfaces, IPs,
usw.
12.03.2019
47
Die umsatzstärksten Hersteller von PLD
12.03.2019 Seite 93 Dipl. Ing. Th. Rommel PLD
Hersteller PLD CPLD FPGA
Microsemi
Intel (Altera)
IGLOOPolarFireRTG4
MAX II
MAX 10 Familie
Stratix V, 10Arria V, 10Cyclone III, V
Die umsatzstärksten Hersteller von PLD
12.03.2019 Seite 94 Dipl. Ing. Th. Rommel PLD
Lattice(Vantis von AMD)
XilinxVirtex 5,6,7Kintex-7Artix7Spartan-FamileEasyPath 6XC5200XC3000
iCE40 Ultra
12.03.2019
48
Actel (Microsemi)
• Microsemi Lowest Power FPGA
12.03.2019 Seite 95 Dipl. Ing. Th. Rommel PLD
Intel (Altera) CPLDs(Flash basierte PLDs)
• Altera MAX 7000• Intel MAX II
– Internal oscillator and 8Kbits user flash memory• Intel MAX V
– Einsatz in energie- und platzbeschränkten Designs in vielen Marktsegmenten• Intel Max 10
– Low cost, low power, user flash– Größen von 2K bis 5oK LE, bis 500 user I/O pins– Einzel und Doppelkern-Spannungsversorgung– Small Wafer Scale Gehäuse (3mm x 3mm) oder Gehäuse mit hoher Pinzahl– 55nm-NOR-Flash-Technologie– ADCs, Dual-Configuration-Flash, PLL, embedded SRAM– IPs –Unterstützung: NIOS II, DSP-Blöcke, DDR3-Speichercontroller
12.03.2019 Seite 96 Dipl. Ing. Th. Rommel PLD
12.03.2019
49
Altera – CPLD MAX7000 - Blockschaltbild
12.03.2019 Seite 97 Dipl. Ing. Th. Rommel PLD
Altera – CPLD MAX7000 – Device Macrocell
12.03.2019 Seite 98 Dipl. Ing. Th. Rommel PLD
12.03.2019
50
Intel (Altera) – CPLD MAX V - Blockschaltung
12.03.2019 Seite 99 Dipl. Ing. Th. Rommel PLD
Configurable Flash MemoryUser Flash Memory
Field Programmable Gate ArrayFPGA
• FPGA-Modell• Moderne FPGA-Strukturen• Aufbau und Ressourcen
– grundlegende Hardware Blöcke– spezielle Hardware Blöcke
• Methoden und Werkzeuge für FPGA-basierende Designs
12.03.2019 Seite 100 Dipl. Ing. Th. Rommel PLD
12.03.2019
51
12.03.2019 Seite 101 Dipl. Ing. Th. Rommel PLD
FPGA – Field Programmable Gate ArrayDas FPGA-Modell nach Jonathan Rose
FPGA – Model nach Jonethan RoseParameter:1. w – Anzahl der Verbindungstracks
2. Af – Größe des Funktionalblocks (Logicblock)Af ~ 2k + AS
3. FS – Flexibilität der SwitchboxAnzahl der erreichbaren Leitungen /Switchbox(Maximalwert = 3 w)
4. Fc – Flexibiltät der Connection BoxAnzahl der Tracks (w), die von einem Blockpin aus erreichbar sind(programmierbar z.B. durch Transistor)
5. Ap – Größe eines Programmierpunktes(Fläche des Transistors oder ähnliches)
12.03.2019 Seite 102 Dipl. Ing. Th. Rommel PLD
12.03.2019
52
Dipl.-Ing. Th. Rommel PLD103
FPGA – Programmierbare Schaltmatrix
12.03.2019 Seite 104 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
I/O blocks
I/O blocks
I/O
blo
cks
I/O
blo
cks
Logic blocks(Logic elements)
(configurable logic blocks)
Xilinx XC4000-Serie (1997)
Matrix Architektur
12.03.2019
53
12.03.2019 Seite 105 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
I/O blocks
I/O blocks
I/O
blo
cks
I/O
blo
cks
Logic blocks(Logic elements)
(configurable logic blocks)
Virtex Architecture (ca. 2000)
Matrix Architektur
RA
MR
AM
RA
MR
AM
RA
MR
AM
RA
MR
AM
Quelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 106 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
I/O blocks
I/O
blo
cks
I/O
blo
cks
Logic blocks(Logic
elements)(configurablelogic blocks)
Altera Max 10 (ca. 2016)
Matrix ArchitekturPLL PLL
I/O blocksPLL PLL
Me
mo
ry B
lock
s
DS
P b
lock
s
Me
mo
ry B
lock
s
Me
mo
ry B
lock
s
DS
P b
lock
s
AD
C
User flash
Configurationflash
Quelle: J.J.R.Andina, FPGAs
12.03.2019
54
12.03.2019 Seite 107 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
I/O blocks
I/O
blo
cks
I/O
blo
cks
Logic blocks(Versa Tile)
Microsemi‘s Fusion
Matrix ArchitekturCCC CCC
I/O blocksCCC CCC
SRAM Blocks
ADC
SRAM Blocks
ISPAES
Charge Pumps
User Flash ROM
Flash Memory Block Flash Memory Block
Analog quad
Quelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 108 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
I/O blocks
I/O
blo
cks
I/O
blo
cks
Spartan 6 von XILINX
Matrix Architektur
I/O blocks
Me
mo
ry B
lock
s
DS
P b
lock
s
Me
mo
ry B
lock
s
Me
mo
ry B
lock
s
DS
P b
lock
s
Lo
gic
blo
cks
Lo
gic
blo
cks
Clo
ckm
an
age
men
tblo
cks
Lo
gic
blo
cks
Lo
gic
blo
cks
Me
mo
ry B
lock
s
DD
R C
on
tro
ller
DD
R C
on
tro
ller
Tra
nsc
eiv
ers
Tra
nsc
eiv
ers
Quelle: J.J.R.Andina, FPGAs
12.03.2019
55
12.03.2019 Seite 109 Dipl. Ing. Th. Rommel PLD
Moderne FPGA Strukturen
Reine Spalten Struktur
Matrix Architektur
I/O
blo
cks
DS
P b
lock
s
Me
mo
ry B
lock
s
Me
mo
ry B
lock
s
DS
P b
lock
s
Logi
cb
lock
s
Logi
cb
lock
s
Clo
ckm
an
age
men
tblo
cks
Lo
gic
blo
cks
Logi
cb
lock
s
Me
mo
ry B
lock
s
Tra
nsc
eiv
ers
Glo
ba
l clo
ck
I/O
blo
cks
Clo
ckm
an
age
men
tblo
cks
Glo
ba
l clo
ck
DS
P b
lock
s
Tra
nsce
iver
s
Quelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 110 Dipl. Ing. Th. Rommel PLD
FPGA Hardware Ressourcen
Grundlegende Hardware Blöcke• Logic Blocks• I/O Blocks• Interconnection Recourcen
Spezielle Hardware Blöcke• Clock Management Blocks• Memory Blocks• Ser/Des Blocks• Hard Memory Controller• Transceiver• Hard Cores• DSP Blocks• ADC• Charge Pumps• usw.
12.03.2019
56
12.03.2019 Seite 111 Dipl. Ing. Th. Rommel PLD
Logic Blocks:• Zum Implementieren von kombinatorischen und sequentiellen Funktionen
LUT FF
clk
D
Q
x0
xn
Lut_Byp
Lut_Out
RO
Realisierung von Kombinatorik in einer LUT
1 aus 4Decoder
x0
x1
00011011
1110 W
ired
OR
y = x0 nand x1
12.03.2019 Seite 112 Dipl. Ing. Th. Rommel PLD
Logic Blocks - Beispiele
Logic Element from Microsemi‘s IGLOO2
12.03.2019
57
12.03.2019 Seite 113 Dipl. Ing. Th. Rommel PLD
Logic Cluster from Achronix‘s Speedster 22i
Logic Blocks - Beispiele
12.03.2019 Seite 114 Dipl. Ing. Th. Rommel PLD
I/O Blocks:
Delay
Delay
Mu
ltip
lexi
ng
an
dco
ntr
ol
logi
c
VCCIO
Bus hold
Pull-upresistor
Clo
cka
nd
rou
ting
reso
urc
es
Quelle: J.J.R.Andina, FPGAs
12.03.2019
58
12.03.2019 Seite 115 Dipl. Ing. Th. Rommel PLD
Interconnection Resourcen:
Cro
ssb
ar
ma
trix
LB
LB
LB
CM
Cro
ssb
ar
ma
trix
LB
LB
LB
CM
Cro
ssb
ar
ma
trix
LB
LB
LB
CM
Cro
ssba
r m
atr
ix
LB
LB
LB
CM
Localinterconnection
resources
General FPGA
interconnetionresources
Quelle: J.J.R.Andina, FPGAs
HROW
HROW
HROW
12.03.2019 Seite 116 Dipl. Ing. Th. Rommel PLD
Clock Management(Control) Blocks
I/O blocks
I/O
blo
cks
I/O
blo
cks
Logic blocks(Versa Tile)
I/O blocks
SRAM Blocks
ADC
SRAM Blocks
ISPAES
Charge Pumps
User Flash ROM
Flash Memory Block Flash Memory Block
Analog quad
I/O
blo
cks
Clo
ckm
anag
emen
tbl
ocks
Clo
ckba
ckbo
ne
I/O
blo
cks
Clo
ckm
anag
emen
tsbl
ocks
Ser
iell
tran
seiv
ers
(GT
)
Clock Management Blocks
HROW-Horizontal clock row
Location of CMBs in matrix and column-based architecture Quelle: J.J.R.Andina, FPGAs
12.03.2019
59
12.03.2019 Seite 117 Dipl. Ing. Th. Rommel PLD
Clock Management(Control) Blocksclock networks
Q1 Q2
Q3Q4
GCLK
Q1 Q2Q3Q4
RCLK
PCLK
Global, regional and peripheral clock networks in Altera‘s Stratix V DevicesQuelle: J.J.R.Andina, FPGAs
PLL-Block Diagramm
• N – pre-divider counter
• PFD – phase-frequency detector
• M – feedback multiplier counter
• K and V – post-divider counters
12.03.2019 Seite 118 Dipl. Ing. Th. Rommel PLD
12.03.2019
60
12.03.2019 Seite 119 Dipl. Ing. Th. Rommel PLD
Memory Blocks (LUT)
LUTA6:A1
O6O5
LUTA6:A1
O6O5 LUT
A6:A1W6:W1
O6O5
CK DIWEN MC
Ca
rry
logi
c–
mu
ltip
lexi
ng
logi
c
Sh
iftL
ogi
c-
Ca
rry
logi
c–
mu
ltip
lexi
ng
logi
cLUTA6:A1W6:W1
O6O5
CK DIWEN MC
LBs from Xilinx‘ Series 7: General purpose and oriented to distributed memory implementation
Quelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 120 Dipl. Ing. Th. Rommel PLD
• Wenn embedded Memory zu klein -> externer Speicher• Memory Controller in den verschiedenen Bausteinen integriert.• Vielzahl von unterschiedlichen Speichern -> viele unterschiedlichen
Interfaces (einfach parallel oder seriell, Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), USB oder komplexere, wie DDR.
Für die Nutzung externer Speicher gibt es zwei Vorgehensweisen:
1. Man kann durch ein entsprechendes IP (USB-Treiber, I²C, SPI oder ähnliche) den Controller als Softcore in die Recourcen des Bausteines zu laden.
2. Bei größeren Speichern bzw. sehr schnellen Zugriffen haben die Hersteller aber Hard Memory Controller in den Baustein implementiert• Arria V und 10 (Altera) beinhalten DDR/DDR2/DDR3/DDR4 SDRAM
Controller• Spartan 6 und Virtex-6 from Xilinx DDR3• Serie 7 DDR4
Hard Memory Controllers
12.03.2019
61
12.03.2019 Seite 121 Dipl. Ing. Th. Rommel PLD
Hard Memory Controllers
UniPHYControllerMPFE
Com
man
d qu
eues
Arb
iter
Com
man
d qu
eues
Com
man
d or
derin
glo
gic
Adr
ess
com
man
dD
ata
cloc
king
Cal
ibra
tion
(NIO
S II
bas
ed)
I/O
buf
fer
DD
R m
emor
ies
Inpu
t pro
cess
es
Arria 10 hard memory controllerQuelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 122 Dipl. Ing. Th. Rommel PLD
Transceivers
Unterstützte Protokolle:
• Gigabit Ethernet• PCIexpress (PCIe)• 10GBASE-R• 10GBASE-KR• Interlaken• Open Base Station Architecture Initiative (OBSAI)• Common Packet Radio Interface (CPRI)• 10Gb Attachment Unit Interface (XAUI)• 10GH Small Form-factor Plugable Plus (SFP+)• Display Port
12.03.2019
62
12.03.2019 Seite 123 Dipl. Ing. Th. Rommel PLD
Transceivers
Transceiver from Xilinx Series 7
Transmitter
FP
GA
fabr
ic
Serial inputdata
Dec
oder
Pha
seco
mpe
nsat
ion
Byt
ede
seria
lizer
Buf
fer
CD
R
Des
eria
lizer
Enc
oder
Pha
seco
mpe
nsat
ion
Byt
ese
rializ
er
Buf
fer
Ser
ializ
er Serial outputdata
Receiver
PCS PMA
Quelle: J.J.R.Andina, FPGAs
Off-chip Kommunikation
• Anforderungen an Off-chip Kommunikation:
– Geschwindigkeit (Datendurchsatz und Verzögerungszeit [Latenz])
– Zuverlässigkeit (manchmal können Datenpakete verloren gehen, manchmal nicht)
– Entfernung
– Umgebungsbedingungen
– Kompatibilität mit Netzwerken
• Low-Speed Interfaces
– Kleine Datenmengen
– Meist serielle Interfaces (I2C, SPI usw.)
• High-Speed Interfaces
– Z.B. PCIe
12.03.2019 Seite 124 Dipl. Ing. Th. Rommel PLD
12.03.2019
63
In-chip Kommunikation
Ähnliche Aufgaben wie Off-chip Kommunikation:
• P2P (Point to point)
• Busbasierte Kommunikation
– Singled-shared
– Crossbar Switches
– Ringbasierte Topologie
– Bridge basierte Topologie
• NoC (Network on Chip)
12.03.2019 Seite 125 Dipl. Ing. Th. Rommel PLD
12.03.2019 Seite 126 Dipl. Ing. Th. Rommel PLD
Embedded processers
Vorteile:• kombiniert programmierbare
Logik, Speicher und einen Prozessorkern
• Einchiplösungen von kompletten Systemen [SOPC]
12.03.2019
64
Embedded Processor Solutions - Hardcore
12.03.2019 Seite 127 Dipl. Ing. Th. Rommel PLD
ZYNQ-7000 EPP
ZYNQ-7000 EPP
12.03.2019 Seite 128 Dipl. Ing. Th. Rommel PLD
12.03.2019
65
12.03.2019 Seite 129 Dipl. Ing. Th. Rommel PLD
Embedded processers - multicore
12.03.2019 Seite 130 Dipl. Ing. Th. Rommel PLD
DSP- AnwendungenEmbedded Multipliers
a(17:0)
b(17:0)
ce_a
ce_bclk
clr
ce_rr(35:0)
Quelle: J.J.R.Andina, FPGAs
12.03.2019
66
12.03.2019 Seite 131 Dipl. Ing. Th. Rommel PLD
DSP block from Xilinx 7 Series
DSP- AnwendungenDSP Blocks
Carry_inChain_in
Inp
ut r
egi
ste
rb
an
k
Carry_out
Pip
elin
e re
gist
er
+/-
Pip
elin
e re
gist
er
ALU
Ou
tpu
t re
gist
er
ba
nk
=
Chain_out
Result
Pattern detect
A
B
C
D
Quelle: J.J.R.Andina, FPGAs
12.03.2019 Seite 132 Dipl. Ing. Th. Rommel PLD
Mixed Signals Blöcke
FPGA
ADC hard block
S&H
FPGA fabric
Sequencer
Control System
Aquisitionmemory
PLLVREF
VREF
SAR ADC12 bits
C
Temperatursensor
Dedicatedanalog input
Dual-functioninput
Quelle: J.J.R.Andina, FPGAs
ADC hard block from Altera‘s MAX 10 Family
12.03.2019
67
Moderne Methoden und Tools für FPGA-basiertes Design
12.03.2019 Seite 133 Dipl. Ing. Th. Rommel PLD
• Übergang von Schematic Entwurf zu Hardwarebeschreibungssprachen (VHDL, Verilog)
• High-Level-Synthese (HLS-Tools)• Neue Tools kombinieren Standardkomponenten aus integrierten
IP-Bibliotheken mit selbst entworfenen Blöcken (z.B. Dual-Core Prozessor + geeignete Interfaces wie SPI, I2C, GPIO usw. in wenigen Stunden)
• Andere Tools erlauben Design Sprachen, die parallele Abarbeitung auf unterschiedlichen Ressourcen erlauben um High Computing Performance zu erzielen (OpenCL)
• Entwurftools komplimentiert mit Validation und Debugging Methoden(z.B. integrierte Logikanalyzer zum Debuggen)
• Hardware/Software Evaluierung
Spezielle Tools für den Entwurf von SoPC-Systeme
12.03.2019 Seite 134 Dipl. Ing. Th. Rommel PLD
• Hardware Design-Tools• Hardcore (Grobkorn-Konfiguration, bei der die beteiligten Komponenten
(de)aktiviert werden.• Softcore (konventionelle FPGA-Konfiguration)• Konnektivität (z.B. durch Verwendung von Verbindungsklassifizierungen)
• Software Design-Tools• Core Generation Tools
• Werkzeug zum Entwurf parametrisierbaren, standardisierten Cores (LPM)• HLS-Tools (High-Level-Synthese)
• Entwurf von HPC-Multithread Beschleunigern• Debugging Tools
• Software Debugging• Hardware Debugging• Hardware/Software Co-Debugging
• Pin-Planning Tools• Auswahlberatungstools• Tools zur Leistungverbrauchsabschätzung
12.03.2019
68
HLS
12.03.2019 Seite 135 Dipl. Ing. Th. Rommel PLD
Cyclone 10
12.03.2019 Seite 136 Dipl. Ing. Th. Rommel PLD
12.03.2019
69
Cyclone 10
12.03.2019 Seite 137 Dipl. Ing. Th. Rommel PLD
Intel (Altera) FPGAsStratix Serie
Intel Stratix V: 28nm Technologie, 0.85V/0.9V Core voltage Hohe Bandbreite, hohe Systemintegration Ultimative Flexibilität für High-End Anwendungen Partielle Rekonfiguration Bis zu 1932 Pins Kein ARM-Cortex verfügbar Serien:
GX (PCIe, Transceiver) GS (DSP, PCIe, Transceiver) E
12.03.2019 Seite 138 Dipl. Ing. Th. Rommel PLD
12.03.2019
70
Intel (Altera) FPGAs Stratix V
12.03.2019 Seite 139 Dipl. Ing. Th. Rommel PLD
Intel (Altera) FPGAsStratix Serie
Intel Stratix 10: 14 nm Tri-Gate-Prozess von Intel 2fache Leistungsteigerung gegenüber anderen 70% geringere Leistung 0.8V Core Voltage Hyperflex FPGA-Architektur Quad-Core-ARM Cortex-A53 High-Performance (ca. 8 Mio Register, 2912 Pins) Serien:
GX (high perfomance, high throughput, transceiver…) TX (Transceiver bis 56 Gbit/s) MX (64bit quad-core ARM Cortex-A53, HBM2) SX (64bit quad-core ARM Cortex-A53)
12.03.2019 Seite 140 Dipl. Ing. Th. Rommel PLD
12.03.2019
71
Intel (Altera) FPGAsStratix 10
12.03.2019 Seite 141 Dipl. Ing. Th. Rommel PLD
Dipl.-Ing. Th. Rommel PLD142
Quelle: Xilinx.com
Xilinx Product Portfolio
12.03.2019
72
Verbindungsstruktur der Virtex-Familie
12.03.2019 Seite 143 Dipl. Ing. Th. Rommel PLD
CLB General Routing
12.03.2019 Seite 144 Dipl. Ing. Th. Rommel PLD
12.03.2019
73
Xilinx FPGAs7 Series
12.03.2019 Seite 145 Dipl. Ing. Th. Rommel PLD
• 28nm Technologie• Serien:
– Spartan (I/O Optimierung zum kleinsten Preis und höchster Leistung pro Watt, 1.0V/0.95V Core-Spannung)
– Artix (Transceiver Optimierung zum kleinsten Preis und höchste DSP Bandbreite, 1,0V/0.95V/0.9V)
– Kintex (Optimiert für bestes Preis-Performance Verhältnis)– Virtex (Optimiert für höchste Performance und Kapazität)
Virtex 7
12.03.2019 Seite 146 Dipl. Ing. Th. Rommel PLD
Row and Column Relationship between CLB and Slices
12.03.2019
74
Virtex 7
12.03.2019 Seite 147 Dipl. Ing. Th. Rommel PLD
Xilinx – Analog Mixed Signal12- bit, 17-channel, 1Msps Analog to Digital Converters with internal temperature and supply voltage sensors
12.03.2019 Seite 148 Dipl. Ing. Th. Rommel PLD
Quelle: Xilinx.com
12.03.2019
75
Spartan-6 Family
12.03.2019 Seite 149 Dipl. Ing. Th. Rommel PLD
Spartan - Packages
12.03.2019 Seite 150 Dipl. Ing. Th. Rommel PLD
Chip Scale RackageThin Quad Flat Pack
12.03.2019
76
Intellectual Proberty (IP)
• Simulation des Coreverhaltens im System• Überprüfen der Designfunktionalität und bestimmen der Größe und
Geschwindigkeit• Generieren eines zeitlich begrenzten Programmierfiles für das Design• Programmieren des Bausteines und überprüfen des Designs in Hardware
12.03.2019 Seite 151 Dipl. Ing. Th. Rommel PLD
Boards & Kits
12.03.2019 Seite 152 Dipl. Ing. Th. Rommel PLD
CoolRunner-II CPLD evaluation board• with an XC2C256-TQ144
device• USB 2.0 cable for power,
programming, and datatransfer
• 9V battery connector foroptional battery power
• QuickStart guide• ISE® WebPACK™ software• Resource CD includes
documentation and freereference designs
Preis: 39,- $
12.03.2019
77
Boards & Kits
12.03.2019 Seite 153 Dipl. Ing. Th. Rommel PLD
Spartan-3AN Starter Kit• Development board• Power supply 100-240V,
50/60 Hz with universal plugadaptors
• Evaluation software: XilinxISE® WebPACK™ or ISE Foundation™ Evaluation
• Quickstart guide• Programming cable• Product collateral
Preis: 199,- $
Boards & Kits
12.03.2019 Seite 154 Dipl. Ing. Th. Rommel PLD
Preis: 999,- $
Virtex-5 LX FPGA ML501 Evaluation Platform
• ML501 Platform• DVI adapter• CompactFlash Card• Development tools and PC
download cable are not included and must be ordered separately
12.03.2019
78
Entwurfswerkzeuge
12.03.2019 Seite 155 Dipl. Ing. Th. Rommel PLD
• Universelle FPGA-Enturfswerkzeuge• - Galileo• - Leonardi• - MicroSim FPGA
• Große EDA-Systeme• - Cadance (FPGA-Designer)• - Mentor Graphics (FPGA-Station + AutoLogicII)• - Synopsys (FPGA-Express)
• Herstellereigene Werkzeuge• - Designer Series von Actel• - Quartus II von Altera• - Vivado Design Suite / ISE Design Suite von XILINX
Embedded Processor Solutions
12.03.2019 Seite 156 Dipl. Ing. Th. Rommel PLD
• Faster Time-to-Market
• Programmable Flexibility
• Low Risk
• Cost-Effective Access to Embedded Processor Cores
• Higher Integration
12.03.2019
79
Embedded Processor Solutions
12.03.2019 Seite 157 Dipl. Ing. Th. Rommel PLD
Vorteile:• kombiniert programmierbare
Logik, Speicher und einen Prozessorkern
• Einchiplösungen von kompletten Systemen [SOPC]
Embedded Processor Solutions - Hardcore
12.03.2019 Seite 158 Dipl. Ing. Th. Rommel PLD
ZYNQ-7000 EPP
12.03.2019
80
Softcore Solutions for Embedded Processors (Altera)
12.03.2019 Seite 159 Dipl. Ing. Th. Rommel PLD
Other Cores:T8051CZ80CPU ProcessorC6800 Microprocessor u. a.
NIOS Embedded Processor Family• Features:• Konfigurierbare RISC Architektur (32 Bit)• On-Chip Peripherie• - UART• - Timer• - PIO• - SRAM• - FLASH• - SPI, PWM, IDE disk, controller, • Ethernet Controller,• Altera MegaWizard interface konfiguriert
den Prozessorkern• - generiert peripheral bus module (PBM)• - weist IRQ und Prioritäten zu• - Dynamische Busanpassung• - konfiguriert periphere Wait states
12.03.2019 Seite 160 Dipl. Ing. Th. Rommel PLD
12.03.2019
81
NIOS II Design Flow
12.03.2019 Seite 161 Dipl. Ing. Th. Rommel PLD
NIOS II – Risc Processsor Block Diagramm
12.03.2019 Seite 162 Dipl. Ing. Th. Rommel PLD
12.03.2019
82
Analoge PLD
12.03.2019 Seite 163 Dipl. Ing. Th. Rommel PLD
Features:
• mehrere analoge Funktionen realisierbar (OV, Filter usw.)• In-System-Programmable analog Circuit• keine externen Komponenten notwendig• über JTAG Schnittstelle zu konfigurieren
12.03.2019 Seite 164 Dipl. Ing. Th. Rommel PLD
ispPAC10
12.03.2019
83
Analoge PLD‘s
12.03.2019 Seite 165 Dipl. Ing. Th. Rommel PLD
FPAA (Field ProgrammableAnalog Array) An10E40 der Fa. Anadigm Inc.
Analoge PLD‘s
12.03.2019 Seite 166 Dipl. Ing. Th. Rommel PLD
CAB des FPAA (Field Programmable Analog Array) An10E40
12.03.2019
84
Switched-Capacitor-Technik
12.03.2019 Seite 167 Dipl. Ing. Th. Rommel PLD
Literaturhinweise
12.03.2019 Seite 168 Dipl. Ing. Th. Rommel PLD
• www.intel.com
• www.xilinx.com
• Juan José Rodriguez Andina, Eduardo de la Torre Arnanz, María Dolores Valdés Pena:“FPGAs, Fundamentals, Advanced Features, and Applications in Industrial Electronics“ISBN 978-1439896992
• Oliver Bringmann, Walter Lange, Martin Bogdan: Eingebettete Systeme, Entwurf, Modellierung und Synthese“ISBN 978-3-11-051851-1
• Markus Wannemacher: „Das FPGA-Kochbuch“Bonn, International Thomson Publishing GmbHISBN 3-8266-2712-1
• Pong P. Chu: „FPGA Prototyping by VHDL Examples“Hoboken, New Jersey, Wiley InterscienceISBN 978-0-470-18531-5