UKŁADY PLD - Politechnika Warszawska

Transkrypt

UKŁADY PLD - Politechnika Warszawska
Politechnika Warszawska
Instytut Metrologii i Inżynierii Biomedycznej
ul. Św. Andrzeja Boboli 8, 02-525 Warszawa
Logiczne Układy Programowalne
Wykład II
Układy PLD - wprowadzenie
dr inż. Jakub Żmigrodzki
E-mail: [email protected]
Warszawa, 2011
PLAN PREZENTACJI
1. Informacje ogólne,
2. Rodzaje układów PLD
3. CPLD vs FPGA
4. FPGA vs Procesory DSP
5. Projektowanie i testowanie urządzeń cyfrowych
zawierających układy PLD
2
UKŁADY PLD
„Definicja”
…...................................... (PLD – Programmable Logic Devices) to cyfrowe
układy scalone zawierające wytworzone we wspólnym procesie
technologicznym uniwersalne zasoby logiczne takie jak:
●
Bramki logiczne,
●
Przerzutniki,
●
Bloki cyfrowe ogólnego przeznaczenia (np.: bloki pamięciowe),
●
Specjalizowane bloki cyfrowe (np.: układy mnożące),
●
Układy wejścia/wyjścia.
●
Liczne ..................................... z których większość nie jest w sposób „stały”
połączona z konkretnymi zasobami logicznymi.
Układy programowalne są tak naprawdę ...................... a nie programowalne.
3
UKŁADY PLD
Podział
1. ...... (Simple Programmable Logic Devices),
2. ...... (Complex Programmable Logic Devices),
3. ...... (Field Programmable Gate Array),
4. ...... (Field Programmable Object Array),
4
UKŁADY PLD
Producenci
●
Xilinx,
~80% całego rynku.
●
Altera,
●
Lattice Semiconductor,
●
Actel,
●
SiliconBlue Technologies,
●
Achronix,
●
Tabula,
5
UKŁADY PLD
SPLD
Układy typu SPLD (Simple Programmable Logic Devices) cechują się …........... złożonością
– pojedynczy układ zawiera nie więcej niż około 1000 bramek logicznych.
Układy takie składają się najczęściej z trzech poziomów:
●
Matrycy …....,
●
Matrycy …....,
●
Poziomu …...............,
Wyróżnia się następujące typy układów SPLD:
●
PLA/FPLA (Programmable Logic Arrays),
●
PAL (Programmable Array Logic),
●
GAL (Generic Array Logic).
6
UKŁADY PLD
CPLD
LAB A
I/O
BIO
MK11
MK1m
MK11
MK1m
MKn1
MKnm
MKn1
MKnm
MK11
MK1m
MK11
MK1m
MKn1
MKnm
MKn1
MKnm
I/O
BIO
I/O
PIA
I/O
LAB B
I/O
BIO
I/O
LAB C
●
I/O
BIO
I/O
LAB D
PIA – Programmable Interconnect Array – programowalna matryca połączeń
wewnętrznych,
●
LAB – Logic Array Block ,
●
MK – Macrocell – MakroKomórki ,
●
BIO – Block IO ,
●
I/O – Input/Output ,
7
UKŁADY PLD
CPLD - makrokomórka
Sygnały globalne (GCLR, GCLK, GEN)
n
z/do BIO
DS
S
D
Q
RB
PMFL
z/do PIA
C
CES
EN
R
CS
●
PMFL – Programowalna Matryca Funkcji Logicznych ,
●
DS – Data Select ,
●
CES – Clock and Enable Select ,
●
CS – Clear Select,
●
RB – Register Bypass,
8
UKŁADY PLD
FPGA
●
LAB (Logic Array Block) + MTI (MultiTrack Interconnect)
●
Bloki DSP – najczęściej układy mnożące,
●
Bloki pamięci EMB,
●
Bloki I/O ogólnego przeznaczenia,
●
Dedykowane bloki I/O,
●
Bloki PLL,
9
UKŁADY PLD
FPGA – MTI
MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych
LE
DSP
EMB
MTI
DSP
EMB
LAB
10
UKŁADY PLD
FPGA – LE
Sygnały globalne danego bloku LAB
(GCLR, GCLK, GEN)
Wejścia danych
Z reguły 3-5.
Sygnał przeniesienia z
poprzedniego LE
LUT
n
DS
S
D
Q
●
LUT – Look Up Table,
●
DS – Data Select,
●
SRS – Set/Reset Select,
●
CS – Clock Select,
●
RB – Register Bypass,
RB1
Wyjście do globalnej
magistrali połączeń
RB2
Wyjście do lokalnej
magistrali połączeń
danego bloku LAB
C
Sygnał przeniesienia do
następnego LE
SRS
CS
EN
R
Konfigurowalny przerzutnik:
D, JK, SR, T
11
UKŁADY PLD
FPOA
●
●
ALU – Arithmetic–Logic Unit -jednostka arytmetycznologiczna,
MAC – Multiple–Accumulator – jednostka mnożącosumująca (akumulator),
●
RF – Register File – blok pamięci,
●
Wbudowane bloki pamięci SRAM,
●
Dedykowane bloki I/O,
●
Bloki I/O ogólnego przeznaczenia,
FPOA nie są obecnie produkowane.
12
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
FPGA
CPLD
(MAX V)
Klasa
„low-cost”
(Cyclene IV)
Klasa
„middlerange”
(Arria II)
Klasa
„high-end”
(Stratix IV)
100 - 250
265 - 500
280 - 700
450 - 800
Liczba bloków
LE
(ekwiwalent)
40 - 2210
14400 - 149760
45125 - 256500
72600 - 551200
EMB [kb]
8 (flash)
540 - 6480
2871 - 16400
6462 - 20736
Układy mnożące
18x18bit
-
0 - 360
232 - 1040
384 - 1288
Cena [USD]
0,90 – 12,00
17,93 – 315,52
389,90 – 2560,00
800 – 18389,99
Zmodyfikowany wsp.
dobroci D=(fmax·LE)/koszt
4400 - 46000
213000 - 237000
32000 - 70000
41000 - 24000
Wydajność fmax sygnału zegarowego
[MHz]
Zasoby
logiczne
Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera
13
stan na 03.2011.
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
Wydajność
Zasoby logiczne
800
1000000
700
100000
LIczba bloków typu LE
500
400
300
200
100
0
min
CPLD (MAX V)
Klasa „middlerange” (Arria II)
10000
1000
100
10
1
max
min
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
Koszt
CPLD (MAX V)
Klasa „middlerange” (Arria II)
max
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
100000
10000
Cena [USD]
Fmax [MHz]
600
1000
100
10
1
0,1
min
CPLD (MAX V)
Klasa „middlerange” (Arria II)
max
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
14
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
Wsp. dobroci
D [(MHz L.LE)/USD]
250000
200000
150000
100000
50000
0
min
max
CPLD (MAX V)
Klasa „middlerange” (Arria II)
Zalety
Wady
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
CPLD
FPGA
Programowalne w sposób
nieulotny
….........................................................................................
............................................................................................
Cena
Zawierają specyficzne bloki cyfrowe.
….......................................
...........................................
Z reguły programowane w sposób ulotny.
15
Porównanie cech FPGA i DSP
DSP – Digital Signal Processor – procesor sygnałowy.
DSP
25 - 2400
Wydajność – MMAC
(Million Multiply Accumulate Operations Per
Second) w przypadku FPGA oszacowanie tego typu
danych jest trudno mierzalne ze względu na
możliwości różnej implementacji – dane raczej
zaniżone.
FPGA
270 - 11000
Cena [USD]
10 -330
10 - 10000
Wydajność/Cena
2,5 – 7,3
27 – 1,1
TAK
NIE
Softwarowa
Softwarowa i
Hardwarowa
Specyficznie makrobloki cyfrowe np. sterowniki
TCP/IP, USB, graficzne, magistrali danych
Elastyczność
Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp
16
04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]
UKŁADY SPECJALIZOWANE
ASIC – Application-Specific Integrated Circuit
ASIC są to układy scalone wytwarzane …....................................................................
….................. Projektowanie i przygotowanie procesu technologicznego umożliwiającego
wytworzenie takich układów jest dosyć drogie, co ogranicza ich stosowalność do
projektów układów, które mają być wytwarzane w …..........................................
17
PROJEKTOWANIE
Układów Cyfrowych z użyciem PLD
1 Formalizacja opisu:
●
●
●
Wymagania,
Założenia,
Specyfikacja,
2 Projekt .....................:
●
●
●
Wybór metodyki projektowania (up – down, down – up),
Schemat blokowy,
Wybór sposobu opisu bloków funkcjonalnych (język HDL, behawioralne,
strukturalnie),
3 Projekt ..................:
●
●
●
Projekt zawartości układów PLD i jego weryfikacja,
Opis układu elektronicznego – schemat ideowy (elektryczny),
Projekt PCB,
4 Budowa ............... i testy:
●
●
●
Montaż i wstępne uruchomienie,
Testowanie projektu,
Prezentacja modelu,
5 Budowa ...................,
18
HDL
Język Opisu Sprzętu
…............................. (HDL - Hardware Description Language) — służy do opisu układów
cyfrowych. Istnieją dwa zasadnicze sposoby opisu układów:
●
…................................
●
…................................
Najpopularniejsze języki opisu sprzętu HDL to:
●
VHDL,
●
Verilog HDL,
●
AHDL,
●
Abel.
19
….................. projektu
….................. projektu
Środowiska projektowe
EDA
Środowiska wspomagające projektowanie EDA (Electronic Design
Automation) z reguły zapewniają możliwość:
●
tworzenie projektu układ (języki HDL, narzędzia graficzne,
generatory standardowych bloków logicznych)
●
syntezy układów,
●
optymalizacji,
●
dopasowywania (palce & route) projektu do konkretnego układu
PLD,
●
analiza czasowa,
●
funkcjonalnej i strukturalnej symulacji,
●
konfiguracja (programowanie) układów,
●
testowania i weryfikacja fizycznej implementacji projektu.
Popularne zintegrowane środowiska EDA do projektowania układów PLD to:
●
●
Quartus II (Altera),
ISE Design Suite (Xilinx),
20
ETAPY PROJEKTU EDA
Wprowadzenie projektu
Programy EDA umożliwiają (zazwyczaj) tworzenie opisu projektu
następującymi metodami:
●
Za pomocą ........................,
●
Za pomocą .......................,
●
Za pomocą ...................................... standardowych bloków
(MegaWizard Plug-In Manager – Quartus II),
21
ETAPY PROJEKTU EDA
Analiza i Synteza
Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.
Proces ............................................ polega na transformację opisu projektu do opisu na
poziomie przesłań rejestrowych (RTL – Register Transfer Level).
Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest
tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi
elementami.
22
ETAPY PROJEKTU EDA
Optymalizacja
Proces optymalizacji może być rozłożony na kilka etapów np.:
●
Optymalizacja podczas procesu ...........................
●
Optymalizacja pomiędzy procesem syntezy i rozmieszczania.
●
Optymalizacja w procesie ...................... projektu do docelowego
układu PLD.
23
ETAPY PROJEKTU EDA
Dopasowywanie
Proces dopasowywania (fitter, palce, palce & route) polega na implementacji
(umieszczeniu) uzyskanego w procesach syntezy i optymalizacji opisu projektu w
docelowym układzie cyfrowym PLD.
W przypadku układów CPLD realizowany
jest jedynie proces .............................. .
W przypadku układów FPGA realizowany
jest proces ............................................
Przebieg i rezultat procesu dopasowywania ma ogromny wpływ na jakoś i finalne
parametry zaimplementowanego projektu.
24
ETAPY PROJEKTU EDA
Analiza czasowa
Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek
sygnałowych wchodzących w skład danego projektu.
25
ETAPY PROJEKTU EDA
Symulacja
Symulacja poprawności projektu może być sprawdzana na wielu
etapach:
●
●
Symulacja .........................................:
●
na poziomie opisu RTL (RTL functional simulation),
●
Po pełnej syntezie (post-synthesis functional simulation),
Symulacja ....................................... (gate-level timing simulation):
●
Umożliwia wykrycie hazardu,
●
Nie umożliwia wykrycia stanów metastabilnych.
26
ETAPY PROJEKTU EDA
Symulacja
Z reguły stosuje się symulację:
●
●
Funkcjonalną na poziomie opisu RTL:
●
Najkrótszy czas kompilacji (analiza i wstępna synteza do RTL),
●
Umożliwia sprawdzenie jedynie poprawności funkcjonalnej projektu,
Strukturalną (gate-level timing simulation):
●
Wymaga najdłuższego czasu kompilacji (wszystkie etapy),
●
Umożliwia sprawdzenie poprawności funkcjonalnej i implementacji projektu.
27
ETAPY PROJEKTU EDA
Inne analizy
Oprogramowanie EDA umożliwia zazwyczaj również inne niż czasowe
analizy projektu np.:
●
Analizę jakości sygnałów we/wy (Signal Integrity Analysis),
●
Analizę poboru i strat mocy w układzie (Power Estimation and Analysis),
●
Inne,
28
ETAPY PROJEKTU EDA
Programowanie
Na podstawie danych wyjściowych procesu dopasowywania (fitter) tworzony jest w
procesie ............................... plik zawierający „obraz” implementacji projektu w danym
układzie scalonym.
Do konfigurowania układów PLD (programowania) najczęściej wykorzystywany jest
interfejs JTAG.
29
TESTOWANIE
Defekty w Układach Cyfr. - Przyczyny
●
●
●
Efekty niestarannego montażu – zwarcia lub
przerwy,
Efekty uszkodzeń mechanicznych (upadek,
wibracje),
Efekty uszkodzeń termicznych,
30
TESTOWANIE
Defekty w Układach Cyfr. - Podział
Częstość występowania poszczególnych
typów defektów w układach cyfrowych w %.
1
●
Statyczne,
●
Dynamiczne,
●
50
49
Przypadkowe,
Statyczne
Dynamiczne
Przypadkowe
31
TESTOWANIE UKŁADÓW CYFROWYCH
….......................... – projektu polega na sprawdzeniu poprawności jego przygotowania.
Testowanie polega na sprawdzeniu poprawność ….................... danego projektu w dany
układzie cyfrowym.
32
TESTOWANIE UKŁADÓW CYFROWYCH
Testowanie
….................
…..................
W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.
33
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa
Testowanie układu za pomocą ............................ polega na zapisie pobudzeń i odczycie
odpowiedzi na te pobudzenia ze specjalnych umieszczonych w układzie elementów
testujących BSC (Boundary Scan Cell).
D1
BSC3
D0
BSC2
D
Q
C
BSC4
Q1
BSC5
Q0
●
CLR
CLK
BSC1
D
CLR
BSC0
●
Q
C
●
CLR
TMS
TDI
●
Kontroler
TAP
TCK
TDO
●
TAP – (Test Access Port) - kontroler
elementów BSC,
TMS – (Test Mode Select) – wejście
sterujące pracą automatu TAP,
TDI – (Test Data Input) – szeregowe
wejście danych,
TDO – (Test Data Output) – szeregowe
wyjście danych,
TCK – (Test Clock Input) – wejście sygnału
taktującego pracę automatu TAP,
34
Fizyczne wyprowadzenia układu scalonego
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – el. BSC
RC – Register Capture
MC – Multiplexer Capture
Wyjście
SDO
C
CLOCK
C
SHIFT
Q
RC
RU
MODE
Wejście
SDI
D
Q
MU
D
UPDATE
MC
Wejście
standardowe
Wyjście
standardowe
MU – Multiplexer Update
Sygnały sterujące kontrolera TAP
RU – Register Update
Kolejne elementy BSC połączone są za pomocą linii
SDI (Serial Data Input) i SDO (Serial Data Output).
35
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – JTAG
Najpopularniejszym interfejsem wykorzystywanym do testowania i konfiguracji
układów PLD jest interfejs ........... .
Interfejs JTAG opisany jest standardem IEEE 1149.1 Standard Test Access Port and
Boundary-Scan Architecture.
●
IR – (Instruction Register) – Rejestr
Instrukcji sterujący pracą rejestru danych
Sygnały: UpdateIR, ShiftIR, ClockIR
DR,
TDI
TCLK
Kontroler
TAP
●
IR
TRTS
DR – (Data Register) – Blok rejestrów
danych zawierający min.:
●
MTDO
TMS
Interfejs
JTAG
TDO
●
DR
●
Sygnały: UpdateDR, ShiftDR, ClockDR
TRTS – (Test Reset) – umożliwia asynch. Reset układu
TAP, wejście to jest opcjonalne.
●
Rejestry elementów BSC,
Rejestr obejścia – umożliwiający
ominięcie danego układu w ścieżce
testującej,
Rejestr identyfikacji
Rejestry programujące (ISP – Insystem Programmability Register) i
konfigurujące (ICR – In-system 36
Reconfigurability Register),
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – JTAG
Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.
PLD 1
PLD 2
PLD 3
TDI
TDO
TDI
TDO
TDI
TDO
TMS
TCK
TMS
TCK
TMS
TCK
Złącze
inter. JTAG
np.: komputer
37
Następne zajęcia
●
Test – zakres wykładu,
●
Zajęcia lab.
38
Logiczne Układy Programowalne cz.2
Warszawa, 2011
Politechnika Warszawska
Instytut Metrologii i Inżynierii Biomedycznej
ul. Św. Andrzeja Boboli 8, 02-525 Warszawa
Logiczne Układy Programowalne
Wykład II
Układy PLD - wprowadzenie
dr inż. Jakub Żmigrodzki
E-mail: [email protected]
Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB
1
Warszawa, 2011
Logiczne Układy Programowalne cz.2
PLAN PREZENTACJI
1. Informacje ogólne,
2. Rodzaje układów PLD
3. CPLD vs FPGA
4. FPGA vs Procesory DSP
5. Projektowanie i testowanie urządzeń cyfrowych
zawierających układy PLD
2
Politechnika Warszawska, IMiIB, ZIB
2
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
„Definicja”
…...................................... (PLD – Programmable Logic Devices) to cyfrowe
układy scalone zawierające wytworzone we wspólnym procesie
technologicznym uniwersalne zasoby logiczne takie jak:
●
Bramki logiczne,
●
Przerzutniki,
●
Bloki cyfrowe ogólnego przeznaczenia (np.: bloki pamięciowe),
●
Specjalizowane bloki cyfrowe (np.: układy mnożące),
●
Układy wejścia/wyjścia.
●
Liczne ..................................... z których większość nie jest w sposób „stały”
połączona z konkretnymi zasobami logicznymi.
Układy programowalne są tak naprawdę ...................... a nie programowalne.
Politechnika Warszawska, IMiIB, ZIB
3
3
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
Podział
1. ...... (Simple Programmable Logic Devices),
2. ...... (Complex Programmable Logic Devices),
3. ...... (Field Programmable Gate Array),
4. ...... (Field Programmable Object Array),
4
Politechnika Warszawska, IMiIB, ZIB
4
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
Producenci
●
Xilinx,
~80% całego rynku.
●
Altera,
●
Lattice Semiconductor,
●
Actel,
●
SiliconBlue Technologies,
●
Achronix,
●
Tabula,
5
Politechnika Warszawska, IMiIB, ZIB
5
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
SPLD
Układy typu SPLD (Simple Programmable Logic Devices) cechują się …........... złożonością
– pojedynczy układ zawiera nie więcej niż około 1000 bramek logicznych.
Układy takie składają się najczęściej z trzech poziomów:
●
Matrycy …....,
●
Matrycy …....,
●
Poziomu …...............,
Wyróżnia się następujące typy układów SPLD:
●
PLA/FPLA (Programmable Logic Arrays),
●
PAL (Programmable Array Logic),
●
GAL (Generic Array Logic).
6
Politechnika Warszawska, IMiIB, ZIB
6
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
CPLD
LAB A
I/O
BIO
MK11
MK1m
MK11
MK1m
MKn1
MKnm
MKn1
MKnm
MK11
MK1m
MK11
MK1m
MKn1
MKnm
MKn1
MKnm
I/O
BIO
I/O
PIA
I/O
LAB B
I/O
BIO
I/O
LAB C
●
I/O
BIO
I/O
LAB D
PIA – Programmable Interconnect Array – programowalna matryca połączeń
wewnętrznych,
●
LAB – Logic Array Block ,
●
MK – Macrocell – MakroKomórki ,
●
BIO – Block IO ,
●
I/O – Input/Output ,
Politechnika Warszawska, IMiIB, ZIB
7
7
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
CPLD - makrokomórka
Sygnały globalne (GCLR, GCLK, GEN)
n
z/do BIO
DS
S
D
Q
RB
PMFL
z/do PIA
C
CES
EN
R
CS
●
PMFL – Programowalna Matryca Funkcji Logicznych ,
●
DS – Data Select ,
●
CES – Clock and Enable Select ,
●
CS – Clear Select,
●
RB – Register Bypass,
Politechnika Warszawska, IMiIB, ZIB
8
8
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
FPGA
●
LAB (Logic Array Block) + MTI (MultiTrack Interconnect)
●
Bloki DSP – najczęściej układy mnożące,
●
Bloki pamięci EMB,
●
Bloki I/O ogólnego przeznaczenia,
●
Dedykowane bloki I/O,
●
Bloki PLL,
9
Politechnika Warszawska, IMiIB, ZIB
9
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
FPGA – MTI
MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych
LE
DSP
EMB
MTI
DSP
EMB
LAB
10
Politechnika Warszawska, IMiIB, ZIB
10
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
FPGA – LE
Sygnały globalne danego bloku LAB
(GCLR, GCLK, GEN)
Wejścia danych
Z reguły 3-5.
Sygnał przeniesienia z
poprzedniego LE
n
LUT
DS
S
D
Q
●
LUT – Look Up Table,
●
DS – Data Select,
●
SRS – Set/Reset Select,
●
CS – Clock Select,
●
RB – Register Bypass,
RB1
Wyjście do globalnej
magistrali połączeń
RB2
Wyjście do lokalnej
magistrali połączeń
danego bloku LAB
C
Sygnał przeniesienia do
następnego LE
SRS
CS
EN
R
Konfigurowalny przerzutnik:
D, JK, SR, T
11
Politechnika Warszawska, IMiIB, ZIB
11
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY PLD
FPOA
●
●
ALU – Arithmetic–Logic Unit -jednostka arytmetycznologiczna,
MAC – Multiple–Accumulator – jednostka mnożącosumująca (akumulator),
●
RF – Register File – blok pamięci,
●
Wbudowane bloki pamięci SRAM,
●
Dedykowane bloki I/O,
●
Bloki I/O ogólnego przeznaczenia,
FPOA nie są obecnie produkowane.
12
Politechnika Warszawska, IMiIB, ZIB
12
Warszawa, 2011
Logiczne Układy Programowalne cz.2
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
FPGA
CPLD
(MAX V)
Klasa
„low-cost”
(Cyclene IV)
Klasa
„middlerange”
(Arria II)
Klasa
„high-end”
(Stratix IV)
100 - 250
265 - 500
280 - 700
450 - 800
Liczba bloków
LE
(ekwiwalent)
40 - 2210
14400 - 149760
45125 - 256500
72600 - 551200
EMB [kb]
8 (flash)
540 - 6480
2871 - 16400
6462 - 20736
Układy mnożące
18x18bit
-
0 - 360
232 - 1040
384 - 1288
Cena [USD]
0,90 – 12,00
17,93 – 315,52
389,90 – 2560,00
800 – 18389,99
Zmodyfikowany wsp.
dobroci D=(fmax·LE)/koszt
4400 - 46000
213000 - 237000
32000 - 70000
41000 - 24000
Wydajność fmax sygnału zegarowego
[MHz]
Zasoby
logiczne
Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera
13
stan na 03.2011.
Politechnika Warszawska, IMiIB, ZIB
13
Warszawa, 2011
Logiczne Układy Programowalne cz.2
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
Wydajność
Zasoby logiczne
800
1000000
700
100000
LIczba bloków typu LE
Fmax [MHz]
600
500
400
300
200
100
0
min
CPLD (MAX V)
Klasa „middlerange” (Arria II)
10000
1000
100
10
1
max
min
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
Koszt
CPLD (MAX V)
Klasa „middlerange” (Arria II)
max
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
100000
Cena [USD]
10000
1000
100
10
1
0,1
min
CPLD (MAX V)
Klasa „middlerange” (Arria II)
Politechnika Warszawska, IMiIB, ZIB
max
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
14
14
Warszawa, 2011
Logiczne Układy Programowalne cz.2
PORÓWNANIE CECH „TYPOWYCH”
UKŁADÓW PLD
Wsp. dobroci
D [(MHz L.LE)/USD]
250000
200000
150000
100000
50000
0
min
max
CPLD (MAX V)
Klasa „middlerange” (Arria II)
Zalety
Wady
Klasa „low-cost” (Cyclene IV)
Klasa „high-end” (Stratix IV)
CPLD
FPGA
Programowalne w sposób
nieulotny
….........................................................................................
............................................................................................
Cena
Zawierają specyficzne bloki cyfrowe.
….......................................
...........................................
Z reguły programowane w sposób ulotny.
Politechnika Warszawska, IMiIB, ZIB
15
15
Warszawa, 2011
Logiczne Układy Programowalne cz.2
Porównanie cech FPGA i DSP
DSP – Digital Signal Processor – procesor sygnałowy.
DSP
25 - 2400
Wydajność – MMAC
(Million Multiply Accumulate Operations Per
Second) w przypadku FPGA oszacowanie tego typu
danych jest trudno mierzalne ze względu na
możliwości różnej implementacji – dane raczej
zaniżone.
FPGA
270 - 11000
Cena [USD]
10 -330
10 - 10000
Wydajność/Cena
2,5 – 7,3
27 – 1,1
TAK
NIE
Softwarowa
Softwarowa i
Hardwarowa
Specyficznie makrobloki cyfrowe np. sterowniki
TCP/IP, USB, graficzne, magistrali danych
Elastyczność
Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp
16
04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]
Politechnika Warszawska, IMiIB, ZIB
16
Warszawa, 2011
Logiczne Układy Programowalne cz.2
UKŁADY SPECJALIZOWANE
ASIC – Application-Specific Integrated Circuit
ASIC są to układy scalone wytwarzane …....................................................................
….................. Projektowanie i przygotowanie procesu technologicznego umożliwiającego
wytworzenie takich układów jest dosyć drogie, co ogranicza ich stosowalność do
projektów układów, które mają być wytwarzane w …..........................................
17
Politechnika Warszawska, IMiIB, ZIB
17
Warszawa, 2011
Logiczne Układy Programowalne cz.2
PROJEKTOWANIE
Układów Cyfrowych z użyciem PLD
1 Formalizacja opisu:
●
●
●
Wymagania,
Założenia,
Specyfikacja,
2 Projekt .....................:
●
●
●
Wybór metodyki projektowania (up – down, down – up),
Schemat blokowy,
Wybór sposobu opisu bloków funkcjonalnych (język HDL, behawioralne,
strukturalnie),
3 Projekt ..................:
●
●
●
Projekt zawartości układów PLD i jego weryfikacja,
Opis układu elektronicznego – schemat ideowy (elektryczny),
Projekt PCB,
4 Budowa ............... i testy:
●
●
●
Montaż i wstępne uruchomienie,
Testowanie projektu,
Prezentacja modelu,
5 Budowa ...................,
Politechnika Warszawska, IMiIB, ZIB
18
18
Warszawa, 2011
Logiczne Układy Programowalne cz.2
HDL
Język Opisu Sprzętu
…............................. (HDL - Hardware Description Language) — służy do opisu układów
cyfrowych. Istnieją dwa zasadnicze sposoby opisu układów:
●
…................................
●
…................................
Najpopularniejsze języki opisu sprzętu HDL to:
●
VHDL,
●
Verilog HDL,
●
AHDL,
●
Abel.
19
Politechnika Warszawska, IMiIB, ZIB
19
Warszawa, 2011
Logiczne Układy Programowalne cz.2
….................. projektu
….................. projektu
Środowiska projektowe
EDA
Środowiska wspomagające projektowanie EDA (Electronic Design
Automation) z reguły zapewniają możliwość:
●
tworzenie projektu układ (języki HDL, narzędzia graficzne,
generatory standardowych bloków logicznych)
●
syntezy układów,
●
optymalizacji,
●
dopasowywania (palce & route) projektu do konkretnego układu
PLD,
●
analiza czasowa,
●
funkcjonalnej i strukturalnej symulacji,
●
konfiguracja (programowanie) układów,
●
testowania i weryfikacja fizycznej implementacji projektu.
Popularne zintegrowane środowiska EDA do projektowania układów PLD to:
●
Quartus II (Altera),
●
ISE Design Suite (Xilinx),
Politechnika Warszawska, IMiIB, ZIB
20
20
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Wprowadzenie projektu
Programy EDA umożliwiają (zazwyczaj) tworzenie opisu projektu
następującymi metodami:
●
Za pomocą ........................,
●
Za pomocą .......................,
●
Za pomocą ...................................... standardowych bloków
(MegaWizard Plug-In Manager – Quartus II),
21
Politechnika Warszawska, IMiIB, ZIB
21
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Analiza i Synteza
Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.
Proces ............................................ polega na transformację opisu projektu do opisu na
poziomie przesłań rejestrowych (RTL – Register Transfer Level).
Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest
tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi
elementami.
22
Politechnika Warszawska, IMiIB, ZIB
22
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Optymalizacja
Proces optymalizacji może być rozłożony na kilka etapów np.:
●
Optymalizacja podczas procesu ...........................
●
Optymalizacja pomiędzy procesem syntezy i rozmieszczania.
●
Optymalizacja w procesie ...................... projektu do docelowego
układu PLD.
23
Politechnika Warszawska, IMiIB, ZIB
23
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Dopasowywanie
Proces dopasowywania (fitter, palce, palce & route) polega na implementacji
(umieszczeniu) uzyskanego w procesach syntezy i optymalizacji opisu projektu w
docelowym układzie cyfrowym PLD.
W przypadku układów CPLD realizowany
jest jedynie proces .............................. .
W przypadku układów FPGA realizowany
jest proces ............................................
Przebieg i rezultat procesu dopasowywania ma ogromny wpływ na jakoś i finalne
parametry zaimplementowanego projektu.
24
Politechnika Warszawska, IMiIB, ZIB
24
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Analiza czasowa
Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek
sygnałowych wchodzących w skład danego projektu.
25
Politechnika Warszawska, IMiIB, ZIB
25
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Symulacja
Symulacja poprawności projektu może być sprawdzana na wielu
etapach:
●
●
Symulacja .........................................:
●
na poziomie opisu RTL (RTL functional simulation),
●
Po pełnej syntezie (post-synthesis functional simulation),
Symulacja ....................................... (gate-level timing simulation):
●
Umożliwia wykrycie hazardu,
●
Nie umożliwia wykrycia stanów metastabilnych.
26
Politechnika Warszawska, IMiIB, ZIB
26
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Symulacja
Z reguły stosuje się symulację:
●
●
Funkcjonalną na poziomie opisu RTL:
●
Najkrótszy czas kompilacji (analiza i wstępna synteza do RTL),
●
Umożliwia sprawdzenie jedynie poprawności funkcjonalnej projektu,
Strukturalną (gate-level timing simulation):
●
Wymaga najdłuższego czasu kompilacji (wszystkie etapy),
●
Umożliwia sprawdzenie poprawności funkcjonalnej i implementacji projektu.
27
Politechnika Warszawska, IMiIB, ZIB
27
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Inne analizy
Oprogramowanie EDA umożliwia zazwyczaj również inne niż czasowe
analizy projektu np.:
●
Analizę jakości sygnałów we/wy (Signal Integrity Analysis),
●
Analizę poboru i strat mocy w układzie (Power Estimation and Analysis),
●
Inne,
28
Politechnika Warszawska, IMiIB, ZIB
28
Warszawa, 2011
Logiczne Układy Programowalne cz.2
ETAPY PROJEKTU EDA
Programowanie
Na podstawie danych wyjściowych procesu dopasowywania (fitter) tworzony jest w
procesie ............................... plik zawierający „obraz” implementacji projektu w danym
układzie scalonym.
Do konfigurowania układów PLD (programowania) najczęściej wykorzystywany jest
interfejs JTAG.
29
Politechnika Warszawska, IMiIB, ZIB
29
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE
Defekty w Układach Cyfr. - Przyczyny
●
●
●
Efekty niestarannego montażu – zwarcia lub
przerwy,
Efekty uszkodzeń mechanicznych (upadek,
wibracje),
Efekty uszkodzeń termicznych,
30
Politechnika Warszawska, IMiIB, ZIB
30
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE
Defekty w Układach Cyfr. - Podział
Częstość występowania poszczególnych
typów defektów w układach cyfrowych w %.
1
●
Statyczne,
●
Dynamiczne,
●
50
49
Przypadkowe,
Statyczne
Dynamiczne
Przypadkowe
31
Politechnika Warszawska, IMiIB, ZIB
31
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
….......................... – projektu polega na sprawdzeniu poprawności jego przygotowania.
Testowanie polega na sprawdzeniu poprawność ….................... danego projektu w dany
układzie cyfrowym.
32
Politechnika Warszawska, IMiIB, ZIB
32
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
Testowanie
….................
…..................
W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.
33
Politechnika Warszawska, IMiIB, ZIB
33
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa
Testowanie układu za pomocą ............................ polega na zapisie pobudzeń i odczycie
odpowiedzi na te pobudzenia ze specjalnych umieszczonych w układzie elementów
testujących BSC (Boundary Scan Cell).
D1
D0
BSC3
BSC2
D
Q
C
BSC4
Q1
BSC5
Q0
●
CLR
CLK
BSC1
D
CLR
BSC0
●
Q
C
●
CLR
TMS
TDI
●
Kontroler
TAP
TCK
TDO
●
TAP – (Test Access Port) - kontroler
elementów BSC,
TMS – (Test Mode Select) – wejście
sterujące pracą automatu TAP,
TDI – (Test Data Input) – szeregowe
wejście danych,
TDO – (Test Data Output) – szeregowe
wyjście danych,
TCK – (Test Clock Input) – wejście sygnału
taktującego pracę automatu TAP,
34
Fizyczne wyprowadzenia układu scalonego
Politechnika Warszawska, IMiIB, ZIB
34
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – el. BSC
RC – Register Capture
MC – Multiplexer Capture
Wyjście
SDO
RU
MODE
RC
CLOCK
Q
C
C
SHIFT
D
Q
MU
D
Wejście
SDI
UPDATE
MC
Wejście
standardowe
Wyjście
standardowe
MU – Multiplexer Update
Sygnały sterujące kontrolera TAP
RU – Register Update
Kolejne elementy BSC połączone są za pomocą linii
SDI (Serial Data Input) i SDO (Serial Data Output).
35
Politechnika Warszawska, IMiIB, ZIB
35
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – JTAG
Najpopularniejszym interfejsem wykorzystywanym do testowania i konfiguracji
układów PLD jest interfejs ........... .
Interfejs JTAG opisany jest standardem IEEE 1149.1 Standard Test Access Port and
Boundary-Scan Architecture.
●
IR – (Instruction Register) – Rejestr
Instrukcji sterujący pracą rejestru danych
Sygnały: UpdateIR, ShiftIR, ClockIR
DR,
TDI
Kontroler
TAP
●
IR
TRTS
DR – (Data Register) – Blok rejestrów
danych zawierający min.:
●
MTDO
TMS
TCLK
Interfejs
JTAG
TDO
●
DR
●
Sygnały: UpdateDR, ShiftDR, ClockDR
TRTS – (Test Reset) – umożliwia asynch. Reset układu
TAP, wejście to jest opcjonalne.
Politechnika Warszawska, IMiIB, ZIB
●
Rejestry elementów BSC,
Rejestr obejścia – umożliwiający
ominięcie danego układu w ścieżce
testującej,
Rejestr identyfikacji
Rejestry programujące (ISP – Insystem Programmability Register) i
konfigurujące (ICR – In-system 36
Reconfigurability Register),
36
Warszawa, 2011
Logiczne Układy Programowalne cz.2
TESTOWANIE UKŁADÓW CYFROWYCH
Ścieżka krawędziowa – JTAG
Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.
PLD 1
PLD 2
PLD 3
TDI
TDO
TDI
TDO
TDI
TDO
TMS
TCK
TMS
TCK
TMS
TCK
Złącze
inter. JTAG
np.: komputer
Politechnika Warszawska, IMiIB, ZIB
37
37
Warszawa, 2011
Logiczne Układy Programowalne cz.2
Następne zajęcia
●
Test – zakres wykładu,
●
Zajęcia lab.
38
Politechnika Warszawska, IMiIB, ZIB
38