4-bit Adder Dasar Teori:
Penjumlah atau
Adder
adalah komponen elektronika digital yang dipakai untuk
menjumlahkan dua buah angka dalam sistem bilangan biner. Dalam komputer dan mikroprosesor, mikroprosesor, Adder biasanya berada di bagian ALU (Arithmetic Logic Unit). Sistem bilangan yang dipakai dalam proses penjumlahan, selain bilangan biner, juga 2's complement untuk bilangan negatif, bilangan BCD (binary-coded decimal), dan excess-3. Jika sistem bilangan yang dipakai adalah 2's complement, maka proses operasi penjumlahan dan operasi pengurangan akan sangat mudah dilakukan. dilakukan. Rangkaian Full-Adder, pada prinsipnya bekerja seperti Half-Adder, tetapi mampu menampung bilangan Carry dari hasil penjumlahan sebelumnya. Jadi jumlah inputnya ada 3: A, B dan Ci, sementara bagian output ada 2: S dan Co. Ci ini dipakai untuk menampung bit Carry dari penjumlahan sebelumnya. Gambar rangkaian dan truth table dari rangkaian full adder: Input
Output
A
B
Ci
Co
S
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Flowchart:
Program:
Struktural library ieee; use ieee.std_logic_1164.all; entity adderbool is Port ( signal a,b : in std_logic_vector(3 downto 0); signal cin : in std_logic; signal sum : out std_logic_vector(3 downto 0); signal cout : out std_logic); end adderbool; architecture behavior of adderbool is signal c: std_logic_vector(4 downto 0); begin process (a,b,cin,c) begin c(0) <= cin; for i in 0 to 3 loop sum(i) <= a(i) xor b(i) xor c(i); c(i+1) <= (a(i) and b(i)) or (c(i) and (a(i) or b(i))); end loop; cout <= c(4); end process; end behavior;
Boolean library ieee; use ieee.std_logic_1164.all; entity adderstruk is port(a,b : in std_logic_vector(3 downto 0); carry : out std_logic; sum : out std_logic_vector(3 downto 0)); end adderstruk; architecture struktural of adderstruk is Component fa port (a,b,c : in std_logic; sum,carry : out std_logic); end component; signal s : std_logic_vector (2 downto 0); begin u0 u1 u2 ue
: : : :
fa fa fa fa
port port port port
map map map map
(a(0),b(0),'0',sum(0),s(0)); (a(1),b(1),s(0),sum(1),s(1)); (a(2),b(2),s(1),sum(2),s(2)); (a(3),b(3),s(2),sum(3),carry);
end struktural; library ieee; use ieee.std_logic_1164.all; entity fa is port (a,b,c : in std_logic; sum,carry : out std_logic); end fa; architecture fa_arc of fa is begin sum <= a xor b xor c; carry <= (a and b) or (b and c) or (c and a); end fa_arc;
Kesimpulan:
-
Rangkaian 4-bit adder digunakan untuk menjumlahkan bilangan biner 4 bit .
-
Implementasi rangkaian 4-bit adder pada FPGA dapat dilakukan dalam dua metode, yaitu struktural dan boolean dengan hasil yang sama.