Politechnika Warszawska

Podobne dokumenty
Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Układy programowalne. Wykład z ptc część 5

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

Układy programowalne. Wykład z ptc część 5

Język opisu sprzętu VHDL

Elektronika i techniki mikroprocesorowe

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

Systemy wbudowane. Układy programowalne

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Systemy na Chipie. Robert Czerwiński

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Układy reprogramowalne i SoC Implementacja w układach FPGA

Magistrala JTAG (metoda testowania / programowania)

ZL19PRG. Programator USB dla układów PLD firmy Altera

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Projektowanie układów FPGA. Żródło*6+.

PSM niebanalne Flashe

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Katedra Mikroelektroniki i Technik Informatycznych

Elementy cyfrowe i układy logiczne

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Współczesne techniki informacyjne

ZL10PLD. Moduł dippld z układem XC3S200

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Krótkie wprowadzenie do ModelSim i Quartus2

Opis przedmiotu zamówienia CZĘŚĆ 1

Opis przedmiotu zamówienia

Układy FPGA w przykładach, część 2

Quartus. Rafał Walkowiak IIn PP Wer

Opisy efektów kształcenia dla modułu

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

MIKROELEKTRONIKA [gr.], dział. elektroniki zajmujący się działaniem, konstrukcją Fifth i technologią Level układów scalonych.

Technika Cyfrowa i Mikroprocesory

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Układy programowalne

To nie huragan, to Cyclone II!

ZL11PRG v.2. Uniwersalny programator ISP. Odpowiednik: Byte Blaster II DLC5 Programmer AT89ISP STK-200 Lattice ISP ARM Wiggler

Cyfrowe układy scalone

Sterowniki Programowalne (SP)

Komputerowe systemy wspomagania projektowania układów cyfrowych

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Cyfrowe układy scalone

Bezpieczeństwo informacji oparte o kryptografię kwantową

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

PROGRAMOWALNE STEROWNIKI LOGICZNE

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Ukªady Kombinacyjne - cz ± I

Zwiększanie wiarygodności systemów wykorzystujących układy programowalne

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Bezpieczeństwo informacji oparte o kryptografię kwantową

Analiza i Synteza Układów Cyfrowych

5. PROGRAMOWALNE UKŁADY LOGICZNE

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Opisy efektów kształcenia dla modułu

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Technika Mikroprocesorowa

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Projektowanie z użyciem procesora programowego Nios II

Metody testowania Magistrala JTAG

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Programowalne układy logiczne

Automatyczne testowanie w układach FPGA

Programowalne Układy Cyfrowe Laboratorium

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1

Opracował: Jan Front

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Wykład 4 Projektowanie cyfrowych układów elektronicznych. Łukasz Kirchner

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

MIKROKONTROLERY I MIKROPROCESORY

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc

PRZEWODNIK PO PRZEDMIOCIE

Sposoby projektowania systemów w cyfrowych

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych

Rok akademicki: 2030/2031 Kod: EIT s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

WPROWADZENIE Mikrosterownik mikrokontrolery

Projekt prostego procesora

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Szkolenia specjalistyczne

Wygląd okna aplikacji Project Navigator.

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Wykład Mikroprocesory i kontrolery

Transkrypt:

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: j.zmigrodzki@mchtr.pw.edu.pl 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, Altera, ~80% całego rynku. 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 I/O BIO MK 11 LAB A MK 1m MK 11 LAB B MK 1m BIO I/O I/O MK n1 MK nm MK n1 MK nm I/O PIA I/O BIO MK 11 MK 1m MK 11 MK 1m BIO I/O I/O MK n1 MK nm MK n1 MK nm I/O LAB C 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 z/do BIO Sygnały globalne (GCLR, GCLK, GEN) n DS D S Q RB C z/do PIA PMFL 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 LUT Look Up Table, DS Data Select, Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN) Sygnał przeniesienia z poprzedniego LE n SRS Set/Reset Select, CS Clock Select, RB Register Bypass, Wejścia danych Z reguły 3-5. LUT DS D S Q RB1 Wyjście do globalnej magistrali połączeń C Sygnał przeniesienia do następnego LE SRS EN R RB2 Wyjście do lokalnej magistrali połączeń danego bloku LAB CS 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 Wydajność - f max sygnału zegarowego [MHz] Zasoby logiczne Liczba bloków LE (ekwiwalent) CPLD (MAX V) Klasa low-cost (Cyclene IV) FPGA Klasa middlerange (Arria II) Klasa high-end (Stratix IV) 100-250 265-500 280-700 450-800 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=(f max 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. 13

PORÓWNANIE CECH TYPOWYCH UKŁADÓW PLD Wydajność Zasoby logiczne 800 1000000 Fmax [MHz] 700 600 500 400 300 200 100 LIczba bloków typu LE 100000 10000 1000 100 10 0 min max 1 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) Koszt CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) 100000 10000 Cena [USD] 1000 100 10 1 0,1 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) 14

