Programowanie Układów Logicznych kod kursu: ETD6203. Specjalizowane architektury do obliczeń DSP

Podobne dokumenty
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Pracownia Komputerowa wykład VI

Przykładowe pytania DSP 1

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Arytmetyka binarna - wykład 6

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Współczesne techniki informacyjne

Technologie Informacyjne

Naturalny kod binarny (NKB)

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

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

Arytmetyka stało i zmiennoprzecinkowa

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Teoretyczne Podstawy Informatyki

Stan wysoki (H) i stan niski (L)

Szybkie układy mnożące

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Podstawy Informatyki

Pracownia Komputerowa wyk ad VI

Szybkie układy mnożące

Wprowadzenie do metod numerycznych. Krzysztof Patan

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Układy kombinacyjne 1

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Metoda znak-moduł (ZM)

Architektura mikroprocesorów TEO 2009/2010

Technika cyfrowa Układy arytmetyczne

Zapis liczb binarnych ze znakiem

System mikroprocesorowy i peryferia. Dariusz Chaberski

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Systemy zapisu liczb.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Architektura mikroprocesorów z rdzeniem ColdFire

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Architektura typu Single-Cycle

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka liczb binarnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Teoria przetwarzania A/C i C/A.

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Budowa komputera Komputer computer computare

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Kod U2 Opracował: Andrzej Nowak

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

FPGA IMPLEMENTATION OF FAST FOURIER TRANSFORM ALGORITHM IMPLEMENTACJA ALGORYTMU SZYBKIEJ TRANSFORMATY FOURIERA W UKŁADZIE PROGRAMOWALNYM FPGA

Metody optymalizacji soft-procesorów NIOS

LICZBY ZMIENNOPRZECINKOWE

Specyfika projektowania Mariusz Rawski

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Tranzystor JFET i MOSFET zas. działania

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Procesory. Schemat budowy procesora

Architektura komputerów

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Systemy na Chipie. Robert Czerwiński

LEKCJA TEMAT: Współczesne procesory.

Struktura i działanie jednostki centralnej

Podstawy układów mikroelektronicznych

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Pracownia Komputerowa wykład V

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

10.Architekturyspecjalizowane

MIKROKONTROLERY I MIKROPROCESORY

Mikroprocesory rodziny INTEL 80x86

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

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

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Budowa Mikrokomputera

Wstęp do informatyki- wykład 1 Systemy liczbowe

Dokładność obliczeń numerycznych

Projektowanie. Projektowanie mikroprocesorów

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Architektura komputerów Wykład 2

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Architektura komputerów

Wprowadzenie do informatyki - ć wiczenia

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Transkrypt:

Programowanie Układów Logicznych kod kursu: ETD6203 Specjalizowane architektury do obliczeń DSP W10 8.05.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Plan wykładu Cyfrowe przetwarzanie sygnałów - wprowadzenie FPGA a DSP Dedykowane jednostki obliczeniowe w FPGA Mnożenie w układach programowalnych Podsumowanie przykładowe pytania 2

Cyfrowe przetwarzanie sygnału filtracja FIR (SOI) filtracja IIR (NOI) N 1 y(n) = b i x(n i) i=0 N 1 M y(n) = b i x n i + a j y(n j) i=0 j=1 4 transformacja Fouriera (DFT) funkcja korelacji wzajemnej N 1 X(k) = x(i)e j 2π N ik R x,y = 1 N i=0 N 1 i=0 x(i)y(i + m) Charakterystyczne jest to, że wszystkie te obliczenia posiadają postać: N 1 A = x n y n = x 1 y 1 + x 2 y 2 + + x N y N n=0

Podstawowa operacje DSP - MAC - Multiply and Accumulate MAC - podstawowa operacja w cyfrowym przetwarzaniu sygnałów składa się z operacji mnożenia i dodawania, realizowana w procesorach DSP jako jednostka obliczeniowa dane wejściowe algorytm iteracyjny REJESTR Jednostka MAC Sekwencyjna struktura filtru FIR dane wyjściowe 5 Filtr FIR 256 rzędu = 256 operacji mnóż i akumuluj (MAC) na pojedynczą próbkę danych

