3.4Rodzina układów EPLD firmy ALTERA
W skład oferowanych przez firmę ALTERA modułów programowalnych wchodzi siedem grup układów, które chronologicznie można podzielić następująco (tabela 1.):
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
|
Tabela 1. Ewolucja architektury układów EPLD firmy ALTERA
Wszystkie układy ALTERY realizowane są w technologii CMOS charakteryzującej się mniejszym zużyciem mocy i większą niezawodnością w porównaniu z technologią bipolarną. Poszczególne grupy układów różnią się od siebie architekturą wewnętrzną, przy czym każda rodzina oferuje unikalne cechy struktury oraz zróżnicowanie parametrów, co pozwala dobrać układy odpowiednie do danej aplikacji .
Układy serii EP zaprojektowano w oddziale d/s PLD firmy INTEL, który został przejęty przez firmę ALTERA, specjalizującą się w dziedzinie układów programowalnych. Rodzina ta obejmuje następujące układy : EP 310, EP 600, EP 900, EP 910 , EP1810. Liczba występująca w symbolu układu oznacza jego przybliżoną złożoność wyrażoną w bramkach logicznych. Układy te wykazują szereg zalet w porównaniu z innymi układami logicznymi . Są to między innymi :
- pełna testowalność w trakcie produkcji,
- reprogramowalność,
- mały pobór prądu, który może być dodatkowo zredukowany w trybie NON-TURBO,
- rozszerzona architektura w stosunku do układów standardowych,
- możliwość konfigurowania wyjściowych makrokomórek logicznych,
- zerowanie wszystkich przerzutników po włączeniu zasilania.
Pobór prądu w zaprogramowanym trybie NON-TURBO jest minimalny i osiąga ok. 0.02mA w stanie STANDBY, dłuższy jest w tym trybie czas propagacji o ok. 10ns.
W kolejnych podrozdziałach przedstawione zostaną pokrótce najważniejsze rodziny układów firmy ALTERA, głównie pod względem budowy wewnętrznej.
3.4.1Układy CLASSIC+
Architektura układów CLASSIC+ składa się z pojedynczych macierzy makrokomórek połączonych globalną szyną danych. Układy te produkowane są w zaawansowanej technologii CMOS, w związku z czym mogą redukować pobór mocy do minimum bez pogorszenia jakości. Kasowanie i programowanie odbywa się poprzez nowoczesne elementy oparte na pamięciach EPROM.
Układy CLASSIC+ w pełni mogą zastępować układy wykonane w technologii TTL a także emulować struktury wielu architektur typu PAL i GAL w zakresie od 200 do 900 bramek użytkowych [6].
Na rysunku 12 zaprezentowano ogólną budowę wewnętrzną układów EPLD CLASSIC+ typu EP610, EP910 oraz EP1810.
Rys. 12. Budowa wewnętrzna układów CLASSIC+ na przykładzie struktury EP610
Część kombinacyjna każdej z 16 makrokomórek składa się z ośmiotermowej programowalnej macierzy typu AND oraz następujących po niej bramek OR i XOR, natomiast dwa dodatkowe termy zostały użyte do stworzenia asynchronicznego sygnału Clear dla rejestru wewnętrznego oraz do stworzenia sygnału OE (Output Enable) lub wewnętrznego sygnału CLK (Clock). Wejścia do matrycy AND pochodzą zarówno z dedykowanych wejść, jak i z elementów we/wy, skonfigurowanych jako wejścia, oraz ze sprzężenia zwrotnego z makrokomórki. Rozmieszczeniem sygnałów z makrokomórek i elementów we/wy zajmuje się multiplekser w sekcji sprzężenia zwrotnego. To sprzężenie pozwala użytkownikowi na dołączenie wyjścia makrokomórki lub wejścia elementu we/wy z powrotem do matrycy AND, przy czym wyjście makrokomórki może być zarówno wyjściem Q programowalnego przerzutnika, jak i kombinacyjnym wyjściem makrokomórki.
Część sekwencyjna makrokomórki to rejestr programowalny jako przerzutnik typu D, T, JK lub SR.
W tabeli 2 zawarto podstawowe cechy układów CLASSIC+ .
|
EP22V10
|
EP610
|
EP610I
|
EP910
|
EP910I
|
EP1810
|
Bramki dostępne
|
400
|
600
|
600
|
900
|
900
|
1800
|
Bramki użyteczne
|
200
|
300
|
300
|
450
|
450
|
900
|
Makrokomórki
|
10
|
16
|
16
|
24
|
24
|
48
|
Wejścia/Wyjścia
|
22
|
20
|
20
|
36
|
36
|
64
|
fCNT (MHz)
|
111,1
|
83,3
|
100
|
33,3
|
100
|
50
|
Tabela 2. Podstawowe parametry układów EPLD rodziny CLASSIC+
(fCNT - maksymalna częstotliwość zegara taktującego)
Układ EP910 jest jednym z modułów logicznych PLD o architekturze PAL, których każde wyjście może korzystać z dowolnego sygnału wejściowego. Mimo swojej złożoności układ EP 910 odznacza się stosunkowo dużą szybkością działania ( tpd=25ns, fmax = 40 MHz). EP910 jest scalonym, zintegrowanym, uniwersalnym układem CMOS PLD. Struktura układu może dostarczyć funkcji logicznych dla do 36 wejść i 24 makrokomórek z zespołem wejścia/wyjścia. Każda makrokomórka z zespołem wejścia/wyjścia. posiada 8 programowalnych linii (terms) dla wejścia, 1 linię dla oddzielnego kasowania (CLEAR), i 1 linię sterowania wyjścia lub zegara asynchronicznego (OE/clk). Pracując z maksymalną zewnętrzną częstotliwością 40 MHz, układ EP 910 może być dołączany do systemów mikroprocesorowych .
EP910 jest funkcjami, wyprowadzeniami, i formatem JEDEC kompatybilny z układami 85C090, 5C090, EP900, EP910 i EP930.
3.4.2Układy MAX serii 5000
Układy MAX (Multiple Array Matrix) cechują: prędkość i łatwość użycia charakterystyczne dla układów PAL oraz pojemność i wielkość typowa dla układów FPGA. Mogą one zastępować zarówno układy TTL, jak i większość katalogowych układów średniej i wielkiej skali integracji.
Cechą charakterystyczną układów MAX serii 5000 jest zgrupowanie makrokomórek w grupy zwane LAB (Logic Array Block), które z kolei łączone są z sobą poprzez programowalną matrycę połączeń PIA. Matryca ta realizuje połączenia dla sygnałów wejściowych oraz sygnałów z wyjść makrokomórek (rys.13).
Rys. 13. Architektura układów MAX serii 5000
Poszczególne układy rodziny MAX 5000 zawierają od 1 do 12 bloków LAB. Każdy z nich składa się z matrycy makrokomórek, bloku ekspanderów oraz lokalnej szyny połączeń. Makrokomórki składają się z programowalnej matrycy logicznej (o programowalnej części AND oraz stałej części OR) oraz z sekcji rejestru programowalnego, który może być ominięty przy realizacji funkcji kombinacyjnej. Działanie ekspanderów polega na możliwości uzyskania wyrażenia boolowskiego postaci , w rezultacie czego zwiększają one pojemność logiczną pojedynczej makrokomórki.
W tabeli 3 zaprezentowano podstawowe cechy układów MAX serii 5000.
|
EPM 5032
|
EPM 5064
|
EPM 5128
|
EPM 5192
|
Bramki dostępne
|
1200
|
2500
|
5000
|
7500
|
Bramki użyteczne
|
600
|
1250
|
2500
|
3750
|
LAB
|
1
|
4
|
8
|
12
|
Elementy we/wy
|
24
|
36
|
60
|
72
|
Ekspandery
|
64
|
128
|
256
|
384
|
Makrokomórki
|
32
|
64
|
128
|
192
|
fCNT (MHz)
|
125
|
83,3
|
83,3
|
83,3
|
Tabela 3. Podstawowe parametry układów EPLD rodziny MAX 5000
3.4.3Układy MAX serii 7000 i 9000
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 zestawienie najważniejszych cech układów MAX serii 5000 .
|
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
|
Tabela 4. Podstawowe parametry układów EPLD rodziny MAX 7000
Układy serii 9000 są najnowocześniejszymi układami trzeciej generacji. Ich prędkość, gęstość oraz zasoby we/wy są porównywalne z odpowiednimi parametrami układów produkowanych na zamówienie. Parametry te osiągnięto poprzez znacznie zmiany struktury wewnętrznej w porównaniu z układami serii 5000 oraz 7000 (rys. 14).
Najważniejszą zmianę stanowi wprowadzenie nowej struktury połączeń wewnętrznych, tzw. Fast Track Interconnect, charakterystycznej dla układów FPGA . Połączenia te składają się z kolumn i wierszy magistral danych, przechodzących wzdłuż i wszerz całego układu. Łączą one poszczególne bloki LAB ze sobą oraz z elementami we/wy. Zmianie uległa także struktura bloku LAB oraz makrokomórki. W tabeli 5 zestawiono podstawowe cechy układów rodziny MAX 9000.
Rys. 14. Schemat blokowy układów MAX serii 9000
|
EPM 9320
|
EPM 9400
|
EPM 9480
|
EPM 9560
|
Bramki dostępne
|
12000
|
16000
|
20000
|
24000
|
Bramki użyteczne
|
6000
|
8000
|
10000
|
12000
|
Przerzutniki
|
484
|
580
|
676
|
772
|
Elementy we/wy
|
168
|
184
|
200
|
216
|
Makrokomórki
|
320
|
400
|
480
|
560
|
fCNT (MHz)
|
125
|
125
|
118
|
118
|
Tabela 5. Podstawowe parametry układów EPLD rodziny MAX 9000
3.4.4Układy FLEX 8000 oraz FLEX 10K
Układy FLEX (FLEXible Element MatriX) serii 8000 są układami o strukturze FPGA, zbudowanymi w technologii CMOS, opartymi na elementach typu SRAM (Static RAM). Układy tej rodziny mają od 2500 do 16000 użytecznych bramek logicznych oraz podobnie jak układy MAX serii 9000, szybką, programowalną sieć połączeń typu FastTrack. Układy serii 8000 składają się z bloków logicznych LAB, będących z kolei matrycami elementów logicznych LE (Logic Element). Każdy taki element składa się z 4-wejściowej tablicy logicznej LUT (Look-Up Table), realizującej dowolne funkcje kombinacyjne czterech argumentów, oraz z programowalnego przerzutnika realizującego funkcje sekwencyjne.
W tabeli 6 przedstawiono najważniejsze parametry układów FLEX 8000.
|
EPF 8282
|
EPF 8452
|
EPF 8820
|
EPF 8188
|
EPF 81500
|
Bramki dostępne
|
5000
|
8000
|
16000
|
24000
|
32000
|
Bramki użyteczne
|
2500
|
4000
|
8000
|
12000
|
16000
|
Przerzutniki
|
282
|
452
|
820
|
1188
|
1500
|
Elementy logiczne
|
208
|
336
|
672
|
1008
|
1296
|
Elementy we/wy
|
78
|
120
|
152
|
184
|
208
|
Tabela 6. Podstawowe parametry układów FLEX 8000
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. Rysunek 15 przedstawia schemat blokowy architektury układu FLEX 10K.
Rys. 15. 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. Tablica 7 zawiera podstawowe cechy układów rodziny FLEX 10K
.
|
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 7. Podstawowe parametry układów FLEX 10K
|