Title: Hardware Implementation of Algorithms Adders
1Hardware Implementation of AlgorithmsAdders
- Ernest Jamro, Dep. Of Electronics, AGH, Poland
2References
- 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 Obliczen w systemach
wizyjnych, WNT, W-wa 2003 - E. Jamro, K. Wiatr, Uklady mnozace przez staly
wspólczynnik implementowane w ukladach
programowalnych FPGA, http//home.agh.edu.pl/jamr
o/2001KCM_pl.pdf - www.xilinx.com
- www.altera.com
3Uklad dodajacy ze szeregowa propagacja
przeniesienia Ripple Carry Adder
ai bici-1 si 2ci si ai ? bi ? ci-1 ci
ai bi ai ci-1 bi ci-1 ai bi ci-1 (ai ? bi)
si
ci
4Odejmowanie / Subtraction (A-B)
Kod uzupelnien do dwóch U2 Twos Complement
Odejmowanie bezposrednie Direct Subtruction
ai - bi-ci-1 si - 2ci si ai ? bi ? ci-1
Add 1 to LSB
negacja kazdego bitu Invert each bit
bit znaku sign bit
si
Zamiast odejmowania nalezy dokonac konwersji do
kodu U2 liczby b oraz przeprowadzic zwykla
operacje dodawania ab Instead of performing a
direct subtraction a standard adder can be
employed but B must be converted to 2s
complement code
ci
na czerwono róznica pomiedzy dodawaniem Red
difference between addition and subtruction
5Ripple Carry Adders in FPGAs
si ai ? bi ? ci-1
Fragment of Virtex Configurable Logic Block (CLB)
6Carry Skip Adder (CSA)(sumator z przeskokiem
przeniesien)
Tn An Bn (lub / or) Tn An xor Bn
7Carry Skip Adder
Szybkosc (propagation time - T)
Koszt (Area A)
A?T 1/Wydajnosc (efficiency)
m- wielkosc bitowa pojedynczego bloku (width of a
block)
8Carry Select Adder
9Altera Carry Select AdderApex, Cyclon
10Porównanie ukladów dodajacych o szerokosci
Comparison of Different Adders Architectures16
bit
64 bity
11Dodawanie 3-wejsciowe z propagacja
przeniesienia3 input Carry Propagate Adder (CPA)
S A B C
CPA uklad dodajacy np. ze skrosna propagacja
przeniesienia (Ripple Carry), Carry Look Ahead,
Carry Select Adder
Example of Ripple Carry Adder
12Dodawanie 3-wejsciowe / Addition 3
InputsZachowywanie przeniesienia. Carry Save
Adder (CSA)
ABC 2 T S ai bici 2ti1 si si ai
? bi ? ci ti1 ai bi ai ci bi ci ai bi ci
(ai ? bi) Nie ma propagacji przeniesienia Bardzo
szybki uklad dodajacy przy powierzchni podobnej
jak Ripple-Carry Adder
13CSA 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
14Materialy dodatkowe
15Manchester Adder
16Superblock of carry-skip adder
17Superblock of carry-skip adderCzas propagacji
18Carry 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 Ai?Bi - 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
19Carry-lookahead adderSumator z antycypacja
przeniesien
20Ripple Carry-Lookahead Adder
21RCLA koszt i szybkosc
Koszt A
Czas prop. T
A?T 1/Wydajnosc