FPGA, CPLD, SPLD

Transkrypt

FPGA, CPLD, SPLD
Synteza systemów reprogramowalnych
1/27
FPGA,
CPLD,
SPLD
dr inż. Mariusz Kapruziak
[email protected]
pok. 107, tel. 449 55 44
1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
Transistors
ICs (General)
vcur
D
vcur
Q
DIR
10
10
10
1
+
10
0
CLKu p d a te
1
1
+
0
a
a_
a+
DS =
D
a
b
b
10
vmax
e
a<b
D
E
+
1
a>b
1
a
a
b
b
a
a =b
b
24
+
+
Sset Pos
vmax
a- a+
CPLDs
Smax
+ _
1
24
0
Smax
DIR
+ _
1
0
DIR
CLKupdate
SPLDs
24
+
24
vcur
'0'
SRAMs & DRAMs
Microprocessors
2
1 vcur
2 a-
24
1
DIR
10
1
DIR
1
Q
5
5
DIR
vcur
24
Sset Pos
PARAMETRY USTAWIANE
PRZEZ UZYTKOWNIKA
Scur
ASICs
FPGAs
1. Wstęp
1
2
3
4
5
Procesor, FPGA\CPLD vs mikroprocesor
PROCESOR
Procesory
strukturalne
ASIC/ASSP
Procesory
proceduralne
PLD
mikrokontroler
?
SPLD
FPGA
CPLD
mikroprocesor
2/27
1. Wstęp
1
2
3
4
5
3/27
Strukturalna realizacja regulatora optymalnego
vcur
D
vcur
Q
DIR
10
10
10
1
+
10
0
CLKu p d a te
M
IĘ
W Ć
ST R O
RU ZP
K RO
TU S
RZ ZO
E NA
1
1
+
0
a
5
2
1 vcur
DS =
2 a-
a_
a+
D
a
b
b
10
vmax
e
1
DIR
D
E
+
24
+
1
a>b
1
a
a
b
b
a
a =b
PA
b
24
+
+
vcur
'0'
Sset Pos
vmax
a- a+
+ _
1
24
0
24
Smax
DIR
Scur
+ _
1
0
DIR
CLKupdate
Smax
24
a<b
1
10
1
DIR
Q
5
DIR
vcur
24
Sset Pos
Komórki
pamięci
PARAMETRY USTAWIANE
PRZEZ UZYTKOWNIKA
M. Kapruziak, Implementacja regulatora optymalnego o najkrótszym czasie dojścia
do zadanej pozycji, wysłane na RUC’2008
1. Wstęp
1
2
3
4
5
4/27
Architektura von Neumana i jej znaczenie
1.
specjalizowana funkcja składana jest z
sekwencyjnie wykonywanych
uniwersalnych operacji (program)
2.
program i dane są logicznie rozdzielone
3.
program i dane zndajdują się fizycznie w
tej samej pamięci
4.
pamięć zawierajaca zarówno program jak
i dane łączy się z procesorem jedną
wspólną szyną
John von Neumann
Komputer von Neumanna: maszyna automatyczna do wykonywania operacji
pobiarania instrukcji i wykonywania instrukcji na przemian
(fetch-execute mechine)
P.E. Ceruzzi, A History of Modern Computing, MIT Press 2003
1. Wstęp
1
2
3
4
5
5/27
Komputer
W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2003
1. Wstęp
1
2
3
4
5
6/27
Synteza systemów reprogramowalnych - zakres kursu
Wykład 1. SPLD/CPLD/FPGA
Wykład 2. Język Verilog – składnia języka
Wykład 3. Język Verilog – synteza logiczna
Wykład 4. Język VHDL
Wykład 5. Synteza poziomu architektury i kostynteza sprzętowo-programowa
Propozycja 6. Język SystemVerilog
Propozycja 7. Systemy dynamicznie rekonfigurowalne + historia systemów rekonfigurowalnych
2. SPLD = Simple PLD
1
2
3
4
5
7/27
Krótka historia
1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
Transistors
ICs (General)
SRAMs & DRAMs
Microprocessors
SPLDs
CPLDs
ASICs
FPGAs
C.M. Maxfield, The Design Warrior’s Guide to FPGAs, Linacre House 2004
2. SPLD = Simple PLD
1
2
3
4
SPLD = Simple Programmable Logic Devices
5
8/27
2. SPLD = Simple PLD
1
2
3
4
5
9/27
Przykład
C.M. Maxfield, The Design Warrior’s Guide to FPGAs, Linacre House 2004
2. SPLD = Simple PLD
1
PROM
2
3
4
5
10/27
l
l
l
2. SPLD = Simple PLD
1
2
3
PLAs – Programmable Logic Arrays
4
5
11/27
2. SPLD = Simple PLD
1
2
PALs – Programmable Array Logic
3
4
5
12/27
l
l
l
2. SPLD = Simple PLD
1
2
3
4
5
13/27
Predefined OR array
MMI MegaPAL
l
l
l
1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000
Transistors
ROZBUDOWANA
MATRYCA AND
ICs (General)
SRAMs & DRAMs
Microprocessors
SPLDs
CPLDs
ASICs
MegaSlow ;))
FPGAs
3. CPLD = Complex PLD
1
2
3
4
5
14/27
CPLD – Complex Programmable Logic Devices
3. CPLD = Complex PLD
1
2
3
4
5
15/27
CPLD – Complex Programmable Logic Devices
4. FPGA = Field Programmable Gate Array
1
2
3
4
FPGA – Field Programmable Gate Arrays
5
16/27
4. FPGA = Field Programmable Gate Array
Koncepcja CLB
1
2
3
4
5
17/27
4. FPGA = Field Programmable Gate Array
LUT – Look Up Table
1
2
3
4
5
18/27
4. FPGA = Field Programmable Gate Array
16-bit SR
Wielofunkcyjny LUT
16 x 1 RAM
4-input LUT
16-bit SR
16x1 RAM
4-input
LUT
1
2
3
4
5
19/27
4. FPGA = Field Programmable Gate Array
1
2
3
4
5
20/27
CLB – Configurable Logic Block
Slice
16-bit SR
Logic Cell (LC)
16x1 RAM
4-input
LUT
LUT
16-bit SR
16x1 RAM
MUX
REG
4-input
LUT
LUT
Configurable logic block (CLB)
Logic Cell (LC)
CLB
MUX
CLB
Slice
Slice
Logic cell
Logic cell
Logic cell
Logic cell
Slice
Slice
Logic cell
Logic cell
Logic cell
Logic cell
REG
CLB
CLB
4. FPGA = Field Programmable Gate Array
Inne układy w FPGA
RAM blocks
Multipliers
Logic blocks
1
2
3
4
5
21/27
4. FPGA = Field Programmable Gate Array
1
2
3
4
5
22/27
Producenci układów FPGA/CPLD
Xilinx :
Virtex (5/4/2)
Spartan 3
CoolRunner-II
Altera :
Stratix (III/II)
Cyclone (III/II/I) Arria
MAX (II/I)
Actel :
ProASIC
Fusion
IGLOO
Lattice :
LatticeSC
LatticeEC LatticeXP
MachX0 ispMach
(System Chip)
(Economy)
QuickLogic : Eclipse (II/I) QuickRAM
(eXpand Programmability)
ArcticLink, PolarPro
5. Xilinx Spartan3 FPGA
1
2
Xilinx Spartan3 – ogólna struktura
3
4
5
23/27
5. Xilinx Spartan3 FPGA
1
2
3
4
5
24/27
Xilinx Spartan3 – IOB
5. Xilinx Spartan3 FPGA
1
2
3
4
5
25/27
Xilinx Spartan3 – CLB
Synteza systemów reprogramowalnych
26/27
Polecana literatura
1) C.M. Maxfield, The Design Warrior’s Guide to FPGAs, Linacre House 2004
Rozdział 1-6
118 strony
strony 1 - 118
2) Xilinx, Spartan-3 FPGA Family Complete Datasheet, 2007
3) J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, WKŁ 2001
Synteza systemów reprogramowalnych
dr inż. Mariusz Kapruziak
[email protected]
pok. 107, tel. 449 55 44
KONIEC
27/27

Podobne dokumenty