PORÓWNANIE CECH TYPOWYCH UKŁADÓW PLD Wsp. dobroci 250000 D [(MHz L.LE)/USD] 200000 150000 100000 50000 0 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) Zalety Wady CPLD Programowalne w sposób nieulotny Cena...... FPGA...... 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 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. Cena [USD] Wydajność/Cena 25-2400 270-11000 10-330 10-10000 2,5 7,3 27 1,1 Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych Elastyczność TAK Softwarowa NIE Softwarowa i Hardwarowa 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

Środowiska projektowe EDA... projektu... projektu Ś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, Przypadkowe, 50 49 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 D0 CLK CLR TMS TDI BSC 3 BSC 2 BSC 1 BSC 0 D C D CLR C CLR Q Q Kontroler TAP BSC 4 BSC 5 Q1 Q0 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, Fizyczne wyprowadzenia układu scalonego 34

TESTOWANIE UKŁADÓW CYFROWYCH Ścieżka krawędziowa el. BSC MC Multiplexer Capture Wejście standardowe RC Register Capture Wyjście SDO Wejście SDI SHIFT MC CLOCK D C RC Q UPDATE D C RU Q MU MODE 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 TMS TCLK TRTS Kontroler TAP Sygnały: UpdateDR, ShiftDR, ClockDR IR DR Interfejs JTAG TRTS (Test Reset) umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne. MTDO TDO 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 Insystem Programmability Register) i konfigurujące (ICR In-system Reconfigurability Register), 36

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: j.zmigrodzki@mchtr.pw.edu.pl Warszawa, 2011 Politechnika Warszawska, IMiIB, ZIB 1

Logiczne Układy Programowalne cz.2 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 Politechnika Warszawska, IMiIB, ZIB 2

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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 Politechnika Warszawska, IMiIB, ZIB 3

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 UKŁADY PLD Producenci Xilinx, Altera, ~80% całego rynku. Lattice Semiconductor, Actel, SiliconBlue Technologies, Achronix, Tabula, 5 Politechnika Warszawska, IMiIB, ZIB 5

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 UKŁADY PLD CPLD I/O BIO MK 11 LAB A MK 1m MK 11 LAB B MK 1m BIO I/O I/O MK n1 MK nm MK n1 MK nm I/O PIA I/O BIO MK 11 MK 1m MK 11 MK 1m BIO I/O I/O MK n1 LAB C MK nm MK n1 LAB D MK nm I/O 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 Politechnika Warszawska, IMiIB, ZIB 7

z/do BIO Logiczne Układy Programowalne cz.2 Warszawa, 2011 UKŁADY PLD CPLD - makrokomórka Sygnały globalne (GCLR, GCLK, GEN) n DS S D Q RB C z/do PIA PMFL CES EN R CS PMFL Programowalna Matryca Funkcji Logicznych, DS Data Select, CES Clock and Enable Select, CS Clear Select, RB Register Bypass, 8 Politechnika Warszawska, IMiIB, ZIB 8

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 UKŁADY PLD FPGA LE LUT Look Up Table, DS Data Select, Sygnały globalne danego bloku LAB (GCLR, GCLK, GEN) Sygnał przeniesienia z poprzedniego LE n SRS Set/Reset Select, CS Clock Select, RB Register Bypass, Wejścia danych Z reguły 3-5. LUT DS S D Q RB1 Wyjście do globalnej magistrali połączeń C Sygnał przeniesienia do następnego LE SRS EN R RB2 Wyjście do lokalnej magistrali połączeń danego bloku LAB CS Konfigurowalny przerzutnik: D, JK, SR, T 11 Politechnika Warszawska, IMiIB, ZIB 11

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 PORÓWNANIE CECH TYPOWYCH UKŁADÓW PLD Wydajność - f max sygnału zegarowego [MHz] Zasoby logiczne Liczba bloków LE (ekwiwalent) CPLD (MAX V) Klasa low-cost (Cyclene IV) FPGA Klasa middlerange (Arria II) Klasa high-end (Stratix IV) 100-250 265-500 280-700 450-800 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=(f max LE)/koszt 4400-46000 213000-237000 32000-70000 41000-24000 Dane pochodzą z informacji zawartych w katalogach i notach aplikacyjnych firmy Altera 13 stan na 03.2011. Politechnika Warszawska, IMiIB, ZIB 13

