Folien (2015) Kapitel 1

Transcription

Folien (2015) Kapitel 1
1
PLD - Eine moderne Realisierungsvariante für digitale
Schaltungen
PLD = Programmable Logic Device
(Sammelbezeichnung für alle programmierbaren
Logikschaltkreise)
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1. PLD - Eine moderne Realisierungsvariante für digitale Schaltungen
 1.1. Vom PAL zum FPGA – Ein kurzer geschichtlicher Abriß
1.2. Architekturprinzipien von PLD
1.3. Systematische Einteilung aktueller Realisierungsvarianten
1.4. Der PLD-Entwurfsprozeß im Überblick
1.5. Aufbau und Eigenschaften ausgewählter FPGA im Überblick
2
3
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1985
ASIC
Herstellerprogrammiert
Anwenderprogrammiert
Produkttermbasierend
Vollkunden-IC
Standardzelle
Gate Array
PAL, PLA, GAL,
EPLD
ASIC
 Application Specific Integrated Circuit
(Anwendungsspezifischer Schaltkreis)
FPGA
 LCA (XILINX)
 ACTx (ACTEL)
 ...
ASIC
Auf Silizium Installiertes Chaos
(nach LURA)
FPGA
Field Programmable Gate Array
4
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Vom PAL zum FPGA
o
(L
rra
A
ell
C
gic
A A
LC FPG
NX tes
I
L
XI ers

L
PA
L
A
G
y)
L
E
T
AC
GA
P
F
1985
ni
a
P
iL
e
kb
a
D
M
A
,
ce
i
t
t
d
un
.
o
C
&
L
GA
L
CP
D
.
Co
(n
x

L
SP
D
u
a
L
PA
f
em
n
i
e
)
p
i
Ch
5
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Statistik 1993
ASIC-Weltmarkt
Rest
93%
FPGA-Weltmarkt
USA
70%
FPGA
7%
Japan/
Südostasien
10%
Wachstumsrate FPGA 37%
Europa
20%
Quelle: VDI-Nachrichten, April 1994
6
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Statistik 1993
FPGA-Weltmarkt
AT&T TI
10%
Rest
10%
Actel
20%
Xilinx
60%
Quelle: VDI-Nachrichten, April 1994
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Statistik 1998
Programmable Logic (FPGA, CPLD, PLD),
Top Ten Suppliers
Revenue Results and Market Share
SOURCE: EE Times, 4-OCT-1999.
1998 Ranking
7
8
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Statistik 2005/06
Revenue Results and Market Share
Rest
Lattice 11%
6%
ALTERA
33%
XILINX
50%
Quelle: Electronic Business, 6/1/2006
http://www.reed-electronics.com/eb-mag/article/CA6339519
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Umfrage 2006
Quelle: Electronic Engineering Times
May 29, 2006
www.eetimes.com
9
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1. PLD - Eine moderne Realisierungsvariante für digitale Schaltungen
1.1. Vom PAL zum FPGA – Ein kurzer geschichtlicher Abriß
 1.2. Architekturprinzipien von PLD
1.3. Systematische Einteilung aktueller Realisierungsvarianten
1.4. Der PLD-Entwurfsprozeß im Überblick
1.5. Aufbau und Eigenschaften ausgewählter FPGA im Überblick
10
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Prinzipielle Bausteinstrukturen
11
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Konfigurierbare Verbindungselemente
In einem Schaltkreis, dessen Funktion erst auf dem Schreibtisch
des Anwenders festgelegt werden soll, müssen zu diesen Zeitpunkt
schaltbare elektrische Verbindungen vorhanden sein.
 Forderungen




elektrisch idealer Schalter
unendlich klein
von außen ohne Aufwand unendlich oft schaltbar
mit Standardprozeß realisierbar
 Realisierungen






Fuse
Antifuse
SRAM
EPROM
EEPROM
Flash
12
13
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Fuse I
Sicherung intakt
(Lieferzustand)
Sicherung
durchgebrannt
UProg
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Fuse II
Technologie
Fuse (Sicherung)
Struktur
ganz „normale“ Sicherung, direkte bidirektionale Verbindung
Flächenbedarf
sehr groß
Verbindungs-R
sehr klein
Verbindungs-C
sehr klein
Extra Prozeßschritte
0
Programmierung
im Programmiergerät
dazu benötigte
Zusatzhardware
Programmiergerät mit passender Fassung
Flüchtig
nein
Reprogrammierbar /
-konfigurierbar
nein
Testbarkeit Rohling
nicht testbar, Testvektorgenerierung und Verifikation im Programmiergerät
erforderlich
Verifikation nach
Konfigurierung
Verifikation nur über programmierte Funktion möglich
Debugging nach
Konfigurierung
nicht möglich
Bemerkungen
Achtung! Programmierung von nicht verifizierbaren Strukturen möglich!!!!!
15
17
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Antifuse I
PLICE (Patent ACTEL)
ViaLink (Patent QuickLogic)
 Flächenbedarf
