PDF - 1 451 kB

Transkrypt

PDF - 1 451 kB
Współczesne techniki informacyjne…
…są multimedialne,
…można oczekiwać, że po cywilizacji pisma
(i druku) nastąpi etap cywilizacji obrazowej
…czyli coraz większa jest potrzeba gromadzenia i
przysyłania wielkiej liczby obrazów!
Potrzebne są zatem techniki umożliwiające skuteczną
kompresję obrazów (w ogólności wszystkich gromadzonych
i przesyłanych danych).
Jednym z innowacyjnych sposobów transformacji
obrazu, będącym obecnie przedmiotem
zainteresowania jest
…transformacja falkowa
Transformacja falkowa
…jest już stosowana:
a) jako integralna część standardu kompresji obrazu JPEG 2000,
b) w kompresji oraz przetwarzaniu wyników badań medycznych,
takich jak rezonans magnetyczny, tomograf komputerowy, badanie
RTG.
Ze względu na stosunkowo dużą złożoność algorytmiczną istotne
stają się sposoby jej efektywnej realizacji za pomocą sprzętu.
..i tu z pomocą przychodzą nowe technologie i
nowe metody syntezy logicznej
Jak je wykorzystać do projektowania układów
cyfrowego przetwarzania sygnałów i obrazu?
Łącznikiem tych problemów jest
operacja MAC
Data in
Multiply and Accumulate:
Register
Wiele operacji mnożenia
i dodawania
Loop
algorithm
MAC
unit
Data out
y = c, x =
… suma iloczynów:
N −1
∑c[ n] ⋅ x[n] = c[0] x[0] + c[1]x[1] + ... + c[ N −1]x[ N −1]
n =0
Ustalony współczynnik
n-ta próbka
Operacja Multiply and Accumulate
Data in
Mnożenie z akumulacją
Register
Filtry cyfrowe
Loop
algorithm
MAC
unit
Data out
Filtry falkowe
Transformaty: DFT, FFT
Realizacja bezpośrednia
wygodna dla procesorów sygnałowych
Rejestr przesuwający
X[N-1]
C[N-1]
●●●
●●●
X[1]
C[1]
Układ mnożący
Akumulator
X[0]
C[0]
×
+
R
Ogólnego przeznaczenia!
…nie jest odpowiednia dla struktur FPGA
Arytmetyka rozproszona
N −1
B −1
n −0
b =0
N −1
y = ¦ c[n] ⋅ x[n] = ¦ 2 ⋅ ¦ f (c[n], xb [n])
b
n =0
Logika DA
Rejestr przesuwający
XB-1[0]
●●●
X1[0]
X0[0]
XB-1[1]
●●●
X1[1]
X0[1]
LUT
●●●
XB-1[N-1]
●●●
Akumulator
X1[N-1]
X0[N-1]
+
R
Układ kombinacyjny typu LUT
Ale układy DA są duże…
Do syntezy DA stosuje się
dekompozycję!!!
Wyniki eksperymentów dla układów DA
filtrów cyfrowych
FIR
Tablica DA
wejścia/wyjścia
F4
Komórki LUT
DA bez
dekompozycji
DA
z dekompozycją
7/8
12
9
F5
11/11
45
32
F6
11/11
66
45
F7
11/12
48
35
F8
15/12
136
64
F9
19/16
279
159
∑
586
344
%
100
58
Ponad 40% redukcja zasobów sprzętowych
Implementacja DA – co dalej
Jaki jest wpływ logiki
DA na implementację
całego filtru?
Implementacja całej struktury filtru
FIR
F4
F5
F6
F7
F8
F9
Bez dekompozycji
Z dekompozycją
Struktura
sumatorów
LCs
Fmax [MHz]
LCs
Fmax [MHz]
pipel.
288
51.28
264
53.76
comb.
224
25.25
204
26.60
pipel.
642
47.62
530
52.36
comb.
527
21.05
444
22.03
pipel.
808
38.61
632
41.49
comb.
710
19.27
551
19.61
pipel.
680
47.62
560
47.85
comb.
576
20.62
476
20.96
pipel.
1404
42.74
834
48.31
comb.
1314
22.73
746
22.73
pipel
2624
31.25
1672
38.61
comb.
2533
14.47
1564
20.92
∑
12330
8477
%
100
68
Najnowsze struktury programowalne
FPGA (Field Programmable Gate Array)
Wbudowane bloki pamięci
Elementy logiczne
Różnorodność
konfiguracji wbudowanych pamięci znacznie
utrudnia proces syntezy
Interaktywny tryb pracy
dekompozycji zrównoważonej
X
X
X2
G
X1
H
Y
Dekompozycja szeregowa
X3
X4
H1
H2
Y1
Y2
Dekompozycja równoległa
Wygodny do syntezy układów cyfrowych w strukturach
FPGA z wbudowanymi pamięciami
Synteza filtrów falkowych w
strukturach FPGA z pamięciami
Filtry Daubechies 9/7
Data in
Register
MAC
unit
Data out
Filtry falkowe są stosowane w standardzie
kompresji obrazów JPEG2000
Dekompozycja układu DA filtru falkowego
typu ahp
(7,16)
EMB
(6,1)
(7,15)
(7,8)
EMB
(4,1) (3,1)
(7,7)
FPGA
(4,2) (6,8) ROM
(7,3)
(7,4) ROM
(4,3) (6,3)
(5,2)
(4,2) (4,2)
(6,1)
(4,2) (4,1)
2×M512, 14LC
Dekompozycja układu DA filtru falkowego
typu ahp
(7,16)
(6,5) ROM (6,16)
(6,8) ROM
(6,8) ROM
3×M512
Porównanie z systemem Quartus
5]öG
LC
FF
ROM
fmax
ahp Quartus
7
204
149
4xM512
159.44
ahp dec
7
208
153
3xM512
160.75
alp Quartus
9
240
182
2xM4K
129.75
alp dec
9
260
183
1xM4K
136.20
slp Quartus
7
208
150
5xM512
150.72
slp dec
7
222
151
2xM512
160.41
shp Quartus
9
236
181
7xM512, 1xM4K
133.51
shp dec
9
246
181
1xM4K
139.66
Typ filtru
Porównanie całkowitej powierzchni
EMB
FPGA
LC
ROM
Powierzchnia 1 LC = Powierzchnia 3 bitów pamięci
Brian Dipert, Counting on Gate Counts? Don't count on it, EDN
Magazine, August 3, 1998
Porównanie realizacji filtrów falkowych
ze względu na powierzchnię
Logic Cells
FIR
Układ DA
We/Wy
Bez dekompozycji
Z dekompozycją
alp
9/16
8912
4876
ahp
7/16
2660
2160
slp
7/16
3184
1690
shp
9/16
8388
4834
∑
23144
13560
%
100
58
42% redukcja pow. względem systemu Quartus
Inne zastosowania metod syntezy logicznej
dotyczą realizacji transformat DFT, FFT
Nadajnik OFDM Standardu WiMAX
Źródło: Pawłowski, M. Matusz, J. Woźniak: WiMAX – nowy
standard szerokopasmowych sieci bezprzewodowych (1) i (2).
PTiWT, z. 7 i 11, 2005.
Realizacja 16-punktowej transformaty DFT
operującej na 12-bitowych próbkach
1. a
2. !
"
3. # a $%
$
, dla której mo&na
zastosowa' zaawansowane procedury syntezy
logicznej
Transformata Fouriera realizowana w
strukturze arytmetyki rozproszonej
x[0]
Jakość tej realizacji
w ogromnej mierze
zależy od jakości
implementacji bloków DA
x[7]
x7[7] x7[7] x6[7] x6[7] x5[7] x5[7] x4[7] x4[7]
DA
DA
DA
DA
+
x3[7] x3[7] x2[7] x2[7] x1[7] x1[7] x0[7] x0[7]
DA
+
DA
+
+
+
+
+
DA
DA
Wyniki eksperymentów
FFT_LC
4723 (14%)
–
43,51
522,12
FFT_DSP
1554 (5%)
70 (100%)
48,93
587,16
DFT_DA
7222 (22%)
–
74,36
892,32
P
Uzyskanie największej przepustowości jest
możliwe wyłącznie przy zastosowaniu
zaawansowanych procedur syntezy logicznej
Podsumowanie
(
))
)
*
+
!
"#
$
!
% &
'($)
*
!
24