K U R S
Układy programowalne, część 2
Historia ukÅ‚adÛw PLD (Pro-
TÍ czÍśĘ kursu przeznaczymy na przedstawienie tajnikÛw
grammable Logic Devices) siÍga
koÒca lat 60., kiedy to powstaÅ‚y architektur ukÅ‚adÛw PLD, w tym przede wszystkim ukÅ‚adÛw
pierwsze teoretyczne opracowania,
GAL22V10/ispGAL22V10. Informacje tutaj zawarte sÄ… niezbÍdnÄ…
w ktÛrych wykazywano, Å‚e jest
moÅ‚liwe zbudowanie programowa- podstawÄ… do wprawnego posÅ‚ugiwania siÍ ukÅ‚adami GAL.
nego układu realizującego dowol-
nÄ… logicznÄ… funkcjÍ kombinacyjnÄ…
i synchroniczną (z wykorzystaniem przykładem układu PLD jest pa-
rejestrÛw). PodstawÄ… do tych roz- miÍĘ PROM, w ktÛrej sygnaÅ‚y wej-
waÅ‚aÒ byÅ‚a praca An Investigation Å›ciowe sÄ… podawane na bramki
of the Laws of Thought Geore- AND o ustalonych połączeniach
ge'a Boole'a z 1854 roku, w ktÛrej (tak Å‚e speÅ‚niajÄ… rolÍ dekodera
wykazaÅ‚ on, Å‚e dowolnÄ…, najbar- adresowego pamiÍci), a ich wyjÅ›cia
dziej nawet skomplikowaną funk- są połączone z programowalną
cjÍ logicznÄ… moÅ‚na stworzyĘ za matrycÄ… bramek OR (rys. 6). Sto-
pomocÄ… trzech funktorÛw logicz- sunkowo niewielka elastycznośĘ
nych: AND, OR i NOT. Wystarczy- takiego układu PLD i brak mołli-
Å‚o wiÍc stworzyĘ ukÅ‚ad, w ktÛrym woÅ›ci wygodnego projektowania
funktory te sÄ… ze sobÄ… poÅ‚Ä…czone automatÛw synchronicznych spo-
za pomocą programowanych połą- wodowały, łe prace badawcze
czeÒ, co zapewnia jego maksymal- trwaÅ‚y, a w ich wyniku powstaÅ‚y
George Boole (1815-1864)
ną uniwersalnośĘ. układy PLA (Programmable Logic
w opublikowanym w 1854
Array). RÛÅ‚niÄ… siÍ one od pamiÍ-
roku dziele życia (An
Na początku był chaos... ci wprowadzeniem programowa-
Investigation of the Laws
Jak Å‚atwo zauwaÅ‚yĘ, moÅ‚liwych nych poÅ‚Ä…czeÒ w matrycy bramek
of Thought) stworzył
sposobÛw poÅ‚Ä…czenia funktorÛw ze AND (rys. 7), co spowodowaÅ‚o
podstawy rozwoju techniki
sobÄ… jest wiele. Historycznym zwiÍkszenie elastycznoÅ›ci tych
cyfrowej i pózniej układów
ukÅ‚adÛw, uÅ‚atwiÅ‚o takÅ‚e optymal-
PLD.
ne wykorzystywanie ich zasobÛw.
Kolejnym etapem rozwoju ukła-
dÛw programowalnych byÅ‚y ukÅ‚a- centa) matrycÄ… OR (rys. 8). Wpro-
dy PAL (Programmable Array Lo- wadzono je do sprzedały w roku
gic), ktÛre charakteryzujÄ… siÍ pro- 1978 jako remedium na problemy
gramowalnÄ… matrycÄ… AND i skon- zwiÄ…zane ze stosowaniem ukÅ‚adÛw
figurowaną na stałe (przez produ- PLA: trudne przygotowywanie im-
plementowanych projektÛw (nie
było wtedy praktycznie ładnych
narzÍdzi automatyzujÄ…cych projek-
towanie!), duÅ‚y pobÛr mocy, nie-
wielka szybkośĘ pracy.
Układy PLA i PAL były wyko-
nywane w technologii bipolarnej
Rys. 6. Budowa logiczna pamięci
z pamiÍciÄ… konfigurujÄ…cÄ… typu
ROM/PROM
PROM (jednokrotnie programowal-
nÄ…).
BliÅ‚ej wspÛÅ‚czesnoÅ›ci...
ByĘ moÅ‚e niektÛrzy Czytelnicy
poczujÄ… siÍ zawiedzeni, ale w tym
momencie moglibyśmy przejśĘ do
omawiania architektury ukÅ‚adÛw
GAL22V10. Układy te powstały
bowiem na bazie pomysÅ‚Ûw z lat
70. Zaskakujące połączenie: nowo-
czesna (ciÄ…gle nieco awangardowa)
technologia, bezpośrednio wyko-
rzystujÄ…ca pomysÅ‚y z czasÛw - dla
Rys. 7. Budowa logiczna układów Rys. 8. Budowa logiczna układów
wspÛÅ‚czesnych - historycznych.
PLA PAL
Elektronika Praktyczna 4/2004
81
K U R S
ispGAL22V10
vs GAL22V10
Układ ispGAL22V10
(w dowolnej wersji) jest
funkcjonalnym odpowiedni-
kiem standardowego układu
GAL22V10. Kompatybilność
dotyczy zarówno rozmiesz-
czenia wyprowadzeń, jak
i plików JEDEC wykorzysty-
wanych do programowania
układu.
Array - rys. 10). Układy tego
typu skÅ‚adajÄ… siÍ z matryc jed-
nakowych lub bardzo do siebie
podobnych komÛrek, w ktÛrych
zintegrowano konfigurowalne za-
soby logiczne. PoÅ‚Ä…czenia pomiÍ-
dzy nimi sÄ… moÅ‚liwe dziÍki
Rys. 9. Budowa logiczna układów CPLD
traktom poÅ‚Ä…czeniowym, ktÛrych
Zanim jednak przejdziemy do opartych na matrycach PAL. konfiguracjÍ moÅ‚e zmieniaĘ uÅ‚yt-
zgÅ‚Íbiania tajnikÛw ukÅ‚adÛw W ten sposÛb postaÅ‚y ukÅ‚ady kownik. W ukÅ‚adach FPGA rolÍ
GAL22V10, na chwilÍ powrÛcimy CPLD (Complex Programmable pamiÍci konfigurujÄ…cej speÅ‚nia
do historii rozwoju ukÅ‚adÛw PLD, Logic Devices - rys. 9). Wszyst- zazwyczaj ulotna pamiÍĘ SRAM,
bo oferujÄ… one znacznie wiÍksze kie wspÛÅ‚czesne ukÅ‚ady CPLD ktÛrej zawartośĘ jest kaÅ‚dorazo-
moÅ‚liwoÅ›ci niÅ‚ byÅ‚o to moÅ‚liwe wyposaÅ‚ono w nieulotne pamiÍci wo po wÅ‚Ä…czeniu zasilania od-
ìza panowaniaî GAL22V10. konfigurujÄ…ce (EEPROM lub twarzana (dane sÄ… pobierane
Ewolucja podÄ…Å‚yÅ‚a dwiema Flash), ktÛrych zawartośĘ moÅ‚e z zewnÍtrznej pamiÍci nieulot-
ściełkami: byĘ wielokrotnie zmieniana. nej).
- PowiÍkszania zasobÛw dostÍp- - Zastosowaniu radykalnie odmien- W ostatnich latach producenci
nych w pojedynczych ukÅ‚adach, nej architektury, ktÛrÄ… nazwano wprowadzajÄ… do sprzedaÅ‚y ukÅ‚ady
poprzez powielanie komÛrek FPGA (Field Programmable Gate o nowatorskiej architekturze nazy-
wanej SoC (System on a Chip)
Tab. 2. Funkcje sygnałów interfejsu JTAG
lub PSoC (Programmable System
Nazwa Opis funkcjonalny
on a Chip), ktÛre skÅ‚adajÄ… siÍ
TDI Szeregowe wejScie danych do konfiguracji i testowania. Dane z tego wejScia sÄ… z mikroprocesora (czÍsto bardzo
Test Data Input synchronizowane narastającym zboczem sygnału zegarowego TCK.
szybkiego) oraz dułego bloku lo-
TDO Szeregowe wyjScie danych wyprowadzanych z rejestru BST lub pamięci
giki konfigurowalnej (rys. 11).
Test Data Output konfiguracji układu. Dane wyjSciowe są synchronizowane opadającym zboczem
UkÅ‚ady tego typu sÄ… coraz chÍt-
sygnału zegarowego TCK.
niej stosowane w aplikacjach, po-
TMS WejScie sterujÄ…ce pracÄ… automatu TAP zgodnie z grafem przedstawionym
niewał pozwalają na budowanie
Test Mode Select na rys. 13. Ustalenie wartoSci logicznej na tym wejSciu powinno nastąpić przed
w jednym układzie kompletnych
narastającym zboczem sygnału zegarowego TCK.
urzÄ…dzeÒ speÅ‚niajÄ…cych wymagania
TCK WejScie sygnału zegarowego, taktującego automat TAP oraz rejestr instrukcji.
Test Clock
nawet bardzo zaawansowanych ap-
likacji.
Rys. 10. Budowa logiczna układów FPGA Rys. 11. Budowa logiczna układów SoC
Elektronika Praktyczna 4/2004
82
K U R S
Tab. 3. Liczba programowalnych
iloczynów dostępnych dla OLMC
dołączonych do wyprowadzeń układu
GAL22V10 (w obudowie PLCC28)
Numer Liczba iloczynów
wyprowadzenia dostępnych
I/O dla OLMC
27 8
26 10
25 12
24 14
23 16
21 16
20 14
19 12
18 10
17 8
rolery zarzÄ…dzajÄ…ce jego pracÄ…
(TAP - Test Access Point - rys.
12). TAP jest 16-stanowym auto-
matem, ktÛrego cykl pracy poka-
zano na rys. 13. Przebiegiem cyk-
lu pracy automatu TAP sterujÄ…
cztery wyprowadzenia (TMS, TDI,
TDO i TCK), ktÛrych funkcje ze-
stawiono w tab. 2. Obsługa progra-
Rys. 12. Schemat blokowy jednej z wielu możliwych implementacji
mowania ISP została dodana do
interfejsu JTAG
O programowaniu sÅ‚Ûw
kilka
Programowanie ISP (In System
Programming), obecnie tak modne
wÅ›rÛd uÅ‚ytkownikÛw mikrokontro-
lerÛw, jest wykorzystywane w ukÅ‚a-
dach CPLD i FPGA od poczÄ…tku
lat '90. Obecnie obowiÄ…zuje jedno-
lity standard - do programowania
ukÅ‚adÛw PLD jest powszechnie wy-
korzystywany interfejs JTAG. Nie-
gdyÅ› jego podstawowym zadaniem
było umołliwienie testowania ukła-
dÛw cyfrowych i poÅ‚Ä…czeÒ miÍdzy
nimi, stopniowo zdobył on popu-
larnośĘ gÅ‚Ûwnie jako interfejs sÅ‚u-
Å‚Ä…cy do programowania ukÅ‚adÛw
PLD w systemie. Obecnie JTAG jest
dostÍpny nawet w ukÅ‚adach o tak
niewielkich zasobach logicznych
jak w przypadku ispGAL22V10.
Układy wyposałone w JTAG
majÄ… wbudowane specjalne kont-
Trwałość pamięci
konfigurujÄ…cej
Pamięć EEPROM spełniająca
w układzie ispGAL22V10
rolę pamięci konfigurującej
jest duża, bowiem
producent gwarantuje co
najmniej 10000 cykli
kasowanie-zapis.
Rys. 13. Cykl pracy automatu TAP
Elektronika Praktyczna 4/2004
83
K U R S
PAL vs GAL
Układy GAL są reprogramo-
walnymi, uniwersalnymi
wersjami układów PAL.
Ich komórki wyjściowe są
tak elastyczne, że można je
skonfigurować w dowolny
tryb obsługiwany przez
Rys. 14. Układy z interfejsem JTAG można łączyć w łańcuchy (na układy PALxxR (z wyjściami
rysunku pominięto sygnały TMS i TCK, które są dostarczane do
rejestrowymi), PALxxH
wszystkich układów jednocześnie)
(bez inwerterów na wyjściu)
i PALxxL (z inwerterami
na wyjściu).
szaĘ jego czytelności nie naryso-
wano sygnaÅ‚Ûw TMS i TCK, ktÛre
sÄ… dostarczane rÛwnolegle do
wszystkich ukÅ‚adÛw wchodzÄ…cych
w skÅ‚ad Å‚aÒcucha.
Korzystanie z JTAG-a, pomimo
jego dośĘ złołonej budowy, jest
nadzwyczaj proste. RolÍ programa-
tora spełnia łatwy w wykonaniu
interfejs (schemat elektryczny pro-
gramatora ISP dla ukÅ‚adÛw Lattice
pokazano na rys. 15), za sterowa-
nie jego pracÄ… odpowiada specjal-
ne oprogramowanie (ispVM), udo-
stÍpniane przez firmÍ Lattice
bezpÅ‚atnie. NajnowszÄ… wersjÍ tego
programu oraz wersje dla Linuksa
publikujemy takłe na CD-EP4/
Rys. 15. Schemat przykładowego programatora układów PLD firmy
2004B. SposÛb obsÅ‚ugi tego pro-
Lattice
gramu przedstawimy w jednym
z kolejnych odcinkÛw cyklu.
standardowego JTAG-a ìsztucznieî staÅ‚o to zrobione w taki sposÛb,
(bo, jak wspomniano, JTAG miaÅ‚ Å‚e uÅ‚ytkownik tej ìsztucznoÅ›ciî Nasz bohater: ispGAL22V10
sÅ‚uÅ‚yĘ do testowania ukÅ‚adÛw po w Å‚aden sposÛb nie odczuwa. Jak juÅ‚ wspomniano, architek-
zamontowaniu w systemie), ale zo- Za pomocą JTAG-a mołna pro- tura układu ispGAL22V10 jest
gramowaĘ zarÛwno pojedyncze bezpoÅ›rednim rozwiniÍciem kla-
układy (jak ma to miejsce m.in. sycznych, bipolarnych PAL-i.
w zestawie, ktÛry wykorzystamy UkÅ‚ad jest zbudowany (rys. 16)
podczas kursu), jak i wiele ukÅ‚a- z 10 konfigurowalnych makrokomÛ-
dÛw poÅ‚Ä…czonych w Å‚aÒcuch (rys. rek OLMC (Output Logic Macro
14). Na rysunku, Å‚eby nie zmniej- Cell), na wyjÅ›ciu ktÛrych znajdujÄ…
Rys. 16. Architektura układów
(isp)GAL22V10 Rys. 17. Budowa komórki OLMC układu (isp)GAL22V10
Elektronika Praktyczna 4/2004
84
K U R S K U R S
siÍ bufory trÛjstanowe. SygnaÅ‚y na podczas pracy ukÅ‚adu. Na rys. 18
wejścia OLMC są podawane z pro- pokazano mołliwe konfiguracje
gramowanej matrycy bramek AND OLMC. W kałdym z mołliwych
o organizacji 44 (liczba wejśĘ bra- trybÛw pracy, sygnaÅ‚y wytwarza-
mek AND) x 132 (liczba bramek ne w OLMC sÄ… zwrotnie przesy-
AND). Å‚ane na programowalnÄ… matrycÍ
BudowÍ OLMC pokazano na AND, dziÍki czemu funkcje lo-
rys. 17. W jej skład wchodzi prze- giczne realizowane w OLMC mo-
rzutnik D z wejściami: asynchro- gą byĘ wykorzystywane przez in-
nicznego zerowania (AR) i syn- ne OLMC (oczywiście, jeśli wy-
chronicznego ustawiania (SP), na stÍpuje taka koniecznośĘ).
ktÛrego wejÅ›cie D jest podawany W przypadku pracy OLMC w try-
sygnał wytwarzany zaprogramowa- bie rejestrowym nie ma mołli-
ną przez ułytkownika przez su- wości wykorzystania linii I/O ja-
mÍ iloczynÛw sygnaÅ‚Ûw wejÅ›cio- ko wejÅ›ciowej (jest na staÅ‚e skon-
wych (oznaczonych literÄ… I) i syg- figurowana jako trÛjstanowe wyj-
naÅ‚Ûw podawanych zwrotnie na Å›cie). SygnaÅ‚ CLK dostarczany na
matrycÍ programowalnÄ…, wytwarza- wejÅ›cia zegarowe wszystkich prze-
nych w innych OLMC. W zaleÅ‚noÅ›- rzutnikÛw jest na staÅ‚e przypisa-
ci od lokalizacji OLMC, liczba do- ny do wejścia I/CLK (wyprowa-
stÍpnych dla OLMC iloczynÛw dzenie numer 2 w obudowie
waha siÍ od 8 do 16 (wedÅ‚ug PLCC28). Niestety, w ukÅ‚adach
wzoru: ìzewnÍtrzneî OLMC majÄ… GAL22V10 nie ma moÅ‚liwoÅ›ci
ich 8, nastÍpne 10, aÅ‚ do 16 dla taktowania przerzutnikÛw nieza-
OLMC umieszczonych centralnie - lełnymi sygnałami zegarowymi -
tab. 3). w trybie rejestrowym OLMC majÄ…
Multipleksery widoczne na rys. do dyspozycji tylko jeden, wspÛl-
17 są wykorzystywane wyłącznie ny sygnał. Ograniczenie to nie
w celu skonfigurowania trybu pra- dotyczy sygnaÅ‚Ûw AR i SP, ktÛre
cy OLMC (za ich konfiguracjÍ od- sÄ… wytwarzane indywidualnie dla
powiadają bezpieczniki S0 i S1, kałdego przerzutnika.
oddzielne dla kałdej OLMC), nie Piotr Zbysiński, EP
moÅ‚na wiÍc zmieniaĘ ich stanu piotr.zbysinski@ep.com.pl
Rys. 18. Możliwe sposoby skonfigurowania OLMC w układach
(isp)GAL22V10
Elektronika Praktyczna 4/2004
85
Wyszukiwarka
Podobne podstrony:
Układy programowalne cz 3Układy programowalne cz 7Układy programowalne cz 5Układy programowalne cz 4Układy programowalne cz 6Układy arytmetyczne cz 1471 Czym się kierowac przy wyborze programu F K cz I472 Czym się kierować przy wyborze programu F K cz IIUkłady programowalneElementy i uklady elektroniczne cz I S KutaAnalogowe układy programowane w systemie firmy Latticeuklady rownan cz IIZałšcznik do uchwały Program zapobiegania przestępczo ci cz ICz II Układy pomiarowe, Sondywięcej podobnych podstron