project 1 alu_64.pdf

Upload: siddhant-yadav

Post on 03-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Project 1 ALU_64.pdf

    1/7

    Project 1. Implementaon and simulaon of 64 bit ALU.--------TOP LEVEL--------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;

    enty ALU_64 isgeneric(n:integer:=8);Port ( A : in STD_LOGIC_VECTOR (n-1 downto 0);B : in STD_LOGIC_VECTOR (n-1 downto 0);clk:in std_logic;S:in std_logic_vector(3 downto 0);---carry in is bit S(0);F : out STD_LOGIC_VECTOR (n-1 downto 0);cout : out STD_LOGIC);end ALU_64;

    architecture Behavioral of ALU_64 iscomponent mux2generic(n:integer:=8);Port ( F1 : in STD_LOGIC_VECTOR (n-1 downto 0);F2 : in STD_LOGIC_VECTOR (n-1 downto 0);s3 : in STD_LOGIC;clk:in std_logic;Y : out STD_LOGIC_VECTOR (n-1 downto 0));end component;

  • 7/28/2019 Project 1 ALU_64.pdf

    2/7

    component logical_unitgeneric(n:integer:=8);Port ( A : in STD_LOGIC_VECTOR (n-1 downto 0);B : in STD_LOGIC_VECTOR (n-1 downto 0);s : in STD_LOGIC_VECTOR (2 downto 0);clk : in STD_LOGIC;F : out STD_LOGIC_VECTOR (n-1 downto 0));end component;component arith_unitgeneric(n:integer:=8);Port ( A : in STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');B : in STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');clk:in std_logic;s: in STD_LOGIC_vector(2 downto 0);F : out STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');cout :out STD_LOGIC);end component;signal f1:std_logic_vector(n-1 downto 0);signal f2:std_logic_vector(n-1 downto 0);signal s1:std_logic_vector(1 downto 0);begin

    s1

  • 7/28/2019 Project 1 ALU_64.pdf

    3/7

  • 7/28/2019 Project 1 ALU_64.pdf

    4/7

    case s iswhen "000" => F F F F F F F F NULL;end case;end process;end Behavioral;

    Arithmec unit-------------------------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;

    enty Arith_unit isgeneric(n:integer:=8);Port ( A : in STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');

  • 7/28/2019 Project 1 ALU_64.pdf

    5/7

    B : in STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');clk:in std_logic;s: in STD_LOGIC_vector(2 downto 0);F : out STD_LOGIC_VECTOR (n-1 downto 0):=(others=>'0');cout : out STD_LOGIC);end Arith_unit;

    architecture Behavioral of Arith_unit issignal a1:std_logic_vector(n downto 0);signal b1:std_logic_vector(n downto 0);signal f1:std_logic_vector(n downto 0);

    begina1

  • 7/28/2019 Project 1 ALU_64.pdf

    6/7

    when "110" => f1 f1 NULL;end case;F

  • 7/28/2019 Project 1 ALU_64.pdf

    7/7

    Port ( F1 : in STD_LOGIC_VECTOR (n-1 downto 0);F2 : in STD_LOGIC_VECTOR (n-1 downto 0);s3,clk : in STD_LOGIC;Y : out STD_LOGIC_VECTOR (n-1 downto 0));

    end mux2;

    architecture Behavioral of mux2 is

    beginprocess(clk)begincase s3 iswhen '0'=> Y Y NULL;end case;end process;end Behavioral;****************************************************************************