3,2..0,25µm
 Übergangswiderstand 500..30Ω
 Zeitkonstante
500..50ps
(incl. Gattereingang)
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Antifuse II
Serie SX/SXA Fa. ACTEL
18
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Antifuse III
Technologie
Antifuse
Struktur
Gegenteil zur Fuse, direkte bidirektionale Verbindung
Flächenbedarf
extrem klein für die eigentliche Antifuse, Zusatzplatzbedarf für
Programmiernetzwerk
Verbindungs-R
sehr klein
Verbindungs-C
sehr klein
Extra Prozeßschritte
3
Programmierung
im Programmiergerät
dazu benötigte
Zusatzhardware
Programmiergerät mit passender Fassung
Flüchtig
nein
Reprogrammierbar /
-konfigurierbar
nein
Testbarkeit Rohling
100% testbar
Verifikation nach
Konfigurierung
Verifikation über Programmiernetzwerk
Debugging nach
Konfigurierung
Debugging über Programmiernetzwerk
Bemerkungen
Leider keine reprogrammierbaren Entwicklungsversionen verfügbar!
19
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
SRAM I
zwei Inverter (4T) plus Pass-Transistor
Unterschied zur „gewöhnlichen“ SRAM-Zelle:
 Konfigurationszelle wird nur während der
Konfigurierung seriell beschrieben oder gelesen!
 Geschwindigkeit untergeordnet!
 Informationsnutzung direkt an der Zelle!
 Erhöhte Anforderungen an Datenkonsistenz!
