URL
https://opencores.org/ocsvn/generic_booth_multipler/generic_booth_multipler/trunk
Show entire file |
Details |
Blame |
View Log
Rev 2 |
Rev 6 |
Line 1... |
Line 1... |
|
|
library IEEE;
|
library IEEE;
|
use IEEE.STD_LOGIC_1164.ALL;
|
use IEEE.STD_LOGIC_1164.ALL;
|
|
|
entity Alu is
|
entity Alu is
|
|
generic(
|
|
size : integer:= 4
|
|
);
|
port(
|
port(
|
A : in std_logic_vector;
|
A : in std_logic_vector(size-1 downto 0);
|
B : in std_logic_vector;
|
B : in std_logic_vector(size-1 downto 0);
|
op : in std_logic;
|
op : in std_logic;
|
S : out std_logic_vector);
|
S : out std_logic_vector(size-1 downto 0));
|
end Alu;
|
end Alu;
|
|
|
architecture Behavioral of Alu is
|
architecture Behavioral of Alu is
|
component Adder is
|
component Adder is
|
|
generic(
|
|
size : integer:= 4
|
|
);
|
port(
|
port(
|
A : in std_logic_vector;
|
A : in std_logic_vector(size-1 downto 0);
|
B : in std_logic_vector;
|
B : in std_logic_vector(size-1 downto 0);
|
Cin : in std_logic;
|
Cin : in std_logic;
|
S : out std_logic_vector;
|
S : out std_logic_vector(size-1 downto 0);
|
Cout : out std_logic);
|
Cout : out std_logic);
|
end component;
|
end component;
|
|
|
component XorCrearor is
|
component XorCrearor is
|
|
generic(
|
|
size : integer:= 4
|
|
);
|
port(
|
port(
|
input1 : in std_logic;
|
input1 : in std_logic;
|
input2 : in std_logic_vector;
|
input2 : in std_logic_vector(size-1 downto 0);
|
result : out std_logic_vector);
|
result : out std_logic_vector);
|
end component;
|
end component;
|
signal xored: std_logic_vector(A'range);
|
signal xored: std_logic_vector(A'range);
|
begin
|
begin
|
XO :XorCrearor port map(op,B,xored);
|
XO :XorCrearor
|
ADD:ADDER port map(A,xored,op,S,open);
|
generic map (
|
|
size => size
|
|
)
|
|
port map(
|
|
input1 => op,
|
|
input2 =>B,
|
|
result => xored);
|
|
ADD: ADDER
|
|
generic map (
|
|
size => size
|
|
)
|
|
port map(
|
|
A=> A,
|
|
B=> xored,
|
|
cin=> op,
|
|
S=> S,
|
|
cout=> open);
|
|
|
end Behavioral;
|
end Behavioral;
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.