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