21
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
SRAM II
Technologie
SRAM (Ähnlich gewöhnlicher Speicherzelle)
Struktur
Elektronisches Relais, zusätzlich zur Zelle wird ein Schaltelement benötigt (PaßTransistor bei bidirektionaler Verbindung, MUX bei unidirektionaler Verbindung)
Flächenbedarf
sehr groß
Verbindungs-R
mittel
Verbindungs-C
mittel
Extra Prozeßschritte
0
Programmierung
ISP (Ext. Festwertspeicher)
dazu benötigte
Zusatzhardware
Ext. Festwertspeicher, dazu Programmiergerät mit passender Fassung
Flüchtig
ja
Reprogrammierbar /
-konfigurierbar
ja
Testbarkeit Rohling
100% testbar
Verifikation nach
Konfigurierung
Verifikation über Programmiernetzwerk
Debugging nach
Konfigurierung
Debugging über Programmiernetzwerk und Debug-Konfigurationen
Bemerkungen
div. Programmiervarianten
22
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
EPROM
Technologie
EPROM (Ähnlich gewöhnlicher Speicherzelle, mit Fenster oder OTP)
Struktur
Elektronisches Relais, direkte unidirektionale Verbindung, bei bidirektionalen
Verbindungen wird zusätzlich zur Zelle ein Schaltelement benötigt (PaßTransistor)
Flächenbedarf
mittel
Verbindungs-R
mittel
Verbindungs-C
mittel
Extra Prozeßschritte
3
Programmierung
im Programmiergerät
dazu benötigte
Zusatzhardware
Programmiergerät mit passender Fassung, Löschgerät
Flüchtig
nein
Reprogrammierbar /
-konfigurierbar
ja bei Fenster, nein bei OTP
Testbarkeit Rohling
100% testbar
Verifikation nach
Konfigurierung
Verifikation über Programmiernetzwerk
Debugging nach
Konfigurierung
nicht möglich (ggf. Debug-Konfigurationen)
Bemerkungen
24
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
EEPROM
Technologie
EEPROM (Ähnlich gewöhnlicher Speicherzelle)
Struktur
Elektronisches Relais, direkte unidirektionale Verbindung, bei bidirektionalen
Verbindungen wird zusätzlich zur Zelle ein Schaltelement benötigt (PaßTransistor)
Flächenbedarf
groß
Verbindungs-R
mittel
Verbindungs-C
mittel
Extra Prozeßschritte
>5
Programmierung
meist ISP
dazu benötigte
Zusatzhardware
Programmierkabel für PC
Flüchtig
nein
Reprogrammierbar /
-konfigurierbar
ja
Testbarkeit Rohling
100% testbar
Verifikation nach
Konfigurierung
Verifikation über Programmiernetzwerk
Debugging nach
Konfigurierung
nicht möglich (ggf. Debug-Konfigurationen)
Bemerkungen
26
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Flash
Technologie
Flash (Ähnlich gewöhnlicher Speicherzelle)
Struktur
Elektronisches Relais, direkte unidirektionale Verbindung, bei bidirektionalen
Verbindungen wird zusätzlich zur Zelle ein Schaltelement benötigt (PaßTransistor)
Flächenbedarf
mittel
Verbindungs-R
mittel
Verbindungs-C
mittel
Extra Prozeßschritte
? >0!
Programmierung
meist ISP
dazu benötigte
Zusatzhardware
Programmierkabel für PC
Flüchtig
nein
Reprogrammierbar /
-konfigurierbar
ja
Testbarkeit Rohling
100% testbar
Verifikation nach
Konfigurierung
Verifikation über Programmiernetzwerk
Debugging nach
Konfigurierung
nicht möglich (ggf. Debug-Konfigurationen)
Bemerkungen
28
30
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Zusammenfassung
Technologie
Fuse (Sicherung)
Antifuse
SRAM
EPROM
EEPROM
Flash
Flächenbedarf
sehr groß
extrem klein
sehr groß
mittel
groß
mittel
Verbindungs-R
sehr klein
sehr klein
mittel
mittel
mittel
mittel
Verbindungs-C
sehr klein
sehr klein
mittel
mittel
mittel
mittel
Programmierung
Programmiergerät
im Programmiergerät
ISP
Programmiergerät
meist ISP
meist ISP
Flüchtig
nein
nein
ja
nein
nein
nein
Reprogrammierbar
nein
nein
ja
ja (nein)
ja
ja
Testbarkeit Rohling
nicht testbar
100% testbar
100% testbar
100% testbar
100% testbar
100% testbar
Debugging nach
Konfigurierung
nicht möglich
Programmiernetzwerk
Programmiernetzwerk
und DebugKonfigurationen
ggf. DebugKonfigurationen
ggf. DebugKonfigurationen
ggf. DebugKonfigurationen
Extra Prozeßschritte
0
ca. 3
0
ca. 3
>5
>5 ???
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Logikstrukturen





Ein-/ Ausgabe Module
Kombinatorische Schaltungen
Sequentielle Schaltungen
Taktversorgung
Systemtaktraten und Einfußgrößen
32
33
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Anforderungen an Ein-/ Ausgabe-Module
Eingangspfad
Ausgangspfad
 Pegelanpassung an Außenwelt (Technologie
/ Versorgungsspannung / genormte
Schnittstellen)
 Überspannungsschutz / Latch-Up-Schutz
 zuschaltbarer Pull-Up / Pull-Down
 zuschaltbares Flip-Flop und/oder Latch
 Leitungsanpassung, Verzögerungsglieder,
DDR
PLD
IN
zuschaltbares Flip-Flop und/oder Latch
Ausgangstreiber mit Tristate-Option
Slew-Rate-Option
Überspannungsschutz / Latch-Up-Schutz
Pegelanpassung an Außenwelt (Technologie
/ Versorgungsspannung / genormte
Schnittstellen)
 Leitungsanpassung, DDR





