praca dyplomowa pod kierunkiem dr in ż. pawła...
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