Upload
others
View
7
Download
3
Embed Size (px)
Citation preview
14.07.2014
1
ausgewählte Folien zu den Vorlesungsreihen:
Programmierbare Logikbausteine
(Studiengang Ingenieurinformatiker, Studiengang Medientechnologen)
und
ASIC‘s & PLD‐Design(Studiengang Elektrotechnik und Informationstechnik
Dipl.‐Ing. Thomas Rommel
ASIC‘S & PLD‐DESIGN
Dipl.‐Ing. Thomas Rommel
Fakultät Elektrotechnik und Informationstechnik
Fachgebiet Elektronische Schaltungen und Systeme
Helmholtzbau Zimmer H 3521
Telefon: 69 1170
Praktikumsraum: H1555
Dipl.‐Ing. Th. Rommel PLD3
14.07.2014
2
http://www.tu‐ilmenau.de/mne‐ess/
Praktikumsanleitungen und Vorlesungsscript
• Fakultät Elektrotechnik und Informationstechnik
– Institute und Fachgebiete
• Fachgebiet Elektronische Schaltungen und Systeme– Lehre und Studium
» Inhalte aller Lehrveranstaltungen
• ASIC & PLD
Dipl.‐Ing. Th. Rommel PLD6
oder Durchklicken:
schnelle Realisierung durch parametrisierbare Module (LPM)
Dipl.‐Ing. Th. Rommel PLD15
Schematic:
14.07.2014
3
Quartus II Web Edition
• Download Center
• Quartus II Web Edition (9.0 Service Pack 2)
• Downloaden
• Get One‐Time Access
• Licensing (Download & Licensing, linke Spalte)findet man genaue Information wie es lizenziert wird
Dipl.‐Ing. Th. Rommel PLD19
http://www.altera.com
2. Entwurfssoftware Quartus II von Altera
Dipl.‐Ing. Th. Rommel PLD20
Designflow
14.07.2014
4
(Teil A)
3. Einführung in die Hardwarebeschreibungssprache AHDL
Dipl.‐Ing. Th. Rommel PLD33
• high‐level, modulare Hardwarebeschreibungssprache
• komplett in das MAX+PLUS II‐ System integriert
• besonders gut geeignet zum Entwerfen von komplexer kombinatorischer Logik, State Machines, Wahrheitstabellen und parametrisierbarer Logik
• hierarchische Projekte beschreibbar
AHDL gemischt mit anderen Formaten realisierbar
Dipl.‐Ing. Th. Rommel PLD34
Altera Design File (.adf)
EDIF‐Input File (.edf)
Graphic Design File (.gdf)
OrCad Design File (.sch)
State Machine file (.smf)
Text Design File (.tdf)
Verilog Design File (.v)
VHDL‐Design File (.vhl)
Waveform‐Design File (.wfm)
XILINX Netlist Format File (.xnf)
über 300 von Altera mitgelieferte Megafunctions andMacrofunctions incl. LPM (Library of Parameterized Modules) integrierbar
14.07.2014
5
(Teil A)
Allgemeines Fortsetzung
• AHDL ist nicht Case‐sensitiv es empfiehlt sich aber KEYWORDS, DESIGNNAMES, CONSTANTS und PRIMITIVES groß und alle anderen einschl. filenames, macro‐ undmegafunctions klein zu schreiben
• Liste aller inputs und outputs in der gleichen Zeile!
• Öffnende und schließende Klammern von Subdesign sections und Parameter Statements immer in einer separaten Zeile (Übersichtlichkeit)
• Achte auf eine sinnvolle Einrückung!
• Nutze underscores (_) um "Wörter" in symbolic and simple names zu trennen (reg_load, go_idle).
• Keywords, Namen und Zahlenmüssen durch ein entsprechendes Symbol oder Operator und Leerzeichen getrennt werden.
• Kommentar muss im Prozentsymbol (%) eingeschlossen sein
Dipl.‐Ing. Th. Rommel PLD35
Logic Section
Variable Section
Subdesign Section
Options Statement
Function Prototype Stmt.
Parameters Statement
Define Statement
Constant Statement
Include Statement
Title StatementOptional
erforderlich
Constant
Define
Parameters
PrototypeFunction
AHDL Text Design File Structure
Dipl.‐Ing. Th. Rommel PLD36
(Teil A)
14.07.2014
6
Titel Statement
• liefert Kommentar für Reportfile (.rpt),
• Keyword TITLE Anführungszeichen, Semikolon
Dipl.‐Ing. Th. Rommel PLD37
TITLE "Display Controller“
Include Statement
• spezifiziert ein Include File, dass die Include Statements ersetzt,• Include Files enthalten Constant, Define, Parameters or
Functions Statements• Keyword INCLUDE Anführungszeichen, Semikolon, Erweiterung
kann weggelassen werden, kein Pfadname,• vor allen anderen Sections
Dipl.‐Ing. Th. Rommel PLD38
INCLUDE "const.inc";
14.07.2014
7
Constant Statement
• spezifiziert einen Symbolic Name, der Constanten ersetzen kann!
• Keyword CONSTANT Name Gleichheitszeichen Wert (Zahl oder Ausdruck) Semikolon
Dipl.‐Ing. Th. Rommel PLD39
CONSTANT UPPER_LIMIT = 130; CONSTANT FOO = 1;CONSTANT FOO_PLUS_ONE = FOO + 1;
Define Statement
• definiert eine ausgewertete Funktion, die eine mathematische Funktion ist und einen Wert zurück gibt
• Keyword DEFINE Name Liste von Argumenten in ()
Dipl.‐Ing. Th. Rommel PLD40
DEFINE MAX(a,b) = (a > b) ? a : b;
14.07.2014
8
Parameters Statement
• deklariert einen oder mehrere Parameter, die die Implementationder parametrisierbaren megafunctions steuert
• Keyword PARAMETERS Liste der Parameter durch Komma getrennt und in Semikolon und klammern
Dipl.‐Ing. Th. Rommel PLD41
PARAMETERS (FILENAME = "myfile.mif WIDTH, AD_WIDTH = 8, NUMWORDS = 2^AD_WIDTH
);
Function Prototype Statement
• deklariert die Ports einer Logikfunktion und deren Reihenfolge, in der die Ports in einer In‐Line‐Referenz deklariert werden
• ähnlich wie bei Symbol in einem Schematicfile
• Keyword FUNCTION Name (Inputs)
• Keyword RETURNS (Outputs, Biderectional);
Dipl.‐Ing. Th. Rommel PLD42
FUNCTION compare (a[3..0],b[3..0])RETURNS (less, equal, greater);
14.07.2014
9
Options Statement
• setzt die vorgegebene Bitreihenfolge (LSB oder ANY geht noch)
Dipl.‐Ing. Th. Rommel PLD43
OPTIONS BIT0 = MSB;
Subdesign Section
• deklariert die Inputs, Outputs und Bidirectionalen Ports einen AHDL TDF
• Keyword SUBDESIGN Name des Subdesigns Liste der Signalnamen in () und durch Komma getrennt : porttype ;
• Name des Subdesigns Name des TDF
• Der port type kann sein INPUT, OUTPUT, BIDIR, MACHINE INPUT, or MACHINE OUTPUT.
• The MACHINE INPUT and MACHINE OUTPUT keywords werden genutzt um state machineszwischen TDFs and other design files auszutauschen
• Zuweisung von Default Werten GND und VCC hinter Port möglich
Dipl.‐Ing. Th. Rommel PLD44
SUBDESIGN top( foo, bar, clk1, clk2: INPUT = VCC; a0, a1, a2, a3, a4 : OUTPUT; b[7..0] : BIDIR; )
14.07.2014
10
Variable Section
• deklariert Variablen, die in Logic Section genutzt werden (nur buried internal Signale)
– Instance Declaration
– Node Declaration
– Register Declaration
– State Machine Declaration
– Machine Alias Declaration
– If Generate Statements
• Variable Type kann sein:
• Node, TRI_STATE_NOTE, primitive, megafunctions, macrofunction or state machines
Dipl.‐Ing. Th. Rommel PLD45
VARIABLEa, b, c : NODE;temp : halfadd;ts_node : TRI_STATE_NODE;
Macrofunktion
Logic Section• definiert die logischen Operationen des Files
– Boolean Equations– Boolean Control Equations– Case Statement– Defaults Statement– If Then Statement– If Generate Statement– For Generate Statement– Assert Statement– Truth Tabel Statement
• beginnt mit Keyword BEGIN und endet mit END Semikolon
Dipl.‐Ing. Th. Rommel PLD46
BEGIN out1 = a1 & !a0; out2 = out1 # b;END;
BEGINss.clk = clk;ss.reset = reset;CASE ss IS
WHEN s0 =>q = GND;
IF d THENss = s1;
END IF;WHEN s1 =>
q = VCC;IF !d THEN
ss = s0;END IF;
END CASE;END;
14.07.2014
11
Decimal <series of digits 0 to 9>
Binary B"<series of 0's, 1's, X's>"
(where X = "don't care")
Octal O"<series of digits 0 to 7>" or
Q"<series of digits 0 to 7>"
Hexadecimal X"<series from 0 to 9, A to F>" or
H"<series from 0 to 9, A to F>"
Beispiele :
B"0110X1X10"
Q"4671223"
H"123AECF"
(Teil A)
Default
Dipl.‐Ing. Th. Rommel PLD47
CONSTANT IO_ADDRESS = H”0370”;
CONSTANT foo = 1 + 2 DIV 3 + LOG2 (256);
(mit arithmetischem Ausdruck)
(Teil A)
Dipl.‐Ing. Th. Rommel PLD48
14.07.2014
12
(Teil A)
Operator Example Description Priority
+ (unary) ; ‐(unary) +1; ‐1 positive(negativ) 1
^ A^2 exponent 1
DIV 4 DIV 2 Division 2
* A *2 Multiplication 2
+ 1 + 1 Addition 3
‐ 1 – 1 Subtraktion 3
Mathematische Operatoren
Dipl.‐Ing. Th. Rommel PLD49
(Teil A)
Operator Example Description Priority
== (numeric) 5 == 5 numeric equality 4
== (string) „a“ == „b“ string equality 4
!= 5 != 4 not equal to 4
> ; < 5 > 4 greater (less)than 4
>= ; <= a >= b + 2 greater(less) than orequal
4
Vergleichsoperatoren
Dipl.‐Ing. Th. Rommel PLD50
14.07.2014
13
(Teil A)
Operator Example Description Priority
& ; AND a & b AND 5
!& ; NAND a !& b NAND 5
$ ; XOR a $ b XOR 6
!$ ; XNOR a !$ b XNOR 6
# ; OR a # b OR 7
!# ; NOR a !# b NOR 7
Logische Operatoren
Dipl.‐Ing. Th. Rommel PLD51
• Boolesche Ausdrücke und Gleichungen:
SUBDESIGN boole1(
a0, a1, b : INPUT;out1, out2 : OUTPUT;
)BEGIN
out1 = !a1 & !a0;out2 = out1 # b;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD52
14.07.2014
14
Deklarierung eines internen Knotens (burried node)
SUBDESIGN boole2(
a0, a1, b : INPUT;out : OUTPUT;
)VARIABLE
a_equals_2 : NODE;BEGIN
a_equals_2 = !a1 & !a0;out = a_equals_2 # b;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD53
Defining Group (Bus)
SUBDESIGN group1(
a[1..2] : INPUT;d[1..2] : OUTPUT;dual_range[5..4][3..2] : OUTPUT;
)
BEGIN
d[ ] = a[ ] + B"10";dual_range[ ][ ] = VCC;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD54
14.07.2014
15
Conditional Logic (IF THEN Statement Logic)
SUBDESIGN priority(
low, middle, high : INPUT;highest_level[1..0] : OUTPUT;
)
BEGIN
IF high THENhighest_level[ ] = 3;
ELSIF middle THENhighest_level[ ] = 2;
ELSIF low THENhighest_level[ ] = 1;
ELSEhighest_level[ ] = 0;
END IF;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD55
CASE Statement Logic
SUBDESIGN decoder(
code[1..0] : INPUT;out[3..0] : OUTPUT;
)
BEGIN
CASE code[] IS
WHEN 0 => out[ ] = B"0001";WHEN 1 => out[ ] = B"0010";WHEN 2 => out[ ] = B"0100";WHEN 3 => out[ ] = B"1000";
END CASE;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD56
14.07.2014
16
Truthtable
SUBDESIGN dec2(
a, code[1..0] : INPUT;control, out[3..0] : OUTPUT;
)BEGIN
TABLE a, code[1..0] => out[3..0], control;0, B"00" => B"0001", 1;0, B"01" => B"0010", 0;1, B"0X" => B"0100", 0;X, B"11" => B"0101", 1;
END TABLE;END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD57
Sequentielle Logik kann in AHDL implementiert werden durch:
* State Machines* registers* latches* LPM (Library of Parameterized Modules)
Declaring Register:
mögliche Flipflops: DFF, DFFE, TFF, TFFE, JKFF, JKFFE, SRFF, SRFFE, LATCH
Wenn Register deklariert ist, dann können Aus- und Eingänge von FF mit anderer Logik verbunden werden.
<instance name>.<port name>
(Teil A)
Dipl.‐Ing. Th. Rommel PLD58
14.07.2014
17
Creating Registers:
SUBDESIGN bur_reg(
clk, load, d[7..0] : INPUT;q[7..0] : OUTPUT;
)
VARIABLEff[7..0] : DFFE;
BEGIN
ff[ ].clk = clk;ff[ ].ena = load;ff[ ].d = d[ ];q[ ] = ff[ ].q;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD59
Creating Counters:
SUBDESIGN count_clr(
clk, clr : INPUT;q[15..0] : OUTPUT;
)
VARIABLEcount[15..0] :DFF;
BEGINcount[ ].clk = clk;count[ ].clrn = !clr;
count[ ].d = count[ ].q + 1;q[ ] = count[ ].q;
END;
(Teil A)
Dipl.‐Ing. Th. Rommel PLD60
14.07.2014
18
Um einen State Machine in AHDL zu spezifizieren, sind folgende Punkte nötig:
* State Machine Declaration (Variable Section)
* Boolean control equations (Logic Section)
* State transitions in Truth Table Statements orCase Statements (Logic Section)
(Teil A)
Dipl.‐Ing. Th. Rommel PLD61
State Machines
Dipl.‐Ing. Th. Rommel PLD62
VARIABLE
ss: MACHINE WITH STATES (s0, s1);
VARIABLE
ss: MACHINE OF BITS ( y1, y0)
WITH STATES (
s0 = B“00“,
s1 = B“01“,
s2 = B“10“,
s3 = B“11“);
14.07.2014
19
SUBDESIGN stepper(
clk, reset : INPUT;ccw, cw : INPUT;phase[3..0] : OUTPUT;
)VARIABLE
ss: MACHINE OF BITS (phase[3..0])
WITH STATES (s0 = B"0001",s1 = B"0010",s2 = B"0100",s3 = B"1000");
BEGINss.clk = clk;ss.reset = reset;
(Teil A)
TABLEss, ccw, cw => ss;s0, 1, x => s3;s0, x, 1 => s1;s1, 1, x => s0;s1, x, 1 => s2;s2, 1, x => s1;s2, x, 1 => s3;s3, 1, x => s2;s3, x, 1 => s0;
END TABLE;END;
Dipl.‐Ing. Th. Rommel PLD63
ASIC & PLD Desigen
Dipl.‐Ing. Th. Rommel PLD66
(Teil B)
Übersicht über verschiedenePLD‐Architekturen,Systematisierung
14.07.2014
20
0 Zielfunktion beim Entwurf1 Hardware oder Software?2 Systematisierung2.1 CMOS-Technologie2.2 Entwurfsstile3 Programmierbare Logikbausteine (PLD)3.1 Allgemeine Eigenschaften3.2 Systematisierungs- und Auswahlkriterien3.3 Entwurfsablauf (z.B. eines FPGA)3.4 Programmiertechnologien3.5 Verbindungsarchitekturen3.6 Speicher in komplexen PLD3.7 Beschreibung der verschiedenen Bausteinarchitekturen3.7.1 PLD geringer Dichte3.7.2 Complex Programmable Logic Devices3.7.3 Field Programmable Gate Array FPGA3.8 Embedded Processor Solutions (Excalibur)3.9 Analoge PLD4 Wichtige Adressen und Literaturhinweise
Gliederung
Dipl.‐Ing. Th. Rommel PLD67
Taktfrequenz
Verlustleistungs-aufnahme
Flächenaufwand
synchrone Schaltung benötigt bestimmte Anzahl von Taktzyklen
je höher die Taktfrequenz, desto schneller die Schaltung
hohe Taktfrequenz = hohe Verlustleistung
zur Realisierung einer Schaltung wird bestimmte Fläche auf Silizium benötigt
bestimmte Einflussfaktoren für festverdrahtete und programmierbare Bauelemente
Verlustleistungsaufnahme in herkömmlicher CMOS-Realisierung ist proportional zu Anzahl der Gatter und Schalthäufigkeit
Annäherung: Anzahl der Register + Taktfrequenz +Prozentsatz an logischen Gattern
Das magische Dreieck beim Entwurf integrierter Digitalschaltungen:
0. Zielfunktion beim Entwurf
Dipl.‐Ing. Th. Rommel PLD68
14.07.2014
21
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
Räumliche Sequentialisierung
- Datenflussorientierung- Parallelisierung (Addition und
Subtraktion)- Pipelining (Add/Sub und Mul)
Zeitliche Sequentialisierung
- Kontrollflussorientierung- Pipelining bei modernen
Mikroprozessoren (DSP) auch möglich
weitere Kriterien:
• Skalierbarkeit• Hardwareaufwand• Echtzeitfähigkeit• Verlustleistungsaufnahme• Flexibilität• Entwurfsprozess
1 Hardware oder Software?
Dipl.‐Ing. Th. Rommel PLD69
Dipl.‐Ing. Th. Rommel PLD71
14.07.2014
22
2.1 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
Dipl.‐Ing. Th. Rommel PLD72
CMOS‐Technologie
Dipl.‐Ing. Th. Rommel PLD73
einfache Darstellung eines Feldeffekttransistors (N‐Channel MOSFET)
14.07.2014
23
Entwurfsstile
Dipl.‐Ing. Th. Rommel PLD76
PLD
vollständig vorentworfen
vollständig vorgefertigt
Design beimAnwender
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
Full Custom
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
Entwurfsstile
• 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)
Dipl.‐Ing. Th. Rommel PLD77
Quelle: A.Mäder
Chipgröße, Zellenanzahl, Zellengröße, Anschlusslage variabel
14.07.2014
24
Entwurfsstile
• vorgefertigte Zellen aus Bibliothek• Layout der Standardzellen in Full‐Custom Qualität• flexibler Entwurf• meist in Verbindung mit
Dipl.‐Ing. Th. Rommel PLD79
Quelle: A.Mäder
Chipgröße, variabelZellenanzahl variabelZellenhöhe festZellengröße variabelAnschlusslage variabelLeiterbahnkanäle variabel
Makrozellgeneratoren
Makrozellgenerator
Zellen wie Speicher, ALUs oder Datenpfade werden über Generatoren erzeugt
Makrozellen in Full‐Custom Qualtität
Entwurfsstile
Dipl.‐Ing. Th. Rommel PLD80
Aufbau eines NAND‐Gatters (CMOS‐Technologie) und…….
14.07.2014
25
Entwurfsstile
• 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
Dipl.‐Ing. Th. Rommel PLD82
Quelle: A.Mäder
Chipgröße, festZellenanzahl festZellenhöhe festZellengröße festAnschlusslage festLeiterbahnkanäle fest
Entwurfstile
Dipl.‐Ing. Th. Rommel PLD85
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 WochenTage bis Wochen
NRE‐Kosten ‐ sehr hoch hoch gering
Entwurfsänderungen ‐ sehr aufwendig aufwendig einfach
Lieferanten viele einer zumeist einer viele
14.07.2014
26
Entwurfstile
Dipl.‐Ing. Th. Rommel PLD86
Dipl.‐Ing. Th. Rommel PLD87
3 Programmierbare Logikbausteine (PLD)3.1 Allgemeine Eigenschaften von PLD
• niedrige bis hohe Komplexität (100 ... 5 Mio. Gatter)
• Vielfalt enthaltener BaugruppenSRAM Blöcke (64 Mb), Bereitstellung aufwendiger Taktaufbereitungspezielle 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)
14.07.2014
27
Strukturgröße
Zeit
PLD
Gate Array
Standardzell ASIC
Technologieentwicklung
• in 80er Jahren mussten PLD mit den Produktions‐technologien der letzten oder vorletzten Generation auskommen
Dipl.‐Ing. Th. Rommel PLD94
• heute jeweils neueste Technologie (kleinste Strukturen (65nm), modernste Prozesstechnologie)
• oft sogar zum Einfahren neuer Produktionslinien eingesetzt, wegen sehr regelmäßigen Strukturen und hohen Stückzahlen (ähnlich wie bei RAM)
90 nm‐ Chips nur 55 % der Fläche
Virtex II Pro –Familie: 130 nm 400 Mio Transistoren90 nm 1 Mrd. Transistoren
Modernste Prozesstechnik
Dipl.‐Ing. Th. Rommel PLD95
14.07.2014
28
Umsetzung eines FPGA-Chips in ein „Hardcopy-ASIC“
Dipl.‐Ing. Th. Rommel PLD96
Auf Grund von Strukturanalogien ist eine direkte Übernahme des PLD‐Designs in ASIC möglich
Flash‐Demo I starten
Hardcopyim Vergleich mit ASIC‐Entwurf
Dipl.‐Ing. Th. Rommel PLD98
14.07.2014
29
Synthese
Dipl.‐Ing. Th. Rommel PLD101
• Unter der Synthese beim Entwurf digitaler Systeme versteht man die Erzeugung einer hardwarenäheren Beschreibung aus einerabstrakten 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
Entwurfsschritte (Synthese)
Dipl.‐Ing. Th. Rommel PLD102
• 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
14.07.2014
30
Steuerung der Synthese
Dipl.‐Ing. Th. Rommel PLD103
• 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
• Weitere Randbedingungen der Synthese werden über bestimmteEingabeparameter gesteuert, die als Constraints bezeichnetwerden
Place & Route
Dipl.‐Ing. Th. Rommel PLD104
Layoutsynthese
Abbildung der Schaltung auf den konkreten Zielbaustein(d.h. es muss festgelegt werden, welche CLBs eines vorgegebenen Chips nun zurRealisierung 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 derNetzliste 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)
14.07.2014
31
3.2 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
Dipl.‐Ing. Th. Rommel PLD105
Programmable Function Unit (PFU) der OR2C-Familie (Lucent Technologies)
Beispiel für Granularität bzw. Körnung
Dipl.‐Ing. Th. Rommel PLD106
14.07.2014
32
einklassisches (FE)
wenige FE+ Verbindungen
(bis 100)
viele FE(ab 100)
g g )
Kombinatorik + FF(mit bis zu ca. 25 Eingängen)
relativ breiteKombinatorik
+ viele FF(20-50 Eingänge,
FF 8
relativ schmaleKombinatorik + FF
(Inputs < 10 , max. 2 FF)
keine vorwiegendglobal
vorwiegend local
PAL, ROM,
FPLAPAL, PLA RAM, LUT, MUX
Link:PAL EEPROMHSRAM
Antifuse:
globale Architektur:
Aufbau Funktionselement:
Aufbau Verbindung zwischen den FE:
Realisierung Kombinatorik:
Programmiertechnologie:
Systematisierung der PLD
Dipl.‐Ing. Th. Rommel PLD107
Effektivität von PLD
1. Logikdichte, d. h. Schaltungsfunktionalität pro Flächeneinheit, und damit von:
• Größe des Bausteins in Gatteräquivalenten und Anzahl der Flip‐Flops
2. Durchlaufzeiten der Logikblöcke und der Verbindungswege und damit:
• erreichbare Systemgeschwindigkeit• erreichbarer Ausnutzungsgrad
3. Anwenderfreundlichkeit: Wie leicht läßt sich die Anwenderschaltung implementieren?
• Synthesefreundlichkeit• Testbarkeit• Geschwindigkeit und Einfachheit der Konfigurierung
4. Stromverbrauch
Dipl.‐Ing. Th. Rommel PLD108
14.07.2014
33
Schwierigkeiten beim Entwurf von PLD (CPLD und FPGA)
• steigende Integrationsdichte
• kürzere Lebensdauer der Produkte
• alle FPGA-Strukturen sind unterschiedlich
Schaltungskomplexität muss beherrscht werden
kurze Entwicklungszeiten
neue Einarbeitungszeit
Entwurf möglichst unabhängig von Architektur
Dipl.‐Ing. Th. Rommel PLD109
1M
100k
10k
1k
100
10
1
Spe
zifik
atio
n
Sim
ula
tion
Syn
thes
e
Bits
tre
am
Pla
tine
Sys
tem
Fe
ld
relativeKosten
Entwurfs-schritt
Zehner-Regel: Kosten der Fehlerbeseitigung
Sicherung hoher Entwurfsqualität
Dipl.‐Ing. Th. Rommel PLD111
14.07.2014
34
3.4 Programmiertechnologie
Dipl.‐Ing. Th. Rommel PLD112
40-60µm
(Teil B)
Fused Links
Dipl.‐Ing. Th. Rommel PLD114
Word Line
Data Bit Line
PullupResistor
ProgrammedConnection
Transistor
14.07.2014
35
(Teil B)
SRAM-Zellen
Dipl.‐Ing. Th. Rommel PLD116
Zwei kreuzweise gekoppelte Inverter A und B als Speicherelement
5‐Transistor‐SRAM‐Zelle von XILINX
S
SSSSSSSSS
S
= Speicherzelle
DurchgangsgatterPass Transistor
Multiplexer Lookup Table(LUT)
00011011
1-aus-4Decoder
01
01
Wire
d-O
r
LUT als 4x1 RAM
X0X0
X1
X1Y = xor
LUT mit 2 Eingängen
SRAM-Zellen
Dipl.‐Ing. Th. Rommel PLD117
Programmierelemente mit Speicherzelle:
14.07.2014
36
Vorteile Nachteile
kein Programmiergerät erfoderlichschlechter 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
Dipl.‐Ing. Th. Rommel PLD118
Aufbau einer EPROM‐Zelle
Dipl.‐Ing. Th. Rommel PLD120
Wortleitung
Bit-leitung Q
G1G2
Vcc
14.07.2014
37
Wirkungsweise EPROM‐Zelle• Beschreiben einer EPROM‐Zelle
Dipl.‐Ing. Th. Rommel PLD121
Wirkungsweise EPROM‐Zelle• Lesen einer EPROM‐Zelle
Dipl.‐Ing. Th. Rommel PLD122
14.07.2014
38
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 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
Dipl.‐Ing. Th. Rommel PLD123
EPROM‐Zelle
Dipl.‐Ing. Th. Rommel PLD126
UV‐EPROM EEPROM Flash‐EEPROM
Löschen UV‐Licht elektrisch elektrisch
Relative Zellgröße
1
4,2
(zusätzlich Transistoren)
1
extrem dünne Silizium‐Schicht unter Floating‐
Gate
Programmier‐zeit
< 1 ms < 1 ms 200 µs
Löschzeit 20 min 1 ms < 1 ms
14.07.2014
39
• durch Anlegen einer Programmierspannung wird die isolierende
Schicht zwischen den beiden Anschlüssen durchgeschmolzen
es entsteht eine niederohmige, dauerhafte Verbindung
• Anwendung: vorwiegend in FPGA
• Herkömmliche Bipolar‐Fuses wird mehr in PLD angewendet
Antifuse‐Technologie
Dipl.‐Ing. Th. Rommel PLD127
<1 µmFeldoxid Polysilizium
DiffusionsgebietDielektrikum
• das trennende Dielektrikum (sehr dünn) wird aufgeschmolzen
• 3 zusätzliche Herstellungsschritte (im Vergleich zum CMOS-Prozeß)
notwendig
• Programmierzeit mehrere Minuten (A1012 z.B. 18 Minuten)
PLICE‐Antifuse(programmable low‐impedance ciruit‐element)
Dipl.‐Ing. Th. Rommel PLD128
14.07.2014
40
SiO2
Metall
Metall amorphesSilizium
Verbindung
• sehr geringer Platzbedarf
• niedriger elektrischer Widerstand
• kleine Kapazitäten
(Teil B)
ViaLink‐Antifuse
Dipl.‐Ing. Th. Rommel PLD129
Vergleich der Technologien
Dipl.‐Ing. Th. Rommel PLD133
SRAMFLASH‐Eprom
Plice ViaLink
Konfigurierung flüchtig? ja nein nein nein
rekonfigurierbar? ja ja nein nein
in System programmierbar? ja theoretisch ja nein nein
Zellengrößegroß
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 Prozessschritte0 3 bis 5 3 3
14.07.2014
41
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)
Dipl.‐Ing. Th. Rommel PLD134
Verschlüsselung des Datenstoms bei SRAM-basierenden Bausteinen
Dipl.‐Ing. Th. Rommel PLD135
Kleiner nicht flüchtiger Speicher
14.07.2014
42
dynamischrekonfigurierbar
parallel rekonfigurierbar
rekonfigurierbar
konfigurierbar
• Schutz der Innovation
Unterschied zwischen Kopierschutz und Schutz vor genauen Analyse
- Anifuse sicherer als SRAM
- Programmieren des Security-Fuse
• Rekonfigurierbarkeit, ISP
• Kosten und Schaltungsaufwand
• Testbarkeit und Zuverlässigkeit
• Anzahl der Programmierelemente
Bewertung der Vor‐ und Nachteile
Dipl.‐Ing. Th. Rommel PLD137
Verbindungsarchitekturen
möglichst geringeVerzögerungszeiten
möglichst flexibleProgrammierbarkeit
möglichst vieleLeitungen
möglichst geringer Flächenaufwand
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
Anforderungen an die Verbindungsarchitekturen programmierbarer Logikbauelemente:
3.5 Verbindungsarchitekturen
Dipl.‐Ing. Th. Rommel PLD138
14.07.2014
43
Registereinige Bit
VerteilterSpeicher
einige 10 bit (pro Instanz)
Embedded Speicherpro Instanz einige 100 bit bis 10kbpro Bauelement einige 10 bis 10Mb
Externer SpeicherMb
Kriterien:
• Größe
• Wortbreite
• Zugriffszeit
• zusätzliche
Funktionalitäten
3.6 Speicher in komplexen PLD
Dipl.‐Ing. Th. Rommel PLD139
ProgrammierbareUND / ODER - Matrix
AusgabeBlock
EingabeBlock
programmierbare Rückkopplung
Eingang Ausgang
Handelsbezeichnungen: PAL, PLA, GAL, EPLD, PLS, FPLA
Grundsätzlicher Aufbau:
3.7 Beschreibung der verschiedenen Bausteinarchitekturen3.7.1 PLD geringer Dichte
Dipl.‐Ing. Th. Rommel PLD140
14.07.2014
44
Realisierung der Kombinatorik durch zweistufige Logik: UND- und ODER-Felder
Chiparchitekturen bei PLD niedriger Dichte
Dipl.‐Ing. Th. Rommel PLD141
UND‐Matrix ODER‐Matrix Normalform
RAM, ROM fest programmierbar KDNF
PAL programmierbar fest DNF
PLA programmierbar programmierbar DNF
• 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
Implementierbarkeit bei PLD geringer Dichte
Dipl.‐Ing. Th. Rommel PLD142
14.07.2014
45
• 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: Fused Link, Antifuse, EPROM, SRAM
(Teil B)Gemeinsamkeiten zwischen CPLD’s und FPGA’s:
Dipl.‐Ing. Th. Rommel PLD145
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:
Dipl.‐Ing. Th. Rommel PLD146
14.07.2014
46
Eigenschaften 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
Komplexität mittel hoch
Dipl.‐Ing. Th. Rommel PLD147
Eigenschaften CPLD FPGA
Flexibilität mittel hoch
Flächenausnutzung 40% ‐ 60% 50% ‐ 95%
Stromverbrauch hoch bis sehr hoch gering bis mittel
Einsatzgebiete bei breiten Eingangsfunktioneneinfache Realisierung schneller komplexer statemachines
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 öhererKomplexität bei Beibehaltung der Leistungsdaten
Dipl.‐Ing. Th. Rommel PLD148
14.07.2014
47
Eigenschaften CPLD FPGA
Anzahl Makrozellen/LE
8 ... 512 128 ... 2000.000
Anzahl I/O Pins 44 ... 270 44 ... 1200
Komplexität 500 ... 12.000 Gatter
40‐2000 FF
1000...5.000.000 Gatter100‐2 Mio FF
Total RAM Blocks 0‐ 8Kbits 0‐68 MBits
Taktfrequenzen bis 600 MHz 500 MHz
Dipl.‐Ing. Th. Rommel PLD149
3,3 volt Device Families
Family Density Speed I/O LogicBlock InputsMacro-
zellentPD (ns) Fmax (MHz)
ispLSI 5000VE 128-512 5 180 72-256 68
ispMACH4A3 32-512 5 182 32-256 33-36
ispLSI 2000VE 32-192 3 300 32-128 18
ispLSI 8000V 600-1080 8,5 125 192-360 44
2,5 volt Device Families
ispLSI 2000VL 32-192 5 180 32-128 18
5.0 volt Device Families
ispMACH 4A5 32-256 5 182 32-128 33-36
ispLSI 2000E 32-128 3.5 225 32-128 18Lattice
Dipl.‐Ing. Th. Rommel PLD153
14.07.2014
48
(Teil B)
Blockschaltbild des MAX7000 (Altera)
Dipl.‐Ing. Th. Rommel PLD156
(Teil B)
Device Macrocell
Dipl.‐Ing. Th. Rommel PLD157
14.07.2014
49
Routing notwendig
lokale Verbindungsressourcen über den ganzen Chip
(Functional)LogicBlock
SwitchBox
ConnectionBox
ConnectionBox
k + Sonderleitung
wenigstens eine Leitung(Steuerleitungen,CLK)
Verbindungstracks
3.7.3 Field Programmable Gate Array FPGA
Dipl.‐Ing. Th. Rommel PLD161
Parameter:
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)
Dipl.‐Ing. Th. Rommel PLD162
14.07.2014
50
PROGRAMMIERBARE SCHALTMATRIX
Dipl.‐Ing. Th. Rommel PLD163
AF groß (z.B. 2 FF + breite LUT)
• relativ schlechte Chipauslastung
• relativ unflexibel (oft gegenüberliegende Pins viel Verdrahtungsaufwand)
• relativ schnell
• w klein (da weniger Außenverdrahtung notwendig)
• AP darf groß sein (z.B. Transistoren RAM-Zelle)
typischer Vertreter: XILINX
AF klein (höchstens 1 FF)
• relativ gute Chipauslastung
• relativ flexibel
• relativ langsam
• w groß
• AP müssen klein sein (z.B. Antifuse [PLICE])
typischer Vertreter: TI / ACTEL
gegenseitige Abhängigkeit von Parametern:
Dipl.‐Ing. Th. Rommel PLD164
14.07.2014
51
Xilinx Product Portfolio
Dipl.‐Ing. Th. Rommel PLD182
Quelle: Xilinx.com
Dipl.‐Ing. Th. Rommel PLD183
14.07.2014
52
LX30 LX50 LX85 LX110 LX220 LX330
CLB Array Size 80 x 30 120 x 30 120 x 54 160 x 54 160x108 240x108
Logic Cells 30.720 46.080 82.944 110.592 221.184 331.776
Total Block RAM (kbits) 1.152 1.728 3.456 4.608 6.912 10.328
Digital Clock Manager 4 12 12 12 12 12
PLL 2 6 6 6 6 6
Maximum IO-Pin 400 560 560 800 800 1200
Virtex‐5 Familie
Dipl.‐Ing. Th. Rommel PLD184
Dipl.‐Ing. Th. Rommel PLD185
14.07.2014
53
Dipl.‐Ing. Th. Rommel PLD186
verschiedene IO-Blöcke sind mit unterschiedlichen Spannungspegeln belegbar
DLL DLL
DLL DLLIOBs
IOB
s
IOBs
IOB
s
VersaRing
Ve
rsaR
ing
Ve
rsaR
ing
VersaRing
BR
AM
sB
RA
Ms
CLBs
Blockschaltung von Virtex 2,5V FPGA‘s
Dipl.‐Ing. Th. Rommel PLD191
14.07.2014
54
Spartan‐6 Family
Dipl.‐Ing. Th. Rommel PLD203
Xilinx – Analog Mixed Signal
Dipl.‐Ing. Th. Rommel PLD205
Quelle: Xilinx.com
14.07.2014
55
Intellectual Proberty (IP)
Dipl.‐Ing. Th. Rommel PLD206
• Simulation des Coreverhaltens im System
• Überprüfen der Designfunktionalität und bestimmen der Größe undGeschwindigkeit
• Generieren eines zeitlich begrenzten Programmierfiles für das Design
• Programmieren des Bausteines und überprüfen des Designs in Hardware
Entwurfswerkzeuge• 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- Max+Plus II / Quartus von Altera- Alliance/Foundation von XILINX
Dipl.‐Ing. Th. Rommel PLD212
(Teil B)
14.07.2014
56
3.8 Embedded Processor Solutions
Dipl.‐Ing. Th. Rommel PLD213
Traditional PLD Benefits NewBenefits
• Faster Time‐to‐Market
• Programmable Flexibility
• Low Risk
• Cost‐Effective Access to Embedded Processor Cores
• Higher Integration
(Teil B)
Dipl.‐Ing. Th. Rommel PLD214
Embedded processor Memory
Logic
Altera FPGA
Vorteile:
• kombiniert
programmierbare Logik,
Speicher und einen
Prozessorkern
• Einchiplösungen von
kompletten Systemen
[SOPC]
14.07.2014
57
ARM- & MIPS-Based Embedded Processors PLD Solutions
ARM- & MIPS-Based Embedded Processors
On-ChipRAM
ARM/MIPSEmbeddedProcessor
Cache
ExternalBus Interface
UART
AlteraProgrammable Logic
Architecture
Embedded Processor Core PLD Core
JTAG/Debug
External Devices
Serial Port
(Teil B)
Nur noch bis Anfang 2008 verfügbar
215 Dipl.‐Ing. Th. Rommel PLD
NIOS II Design Flow
218 Dipl.‐Ing. Th. Rommel PLD
14.07.2014
58
Features:
• mehrere analoge Funktionen realisierbar (OV, Filter usw.)
• In-System-Programmable analog Circuit
• keine externen Komponenten notwendig
• über JTAG Schnittstelle zu konfigurieren
• über Parallelport PC programmierbar
• Software unter Windowsoberfläche
(z. B. der Firma Lattice)
(Teil B)3.9 Analoge PLD
Dipl.‐Ing. Th. Rommel PLD228
Analoge PLD‘s
Dipl.‐Ing. Th. Rommel PLD230
FPAA (Field Programmable Analog Array) An10E40 der Fa. Anadigm Inc.
14.07.2014
59
Dipl.‐Ing. Th. Rommel PLD231
CAB des FPAA (Field Programmable Analog Array) An10E40
Switched‐Capacitor‐Technik
Dipl.‐Ing. Th. Rommel PLD232
CfC
T
I
UR
schaltäq
1
14.07.2014
60
Bauelementevorrat der Zellen
Dipl.‐Ing. Th. Rommel PLD238
• Markus Wannemacher: „Das FPGA-Kochbuch“Bonn, International Thomson Publishing GmbHISBN 3-8266-2712-1
• Axel Sikora: „Programmierbare Logikbauelemente, Architekturen und Anwendungen“München, Wien, Carl Hander VerlagISBN 3-446-21607-3
• A. Auer: „Programmierbare Logik-IC“Hüthig Buchverlag HeidelbergISBN 3-7785-1910-7
• A. Auer: „PLD-Handbuch“Hüthig Buchverlag HeidelbergISBN 3-7785-1991-3
• F. Kesel/R. Barthalomä: „Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs“Oldenbourg Verlag MünchenISBN 3-486-57556-2
• Chr. Siemers: „Logikbausteine“Vogel Buchverlag WürzburgISBN 3-8023-1873-0
(Teil B)4 Literaturhinweise
Dipl.‐Ing. Th. Rommel PLD243