PLD
OUT
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 1 (GAL16V8)
34
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 1 (GAL16V8)
35
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 1 (GAL16V8)
36
37
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 2 (ACTEL)
OE
GOUT
G
DOUT
D
Y
Y
Y
D
G
GIN
Simple I/O Module
Latched I/O Module
39
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 2 (ACTEL)
OE
BYPASS
IOCLK
S
A
DOUT
D
DOE
E
E
P
Y
B
C
IOPCL
SEL
Y
Y
A
B
C
IOCLK
Q
D
E
P
C
IOPCL
Registered I/O Module
DTE
41
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 3 (XILINX 3000)
Vcc
PROGRAM-CONTROLLED MEMORY CELLS
OUT
INVERT
3- STATE
(OUTPUT ENABLE)
OUT
OUTPUT
SELECT
3-STATE
INVERT
SLEW
RATE
PASSIVE
PULL UP
T
O
D
Q
FLIP
FLOP
OUTPUT
BUFFER
I/O PAD
R
DIRECT IN
REGISTERED IN
I
Q
Q D
FLIP
FLOP
or
LATCH
TTL or
CMOS
INPUT
THRESHOLD
R
OK
IK
(GLOBAL RESET)
CK1
CK2
PROGRAM
CONTROLLED
MULTIPLEXER
Figure 4: Input/Output Block.
= PROGRAMMABLE INTERCONNECTION POINT or PIP
X3029
43
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 4 (XILINX SPARTAN II)
Standards Supported by I/O (Typical Values)
I/O Standard
Input
Reference
Voltage
(VREF)
Output
Source
Voltage
(VCCO)
Board
Termination
Voltage
(VTT)
LVTTL (2-24 mA)
N/A
3.3
N/A
LVCMOS2
N/A
2.5
N/A
PCI (3V/5V,
33 MHz/66 MHz)
N/A
3.3
N/A
GTL
0.8
N/A
1.2
GTL+
1.0
N/A
1.5
HSTL Class I
0.75
1.5
0.75
HSTL Class III
0.9
1.5
1.5
HSTL Class IV
0.9
1.5
1.5
SSTL3 Class I
and II
1.5
3.3
1.5
SSTL2 Class I
and II
1.25
2.5
1.25
CTT
1.5
3.3
1.5
AGP-2X
1.32
3.3
N/A
0
Spartan-II 2.5V FPGA Family:
Functional Description
R
DS001-2 (v2.1) March 5, 2001
0
0
Preliminary Product Specification
Compatible Output Standards
VCCO
3.3V
Compatible Standards
PCI, LVTTL, SSTL3 I, SSTL3 II, CTT, AGP,
GTL, GTL+
2.5V
SSTL2 I, SSTL2 II, LVCMOS2, GTL, GTL+
1.5V
HSTL I, HSTL III, HSTL IV, GTL, GTL+
45
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 4 (XILINX SPARTAN II)
T
SR
D
VCCO
Q
Package
Pin
TFF
CLK
CK
TCE
EC
VCC
OE
SR
Programmable
Bias &
ESD Network
I/O
Package Pin
SR
O
D
Q
Programmable
Output Buffer
OFF
CK
OCE
Internal
Reference
EC
Programmable
Delay
IQ
SR
I
D
Q
IFF
I/O, VREF
Programmable
Input Buffer
Package Pin
CK
ICE
EC
To Next I/O
To Other
External VREF Inputs
of Bank
Spartan-II Input/Output Block (IOB)
DS001_02_090600
47
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 4 (XILINX SPARTAN II)
Bank 1
GCLK3
Bank 2
Bank 7
Bank 0
GCLK2
GCLK1
Bank 5
Bank 3
Bank 6
Spar tan-II
Device
GCLK0
Bank 4
DS001_03_060100
Spartan-II I/O Banks
Independent Banks Available
Package
VQ100
PQ208
CS144
TQ144
FG256
FG456
Independent Banks
1
4
8
49
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
Supported Single-Ended I/O Standards
Output
VCCO
Input
VCCO
Input
VREF
Board
Termination
Voltage (VTT)
LVTTL
3.3
3.3
N/A
N/A
LVCMOS33
3.3
3.3
N/A
N/A
LVCMOS25
2.5
2.5
N/A
N/A
LVCMOS18
1.8
1.8
N/A
N/A
LVCMOS15
1.5
1.5
N/A
N/A
PCI33_3
3.3
3.3
N/A
N/A
PCI66_3
3.3
3.3
N/A
N/A
PCI-X
3.3
3.3
N/A
N/A
GTL
Note 1
Note 1
0.8
1.2
GTLP
Note 1
Note 1
1.0
1.5
HSTL_I
1.5
N/A
0.75
0.75
HSTL_II
1.5
N/A
0.75
0.75
HSTL_III
1.5
N/A
0.9
1.5
HSTL_IV
1.5
N/A
0.9
1.5
SSTL2_I
2.5
N/A
1.25
1.25
SSTL2_II
2.5
N/A
1.25
1.25
SSTL3_I
3.3
N/A
1.5
1.5
SSTL3_II
3.3
N/A
1.5
1.5
AGP-2X/AGP
3.3
N/A
1.32
N/A
0
Virtex-II 1.5V
Field-Programmable Gate Arrays
R
DS031-2 (v1.5) April 2, 2001
0
0
Advance Product Specification
Compatible Output Standards
VCCO
Compatible Standards
3.3 V
PCI, LVTTL, SSTL3 (I & II), AGP-2X, LVDS_33,
LVDSEXT_33, LVCMOS33, LVDCI_33,
LVDCI_DV2_33, SSTL3_DCI (I & II), BLVDS,
LVPECL, GTL, GTLP
2.5 V
1.8 V
1.5 V
1.2V
SSTL2 (I & II), LVCMOS25, GTL, GTLP,
LVDS_25, LVDSEXT_25, LVDCI_25,
LVDCI_DV2_25, SSTL2_DCI (I & II), LDT,
ULVDS, BLVDS
LVCMOS18, GTL, GTLP, LVDCI_18,
LVDCI_DV2_18
HSTL (I, II, III, & IV), LVCMOS15, GTL, GTLP,
LVDCI_15, LVDCI_DV2_15, GTLP_DCI,
HSTL_DCI (I,II, III & IV)
GTL_DCI
I/O
Standard
Notes:
1. VCCO of GTL or GTLP should not be lower than the
termination voltage or the voltage seen at the I/O pad.
51
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
Supported DCI I/O Standards
I/O
Standard
Supported Differential Signal I/O Standards
I/O
Standard
LVPECL_33
Output
VCCO
Input
VCCO
Input
VREF
Output
VOD
3.3
N/A
N/A
VCCO –1.025
to
VCCO –1.64
LDT_25
2.5
N/A
N/A
0.430 - 0.670
LVDS_33
3.3
N/A
N/A
0.250 - 0.400
LVDS_25
2.5
N/A
N/A
0.250 - 0.400
LVDSEXT_33
3.3
N/A
N/A
0.330 - 0.700
LVDSEXT_25
2.5
N/A
N/A
0.330 - 0.700
BLVDS_25
2.5
N/A
N/A
0.250 - 0.450
ULVDS_25
2.5
N/A
N/A
0.430 - 0.670
Output
VCCO
Input
VCCO
Input
VREF
Termination
Type
LVDCI_33 (1)
3.3
3.3
N/A
Series
LVDCI_DV2_33 (1)
3.3
3.3
N/A
Series
LVDCI_25 (1)
2.5
2.5
N/A
Series
LVDCI_DV2_25 (1)
2.5
2.5
N/A
Series
LVDCI_18 (1)
1.8
1.8
N/A
Series
LVDCI_DV2_18 (1)
1.8
1.8
N/A
Series
LVDCI_15 (1)
1.5
1.5
N/A
Series
LVDCI_DV2_15 (1)
1.5
1.5
N/A
Series
GTL_DCI
1.2
1.2
0.8
Single
GTLP_DCI
1.5
1.5
1.0
Single
HSTL_I_DCI
1.5
1.5
0.75
Split
HSTL_II_DCI
1.5
1.5
0.75
Split
HSTL_III_DCI
1.5
1.5
0.9
Single
HSTL_IV_DCI
1.5
1.5
0.9
Single
SSTL2_I_DCI (2)
2.5
2.5
1.25
Split
SSTL2_II_DCI (2)
2.5
2.5
1.25
Split
SSTL3_I_DCI (2)
3.3
3.3
1.5
Split
SSTL3_II_DCI (2)
3.3
3.3
1.5
Split
Notes:
1. LVDCI_XX and LVDCI_DV2_XX are LVCMOS controlled
impedance buffers, matching the reference resistors or half
of the reference resistors.
2. These are SSTL compatible.
53
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
IOB
IOB
PAD4
Input
DDR mux
Reg
Differential Pair
IOB
PAD3
OCK1
Reg
ICK1
Switch
Matrix
Reg
IOB
PAD2
OCK2
3-State
Differential Pair
Reg
ICK2
IOB
PAD1
DDR mux
DS031_30_101600
Reg
OCK1
Virtex-II Input/Output Tile
PAD
DCM
Reg
OCK2
180 0
FDDR
FDDR
D1
DS031_29_100900
D1
Q1
CLOCK
Virtex-II IOB Block
Q1
CLK1
CLK1
DDR MUX
D2
Q
DDR MUX
Q
D2
Q2
CLK2
Output
Q2
CLK2
(50/50 duty cycle clock)
DS031_26_100900
Double Data Rate Registers
55
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
(O/T) 1
FF
LATCH
(O/T) CE
(O/T) CLK1
D1
Q1
Attribute INIT1
INIT0
SRHIGH
SRLOW
CE
CK1
SR REV
SR
Shared
by all
registers REV
FF1
DDR MUX
FF2
(OQ or TQ)
FF
LATCH
D2
(O/T) CLK2
Q2
CE
CK2
SR REV
Attribute INIT1
INIT0
SRHIGH
SRLOW
(O/T) 2
Reset Type
SYNC
ASYNC
DS031_25_110300
Register / Latch Configuration in an IOB Block
57
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
VCCO
Clamp
Diode
OBUF
VCCO
Program Current
Weak
Keeper
10-60K
PAD
VCCO
10-60K
VCCAUX = 3.3V
VCCINT = 1.5V
Program
Delay
IBUF
DS031_23_011601
LVTTL, LVCMOS or PCI SelectI/O Standards
59
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
1 Bank
DCI
DCI
IOB
DCI
Z
DCI
Z
VCCO
Virtex-II DCI
RREF (1%)
VRN
VCCO = 3.3 V, 2.5 V, 1.8 V or 1.5 V
Internal Series Termination
VRP
RREF (1%)
GND
DS031_50_101200
DCI in a Virtex-II Bank
DS031_51_110600
61
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Kombinatorische und sequentielle Schaltungen
Zt
X
f
t+1
Y
f
X
Z
S
g
Y
?
SPLD
(PAL, GAL, ...)
FPGA
Sea-of-Gates
Gate-Array
Standardzelle
Voll-kundenspezifischerSchaltkreis
63
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Realisierungsprinzipien kombinatorischer Schaltungen
Realisierung mit
Logikgattern
(direkte Umsetzung)
Produkttermbasierende
Realisierung
SPLD/CPLD
X
Realisierung mit
Funktionstabellen
Multiplexer
Matrixspeicher
FPGA
Y
n
n sehr unterschiedlich
Produkttermanzahl sehr unterschiedlich
X
Y
n
n = 4..5
beliebige Funktionen realisierbar
65
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Realisierungsprinzipien sequenzieller Schaltungen
In PLD werden ausschließlich synchrone
Automaten verwendet!
Automat!
Zt
t+1
X
f
Z
S
g
Y
 Zustandsübergang getaktet
 Speicher = getaktetes Zähl-Flipflop (meist D-FF)
 Sequentielle Standardschaltungen (Zähler,
Schieberegister...) lassen sich mit der gleichen
Struktur beschreiben
 Zur Verbesserung des Zeitverhaltens sind aber
