OpenCores
URL https://opencores.org/ocsvn/generic_booth_multipler/generic_booth_multipler/trunk

Subversion Repositories generic_booth_multipler

[/] [generic_booth_multipler/] [trunk/] [rtl/] [modules/] [00.Alu.vhd] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alimpk
 
2
library IEEE;
3
use IEEE.STD_LOGIC_1164.ALL;
4
 
5
entity Alu is
6 6 alimpk
        generic(
7
                size : integer:= 4
8
        );
9 2 alimpk
        port(
10 6 alimpk
                A       : in  std_logic_vector(size-1 downto 0);
11
                B       : in  std_logic_vector(size-1 downto 0);
12 2 alimpk
                op      : in  std_logic;
13 6 alimpk
                S       : out std_logic_vector(size-1 downto 0));
14 2 alimpk
end Alu;
15
 
16
architecture Behavioral of Alu is
17
        component Adder is
18 6 alimpk
                generic(
19
                        size : integer:= 4
20
                );
21 2 alimpk
                port(
22 6 alimpk
                        A               : in  std_logic_vector(size-1 downto 0);
23
                        B               : in  std_logic_vector(size-1 downto 0);
24 2 alimpk
                        Cin     : in  std_logic;
25 6 alimpk
                        S               : out std_logic_vector(size-1 downto 0);
26 2 alimpk
                        Cout    : out std_logic);
27
        end component;
28
 
29
        component XorCrearor is
30 6 alimpk
                generic(
31
                        size : integer:= 4
32
                );
33 2 alimpk
                port(
34
                        input1 : in      std_logic;
35 6 alimpk
                        input2 : in  std_logic_vector(size-1 downto 0);
36 2 alimpk
                        result : out std_logic_vector);
37
        end component;
38
        signal xored: std_logic_vector(A'range);
39
begin
40 6 alimpk
        XO :XorCrearor
41
                generic map (
42
                        size => size
43
                )
44
                port map(
45
                        input1 => op,
46
                        input2 =>B,
47
                        result => xored);
48
        ADD: ADDER
49
                generic map (
50
                        size => size
51
                )
52
                port map(
53
                        A=> A,
54
                        B=> xored,
55
                        cin=> op,
56
                        S=> S,
57
                        cout=> open);
58 2 alimpk
 
59
end Behavioral;
60
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.