19

Serial Adder Binary Multiplier

Embed Size (px)

DESCRIPTION

it gives brief introduction to serial adder and binary multiplier with vhdl codewhich is very important to learn the basics of digital systems

Citation preview

Page 1: Serial Adder Binary Multiplier
Page 2: Serial Adder Binary Multiplier
Page 3: Serial Adder Binary Multiplier
Page 4: Serial Adder Binary Multiplier
Page 5: Serial Adder Binary Multiplier

● Add 1111 and 1111● Add 1000 and 0001

Page 6: Serial Adder Binary Multiplier
Page 7: Serial Adder Binary Multiplier

entity SA is

Port ( st : in std_logic; A,B: inout std_logic_vector ( 3 downto 0); clk : in std_logic; acc : out std_logic_vector(3 downto 0)); end SA;

Page 8: Serial Adder Binary Multiplier

architecture Behavioral of SA isType state is state0,state1,state2,state3;signal ps,ns: state;signal C,D: std_logic_vector (3 downto 0);signal ci,ciplus,si,sh:std_logic;

Page 9: Serial Adder Binary Multiplier

begin

si<=A(0) xor B(0) xor ci ; ciplus <=(A(0) and B(0)) or (A(0) and ci ) or ( B(0) and ci );

process(ps,st)begin case ps is when state0=>

if(st='0')then ns<=state0; else ns<=state1; sh<='1'; end if; when state1 =>

sh<='1'; ns<= ps+1;when state2 =>

sh<='1'; ns<= ps+1; when state3=>

sh<='1'; ns <=0; end case;end process;

Page 10: Serial Adder Binary Multiplier

process(clk,sh) begin if(clk 'event and clk ='1')then ps <= ns; ci<= ciplus; end if;

if(sh='1') then C<=si & A(3 downto 1) ; D<=B(0) & B(3 downto 1); end if;

end process;

acc<= C;

end Behavioral;

Page 11: Serial Adder Binary Multiplier
Page 12: Serial Adder Binary Multiplier
Page 13: Serial Adder Binary Multiplier
Page 14: Serial Adder Binary Multiplier

● 1111 * 1111● 1000 * 1000● 0001 * 1000● 0001 * 0001

Page 15: Serial Adder Binary Multiplier
Page 16: Serial Adder Binary Multiplier

Place it inside package and call the library

Page 17: Serial Adder Binary Multiplier
Page 18: Serial Adder Binary Multiplier
Page 19: Serial Adder Binary Multiplier