weitergehende Strukturoptimierungen möglich und
ggf. auch erforderlich!
Takt
f, g = kombinatorische Logik
s = Speicher
 Warum keine asynchronen Automaten?
 Realisierung mit kombinatorischen Schaltungsblöcken und Zähl-Flipflops
Typische Universalstruktur
f
X
S
n-1
Takt
Y
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 1 (GAL16V8)
67
68
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 2 (ACTEL Simple)
0
GND
0
0
1
1
1
0
Y
0
A
B
C
1
Y
0
1
A
B
C
Simple Logic Module
1
70
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 2 (ACTEL SX)
D0
D1
D00
D01
Y
Y
D10
D2
D11
S1
D3
Sa
S0
Sb
Up to 8-input function
DB
Combinatorial Logic Module
A0
B0
A1
B1
GND
A
B
C
D
E
0 0
0 0
A
Y
1 0
1 0
B
C
D
E
Example of a Logic Function Implemented with the Combinatorial Logic Module
Y
OUT
72
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 2 (ACTEL SX)
S0
Routed
Data Input S1
PSETB
Direct
Connect
Input
D
Q
HCLK
CLRB
CLKA,
CLKB,
Internal Logic
CKS
CKP
Y
74
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 3 (XILINX 3000)
DI
DATA IN
0
MUX
F
D
Q
1
DIN
G
QX
RD
QX
X
A
F
F
B
LOGIC
VARIABLES
C
D
COMBINATORIAL
FUNCTION
E
CLB OUTPUTS
G
G
QY
Y
QY
F
DIN
G
0
MUX
D
Q
1
EC
ENABLE CLOCK
RD
1 (ENABLE)
K
CLOCK
DIRECT
RESET
RD
0 (INHIBIT)
(GLOBAL RESET)
X3032
Figure 5: Configurable Logic Block.
76
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 4 (XILINX SPARTAN III)
COUT
YB
Y
G4
I4
G2
Look-Up
I3 Table
O
I2
G1
I1
G3
S
D
Carry
and
Control
Logic
YQ
Q
CK
EC
R
F5IN
BY
SR
XB
X
F4
I4
F2
Look-Up
I3 Table
O
I2
F1
I1
F3
S
D
Carry
and
Control
Logic
XQ
Q
CK
EC
R
BX
CIN
CLK
CE
DS001_04_091400
Spartan-II CLB Slice (two identical slices in each CLB)
 2x pro CLB!
 LUT als 16x1 RAM oder ROM