Logiczne Układy Programowalne cz.2 Warszawa, 2011 PORÓWNANIE CECH TYPOWYCH UKŁADÓW PLD Wydajność Zasoby logiczne 800 1000000 Fmax [MHz] 700 600 500 400 300 200 100 0 min max LIczba bloków typu LE 100000 10000 1000 100 10 1 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) Koszt CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) 100000 10000 Cena [USD] 1000 100 10 1 0,1 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) 14 Politechnika Warszawska, IMiIB, ZIB 14

Logiczne Układy Programowalne cz.2 Warszawa, 2011 PORÓWNANIE CECH TYPOWYCH UKŁADÓW PLD Wsp. dobroci 250000 D [(MHz L.LE)/USD] 200000 150000 100000 50000 0 min max CPLD (MAX V) Klasa middlerange (Arria II) Klasa low-cost (Cyclene IV) Klasa high-end (Stratix IV) Zalety Wady CPLD Programowalne w sposób nieulotny Cena...... FPGA...... Zawierają specyficzne bloki cyfrowe. Z reguły programowane w sposób ulotny. 15 Politechnika Warszawska, IMiIB, ZIB 15

Logiczne Układy Programowalne cz.2 Warszawa, 2011 Porównanie cech FPGA i DSP DSP Digital Signal Processor procesor sygnałowy. 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. Cena [USD] Wydajność/Cena Specyficznie makrobloki cyfrowe np. sterowniki TCP/IP, USB, graficzne, magistrali danych Elastyczność DSP FPGA 25-2400 270-11000 10-330 10-10000 2,5 7,3 27 1,1 TAK Softwarowa NIE Softwarowa i Hardwarowa 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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 Politechnika Warszawska, IMiIB, ZIB 18

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 Środowiska projektowe EDA... projektu... projektu Ś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 Politechnika Warszawska, IMiIB, ZIB 20

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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, Przypadkowe, 50 49 Statyczne Dynamiczne Przypadkowe 31 Politechnika Warszawska, IMiIB, ZIB 31

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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 CLK CLR TMS TDI BSC 3 BSC 2 BSC 1 BSC 0 D C D CLR C CLR Q Q Kontroler TAP BSC 4 BSC 5 Fizyczne wyprowadzenia układu scalonego Q1 Q0 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 TCK (Test Clock Input) wejście sygnału taktującego pracę automatu TAP, 34 Politechnika Warszawska, IMiIB, ZIB 34

Logiczne Układy Programowalne cz.2 Warszawa, 2011 TESTOWANIE UKŁADÓW CYFROWYCH Ścieżka krawędziowa el. BSC MC Multiplexer Capture Wejście standardowe RC Register Capture Wyjście SDO Wejście SDI SHIFT MC CLOCK D Q C RC UPDATE D Q C RU MU MODE 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

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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 TMS TCLK TRTS Kontroler TAP Sygnały: UpdateDR, ShiftDR, ClockDR IR DR Interfejs JTAG TRTS (Test Reset) umożliwia asynch. Reset układu TAP, wejście to jest opcjonalne. MTDO TDO 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 Insystem Programmability Register) i konfigurujące (ICR In-system 36 Reconfigurability Register), Politechnika Warszawska, IMiIB, ZIB 36

Logiczne Układy Programowalne cz.2 Warszawa, 2011 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 Politechnika Warszawska, IMiIB, ZIB 37

Logiczne Układy Programowalne cz.2 Warszawa, 2011 Następne zajęcia Test zakres wykładu, Zajęcia lab. 38 Politechnika Warszawska, IMiIB, ZIB 38