Reprezentacja liczb Stałoprzecinkowa bez znaku, ze znakiem. Zmiennoprzecinkowa pojedynczej precyzji, podwójnej precyzji, rozszerzonej precyzji. 6

Zapis stałoprzecinkowy Zapis stałoprzecinkowy zakłada określenie ile bitów tworzy część całkowitą liczby, a ile część ułamkową. Przecinek jest zatem umieszczany w stałym dla danego formatu miejscu 1 1010,11001 (2) = 2 3 + 2 1 + 2-1 + 2-2 + 2-5 = 8 + 2 + 1 / 2 + 1 / 4 + 1 / 32 = 10 25 / 32 7 2 1010,11001 (2) waga ostatniej pozycji: W=2-5 = 1 / 32 C=10 (10) U=25 (10) C, U*W

Zapis liczbowy w standardzie IEEE 754 Standard for Binary Floating-Point Arithmetic Zapis zmiennoprzecinkowy (ang. floating point number) zwany jest również notacją wykładniczą. Wartość liczby zmiennoprzecinkowej jest obliczana według wzoru: x = S 1 M B E 8 gdzie: S bit znaku, E wykładnik, eksponent lub cecha, M mantysa, moduł ułamka, B podstawa systemu liczbowego.

Zapis liczbowy w standardzie IEEE 754 Standard for Binary Floating-Point Arithmetic Rozmiar liczby Wykładnik E Moduł ułamka M Nazwa 32 8 23 single 64 11 52 double 128 16 111 extended 9

Zapis zmiennoprzecinkowy - zadanie Załóżmy, że liczba zapisana jest na 8 pozycjach: 4 najstarsze przeznaczone są na zapis cechy w kodzie U2, pozostałe 4 na zapis mantysy w kodzie U2, mantysa jest liczbą stałoprzecinkową z dwoma miejscami po przecinku CECHA MANTYSA b7 b6 b5 b4 b3 b2 b1 b0 Oblicz wartość dziesiętną liczby zmiennoprzecinkowej 11110101 (FP) E = 1111 (U2) = -8+4+2+1 = -1 (10) M = 01,01 (U2) = 1+ ¼ = 5 / 4 x = S 1 M B E 10 x (LP) = 5 / 4 * 2-1 = 5 / 4 * 1 / 2 = 5 / 8 (10)

Arytmetyka stałoprzecinkowa format Q W technice DSP sygnały często opisuje się za pomocą liczb z zakresu <-1,1>. W wyniku operacji mnożenia nigdy nie dojdzie do przepełnienia. Sposób ten oznacza się Q i liczbą, która określa liczbę bitów przeznaczoną na zapis wartości występującej po przecinku. Np. Q15 oznacza, że 1 bit przeznaczony jest na określenie znaku liczby oraz 15 bitów określa wartość po przecinku. W tym formacie nie ma możliwości przedstawienia liczby całkowitej. Przecinek jest zawsze w tym samym miejscu. znak S 1 S 2 S 3 S 4 S Q Dla 8-bitów: liczby z zakresu: od -0,9921875 do +0,9921875 kwant liczbowy: 0,0078125

Procesor DSP logika FPGA Procesor DSP Zrównoleglone przetwarzanie w FPGA 12 Stała nieelastyczna architektura - typowo 1-8 jednostki MAC - stała szerokość danych Przetwarzanie sekwencyjne ogranicza przepustowość - współdzielone w czasie jednostki MAC, - duże częstotliwości taktowania stawiają duże wyzwania projektantom systemów. Możliwość realizacji setek przekształceń MAC w obrębie jednego układu FPGA Przetwarzanie równoległe umożliwia dużą przepustowość

