Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Hardware Implementation of Algorithms Sprzętowa Implementacja Algorytmów Układy mnożące, konwolwery Multipliers, convolvers Ernest Jamro Kat. Elektroniki.

Podobne prezentacje


Prezentacja na temat: "Hardware Implementation of Algorithms Sprzętowa Implementacja Algorytmów Układy mnożące, konwolwery Multipliers, convolvers Ernest Jamro Kat. Elektroniki."— Zapis prezentacji:

1 Hardware Implementation of Algorithms Sprzętowa Implementacja Algorytmów Układy mnożące, konwolwery Multipliers, convolvers Ernest Jamro Kat. Elektroniki AGH, Kraków Dep. Of Electronics, AGH

2 2 Mnożenie / Multiplication 1001 X x 11= 99

3 3 Parallel Array Multipliers Mnożenie równoległe

4 4 FPGA, Muilt-in multiplier DSP48

5 5 Sequantial Multiplier /Mnożenie sekwencyjne

6 6 Wallace Tree Multiplier (with Carry Save Adders) W układach FPGA nie zaleca się stosowania CSA In FPGA the CSA are not recommended

7 7 Mnożenie ze znakiem / Multiplication of Sign numbers Znak, Moduł / Sign-Module Standardowe mnożenie liczb dodatnich / Standard unsigned multiplication Znak= Znak 1 XOR Znak 2 Sign= Sign 1 xor Sign 2 W kodzie uzupełnień do dwóchTwos Complement C. R. Baugh and B. A.Wooley, A twos complement parallel array multiplication algorithm, IEEE Trans. Comput., vol. C-22, pp. 1045–1047, Dec (a 1 +a 2 )*(b 1 +b 2 )= a 1 b 1 + a 1 b 2 +a 2 b 1 +a 2 b 2

8 8 Mnożenie w kodzie uzupełnień do 2 / Twos complement multiplication

9 9 Układ mnożący o zredukowanej szerokości / Reduced-width multiplier

10 10 Kompensacja błędu redukcji / Truncation error compensation

11 11 Mnożenie przez stały współczynnik / Constant Coefficient Multiplier Look Up Table (LUT) Example: Y= 5*X AddressData

12 12 LUT-based Multiplier Constant Coefficient: C Y = C A = C A(0:3) C A(4:7)

13 13 Different ROM sizes Input data width = 6 bits

14 14 Heteregenous memory usage Virtex: 16 1, 32 1, 4k 1, 2k 2, 1k 4, 512 8, Input data and coefficient width= 14

15 15 Exchange distributed RAM to BRAM CLB BRAM

16 16 Area [CLB] for different input and coeffitinent width K Only CLB, scale 1:10 # of BRAM Equvalent cost of 1 BRAM

17 17 MM (Multiplierless Multiplication ) Mnożenie bezmnożne Binary Representation, example B= 14= M= A B= (A<<1)+(A<<2)+(A<<3) Sub-structure Sharing (SS) example B= 27= tmp= A + (A<<1) M= A B= tmp + (tmp<<3) Canonic Sign Digit (CSD) set {0, 1, -1} (0 – no operation, 1 – addition, -1 (1) – subtraction) example: B= 7 = B= 1001 CSD M=B·A= (A<<2) + (A<<1) + A M= (A<<3)-A

18 18 BINARNIE CSD insert symbol 1 only if the total number of operation is reduced Standard Modified

19 19 Applience of different techniques of MM

20 20 The MM cost for different coefficients

21 21 Filters FIR

22 22 Filter FIR (sposób pośredni/ transposed)

23 23 FIR 2D

24 24 Examples of 2D FIR Filters Low-PassSobelLaplace

25 25 FIR Filter N=2 LUT-based multipliers z -1 LUT M0 LUT L0 LUT M1 LUT L1 In Adder1Adder0 Adder Multiplier 1Multiplier 2 Adder1Adder0 Adder Adders Block

26 FIR, Arytmetyka w innej kolejności (Parallel) Distributed Arithmetic coefficient input different bits of the input

27 27 Arytmetyka Rozproszona (Distributed Arithmetic) The same input bit weight (smaller LUT widths)

28 28 Filtry FIR z liniową fazą / Linear Phase Filters (symetryczne/ symmetric: h(0)=h(N-1), h(1)=h(N-2),...)

29 29 FPGA, Muilt-in multiplier DSP48

30 30 Example of sub-structure sharing for FIR filters H(z)= z z -2 = z z -2 Example 1: A= 5 = temporary expression H(z)= A + ( A)z -1 + Az -2 Example 2: A= 1 + z -1 H(z)= 5A + 8z z -2

31 31 Materiały dodatkowe The END

32 32 Szybkie mnożenie w układach FPGA 2 6 ·(2·a 7 ·b + a 6 ·b)

33 33 Układy mnożące w FPGA Fragment of Virtex Configurable Logic Block (CLB) Przykład: G4 - a 7 G3 - b i G2 - a 6 G1 - b i+1 F4 – a 7 F3 – b i-1 F2 – a 6 F1 – b i (a 7 and b i ) xor (a 6 and b i+1 )


Pobierz ppt "Hardware Implementation of Algorithms Sprzętowa Implementacja Algorytmów Układy mnożące, konwolwery Multipliers, convolvers Ernest Jamro Kat. Elektroniki."

Podobne prezentacje


Reklamy Google