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