Miary wydajności MIPS - Million Instructions Per Second (Liczba milionów operacji wykonywanych w ciągu sekundy), MMAC - Million Multiply Accumulate Operations Per Second (Liczba milionów operacji typu "pomnóż i dodaj"), MSPS - Mega-Samples Per Second (Liczba milionów próbek na sekundę), 13 Dla układów FPGA nie podaje się wydajności w MIPS. Jej zdefiniowanie dla FPGA jako całości jest niemożliwe, gdyż zależy ściśle od danego projektu. Wydajność MMAC może zostać zwiększona dzięki wykorzystaniu zasobów logicznych oraz rejestrów układu FPGA.

Zapotrzebowanie na wydajność 14 * Source: Jan Rabaey, BWRC

Realizacja FIR - ang. Finite Impulse Response filter FIR filter Filtr cyfrowy FIR (SOI) brak sprzężenia zwrotnego wielokrotne operacja dodawania wielokrotne operacja mnożenia Y (n) = rząd filtru i=n-1 k i X (n-i) i=0 współczynniki filtru opóźnienie współczynnik X (n) k 0 Z -1 k 1 X (n-1) X (n-2) X (n-3) X (n-n) Z -1 Z -1 Z -1 k 2 k 3 k N-1 sumowanie N razy mnożenie mnożenie 15 Y (n) sumowanie

FIR DSP vs FPGA Procesor DSP - praca sekwencyjna FPGA w pełni równoległy algorytm przetwarzania wejście wejście Reg Reg Reg Reg współczynniki wymagane 3960 cykli zegara X + Reg wyjście pojedyncza jednostka MAC C0 X C1 C0 X 3960 operacji w jednym cyklu zegarowym C2 X + wyjście C3 X C3960 X 1.2 GHz 3960 cykli zeg. = 303 KSPS 600 MHz 1 cykl zeg. = 600 MSPS 16

Realizacja operacji MAC równoległa równoległo - szeregowa szeregowa SZYBKOŚĆ ROZMIAR, ZASOBY 17

Rozwiązania wielokanałowe Zrównoleglenie operacji umożliwia sprawną i szybką realizację wielokanałową, W niskoczęstotliwościowych rozwiązaniach wielokanałowych multipleksowane wejście zapewnia oszczędność zasobów i energii 18

Wielozadaniowa rodzina Spartan 3 19 Spartan-3A DSP DSP Optimized For applications where integrated DSP MACs and expanded memory are required Ideal for designs requiring low cost FPGAs for signal processing applications such as military radio, surveillance cameras, medical imaging, etc. Spartan-3AN Non-volatile For applications where non-volatile, system integration, security, large user flash are required Ideal for space-critical or secure applications as well as low cost embedded controllers Spartan-3A I/O Optimized For applications where I/O count and capabilities matter more than logic density Ideal for bridging, differential signaling and memory interfacing applications, requiring wide or multiple interfaces and modest processing Spartan-3E Logic Optimized For applications where logic densities matter more than I/O count Ideal for logic integration, DSP co-processing and embedded control, requiring significant processing and narrow or few interfaces Spartan-3 For Highest Density and Pin-Count Applications For applications where both high logic density and high I/O count are important Ideal for highly-integrated data-processing applications

Zasoby rodziny Xilinx 20 DSP48A DSP48 DSP48E

Zasoby rodziny Xilinx Rosnące zasoby logiczne oraz dedykowane bloki powoduję wzrost wydajności sprzętowej układów FPGA GMAC 10 9 operacji mnożenia i akumulacji 21

Blok DSP w układach Xilinx - DSP48A1 22 Uproszczona budowa modułu DSP48A1: dwu wejściowy blok dodawania 18 x 18 bit mnożnik 36 bitów lub 48 dla reprezentacji znakowej dwu wejściowy blok dodawania po operacji mnożenia dynamiczny tryb pracy możliwość zwiększenia wydajności przetwarzania potokowego

