praca dyplomowa pod kierunkiem dr in ż. pawła...

25
Praca dyplomowa pod kierunkiem dr inż. Pawla Tomaszewicza Jaroslaw Moskalewicz

Upload: trinhcong

Post on 06-Mar-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • Praca dyplomowa pod kierunkiem dr in. Pawa Tomaszewicza

    Jarosaw Moskalewicz

  • Cel pracyCel pracyCel pracyCel pracyCel pracyCel pracyCel pracyCel pracy

    Zapoznanie si z dostpnymi na rynku ukadami FPGA (Field Programmable Gate Array) zawierajcymi struktury mieszane

    Sprawdzenie korzyci wynikajcych z wykorzystania struktur mieszanych w realizacjach przykadowych filtrw FIR(Finite Impulse Response)

    Jarosaw Moskalewicz 2

  • Jarosaw Moskalewicz 3

    Budowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGABudowa klasycznych ukadw FPGA

    WE

    / W

    Y

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    WE / WY

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    Bloklogiczny

    WE

    / W

    Y

    WE

    / W

    Y

    WE / WY

    Poziome i pionowe trakty poczeniowe

  • Jarosaw Moskalewicz 4

    Przykad struktury mieszanej Przykad struktury mieszanej FPGAFPGA

    BL

    OK

    I D

    SP

    MA

    TR

    YC

    A B

    LO

    K

    W L

    OG

    ICZ

    NY

    CH

    MA

    TR

    YC

    A B

    LO

    K

    W L

    OG

    ICZ

    NY

    CH

    MA

    TR

    YC

    A B

    LO

    K

    W L

    OG

    ICZ

    NY

    CH

    MA

    TR

    YC

    A B

    LO

    K

    W L

    OG

    ICZ

    NY

    CH

    UK

    AD

    Y W

    E /

    WY

    UK

    AD

    Y W

    E /

    WY

    UKADY WE / WY

    UKADY WE / WY

    PLL PLL

    PLL PLL

    KO

    LU

    MN

    A P

    AM

    IC

    I R

    AM

    KO

    LU

    MN

    A P

    AM

    IC

    I R

    AM

    Inne spotykane rozszerzenia: Nadawczo-odbiorcze bloki komunikacyjne

    obsugujce rne standardy : SONET OC-48,PCI Express, Infiniband, XAUI, Aurora (protok firmy Xilinx)

    Bloki dostpu do sieci Ethernet Ethernet MACs Procesory IBM PowerPC 405

  • Jarosaw Moskalewicz 5

    dataf0

    QD

    datad

    dataa

    shared_arith_out

    Q

    shared_arith_in

    D

    reg_chain_outdo ss iedniagoALM

    carry_inz ss iedniegoALM

    carry_out doss iedniegoALM

    reg_chain_inss iedniago ALM

    Sumator 1

    Sumator 0

    Lo

    gik

    aK

    om

    bin

    acy

    jna

    datae1dataf1

    datacdatab

    datae0

    X

    XQ

    I3

    R

    Ukady logiczne

    przeniesienia

    i sterowania

    G3

    EC

    O

    Ukady logiczne

    przeniesienia

    i sterowania

    O

    G2

    I1

    R

    I3

    G1 I1

    Q

    F5N

    I4G4

    LUT

    BY

    CK

    D

    SR

    CLK

    EC

    F4

    CE

    I2

    F3

    S

    COUT

    CKF2

    YB

    D

    I4

    F1

    Q

    Y

    BX

    YQ

    I2

    LUT

    CIN

    S

    XB

    Element slice grupujcy dwie komrkilogiczne w ukadach firmy Xilinxdo 89088 w jednym ukadzie

    Modu ALM (Adaptative Logic Module)ukadw Stratix II i Stratix III firmy Alterado 102000 w jednym ukadzie

    Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce

    tablice LUT (tablice LUT (tablice LUT (tablice LUT (tablice LUT (tablice LUT (tablice LUT (tablice LUT (LookLookLookLookLookLookLookLook--------Up TableUp TableUp TableUp TableUp TableUp TableUp TableUp Table) ) ) ) ) ) ) )

  • Jarosaw Moskalewicz 6

    Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce Komrki logiczne wykorzystujce

    multiplekserymultiplekserymultiplekserymultiplekserymultiplekserymultiplekserymultiplekserymultipleksery (Quick Logic)(Quick Logic)(Quick Logic)(Quick Logic)(Quick Logic)(Quick Logic)(Quick Logic)(Quick Logic)

    QC

    D2

    A3

    QR

    E1

    A4AZ

    E2

    A5

    NP

    A6

    NS

    OZ

    OS

    F1

    QZ

    OP

    NZ

    B1

    Q2Z

    B2

    F2

    FZ

    C1

    F3

    QS

    F4F5

    C2

    F6

    A1

    MP

    PS

    MS

    PP

    D1

    A2

    Do 7680 komrek w jednym ukadzie

  • Jarosaw Moskalewicz 7

    Wbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAMWbudowane bloki pamici RAM

    Waciwoci blokw RAM: Praca jako pamici jedno lub dwuportowe

    ( wcznie z trybem True-Dual-Port) Konfigurowalne dugoci sowa danych i adresu Zaimplementowane interfejsy FIFO(First-In-First-

    Out)

    Moliwo czenia blokw Inicjowanie zawartoci z zewntrznej pamici w

    trybie ROM (Read Only Memory) Praca w trybie rejestru przesuwajcego

  • Jarosaw Moskalewicz 8

    Wbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczneWbudowane bloki arytmetyczne

    ena

    ENA

    CLRN

    Data A 0[8..0]

    CLRN

    ENA

    Data B 0[8..0]

    Q

    CLRN

    Data A1[8..0]

    CLRN

    Q

    Data B1[8..0]

    CLRN

    ENA

    mnoarka 9x9

    D

    Q

    mnoarka 9x9

    Q

    CLRN

    Data Out 0[17..0]

    ENA

    D

    Data Out 1[17..0]

    ENA

    Q

    D

    signA

    Q

    signB

    D

    aclr

    ENA

    clock

    D

    D

    Przykad prostego bloku mnoeniasprztowego (Cyclone II i Cyclone III, Altera, do 288 blokw w ukadzie)

    Moliwo pracy jako jedna mnoarka

    18 x 18 bitw lub dwie mnoarki 9 x 9 bitw

    Mnoenie liczb ze znakiem lub bez znaku

    Niezalene ustawienie formatu liczby dla

    wej A oraz B

  • Jarosaw Moskalewicz 9

    Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.Wbudowane bloki arytmetyczne c.d.

    Re

    jest

    ry w

    y.

    Da

    ne

    We

    jci

    ow

    e

    Re

    zulta

    t

    Do drugiejpowki DSP

    Z poprzedniejpowki DSP

    144

    44

    44

    Za

    okr

    gle

    nie

    /P

    rze

    pe

    nie

    nie

    Rej

    estry

    wejc

    iow

    e

    Re

    jest

    ry p

    oto

    ku

    Su

    ma

    tor/

    Aku

    mu

    lato

    r

    Mu

    ltip

    leks

    er

    wy.

    Przykad zaawansowanej budowy bloku DSP (jedna poowa bloku Stratix III, Altera, do 112 blokw w ukadzie)

    Dostpne tryby pracy: 8 mnoarek 9 x 9 bitw,

    4 mnoarki 18 x 18 bitw,

    2 mnoarki 36 x 36 bitw,

    6 niezalenych mnoarek 12 x 12 bitw,

    4 ukady mnoenia argumentw 18 bitowych

    z akumulacj (44 bity akumulatora),

    logiczne i arytmetyczne przesunicie w

    prawo lub w lewo, argumentw 32 bitowych,

    rotacja argumentw 32 bitowych.

    2 niezalene ukady multiply-accumulator

    argumentw 18 bitowych,

    tryb two-multipliers adder (dwie niezalene

    sumy par mnoarek 18 x 18 bitw ),

    tryb four-multipliers adder (suma czterech

    mnoarek 18 x 18 bitw lub dwie niezalene

    sumy, kada z wyj 4 mnoarek 9 x 9)

  • Jarosaw Moskalewicz 10

    System Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web EditionSystem Quartus II Web Edition

    Edytor schematw

    Edytor tekstowy i kompilatorjzykw VHDL, AHDL, Verilog

  • System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.

    11Jarosaw Moskalewicz

    Symulator czasowy i funkcjonalny umoliwiajcytworzenie wektorw testowych w postaci graficznej

    RTL viewer umoliwiajcypodgld projektu na poziomieprzesa midzyrejestrowych

  • Jarosaw Moskalewicz 12

    System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.System Quartus II Web Edition c.d.

    Okno parametryzacji funkcji ALTMULT_ADD

    Dostpne kategorie funkcjibibliotecznych

  • Jarosaw Moskalewicz 13

    Jzyk VHDLJzyk VHDLJzyk VHDLJzyk VHDLJzyk VHDLJzyk VHDLJzyk VHDLJzyk VHDL((((((((Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)Very High speed integrated circuit Hardware Description Language)

    Zalety: moliwo korzystania z bibliotek gotowych elementw

    tworzenie wasnych komponentw w celu ich wielokrotnego wykorzystania

    moliwo utworzenia projektu hierarchicznego

    moliwo stosowania rnych typw danych (cakowite, zmiennopozycyjne,

    wyliczeniowe, tablicowe)

    Rne poziomy abstrakcji opisu projektu: opis behawioralny

    opis cieki danych

    opis strukturalny

  • Jarosaw Moskalewicz 14

    Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi

    impulsowej impulsowej impulsowej impulsowej impulsowej impulsowej impulsowej impulsowej

    Proces filtracji polega na oddziaywaniu na sygna w dziedzinie czasu w celu uzyskania okrelonych zmian widma tego sygnau w dziedzinie czstotliwoci

    Filtry FIR nale do klasy ukadw : liniowych, stacjonarnych i przyczynowych Cyfrowa filtracja nierekursywna i przyczynowa opisana jest rwnaniem

    dyskretnego splotu liniowego w dziedzinie czasu:

    (1)

    Proces filtracji realizuje si mnoc odwrcone w kolejnoci N prbek sygnau wejciowego x(n) przez wspczynniki filtru h(k) oraz sumujc wyniki poszczeglnych mnoe. Suma iloczynw stanowi wwczas jedn prbk sygnau wyjciowego

    Warunkiem osignicia liniowej charakterystyki fazowej w funkcji czstotliwoci jest symetria wartoci wspczynnikw filtru wzgldem rodkowych indeksw cigu .

    Implementacja ukadowa filtru sprowadza si do realizacji sprztowej rwnania 1

    =

    =

    ==

    1

    0

    1

    0

    )()()()()()()(N

    k

    N

    k

    kxknhknxkhnxnhny

  • Jarosaw Moskalewicz 15

    Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi Filtry cyfrowe o skoczonej odpowiedzi

    impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)impulsowej (FIR)

    Zalety: prostota projektowania

    stabilno

    odpowied impulsowa ma zawsze skoczon dugo

    atwo osignicia liniowej charakterystyki czstotliwociowo-fazowej

    w obszarze przepustowym

    Wady: dua zoono obliczeniowa

    due opnienie sygnau wyjciowego

  • Jarosaw Moskalewicz 16

    Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy Obliczenie wspczynnikw filtru przy

    pomocy programu pomocy programu pomocy programu pomocy programu pomocy programu pomocy programu pomocy programu pomocy programu DSPLlinksDSPLlinksDSPLlinksDSPLlinksDSPLlinksDSPLlinksDSPLlinksDSPLlinksOkno parametryzacji filtru

    Charakterystyka amplitudowo-fazowa obliczonegofiltru dolnoprzepustowego o 136 wspczynnikach

  • Jarosaw Moskalewicz 17

    Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania Realizacja algorytmu przetwarzania

    szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )szeregowego (MAC )

    X[0]X[1]X[2]

    h[0]h[1]h[2]h[N-1]

    AK

    UM

    ULA

    TR

    OR

    DaneWyjciowe

    DANE WEJCIOWE

    WSPCZYNNIKI

    X[N-1]

    Schemat blokowy algorytmu MAC (Multiply ACcumulate)

    N operacji mnoenie-dodawanie na jedn prbk sygnau wyjciowego ,dla filtru o N wspczynnikach Jedna operacja wykonywana jest w jednym takcie zegara

  • Jarosaw Moskalewicz 18

    Wyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MACWyniki uzyskane dla algorytmu MAC

    Cyclone Cyclone II Stratix Stratix II

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Wykorzystaniewycznie

    komrek LC3362 86,24 3354 101,7 3362 95,29 3305 164,55

    Wykorzystanie blokw RAM 1663

    92,13 1686 101,41 1671 98,7 1615 168,75

    Wykorzystanie blokw DSP

    - - 3187 135,92 3170 143,39 3169 204,71

    Wykorzystanie blokw DSP

    + RAM- - 1519 130,68 1469 147,1 1476 216,12

  • Realizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegegoRealizacja algorytmu rwnolegego

    x(n-N+1)

    h(0)

    -1

    y(n)

    -1

    h(1)

    z z-1

    h(2)

    x(n-1)x(n) -1

    x(n-2)z

    h(N-1)

    z

    Jarosaw Moskalewicz 19

    Schemat blokowy rwnolegego filtru FIR(gdzie z-1 oznacza opnienie sygnau o jeden okres prbkowania)

    N operacji mnoenie-dodawanie na jedn prbk sygnau wyjciowego, dla filtru o N wspczynnikach wykonywane jest w jednym takcie zegara

  • Jarosaw Moskalewicz 20

    Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu Wyniki uzyskane dla algorytmu

    rwnolegegorwnolegegorwnolegegorwnolegegorwnolegegorwnolegegorwnolegegorwnolegego

    Cyclone Cyclone II Stratix III

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Wykorzystaniewycznie komrek LC 9510 146,16 8339 176,27 8239 303,86

    Wykorzystanie blokw DSPImplementacja VHDL

    BRAK BRAK 5811 200,12 7664 308,26

    Wykorzystanie blokw DSPImplementacja

    ALTMULT_ADDBRAK BRAK 4425 161,66 838 332,67

  • Jarosaw Moskalewicz 21

    Filtr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DAFiltr rwnolegy z tablicami DA(Distributed Arithmetic)

    Arytmetyka rozproszona jest alternatyw dla ukadw mnoenia sprztowego Dla wspczynnikw niezmiennych w czasie rwnanie splotu mona przeksztaci

    do postaci:

    B liczba bitw reprezentacji danych wejciowychN liczba wspczynnikwxb [n] warto bitu o indeksie b w wektorze n tej prbki przyjmuje wartoci 0 lub 1

    f(h[n], xb[n]) realizuje si jako tablic pamici ROM zawierajc wszystkie moliwekombinacje liniowe wartoci N wspczynnikw i N bitw o tym samym indeksie b,nalecych do N wektorw prbek wejciowych

  • Jarosaw Moskalewicz 22

    Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.Filtr rwnolegy z tablicami DA, c.d.

    x[N-1]bit_0

    dA

    NE

    WE

    JC

    IOW

    E

    bit_1

    bit_B-1

    DA

    NE

    WY

    JC

    IOW

    E

    x[0]x[n-2] x[1] ROM

    ROM

    ROM

    adr_N-1

    adr_N-1

    adr_N-1

    adr_N-2

    adr_N-2

    adr_N-2

    adr_0

    adr_0

    adr_0

    adr_1

    adr_1

    adr_1

    adr_2

    adr_2

    adr_2

    WY

    WY

    WYD

    RZ

    EW

    O S

    UM

    AT

    OR

    W

    +

    OP

    CJO

    NA

    LN

    E R

    EJE

    ST

    RY

    PO

    TO

    KU

    B-1

  • Jarosaw Moskalewicz 23

    Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu Wyniki uzyskane przy wykorzystaniu

    arytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonejarytmetyki rozproszonej

    Cyclone Cyclone II Stratix III

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Liczbakomrek

    Fmax[MHz]

    Podtablice o 4 wejciach umieszczone w LUT

    8264 216,08 8585 261,13 8585 400

    Podtablice o 6 wejciach umieszczone w LUT

    9575 195,89 9926 300,66 6457 400

    Podtablice o 9 wejciach umieszczone w RAM

    Brak wystarczajcych

    zasobw3419 156,79 3428 320,62

  • PodsumowaniePodsumowaniePodsumowaniePodsumowaniePodsumowaniePodsumowaniePodsumowaniePodsumowanie

    Wykonane zostay projekty filtrw o skoczonej odpowiedzi impulsowej wykorzystujce rne algorytmy obliczania liniowego splotu dyskretnego oraz rne sposoby implementacji tych algorytmw

    Wyniki kompilacji zawarte w pracy mog by pomocne przy wyborze algorytmu oraz sposobu jego realizacji pod ktem konkretnych zaoe projektowych

    Jarosaw Moskalewicz 24

  • Jarosaw Moskalewicz 25