+ All Categories
Home > Documents > Achtung! Nur ausgewählte Folien - tu-ilmenau.de · synchrone Schaltung benötigt bestimmte Anzahl...

Achtung! Nur ausgewählte Folien - tu-ilmenau.de · synchrone Schaltung benötigt bestimmte Anzahl...

Date post: 07-Sep-2019
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
84
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 Rommel Fakultät Elektrotechnik und Informationstechnik Fachgebiet Elektronische Schaltungen und Systeme Helmholtzbau Zimmer H 3521 Telefon: 69 1170 Praktikumsraum: H1555 12.03.2019 Seite 2 Dipl. Ing. Th. Rommel PLD
Transcript

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


Recommended