PYTANIA NA ZALICZENIE WYKŁADU Z SYSTEMÓW PROGRAMOWALNYCH
Wstępny podział układów ASIC
PLD- Programowalne przez użytkownika (zapamiętuje to co było zaprogramowane)
FPGA- traci informacje o poł. Po wyłączeniu zasilania należy ją wgrać.
Projektowane przez użytkownika i produkowane w fabryce (sami custom)
Projektowane i wytwarzane w fabryce (Full Custom)
Dlaczego stosujemy logikę programowalną (podaj przynajmniej 6 powodów)
- Wystarczająca złożoność i stopień integracji
- Efektywność narzędzi komputerowego projektowania
- Łatwość opracowania i użycia
- Niskie koszty opracowywania układów
- Podatność na modyfikację ( możliwość reprogramowanie układu)
- Krótki czas wprowadzania na rynek
- niskie ryzyko inwestycji
Podaj 3 sch. blokowe prostych ukł. PLD
Narysuj sch. struktury PAL
Narysuj sch. struktury PLA
Podaj klasyfikację struktur programowalnych opisującą ich rozwój w zakresie złożoności
proste układy PLD , których podstawowym elementem konstrukcyjnym jest matryca AND-OR i zespoły elementów wyjściowych, takich jak bufory trójstanowe lub (w przypadku makrokomórek) multipleksery oraz bramki XOR;
złożone układy PLD (Complex PLD, CPLD), których charakterystyczną cechą jest programowalna matryca połączeń (Programmable Interconnect Array) otoczona makrokomórkami ; typowa komórka układów CPLD składa się z programowalnych przerzutników, bramek OR i XOR, multiplekserów i buforów trójstanowych;
układy FPGA , charakteryzujące się prostokątną macierzą elementów logicznych zwanych komórkami, rozmieszczonych pomiędzy tzw. kanałami połączeniowymi.
Opisz technikę : układy proste SPLD
Do układów SPLD zalicza się układy programowalne o architekturach PLA
(Programmable Logic Array), PAL (Programmable Array Logic) i GAL (Generic Array
Logic). Są to układy o najskromniejszych możliwościach logicznych, a więc i najtańsze ze
wszystkich układów programowalnych. Niemniej jednak ich zasoby logiczne są spore,
zawierają bowiem typowo od 4 do 22 makrokomórek logicznych o dwupoziomowej
strukturze logicznej i mogą zwykle zastąpić kilka standardowych układów scalonych rodziny
74xx. Każda z komórek jest zwykle w pełni połączona z innymi komórkami w danym
układzie scalonym. Do określenia funkcji realizowanych przez makrokomórki (ich
skonfigurowania) stosowane są łączniki (klucze), którymi są w większości przypadków
przepalane fragmenty ścieżek (łączniki rozwarciowe - dla układów PLA i PAL) lub
tranzystory MOS (dla układów GAL)
Opisz technikę : układy złożone CPLD
CPLD ( Complex Programmable Logic Device) - złożone programowalne układy elektroniczne. Mają architekturę hierarchiczną opartą na makrokomórkach logicznych, których zawierają od kilkudziesięciu do kilkuset. Zazwyczaj od 4 do 16 makrokomórek jest połączonych w większe bloki funkcjonalne. Większa ilość bloków jest łączona za pomocą matrycy połączeniowej kluczy, której zdolność łączeniowa określa w jakim stopniu układ jest programowalny. Jedną z najważnieszych cech architektury układów CPLD jest liczba termów przypadających na jedną makrokomórkę oraz możliwość pożyczki termów z sąsiednich makro komórek. Jeśli układ zawiera wiele bloków funkcjonalnych, są one łączone między sobą za pomocą matrycy połączeniowj kluczy, której zdolność łączeniowa jest ważną cechą układów CPLD. Ta liczba połączeń wewnętrz matrycy określa bowiem, jak łatwo jest „wpasować” jakiś projekt w dany układ programowalny.
Opisz technikę : układy FPGA
FPGA jest to rodzaj programowalnego układu logicznego . Układy FPGA charakteryzują się prostokątną macierzą elementów logicznych zwanych komórkami, rozmieszczonych pomiędzy tzw. kanałami połączeniowymi. Układy FPGA są elementami o dużym stopniu integracji. Zawierają programowalne matryce bramek i bloki funkcjonalne konfigurowane za pomocą wewnętrznych pamięci RAM. Dla projektanta ma funkcjonalność taką samą jak układ typu ASIC, jednak może być wielokrotnie przeprogramowany po tym jak został już wytworzony, zakupiony i zamontowany w urządzeniu docelowym. Układy FPGA są zazwyczaj wolniejsze od odpowiadających im układów ASIC i pobierają więcej mocy. Mają natomiast wiele innych zalet takich jak krótszy czas projektowania, niższe koszty produkcji (dla małych serii). Liderzy architektur FPGA: firmy Xilinx oraz Altem.
Opis oznaczeń układów PAL
Opisz 3 nowości jakie wprowadzono w GAL
- należą do grupy układów reprogramowalnych (tzn. kasowalnych i programowalnych) sygnałami elektrycznymi, wykonywane są one w technologii EECMOS (Electrically Erasable CMOS)
- możliwość rekonfiguracji struktury, a co za tym idzie, możliwość emulacji innych standardowych struktur PLD, wytwarzanych do tej pory w technologii bipolarnej
- zastąpienie typowego układu wyjściowego, zawierającego bramkę trójstanową i/lub przerzutnik, blokiem logicznym o zmiennej konfiguracji, zwanym komórką lub makrokomórką logiczną
-możliwość automatycznego testowania
Opis oznaczeń układów GAL
GAL 16V8 8- 8 wyjściowych makrokomórek logicznych
16-we/wy; 2 wejścia dodatkowe OE i CLK
Co zawiera makrokomórka GAL
Konfigurowalna makrokomórka zawiera bramki OR i XOR, przerzutnik typu D oraz kilka multiplekserów określających przepływ sygnałów logicznych . Przerzutniki te spełniają rolę wyjściowych elementów pamięciowych umożliwiających budowanie układów synchronicznych
Ewolucja architektury układów EPLD firmy ALTERA
Rodzina układów |
Struktura makrokomórek |
Połączenia wewnętrzne |
Elementy rekonfigurowalne |
CLASSIC+ |
Matryca programowalna |
Globalne |
EPROM |
MAX5000 |
Matryca programowalna |
Macierz programowalna |
EPROM |
FLASHlogic |
Matryca programowalna |
Macierz programowalna |
SRAM/FLASH SRAM/EPROM |
MAX7000 |
Matryca programowalna |
Macierz programowalna |
EEPROM |
MAX9000 |
Matryca programowalna |
FastTrack |
EEPROM |
FLEX8000 |
Look-Up Table |
FastTrack |
SRAM |
FLEX10K |
Look-Up Table |
FastTrack |
SRAM |
Architektura i własności układów MAX serii 7000
Układy serii 7000 stanowią drugą generację wyprodukowanych w technologii CMOS EEPROM układów MAX. Podobnie jak w przypadku serii 5000, makrokomórki połączone są w grupy zwane blokami LAB, kontaktujące się z sobą oraz z elementami we/wy za pomocą programowalnej szyny połączeń PIA. Zmiany dotyczą m.in. struktury pojedynczej makrokomórki, liczby bloków LAB oraz prędkości działania układów. Zasadnicza różnica dotyczy także programowania struktury bezpośrednio w systemie /In System Programable/.
Tabela 4 zawiera cechy układów MAX serii 7000 .
|
EPM 7032 |
EPM 7064 |
EPM 7128 |
EPM 7192 |
EPM 256 |
Bramki dostępne |
1200 |
2500 |
5000 |
7500 |
10000 |
Bramki użyteczne |
600 |
1250 |
2500 |
3750 |
5000 |
Elementy we/wy |
36 |
68 |
100 |
124 |
164 |
Makrokomórki |
32 |
64 |
128 |
192 |
256 |
fCNT (MHz) |
178,6 |
151,5 |
125 |
100 |
100 |
Schemat blokowy i własności architektury FLEX 10K
Rodzina układów FLEX oznaczona symbolem 10K jako pierwsza posiada programowalną strukturę logiczną z wbudowaną programowalną logiką specjalnego przeznaczenia umożliwiającą implementacje pamięci ROM i RAM. Dzięki tzw. wbudowanej matrycy (embedded array) możliwa jest emulacja pamięci i specjalizowanych, wielowejściowych i wielowyjściowych funkcji logicznych. Matryca logiczna natomiast wykorzystana jest do tworzenia podstawowej logiki układu.
Rys. . Schemat blokowy architektury FLEX 10K
Wbudowana matryca składa się z bloków wbudowanych matryc EAB (Embedded Array Block). Każdy z tych bloków może oddzielnie lub w połączeniu z innymi blokami zostać użyty w celu implementacji pamięci lub specjalizowanej funkcji logicznej. Bloki EAB emulują pamięć o pojemności 2KB i mogą tworzyć struktury pamięci RAM, ROM lub FIFO. W przypadku zastosowania bloków EAB do realizacji funkcji logicznych, dostępnych jest od 100 do 259 bramek umożliwiających budowę układów mnożących, układów arytmetycznych (ALU) i procesorów sygnałowych (DSP).
Matryce logiczne składają się z szeregu bloków matryc logicznych LAB, przy czym każdy blok LAB zawiera osiem komórek LE i związane z nimi połączenia lokalne.
Wyjścia poszczególnych matryc EAB i LAB połączone są poprzez szybkie magistrale wewnętrzne FastTrack Interconnect.
.
|
EPF 10K10 |
EPF 10K20 |
EPF 10K30 |
EPF 10K40 |
EPF 10K50 |
EPF 10K70 |
EPF 10K100 |
Bramki dostępne |
10 000 |
20 000 |
30 000 |
40 000 |
50 000 |
70 000 |
100 000 |
Bramki użyteczne |
700 do 31 000 |
15 000 do 63 000 |
22 000 do 69 000 |
29 000 do 93 000 |
36 000 do 116 000 |
46 000 do 118 000 |
62 000 do 158 000 |
Przerzutniki |
720 |
1344 |
1968 |
2576 |
3184 |
4096 |
5398 |
Pojemność pamięci RAM |
6 144 3 EAB |
12 288 6 EAB |
12 288 6 EAB |
16 384 8 EAB |
20 480 10 EAB |
20 480 10 EAB |
24 576 12 EAB |
Tabela. Podstawowe parametry układów FLEX 10K
7
IOE
IOE
IOE
IOE
Input/Output Cell
Fast Track Interconnect
IOE
:
IOE
IOE
:
IOE
Embedded
Array
Block
IOE
:
IOE
Logic Element
Logic Array
IOE
:
IOE
}
LAB
IOE
IOE
IOE
IOE
IOE
IOE
IOE
IOE
Embedded
Array
Block
Kanał poziomy
Komórka
Kanał pionowy