Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Podstawy sterowania
logicznego
Programowalne układy logiczne
Programowalne układy logiczne
Co to są układy logiczne programowalne ?
Są to cyfrowe układy scalone zawierające
wytworzone w procesie technologicznym
uniwersalne zasoby logiczne (bramki,
przerzutniki, liczniki, układy we/wy) mające
możliwość konfigurowania połączeń
pomiędzy poszczególnymi zasobami
Podstawy Sterowania Logicznego 2011/12, ©ZM 2/49
Programowalne układy logiczne
Na czym polega programowanie ?
Programowanie polega na wprowadzeniu
połączeń między ścieżkami łączącymi
poszczególne zasoby oraz wejścia / wyjścia
Do realizacji połączeń programowalnych
w układach wykonuje się struktury zwane
Å‚Ä…cznikami
Podstawy Sterowania Logicznego 2011/12, ©ZM 3/49
Elektrotechnika I st., rok 3, moduł C 1
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Programowalne układy logiczne
Rodzaje łączników
Aączniki mogą być:
jednokrotne (antybezpieczniki) struktury
fabrycznie rozwarte, które można trwale
zaprogramować jako zwarte przez
doprowadzenie odpowiedniego napięcia
programujÄ…cego,
wielokrotne przełączniki w postaci
tranzystorów polowych sterowanych przez
komórki pamięci SRAM, EEPROM lub Flash
wykonanej w tym samej strukturze co układ
programowalny.
Podstawy Sterowania Logicznego 2011/12, ©ZM 4/49
Programowalne układy logiczne
Podział układów programowalnych
Ze względu na złożoność układy można podzielić na:
Proste układy programowalne SPLD
(ang.: Simple Programmable Logic Device)
Złożone układy programowalne CPLD
(ang.: Complex Programmable Logic Device)
Programowalne matryce bramkowe FPGA
(ang.: Field Programmable Gate Array)
Układy specjalizowane ASIC
(ang.: Application-Specific Integrated Circuit)
Podstawy Sterowania Logicznego 2011/12, ©ZM 5/49
Proste układy programowalne SPLD
Struktura układu SPLD
Podstawy Sterowania Logicznego 2011/12, ©ZM 6/49
Elektrotechnika I st., rok 3, moduł C 2
. . . . .
16 x bufor
. . . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Proste układy programowalne SPLD
Podział układów SPLD
Układy SPLD można podzielić na:
układy FPLA (ang.: Field Programmable Logic
Array), w których programowalne są obie matryce
(AND i OR),
programowalne pamięci stałe (PROM, EPROM,
EEPROM, Flash), w których matryca AND jest stała,
a matryca OR programowalna,
układy PAL i GAL, w których matryca AND jest
programowalne, a matryca OR stała.
Podstawy Sterowania Logicznego 2011/12, ©ZM 7/49
Układy programowalne PAL
Cechy
Układy PAL (ang.: Programmable Array Logic):
są układami jednokrotnego programowania,
sÄ… budowane jako kombinacyjne albo rejestrowe,
zawierajÄ…ce przerzutniki,
mają od kilku do kilkunastu wejść i wyjść.
Nazwa PAL została zastrzeżona przez firmę
National Semiconductor
Podstawy Sterowania Logicznego 2011/12, ©ZM 8/49
Układy programowalne PAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 9/49
Elektrotechnika I st., rok 3, moduł C 3
Układ kombinacyjny PAL16L8
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne PAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 10/49
Układy programowalne PAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 11/49
Układy programowalne GAL
Cechy
Układy GAL (ang.: Generic Array Logic):
są układami wielokrotnego programowania,
mają każde wyjście wyposażone w uniwersalną
komórkę programowalną OLMC (ang.: Output Logic
MacroCell),
majÄ… programowo wybierany tryb pracy,
mają od kilku do około 20+ wejść i wyjść.
Układy typu GAL zostały wprowadzone i
spopularyzowane przez firmÄ™ Lattice
Podstawy Sterowania Logicznego 2011/12, ©ZM 12/49
Elektrotechnika I st., rok 3, moduł C 4
Układ rejestrowy PAL16R4
Układ rejestrowy PAL16R8
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne GAL
Układ Lattice GAL16V8
Układ GAL16V8 może pracować w jednym z
następujących trybów:
prostym (ang.: simple mode), w którym można
programować układy kombinacyjne bez możliwości
sterowania buforami wyjściowymi.
złożonym (ang.: complex mode), w którym można
programować układy kombinacyjne z możliwością
indywidualnego sterowania buforów wyjściowych.
rejestrowym (ang.: registered mode), w którym
można programować układy sekwencyjne z
możliwością sterowania buforów wyjściowych.
Podstawy Sterowania Logicznego 2011/12, ©ZM 13/49
Układy programowalne GAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 14/49
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie prostym
1. Końcówka wyjściowa ze sprzężeniem zwrotnym
Podstawy Sterowania Logicznego 2011/12, ©ZM 15/49
Elektrotechnika I st., rok 3, moduł C 5
. . . .
. . . .
. . . .
. . . .
Układ GAL16V8 w trybie prostym
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie prostym
2. Końcówka wyjściowa bez sprzężenia zwrotnego
Podstawy Sterowania Logicznego 2011/12, ©ZM 16/49
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie prostym
3. Końcówka wejściowa
Podstawy Sterowania Logicznego 2011/12, ©ZM 17/49
Układy programowalne GAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 18/49
Elektrotechnika I st., rok 3, moduł C 6
. . . . . . . .
. . . . . . . .
Układ GAL16V8 w trybie zło
ż
onym
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie złożonym
1. Końcówka dwukierunkowa
Podstawy Sterowania Logicznego 2011/12, ©ZM 19/49
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie złożonym
2. Końcówka wyjściowa
Podstawy Sterowania Logicznego 2011/12, ©ZM 20/49
Układy programowalne GAL
Podstawy Sterowania Logicznego 2011/12, ©ZM 21/49
Elektrotechnika I st., rok 3, moduł C 7
. . . . . . . .
. . . . . . . .
Układ GAL16V8 w trybie rejestrowym
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie rejestrowym
1. Końcówka wyjściowa rejestrowa
Podstawy Sterowania Logicznego 2011/12, ©ZM 22/49
Układy programowalne GAL
Struktury makrokomórek wyjściowych (OLMC)
w trybie rejestrowym
2. Końcówka we/wy kombinacyjna
Podstawy Sterowania Logicznego 2011/12, ©ZM 23/49
Układy programowalne CPLD
CPLD = Complex Programmable Logic Device
CPLD to układy programowalne o znacznie
większej złożoności w porównaniu z
układami SPLD. Układy CPLD mają
najczęściej jedną matrycę połączeń.
W strukturze układów CPLD można wyróżnić
bloki funkcjonalne (o strukturze podobnej do
struktur GAL), które można łączyć za
programowalne matrycy połączeń.
Podstawy Sterowania Logicznego 2011/12, ©ZM 24/49
Elektrotechnika I st., rok 3, moduł C 8
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne CPLD
Układy serii XC9500 produkcji Xilinx
Złożoność układów
Cecha XC9536 XC95144 XC95288
Liczba makrokomórek 36 144 288
Liczba dostępnych bramek 800 3200 6400
Liczba przerzutników 36 144 288
Podstawy Sterowania Logicznego 2011/12, ©ZM 25/49
Układy programowalne CPLD
Układy serii XC9500 produkcji Xilinx
Podstawowe parametry dynamiczne
Cecha XC9536 XC95144 XC95288
Czas propagacji sygnału 5 ns 7.5 ns 15 ns
Czas propagacji zegara 4 ns 4.5 ns 8 ns
Częstotl. zegara systemowego 100 MHz 83.3 MHz 56.6 MHz
Podstawy Sterowania Logicznego 2011/12, ©ZM 26/49
Układy programowalne CPLD
Układy serii XC9500 produkcji Xilinx
Podstawowe parametry elektryczne
Cecha Seria 9500 Seria 9500XL Seria 9500XV
Napięcie zasilania 5 V 3.3 V 2.5 V
Wejścia zakres napięć 5, 3.3 V 5, 3.3, 2.5 V 3.3, 2.5 V
Wyjścia zakres napięć 5, 3.3 V 3.3, 2.5 V 3.3, 2.5, 1.8 V
Pobór prądu 300 mA 85 mA 60 mA
(typ. dla f=1 MHz)
Podstawy Sterowania Logicznego 2011/12, ©ZM 27/49
Elektrotechnika I st., rok 3, moduł C 9
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne CPLD
Architektura układów serii XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 28/49
Układy programowalne CPLD
Blok funkcjonalny układów serii XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 29/49
Układy programowalne CPLD
Makrokomórka układów serii XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 30/49
Elektrotechnika I st., rok 3, moduł C 10
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne CPLD
Alokator termów układów serii XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 31/49
Układy programowalne CPLD
Wykorzystanie alokatora termów układów XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 32/49
Układy programowalne CPLD
Matryca połączeń w układach serii XC9500
Podstawy Sterowania Logicznego 2011/12, ©ZM 33/49
Elektrotechnika I st., rok 3, moduł C 11
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne CPLD
Podstawy Sterowania Logicznego 2011/12, ©ZM 34/49
Układy programowalne FPGA
FPGA = Field Programmable Gate Array
FPGA to układy programowalne wielkiej skali
integracji, które zawierają:
zbiór programowalnych bloków logicz-
nych rozłożonych w formie matrycy oraz
zbiór programowalnych połączeń
Podstawy Sterowania Logicznego 2011/12, ©ZM 35/49
Układy programowalne FPGA
W układach FPGA można wyróżnić progra-
mowalne połączenia:
segmentowe między blokami logicznymi,
globalne biegnące przez całą strukturę
układu. Są to m. in. ścieżki zasilania,
sygnałów zegarowych itp.
Podstawy Sterowania Logicznego 2011/12, ©ZM 36/49
Elektrotechnika I st., rok 3, moduł C 12
Blok wej
ść
/wyj
ść
w układach
serii XC9500
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne FPGA
Architektura układu FPGA
Podstawy Sterowania Logicznego 2011/12, ©ZM 37/49
Układy programowalne FPGA
Połączenia w układach FPGA
W układach FPGA połączenia programo-
walne sÄ… realizowane przy pomocy:
łączników programowalnych wielokrotnie
opartych na tranzystorach NMOS
sterowanych przez komórki pamięci
SRAM, EEPROM lub Flash,
łączników programowalnych jednokrotnie
tzw. antybezpieczników.
Podstawy Sterowania Logicznego 2011/12, ©ZM 38/49
Układy programowalne FPGA
Elementy bloków logicznych w układach FPGA
W układach FPGA programowalne bloki
logiczne zawierajÄ…:
1, 2 lub 4 przerzutniki,
pamięci LUT oraz multipleksery do
realizacji funkcji logicznych.
Podstawy Sterowania Logicznego 2011/12, ©ZM 39/49
Elektrotechnika I st., rok 3, moduł C 13
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne FPGA
Wykorzystanie pamięci LUT (ang.: Look-Up Table) do
realizacji funkcji logicznych
Pamięć LUT to jednobitowa pamięć RAM o
kilku (3 ÷ 5) wejÅ›ciach adresowych.
Po odpowiednim zaprogramowaniu pamięci
staje siÄ™ ona generatorem dowolnej funkcji
logicznej, której argumentami są wejścia
adresowe pamięci.
Pamięci LUT są najczęściej budowane jako
16-bitowe (4 wejścia adresowe).
Podstawy Sterowania Logicznego 2011/12, ©ZM 40/49
Układy programowalne FPGA
Wykorzystanie multiplekserów do realizacji funkcji
logicznych
Multiplekser o n wejściach adresowych z
jedną dodatkową bramką NOT może służyć
do generowania dowolnej funkcji logicznej
n+1 zmiennych.
W układach FPGA stosuje się multipleksery
o 1÷5 wejÅ›ciach adresowych.
Podstawy Sterowania Logicznego 2011/12, ©ZM 41/49
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
W strukturze układów rodziny Spartan-3 można
wyróżnić:
programowalne bloki logiczne,
bloki I/O,
pamięć RAM,
multiplikatory do mnożenia dwóch 18-bitowych
liczb,
bloki zarzÄ…dzania zegarem.
Podstawy Sterowania Logicznego 2011/12, ©ZM 42/49
Elektrotechnika I st., rok 3, moduł C 14
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Złożoność układów cz. 1
Cecha XC3S50A XC3S400A XC3S1400A
Liczba bramek ogółem 50 K 400 K 1400 K
Liczba programowalnych
1584 8064 25334
komórek logicznych
Liczba programowalnych
176 896 2816
bloków logicznych (CLB)
Rozproszona pamięć RAM w
11 Kb 56 Kb 176 Kb
blokach CLB
Blok pamięci RAM 54 Kb 360 Kb 576 Kb
Pamięć Flash 1 Mb 4 Mb 16 Mb
Podstawy Sterowania Logicznego 2011/12, ©ZM 43/49
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Złożoność układów cz. 2
Cecha XC3S50A XC3S400A XC3S1400A
Liczba multiplikatorów 3 20 32
Liczba bloków zarządzania
2 4 8
zegarem
Liczba wejść/wyjść (zależnie
68, 108, 144 195, 251,311 375, 502
od obudowy)
CzÄ™stotliwość zegara 5 ÷ 320 MHz
Napięcie zasilania 3.3 V
Napięcie wejść/wyjść 3.3, 2.5, 1.8, 1.5, 1.2 V
Liczba końcówek układu 100, 144, 256 256, 320, 400 484, 676
Podstawy Sterowania Logicznego 2011/12, ©ZM 44/49
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Struktura programowalnego bloku logicznego (CLB)
Podstawy Sterowania Logicznego 2011/12, ©ZM 45/49
Elektrotechnika I st., rok 3, moduł C 15
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Zasoby programowalnego bloku logicznego (CLB)
W strukturze plasterków SLICEM i SLICEL można
wyróżnić:
dwie 4-wejściowe tablice LUT (F i G) do realizacji
funkcji,
dwa elementy pamięci (przerzutniki/zatrzaski),
dwa multipleksery wielofunkcyjne (F5MUX i
FiMUX),
układy do realizacji funkcji arytmetycznych i
przeniesień.
Podstawy Sterowania Logicznego 2011/12, ©ZM 46/49
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Zasoby programowalnego bloku logicznego (CLB)
Dodatkowo w strukturze plasterków SLICEM można
wyróżnić:
dwie pamięci RAM o pojemności 16 bitów
(RAM16),
dwa 16-bitowe rejestry przesuwne (SRL16).
Podstawy Sterowania Logicznego 2011/12, ©ZM 47/49
Układy programowalne FPGA
Układy rodziny Spartan-3A produkcji Xilinx
Zasoby plasterków SLICEM i SLICEL
Podstawy Sterowania Logicznego 2011/12, ©ZM 48/49
Elektrotechnika I st., rok 3, moduł C 16
Podstawy Sterowania Logicznego,
Programowalne Układy Logiczne
Układy programowalne FPGA
Podstawy Sterowania Logicznego 2011/12, ©ZM 49/49
Elektrotechnika I st., rok 3, moduł C 17
Układy rodziny Spartan-3A
Uproszczony schemat plasterków
SLICEM
Wyszukiwarka
Podobne podstrony:
Tajny program rolny PSL – zabrać rolnikom, dać urzędnikomProgram PSLzestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6Międzynarodowy Program Badań nad Zachowaniami SamobójczymiCSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)Instrukcja Programowania Zelio Logic 2 wersja polskaProgram wykładu Fizyka II 14 15roprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANGio port programming 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]Podstawy Programowania Wersja Rozszerzonakoło Programy GoofyPROGRAMYprogramator do Amigiwięcej podobnych podstron