porty wejściowe wyjście Blok DSP w układach Xilinx - DSP48A1, SPARTAN 3A sumowanie mnożenie sumowanie 18 18 18 48 48 48 23

porty wejściowe wyjście Blok DSP w układach Xilinx - DSP48A1, SPARTAN 3A 18 18 18 48 48 48 24 opmode[7:0] rejestr sterujący wyborem operacji arytmetycznych oraz selekcją sygnałów

porty wejściowe wyjście Blok DSP w układach Xilinx - DSP48A1, SPARTAN 3A A C B 18 18 18 48 48 48 A B C 25 Kaskadowe połączenie wielu bloków DSP: BCIN -> BCOUT, PCIN -> PCOUT, CARRYIN -> CARRYOUT

porty wejściowe wyjście Blok DSP w układach Xilinx - OPMODE [7 : 0] bity sterujące bloku DSP 18 18 18 48 48 48 26 opmode[7:0] rejestr sterujący wyborem operacji arytmetycznych oraz selekcją sygnałów http://www.xilinx.com/support/documentation/user_guides/ug431.pdf

Blok DSP w układach Xilinx - OPMODE + lista operacji Pełna lista oferuje 31 operacji arytmetycznych 27

Blok DSP w układach Xilinx - primitive lub CoreGenerator Rejestry wejściowe Wyjścia do połączeń kaskadowych Rejestr sterujący OPMODE Wejścia zerujące Wejście zezwalające na użycie zegara CLK dla rejestrów wejściowych 28

DSP48E1 SLICE 29 Blok DSP48E1 struktura kolumnowa, unikanie opóźnień czasowych, sumowanie, mnożenie, akumulacja jednostka ALU, niezależny dostęp do bloków mnożących, wykrywanie sekwencji, wzorów, operacje logiczne, zaokrąglenie symetryczne, częstotliwość pracy f MAX =638 MHz, zużycie mocy 1,38 mw/100 MHz.

DSP48E1 SLICE - jednostka arytmetyczno logiczna ALU Operacja logiczne OPMODE[3:2] ALUMODE[3:0] X XOR Z 00 0100 X XNOR Z 00 0101 X XNOR Z 00 0110 X XOR Z 00 0111 X AND Z 00 1100 X AND (NOT Z) 00 1101 X NAND Z 00 1110 (NOT X) OR Z 00 1111 X XNOR Z 10 0100 X XOR Z 10 0101 30 ALUMODE Operacje arytmetyczne X XOR Z 10 0110 0000 Z + X + Y + CIN X XNOR Z 10 0111 0001 -Z + (X + Y + CIN) 1 X OR Z 10 1100 0010 -Z X Y CIN 1 X OR (NOT Z) 10 1101 0011 Z (X + Y + CIN) X NOR Z 10 1110 Others Logic Operations (NOT X) AND Z 10 1111 http://www.xilinx.com/support/documentation/user_guides/ug479_7series_dsp48e1.pdf

DSP48E1 SLICE - detektor wzorca Detektor wzorca: detekcja wg. zadanego wzorca, dynamiczne porównanie 2 wejść, detekcja przepełnienia, przeprowadzenie operacji zaokrąglania, 31 http://www.xilinx.com/support/documentation/user_guides/ug193.pdf

DSP48E1 SLICE - SIMD Single Instruction Multiple Data SIMD jednoczesne przetwarzanie wielu strumieni danych istnieje wiele algorytmów, które wymagają takich samych, powtarzalnych operacji na pokaźnych objętościowo danych, 48-bitowy sumator/subtraktor/akumulator może być podzielony do wykonywania operacji na mniejszych segmentach danych 2 x 24 bity lub 4 x 12 bitów 32 http://www.xilinx.com/support/documentation/user_guides/ug479_7series_dsp48e1.pdf

