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

Podobne dokumenty