Wprowadzenie

Transkrypt

Wprowadzenie
Wprowadzenie
Programowalne
Układy
Cyfrowe
dr inż. Paweł Russek
Program wykładu
Wprowadzenie
–
–
–
–
geneza,
systematyka,
charakterystyka PLD,
Zastosowanie.
Układy SPLD (Simple PLD):
–
–
PROM, PLA, PAL
Technologia.
–
Układy GAL
Przykłady
Układy CPLD
Podsumowanie
Literatura
www.actel.com
www.altera.com
www.xilinx.com
www.latticesemi.com
Amazon Book Search: for ”fpga” over 1000 results
Field Programmable Gate Arrays J.V. Oldfield,
R.C. Dorf
Field Programable Gate Array Technology
ed. S.M. Trimberger
Digital System Design And Prototyping Using Field
Programmable Logic, Z. Salcic, A. Smailagic
Klasyfikacja systemów cyfrowych
Pamięci
Pamięci
Mikroprocesory
Mikroprocesory
Logika
Logika
„glue logic”, interfejsy sprzętowe, transmisja danych,
wyświetlanie, przetwarzanie sygnałów, ...
Technologie Układów Cyfrowych
Układy programowalne
„Programmable Logic Devices (PLDs) are
standard, off-the-shelf parts that offer customers
a wide range of logic capacity, features, speed,
and voltage characteristics - and these devices
can be changed at any time to perform any
number of functions.”
„Xilinx web page”
Układy programowalne
Zalety
Niski koszt NRE
Niski koszt implementacji
projektu
Łatwość modyfikacja
projektu
Zmniejszone ryzyko
projektowe
Łatwość weryfikacji i
testowania projektu
Wady
Koszt/rozmiary chipu
Szybkość
Jakość projektowania
Wymagane duże
doświadczenie projektowe
Opłacalność stosowania
Opłacalność stosowania c.d.
Zastosowanie
Wireless communications
–
Wireline communications
–
Lcd, set top boxes, high end cameras
Video & Image processing
–
Optical and radio transmission, tel. Switches, traffic managers,
backplane transceivers
Consumer electronics
–
High speed switches, routers, DSL multiplexers
Telecom
–
Cellular base station
Surveillance, broadcast, copression,
Automotive
–
GPS, driver assistance, car threat avoidance, cruise control
etc.
Zastosowanie cd.
Aerospace and Defence
ASIC prototyping
Embedded systems
Test and Measurment
Storage
Data security
Medical
HPRC
Custom designs
Tools for PLD
Migration to open source framework
Tradiotionally HDL
HLS: AutoESL (Xilinx 2011)
SoC design tools
Virtualization
–
–
–
Shared Board farms
Tools provisioning
Cloud computing and development
Geneza współczesnych PLD/FPGA
F(A,B,C,...)
Literały: A,B,C,A’,B’,C’, ...
Wyrażenia iloczynowe (ang. product terms):
p1=A••B’••C, p2=A’••C, ...
Postać kanoniczna:
F(A,B,C,...) = A••B+A••C’+A••B’••C+ ...
Podejście naiwne
Realizacja matrycy OR
Realizacja matrycy AND
AND/OR Notacja graficzna
PROM - najprostszy PLD
(y1,y2,..., yk) =F(x1,x2,..., xn)
!!!
xn...x2 x1
y1
y2
yk
....00000
0
0
0
....00001
1
1
1
....00010
1
1
1
....00011
0
0
0
....00100
0
0
0
....00101
0
0
0
....00110
0
0
0
....00111
1
1
1
x0
x1
x2
x3
x4
.
.
.
xn
A0
A1
A2
A3
A4
.
.
.
An
D0
D1
D2
.
.
.
Dk
Rozwiązanie bardzo rozrzutne.
Problem. Zbudować FSM przy pomocy ROM i rejestru
y0
y1
y2
.
.
.
yk
Programmable Logic Array. PLA
Matryca OR i matryca AND programowalne
Możliwe współdzielenie (min)termów przez funkcje
wyjściowe
Wejścia i wyjścia są jednokierunkowe.
Układ PLA - przykład
Problem. Podać formuły funkcji logicznych
Programmable Array Logic. PAL
Matryca AND programowalna, matryca OR stałe
Brak współdzielenia termów przez funkcje wyjściowe
Posiada dwukierunkowe wejścia/wyjścia
Mniejsza ilość połączen programowalnych – szybsze
Mniejszy pobór mocy
Struktura PAL
PAL kaskadowanie
Posiada
dwukierunkowe wejścia/wyjścia
Zwiększania liczby dostępnych termów dla wyjścia
Rodzina układów PAL
Kombinacyjne
Do realizacji logiki kombinacyjnej
Sekwencyjne
Do realizacji logiki sekwencyjnej (FSM)
Arytmetyczne
Sumy termalne mogą być łączone
przez XOR
PAL oznaczenia
PAL 16H8
W sumie 16
wejść i wyjść
Typ wyjścia
(H,L,R,A,V)
PAL16L8
PAL16R4
PAL16A4
8 wyjść
Układ 22V10
OLMC
Output Logic Macro Cell
22V10 tryby pracy OLMC
Wspóczesny PAL 16V8
8 wyrażeń iloczynowych (termów) na wyjście
32 wejścia do matrycy AND
Kontrolne funkcje 1 termu
Przykład 16V8.
PROM revisited
Układy PAL vs GAL
Element programowalny
PAL
EPROM, UVCMOS
GAL
EEPROM, EECMOS
Programowanie
Dalszy rozwój PLD
1.
Jak uczynić układy jeszcze bardziej efektywnymi
wobec wzrastających możliwości technologii
półprzewodnikowej?
Dodać nową możliwość w postaci konfigurowalnego
bloku we/wy
1.
2.
Zwiększyć rozmiar typowych PAL i GAL.?
Nie efektywne bo:
–
–
3.
Pomysł dobry, ale ma ciągle nie daje dostatecznych
możliwości układom PLD
Spowolni działanie
Zmarnuje miejsce
Umieścić kilka PAL i GAL w pojedynczej
strukturze razem z dodatkową strukturą łączącą
bloki wewnątrz układu
Układy CPLD. Complex PLD
Blok PAL w CPLD
CPLD. Input Output Block
Podsumowanie
Układy CPLD choć ciągle stosowane ustępują
miejsca układom FPGA
Układy CPLD znajdują zastosowane w
zastosowaniach o skrajnie niskim poborze
prądu i o bardzo dużych wymaganiach
szybkościowych.