DSP SLICE Xilinx- podsumowanie DSP48 mnożnik 18 x 18, magistrale kaskadowe 48 - bitowy sumator/akumulator DSP48A mnożnik 18 x 18, dodawanie przed mnożeniem, 48 - bitowy sumator/akumulator 33 DSP48E najbardziej zaawansowana architektura, mnożnik 25 x 18, większa precyzja jednostka ALU, detektor wzorca, wsparcie dla SIMD

34 IP Core Generator

Mnożenie w układach programowalnych: operacje dodawania i mnożenia są podstawą algorytmów obliczania wartości innych złożonych funkcji matematycznych oraz przetwarzania sygnałów, pełne mnożenie dwóch argumentów n-bitowych daje rezultat o szerokości 2n bitów, mnożenie realizowane jest w dedykowanych blokach multiplikatorów w trosce o zasoby stosuje się mnożenie rozproszone, w większości przypadków stosuje się mnożenie o skróconej szerokości gdzie dodatkowe n najmłodszych bitów wyniku jest odrzucane: zalety: redukcja zajmowanych zasobów układu FPGA wady: zwiększony błąd obliczeń, błąd obcięcia 35 Kluczem do maksymalizacji wydajności i obniżenia mocy jest korzystanie z dedykowanych zasobów sprzętowych przy realizacji operacji arytmetycznych

Tradycyjne mnożenie Operacja mnożenia jest jedną z podstawowych operacji arytmetycznych i dlatego liczba zasobów sprzętowych zajmowanych przez układy mnożące ma bardzo duże znaczenie. 1 0 0 1 X 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 + 1 0 0 1 1 1 0 0 0 1 1 9 x 11= 99 36

Mnożenie równoległe (o skróconej szerokości) - ang. parallel-array multiplier c k s l-1 & + a i b j c k-1 2 c k +s l = =s l-1 +(a i b j )+c k-1 & a 3 & a 2 & a 1 & a 0 b 0 s l & + & + & + & + b 1 Pominięta część logiki & + & + & + & + b 2 & + & + & + & + b 3 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 37 Układ mnożący równoległy dla n=4, n szerokość bitowa argumentów wej.

Mnożenie w LUT - mnożenie przez stały współczynnik adres LUT dana Przykład funkcji: y = 5*x adres dana 0 0 1 5 2 10 3 15 Dla L bitowego argumentu i K bitowego współczynnika mnożenia wymagana jest pamięć o rozmiarze: (L + K) 2 L 38 16384 komórki dla L=8, K=8

Mnożenie w LUT - mnożenie przez stały współczynnik wejście 8 4 4 Lepszym rozwiązaniem jest zastosowanie kombinacji małych pamięci LUT i układów dodających. LUT B LUT A 12 12 8 sumator 12 16 wyjście 4 Y = 2 4 B A bity 7-4 + B A bity 3-0 Przykład układu mnożącego dla szerokości argumentu L=8 i szerokości współczynnika mnożącego K=8 39

Literatura uzupełniająca http://www.xilinx.com/support/documentation/user_guides/ug431.pdf http://www.xilinx.com/support/documentation/user_guides/ug331.pdf http://www.xilinx.com/support/documentation/user_guides/ug479_7series _DSP48E1.pdf http://www.xilinx.com/support/documentation/user_guides/ug193.pdf http://www.xilinx.com/support/documentation/user_guides/ug579- ultrascale-dsp.pdf http://www.xilinx.com/support/documentation/user_guides/ug479_7series _DSP48E1.pdf http://www.mvd-fpga.com/cores/en/files/publications_08.pdf 40

Przykładowe pytania 1. Operacje stało i zmiennoprzecinkowe 2. Znaczenie bloków DSP 3. Różnice w blokach DSP w układach firmy Xilinx 4. Operacje realizowane przez bloki DSP 5. Mnożenie przez stałą wartość - realizacja 6. Działanie filtru FIR 7. Miary wydajności układów cyfrowych, procesorowych 8. Realizacja mnożenia w układach programowalnych 41