Politechnika Warszawska - zib.mchtr.pw.edu.plzib.mchtr.pw.edu.pl/downloads/Przedmioty/LUP/LUP_wyk_2_stud.pdf · Politechnika Warszawska Warszawa, 2011 dr inż. Jakub Żmigrodzki E-mail:
Post on 28-Feb-2019
214 Views
Preview:
Transcript
Instytut Metrologii i Inżynierii Biomedycznej
Politechnika Warszawska
Warszawa, 2011
dr inż. Jakub ŻmigrodzkiE-mail: j.zmigrodzki@mchtr.pw.edu.pl
ul. Św. Andrzeja Boboli 8, 02-525 Warszawa
Logiczne Układy ProgramowalneWykład II
Układy PLD - wprowadzenie
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
3
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.
4
UKŁADY PLDPodział
1. ...... (Simple Programmable Logic Devices),
2. ...... (Complex Programmable Logic Devices),
3. ...... (Field Programmable Gate Array),
4. ...... (Field Programmable Object Array),
5
UKŁADY PLDProducenci
● Xilinx,● Altera,● Lattice Semiconductor,● Actel,● SiliconBlue Technologies,● Achronix,● Tabula,
~80% całego rynku.
6
UKŁADY PLDSPLD
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).
7
UKŁADY PLDCPLD
● 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 ,
PIA
MK1m
MKnm
MK11
MKn1
MK1m
MKnm
MK11
MKn1
BIO
BIO
LAB B
LAB D
I/O
I/O
I/O
I/O
MK1m
MKnm
MK11
MKn1
LAB A
MK1m
MKnm
MK11
MKn1
LAB C
BIO
I/O
I/O
BIO
I/O
I/O
8
UKŁADY PLDCPLD - makrokomórka
D Q
C
EN
S
R
PM
FL
Sygnały globalne (GCLR, GCLK, GEN)
n
z/do
PIA
RB
CS
CES
DS
z/do BIO
● PMFL – Programowalna Matryca Funkcji Logicznych ,● DS – Data Select ,● CES – Clock and Enable Select ,● CS – Clear Select,● RB – Register Bypass,
9
UKŁADY PLDFPGA
● 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,
10
UKŁADY PLDFPGA – MTI
DSP
DSP
EMB
EMB
MTI
LAB
LE
MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych
11
UKŁADY PLDFPGA – LE
Wyjście do globalnej magistrali połączeń
LUT
D Q
C
EN
S
R
Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN)
n
Wej
ścia
dan
ych
Z re
guły
3-5
.
RB1
CS
SRS
DS
RB2
Sygnał przeniesienia z poprzedniego LE
Sygnał przeniesienia do następnego LE Wyjście do lokalnej
magistrali połączeńdanego bloku LAB
Konfigurowalny przerzutnik:D, JK, SR, T
● LUT – Look Up Table,● DS – Data Select,● SRS – Set/Reset Select,● CS – Clock Select,● RB – Register Bypass,
12
UKŁADY PLDFPOA
● ALU – Arithmetic–Logic Unit -jednostka arytmetyczno-logiczna,
● MAC – Multiple–Accumulator – jednostka mnożąco-sumują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.
13
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
CPLD(MAX V)
FPGA
Klasa„low-cost”
(Cyclene IV)
Klasa„middlerange”
(Arria II)
Klasa„high-end”(Stratix IV)
Wydajność -fmax sygnału zegarowego
[MHz]100 - 250 265 - 500 280 - 700 450 - 800
Zasoby logiczne
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
Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera stan na 03.2011.
14
min max0,1
1
10
100
1000
10000
100000
Koszt
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
Cen
a [U
SD
]
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
min max0
100200300400500600700800
Wydajność
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
Fmax
[MH
z]
min max1
10
100
1000
10000
100000
1000000
Zasoby logiczne
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
LIcz
ba b
lokó
w ty
pu L
E
15
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
min max0
50000
100000
150000
200000
250000
Wsp. dobroci
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
D [(
MH
z L.L
E)/U
SD]
CPLD FPGA
ZaletyProgramowalne w sposób
nieulotny….....................................................................................................................................................................................
Cena Zawierają specyficzne bloki cyfrowe.
Wady ….................................................................................. Z reguły programowane w sposób ulotny.
16
Porównanie cech FPGA i DSP
DSP – Digital Signal Processor – procesor sygnałowy.
DSP FPGA
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.
25 - 2400 270 - 11000
Cena [USD] 10 -330 10 - 10000
Wydajność/Cena 2,5 – 7,3 27 – 1,1
Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych
TAK NIE
Elastyczność Softwarowa Softwarowa i Hardwarowa
Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp 04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]
17
UKŁADY SPECJALIZOWANEASIC – 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 …..........................................
18
PROJEKTOWANIEUkł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 ...................,
19
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.
20
Środowiska projektoweEDA
Ś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),
…...
......
......
... p
roje
ktu
…...
......
......
... p
roje
ktu
21
ETAPY PROJEKTU EDAWprowadzenie 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),
22
ETAPY PROJEKTU EDAAnaliza i Synteza
Proces ............................................ polega na transformację opisu projektu do opisu na poziomie przesłań rejestrowych (RTL – Register Transfer Level).
Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.
Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi elementami.
23
ETAPY PROJEKTU EDAOptymalizacja
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.
24
ETAPY PROJEKTU EDADopasowywanie
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.
25
ETAPY PROJEKTU EDAAnaliza czasowa
Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek sygnałowych wchodzących w skład danego projektu.
26
ETAPY PROJEKTU EDASymulacja
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.
27
ETAPY PROJEKTU EDASymulacja
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.
28
ETAPY PROJEKTU EDAInne 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,
29
ETAPY PROJEKTU EDAProgramowanie
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.
30
TESTOWANIEDefekty w Układach Cyfr. - Przyczyny
● Efekty niestarannego montażu – zwarcia lub przerwy,
● Efekty uszkodzeń mechanicznych (upadek, wibracje),
● Efekty uszkodzeń termicznych,
31
TESTOWANIEDefekty w Układach Cyfr. - Podział
● Statyczne,● Dynamiczne,● Przypadkowe,
50 49
1
Częstość występowania poszczególnych typów defektów w układach cyfrowych w %.
Statyczne Dynamiczne Przypadkowe
32
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.
33
TESTOWANIE UKŁADÓW CYFROWYCH
Testowanie
…................. …..................
W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.
34
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).
D Q
C
CLR
KontrolerTAP
BSC3
BSC2
BSC1
BSC0
BSC4
BSC5
D Q
C
CLR
D1
D0
CLK
CLR
TMSTDI
TCKTDO
Q1
Q0
Fizyczne wyprowadzenia układu scalonego
● 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,
35
TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – el. BSC
D Q
C
MC D Q
C
MU
Wejściestandardowe
WejścieSDI
SH
IFT
CLO
CK
UP
DAT
E
MO
DE
Sygnały sterujące kontrolera TAP
WyjścieSDO
Wyjściestandardowe
RC RU
Kolejne elementy BSC połączone są za pomocą linii SDI (Serial Data Input) i SDO (Serial Data Output).
RU – Register Update
MC – Multiplexer Capture RC – Register Capture
MU – Multiplexer Update
36
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 DR,
● DR – (Data Register) – Blok rejestrów danych zawierający min.:● 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 – In-
system Programmability Register) i konfigurujące (ICR – In-system Reconfigurability Register),
KontrolerTAP
IR
DR
MTD
O
Sygnały: UpdateDR, ShiftDR, ClockDR
Sygnały: UpdateIR, ShiftIR, ClockIR
TMSTCLKTRTS
TDO
TDI InterfejsJTAG
TRTS – (Test Reset) – umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne.
37
TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG
Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.
TDI TDO
TMS TCK
TDI TDO
TMS TCK
TDI TDO
TMS TCK
Złączeinter. JTAG
np.: komputer
PLD 1 PLD 2 PLD 3
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 1
Instytut Metrologii i Inżynierii Biomedycznej
Politechnika Warszawska
Warszawa, 2011
dr inż. Jakub ŻmigrodzkiE-mail: j.zmigrodzki@mchtr.pw.edu.pl
ul. Św. Andrzeja Boboli 8, 02-525 Warszawa
Logiczne Układy ProgramowalneWykład II
Układy PLD - wprowadzenie
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 2
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
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 3
3
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 4
4
UKŁADY PLDPodział
1. ...... (Simple Programmable Logic Devices),
2. ...... (Complex Programmable Logic Devices),
3. ...... (Field Programmable Gate Array),
4. ...... (Field Programmable Object Array),
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 5
5
UKŁADY PLDProducenci
● Xilinx,● Altera,● Lattice Semiconductor,● Actel,● SiliconBlue Technologies,● Achronix,● Tabula,
~80% całego rynku.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 6
6
UKŁADY PLDSPLD
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).
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 7
7
UKŁADY PLDCPLD
● 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 ,
PIA
MK1m
MKnm
MK11
MKn1
MK1m
MKnm
MK11
MKn1
BIO
BIO
LAB B
LAB D
I/O
I/O
I/O
I/O
MK1m
MKnm
MK11
MKn1
LAB A
MK1m
MKnm
MK11
MKn1
LAB C
BIO
I/O
I/O
BIO
I/O
I/O
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 8
8
UKŁADY PLDCPLD - makrokomórka
D Q
C
EN
S
R
PM
FL
Sygnały globalne (GCLR, GCLK, GEN)
nz/
do P
IA
RB
CS
CES
DS
z/do BIO
● PMFL – Programowalna Matryca Funkcji Logicznych ,● DS – Data Select ,● CES – Clock and Enable Select ,● CS – Clear Select,● RB – Register Bypass,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 9
9
UKŁADY PLDFPGA
● 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,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 10
10
UKŁADY PLDFPGA – MTI
DSP
DSP
EMB
EMB
MTI
LAB
LE
MTI (MultiTrack Interconnect) - magistrale połączeń międzyblokowych
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 11
11
UKŁADY PLDFPGA – LE
Wyjście do globalnej magistrali połączeń
LUT
D Q
C
EN
S
R
Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN)
n
Wej
ścia
dan
ych
Z re
guły
3-5
.
RB1
CS
SRS
DS
RB2
Sygnał przeniesienia z poprzedniego LE
Sygnał przeniesienia do następnego LE Wyjście do lokalnej
magistrali połączeńdanego bloku LAB
Konfigurowalny przerzutnik:D, JK, SR, T
● LUT – Look Up Table,● DS – Data Select,● SRS – Set/Reset Select,● CS – Clock Select,● RB – Register Bypass,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 12
12
UKŁADY PLDFPOA
● ALU – Arithmetic–Logic Unit -jednostka arytmetyczno-logiczna,
● MAC – Multiple–Accumulator – jednostka mnożąco-sumują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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 13
13
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
CPLD(MAX V)
FPGAKlasa
„low-cost”(Cyclene IV)
Klasa„middlerange”
(Arria II)
Klasa„high-end”(Stratix IV)
Wydajność -fmax sygnału zegarowego
[MHz]100 - 250 265 - 500 280 - 700 450 - 800
Zasoby logiczne
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
Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera stan na 03.2011.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 14
14
min max0,1
1
10
100
1000
10000
100000
Koszt
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
Cen
a [U
SD
]
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
min max0
100200300400500600700800
Wydajność
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
Fmax
[MH
z]
min max1
10
100
1000
10000
100000
1000000
Zasoby logiczne
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
LIcz
ba b
lokó
w ty
pu L
E
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 15
15
PORÓWNANIE CECH „TYPOWYCH” UKŁADÓW PLD
min max0
50000
100000
150000
200000
250000
Wsp. dobroci
CPLD (MAX V) Klasa „low-cost” (Cyclene IV)Klasa „middlerange” (Arria II) Klasa „high-end” (Stratix IV)
D [(
MH
z L.L
E)/U
SD]
CPLD FPGA
ZaletyProgramowalne w sposób
nieulotny….....................................................................................................................................................................................
Cena Zawierają specyficzne bloki cyfrowe.
Wady ….................................................................................. Z reguły programowane w sposób ulotny.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 16
16
Porównanie cech FPGA i DSP
DSP – Digital Signal Processor – procesor sygnałowy.
DSP FPGA
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.
25 - 2400 270 - 11000
Cena [USD] 10 -330 10 - 10000
Wydajność/Cena 2,5 – 7,3 27 – 1,1
Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych
TAK NIE
Elastyczność Softwarowa Softwarowa i Hardwarowa
Dane pochodzą z artykułu: Michałowski, G.: DSP czy FPGA?, ElektronikaB2B [online], 2008, [dostęp 04.03.2011], Dostępny w Internecie: http://elektronikab2b.pl/technika/3492-dsp-czy-fpga]
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 17
17
UKŁADY SPECJALIZOWANEASIC – 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 …..........................................
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 18
18
PROJEKTOWANIEUkł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 ...................,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 19
19
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 20
20
Środowiska projektoweEDA
Ś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),
…...
......
......
... p
roje
ktu
…...
......
......
... p
roje
ktu
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 21
21
ETAPY PROJEKTU EDAWprowadzenie 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),
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 22
22
ETAPY PROJEKTU EDAAnaliza i Synteza
Proces ............................................ polega na transformację opisu projektu do opisu na poziomie przesłań rejestrowych (RTL – Register Transfer Level).
Proces ................... polega na sprawdzeniu poprawności stworzonego opisu projektu.
Po przeprowadzeniu syntezy, ale przed optymalizacją tworzona jest tzw. ................................., która zawiera spis połączeń pomiędzy poszczególnymi elementami.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 23
23
ETAPY PROJEKTU EDAOptymalizacja
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 24
24
ETAPY PROJEKTU EDADopasowywanie
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 25
25
ETAPY PROJEKTU EDAAnaliza czasowa
Analiza czasowa (Timing Analysis) pozwala na określenie.................................. ścieżek sygnałowych wchodzących w skład danego projektu.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 26
26
ETAPY PROJEKTU EDASymulacja
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 27
27
ETAPY PROJEKTU EDASymulacja
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 28
28
ETAPY PROJEKTU EDAInne 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,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 29
29
ETAPY PROJEKTU EDAProgramowanie
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 30
30
TESTOWANIEDefekty w Układach Cyfr. - Przyczyny
● Efekty niestarannego montażu – zwarcia lub przerwy,
● Efekty uszkodzeń mechanicznych (upadek, wibracje),
● Efekty uszkodzeń termicznych,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 31
31
TESTOWANIEDefekty w Układach Cyfr. - Podział
● Statyczne,● Dynamiczne,● Przypadkowe,
50 49
1
Częstość występowania poszczególnych typów defektów w układach cyfrowych w %.
Statyczne Dynamiczne Przypadkowe
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 32
32
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.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 33
33
TESTOWANIE UKŁADÓW CYFROWYCH
Testowanie
…................. …..................
W przypadku układów PLD testowanie umożliwia wykrycie jedynie błędów statycznych.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 34
34
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).
D Q
C
CLR
KontrolerTAP
BSC3
BSC2
BSC1
BSC0
BSC4
BSC5
D Q
C
CLR
D1
D0
CLK
CLR
TMSTDI
TCKTDO
Q1
Q0
Fizyczne wyprowadzenia układu scalonego
● 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,
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 35
35
TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – el. BSC
D Q
CM
C D Q
C
MU
Wejściestandardowe
WejścieSDI
SH
IFT
CLO
CK
UP
DAT
E
MO
DE
Sygnały sterujące kontrolera TAP
WyjścieSDO
Wyjściestandardowe
RC RU
Kolejne elementy BSC połączone są za pomocą linii SDI (Serial Data Input) i SDO (Serial Data Output).
RU – Register Update
MC – Multiplexer Capture RC – Register Capture
MU – Multiplexer Update
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 36
36
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 DR,
● DR – (Data Register) – Blok rejestrów danych zawierający min.:● 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 – In-
system Programmability Register) i konfigurujące (ICR – In-system Reconfigurability Register),
KontrolerTAP
IR
DR
MTD
O
Sygnały: UpdateDR, ShiftDR, ClockDR
Sygnały: UpdateIR, ShiftIR, ClockIR
TMSTCLKTRTS
TDO
TDI InterfejsJTAG
TRTS – (Test Reset) – umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne.
Logiczne Układy Programowalne cz.2 Warszawa, 2011
Politechnika Warszawska, IMiIB, ZIB 37
37
TESTOWANIE UKŁADÓW CYFROWYCHŚcieżka krawędziowa – JTAG
Interfejs JTAG umożliwia jednoczenie programowanie/testowanie wielu układów scalonych.
TDI TDO
TMS TCK
TDI TDO
TMS TCK
TDI TDO
TMS TCK
Złączeinter. JTAG
np.: komputer
PLD 1 PLD 2 PLD 3
top related