(Funktionsgenerator) verwendbar
 2LUT als 16x1 DPRAM verwendbar
 D-FF oder Latch umschaltbar
 div. MUX um LUTs zusammenzuschalten
(max. 19E)
 carry path
 3-state drivers
78
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
COUT
Configurable Logic Blocks (CLBs)
TBUF X0Y1
TBUF X0Y0
CLB resources include four slices and two 3-state buffers.
Each slice is equivalent and contains:
Two function generators (F & G)
Two storage elements
Arithmetic logic gates
Large multiplexers
Wide function capability
Fast carry look-ahead chain
Horizontal cascade chain (OR gate)
The function generators F & G are configurable as 4-input
look-up tables (LUTs), as 16-bit shift registers, or as 16-bit
distributed SelectRAM memory.
In addition, the two storage elements are either edge-triggered D-type flip-flops or level-sensitive latches.
Each CLB has internal fast interconnect and connects to a
switch matrix to access general routing resources.
Slice
X1Y1
Slice
X1Y0
COUT
Switch
Matrix
SHIFT
CIN
Slice
X0Y1
Slice
X0Y0
Fast
Connects
to neighbors
CIN
DS031_32_101600
Virtex-II CLB Element
ORCY
RAM16
MUXFx
SRL16
LUT
G
CY
Register
RAM16
MUXF5
SRL16
LUT
F
CY
Register
Arithmetic Logic
DS031_31_100900
Virtex-II Slice Configuration
80
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel 5 (XILINX VIRTEX II)
COUT
SHIFTIN
ORCY
SOPIN
SOPOUT
0
Dual-Port
Shift-Reg
G4
G3
G2
G1
WG4
WG3
WG2
WG1
A4
LUT
A3
RAM
A2
ROM
A1
D
WG4
G
WG3
WG2
MC15
WG1
WS
DI
YBMUX
I
YB
MUXCY
O
I
GYMUX
Y
DY
XORG
FF
LATCH
ALTDIG
MULTAND
1
0
DYMUX
G2
PROD
G1
CYOG
BY
CE
CLK
D
Q
Q
Y
CE
CK
SR REV
BY
SLICEWE[2:0]
WSG
WE[2:0]
WE
CLK
WSF
SR
SHIFTOUT
DIG
MUXCY
I
O
CE
CLK
Shared between
x & y Registers
SR
CIN
Virtex-II Slice (Top Half)
DS031_01_110600
82
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Systemtaktraten und Einflussgrößen
Vorsicht bei Taktangaben!!!
300
System Clock (MHz)
250
 Toggle-Rate ???
 Systemtakt ???
