Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA
Transkrypt
Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA
Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Mariusz Kacała Łukasz Przywarty Grzegorz Trawiński Ramowy plan prezentacji • Wstęp • PLD • PLA • PAL • CPLD • FPGA • Budowa, łączniki, bloki CLB • Programowanie Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 2 Układy cyfrowe ● Układy elektroniczne ● Wartości 0, 1 ● AND, NAND, NOT OR, NOR, XOR ● Układy scalone Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 3 PLD ● gotowy do zaprogramowania ● dowolny układ cyfrowy ● jedna lub dwie matryce ● podział na: ● ● PAL, PLA ● PLE, GAL, PGA struktura zależna od układu Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 4 PLA ● dwie matryce ● małe upakowanie ● układ powolny ● ograniczona liczba iloczynów Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 5 PAL ● ● Jedna matryca Wystarczająco funkcjonalny ● Brak ograniczeń ● Podział na: ● kombinacyje ● rejestrowe ● z makrokomórkami Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 6 CPLD - Complex Programmable Logic Device Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 7 ISP – In-System Programming, JTAG ● ISP ● Rozwiązanie konstrukcyjne ● Programowanie i testowanie ● ● ● Serwis ● aktualizacja, Interfejs szeregowy JTAG ● protokół Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 8 TTL - Transistor-transistor logic ● Klasa cyfrowych układów scalonych ● Tranzystory bipolarne ● Zasilane napięciem 5V ● „0” -> od 0 V do 0,8 V ● „1” -> od 2 V do 5 V Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 9 FPGA - Budowa • FPGA – programowalne matryce bramkowe Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 10 FPGA - Łączniki Łączniki: • tranzystory NMOS • multipleksery • programowalna komórka pamięci S-RAM • Tranzystory z pamięcią nieulotną EPROM i EEPROM Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 11 FPGA - Łączniki Łączniki c.d.: • antybezpieczniki Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 12 FPGA – Bloki CLB Blok CLB: • zbudowane z LUT’ów – małych pamięci RAM – lub/i multiplekserów • rezygnacja z obliczania funkcji kombinacyjnej – reprezentacja funkcji w postaci tablicy prawdy • 16-bitów wyniku w bloku pamięci RAM 16x1 (4 wejścia adresowe – zmienne niezależne) Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 13 FPGA – LUT Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 14 FPGA – Programowanie Przebieg programowania: • opis projektu (VHDL, schemat) • synteza i optymalizacja logiczna projektu • dopasowanie • rozkład układu na wirtualne bloki CLB • alokacja bloków CLB na FPGA • routing • generowanie pliku programowalnego Programowalne układy scalone, PLD, CPLD, FPGA – Slajd 15 Programowalne układy scalone: PLD, CPLD oraz FPGA Dziękujemy za uwagę HTML DOM XHTML