Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałŚwiętopełk Nagórka Został zmieniony 10 lat temu
1
Hardware Implementation of Algorithms Adders
Ernest Jamro, Dep. Of Electronics, AGH, Poland
2
References Omondi A.R Computer Arithmetic Systems. Algorithms Architecture and Implementations, Prentice Hall 1994. Pirsch P., Architectures for Digital Signal Processing, Chichester UK, Wiley 1998. U.Mayer-Baese Digital Signal Processing with Field Programmable Gate Arrays, Springer, Berlin 2001 Keshab K. Parhi VLSI Digital Signal Processing Systems, J.Wiley & sons, 1999 Kazimierz Wiatr Akceleracja Obliczeń w systemach wizyjnych, WNT, W-wa 2003 E. Jamro, K. Wiatr, Układy mnożące przez stały współczynnik implementowane w układach programowalnych FPGA,
3
Układ dodający ze szeregową propagacją przeniesienia Ripple Carry Adder
ai + bi+ci-1 = si + 2·ci si = ai bi ci-1 ci= ai bi + ai ci-1 + bi ci-1= ai bi + ci-1 (ai bi) si ci-1\ai,bi 00 01 11 10 1 ci ci-1\ai,bi 00 01 11 10 1
4
Odejmowanie / Subtraction (A-B)
Odejmowanie bezpośrednie Direct Subtruction Kod uzupełnień do dwóch U2 Two’s Complement ai - bi-ci-1 = si - 2·ci si = ai bi ci-1 Add 1 to LSB negacja każdego bitu Invert each bit bit znaku sign bit si ci-1\ai,bi 00 01 11 10 1 Zamiast odejmowania należy dokonać konwersji do kodu U2 liczby b oraz przeprowadzić zwykłą operację dodawania a+b’ Instead of performing a direct subtraction; a standard adder can be employed but B must be converted to 2’s complement code ci ci-1\ai,bi 00 01 11 10 1 na czerwono różnica pomiędzy dodawaniem Red – difference between addition and subtruction
5
Ripple Carry Adders in FPGAs
si= ai bi ci-1 Fragment of Virtex Configurable Logic Block (CLB)
6
Carry Skip Adder (CSA) (sumator z przeskokiem przeniesień)
Tn= An + Bn (lub / or) Tn= An xor Bn
7
Carry Skip Adder Szybkość (propagation time - T) Koszt (Area – A)
AT= 1/Wydajność (efficiency) m- wielkość bitowa pojedynczego bloku (width of a block)
8
Carry Select Adder
9
Altera Carry Select Adder Apex, Cyclon
10
Porównanie układów dodających o szerokości Comparison of Different Adders Architectures 16 bit
Układ / Architecture Opóźnienie Propagation delay Koszt Area (AT)[104] Carry Look Ahead 4 7392 2.94 Ripple CLA (m=4) 10 336 0.34 carry select (m=4) 6 992 0.6 carry skip 15 240 0.36 2-level carry skip 12 300 Ripple Carry 31 224 0.69 64 bity Układ /Architecture Opóźnienie Koszt (AT) [104] Carry Look Ahead 4 50624 20.25 Ripple CLA (m=4) 34 1334 4.57 carry select (m=4) 6 2688 1.61 carry skip 29 960 2.50 2-level carry skip 28 1140 3.19 Ripple Carry 127 896 11.38
11
Dodawanie 3-wejściowe z propagacją przeniesienia 3+ input Carry Propagate Adder (CPA)
S= A + B + C CPA – układ dodający np. ze skrośną propagacją przeniesienia (Ripple Carry), Carry Look Ahead, Carry Select Adder Example of Ripple Carry Adder
12
Dodawanie 3-wejściowe / Addition 3 Inputs Zachowywanie przeniesienia
Dodawanie 3-wejściowe / Addition 3 Inputs Zachowywanie przeniesienia. Carry Save Adder (CSA) A+B+C= 2 ·T + S ai + bi+ci = 2·ti+1 + si si = ai bi ci ti+1= ai bi + ai ci + bi ci= ai bi + ci (ai bi) Nie ma propagacji przeniesienia Bardzo szybki układ dodający przy powierzchni podobnej jak Ripple-Carry Adder
13
CSA – 3+ inputs 3-inputs 4-inputs 6-inputs
In FPGA dedicated carry logic is available therefore CSA is not so popular as in ASIC technology
14
Materiały dodatkowe
15
Manchester Adder
16
Superblock of carry-skip adder
17
Superblock of carry-skip adder Czas propagacji
18
Carry Lookahead Adder Si = Ai Bi Ci-1
Ci= Ai Bi + Ai Ci-1 + Bi Ci-1= Ai Bi + Ci-1 (Ai Bi) Gi= Ai Bi – Generate - Propagate Pi= AiBi - Propagate bo: - Generate Si= Pi Ci-1 Ci= Gi + Pi Ci-1 S0= P0 C-1 C0= G0 + P0 C-1 S1= P1 C0 C1= G1 + P1 C0= G1 + P1(G0 + P0 C-1)= G1 + P1G0 + P1P0C-1 S2 = P2 C1 C2= G2 + P2 C1= G2 + P2G1 + P2P1G0 + P2P1P0C-1
19
Carry-lookahead adder Sumator z antycypacją przeniesień
20
Ripple Carry-Lookahead Adder
21
RCLA koszt i szybkość Koszt A Czas prop. T AT= 1/Wydajność
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.