200
150
100
 Für welches System ???
 Verzögerungszeiten...
 „Speed-Grade“
XC3100A-3
50
XC3000A--6
0
CLB Levels:
4 CLBs
Gate Levels:
(4-16)
3 CLBs
(3-12)
2 CLBs
(2-8)
1 CLB
(1-4)
Toggle
Rate
 -3 / -4 ...
 ...
X7065
Figure 33: Clock Rate as a Function of Logic
Complexity (Number of Combinational Levels between
Flip-Flops)
 Beste Lösung wenn keinen
Erfahrungen vorliegen:
 Geschwindigkeiten der
Referenzimplementationen
ansehen!
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Gehäuse




Frühzeitig in die Planung einbeziehen
Die DIL-Zeiten sind vorbei...
Von 2-Pin bis 1517-Pin ist alles möglich!
Einflußfaktoren Gehäuse:
 verfügbare Pins / IOs (PLDs: Kompatibilitätsgehäuse...)
 Platzbedarf
 PCB-Technologie (Anzahl Layer, Kontaktierung Gehäuse,
Prüfmechanismen)
 Kontaktierung im Programmiergerät (falls erforderlich)
83
84
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel
FF1517 Flip-Chip Fine-Pitch BGA Package Specifications (1.00mm pitch)
R
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Beispiel
FF1517 Flip-Chip Fine-Pitch BGA Package Specifications
85
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1. PLD - Eine moderne Realisierungsvariante für digitale Schaltungen
1.1. Vom PAL zum FPGA – Ein kurzer geschichtlicher Abriß
1.2. Architekturprinzipien von PLD
 1.3. Systematische Einteilung aktueller Realisierungsvarianten
1.4. Der PLD-Entwurfsprozeß im Überblick
1.5. Aufbau und Eigenschaften ausgewählter FPGA im Überblick
86
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Prinzipielle Bausteinstrukturen
87
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Vorteile und Nachteile der Strukturen
 SPLD
 Übersichtlich, bei entsprechende Technologie extrem geringe
und vorhersagbare Verzögerungszeiten
 CPLD
 Wie beim SPLD aufgrund der regelmäßigen Struktur geringe
und vorhersagbare Verzögerungszeiten
 Bei größeren CPLD oft Routingprobleme bei vorgegebenem
Pinning (Switch Matrix nicht flexibel genug)  Dies begrenzt
auch die erzielbare absolute Komplexität!!!
 Insgesamt für schnelle kombinatorische Logik und kleine
schnelle Moore-Automaten besser geeignet als für komplexe
sequentielle Schaltungen
 FPGA
 Aufgrund der universellen Struktur sehr universell einsetzbar
und (fast) beliebig skalierbar
 Problem: Laufzeiten sind sind nicht vorhersehbar, da sie vom
Routing abhängen
 Problem: Laufzeiten können sehr groß werden
 Insgesamt für komplexe sequentielle Schaltungen besser
geeignet als für sehr schnelle kombinatorische Logik
88
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Weitere Eigenschaften
 Programmierung / Konfigurierung
 Nicht von der Struktur, sondern der Verbindungstechnologie
abhängig
 Es gibt aber nicht jede Kombination!
 Wenn ich beispielsweise SRAM will, muß ich FPGA nehmen!
 Körnung beim FPGA
 Feine Körnung: Extrem viele primitive Logikblöcke!
 Besonders synthesefreundlich
 Anzahl der programmierbaren Verbindungen pro Logikäquivalent
hoch
 Ausnutzung gleichmäßig gut
 Grobe Körnung: Sehr komplexe Logikblöcke!
 Anzahl der programmierbaren Verbindungen pro Logikäquivalent
geringer
 Ausnutzung von der implementierten Struktur abhängig
 Grundlegende Einstellung: Das Flächenverhältnis Logikblock
zu Verbindungszellen muß stimmen, damit das Verhältnis
Logikfunktionen pro mm² Silizium gut wird!!!
89
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1. PLD - Eine moderne Realisierungsvariante für digitale Schaltungen
1.1. Vom PAL zum FPGA – Ein kurzer geschichtlicher Abriß
1.2. Architekturprinzipien von PLD
1.3. Systematische Einteilung aktueller Realisierungsvarianten
 1.4. Der PLD-Entwurfsprozeß im Überblick
1.5. Aufbau und Eigenschaften ausgewählter FPGA im Überblick
90
91
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
Design Flow
Ziel-ASIC-Bibliothek
Ziel-ASIC-Bibliothek
Schaltplaneditor
Logiksynthese
Boolsche Gleichungen
Funktionstabellen
VHDL und Teilmengen
Zustandsmaschinen
Andere
Design Entry
Design Implementation
Design Test
Konvertierung in das Netzlistenformat des Ziel-ASICs
Logicreduction
Fitting
Placement
Routing
Simulation
Konvertierung für
Programmierung
bzw. Konfigurierung
Timing
Simulation
Ziel-ASIC
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
1. PLD - Eine moderne Realisierungsvariante für digitale Schaltungen
1.1. Vom PAL zum FPGA – Ein kurzer geschichtlicher Abriß
1.2. Architekturprinzipien von PLD
1.3. Systematische Einteilung aktueller Realisierungsvarianten
1.4. Der PLD-Entwurfsprozeß im Überblick
 1.5. Aufbau und Eigenschaften ausgewählter FPGA im Überblick
92
1. PLD – Eine moderne Realisierungsvariante für digitale Schaltungen
 Separate Folien!
93