TU-VHDL/Task1/IEEE_1164_Gates_pkg.vhdl
2025-02-10 20:28:13 +01:00

206 lines
4.3 KiB
VHDL

library ieee;
use ieee.std_logic_1164.all;
package IEEE_1164_Gates_pkg is
--##########################
--######## AND GATES #######
--##########################
component AND2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component AND2;
component AND3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component AND3;
component AND4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component AND4;
--##########################
--######## NAND GATES ######
--##########################
component NAND2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component NAND2;
component NAND3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component NAND3;
component NAND4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component NAND4;
--##########################
--######## OR GATES ########
--##########################
component OR2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component OR2;
component OR3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component OR3;
component OR4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component OR4;
--##########################
--######## NOR GATES #######
--##########################
component NOR2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component NOR2;
component NOR3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component NOR3;
component NOR4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component NOR4;
--##########################
--######## XOR GATES #######
--##########################
component XOR2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component XOR2;
component XOR3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component XOR3;
component XOR4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component XOR4;
--##########################
--######## XNOR GATES ######
--##########################
component XNOR2 is
port
(
I1 :in std_logic;
I2 :in std_logic;
O :out std_logic
);
end component XNOR2;
component XNOR3 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
O :out std_logic
);
end component XNOR3;
component XNOR4 is
port
(
I1 :in std_logic;
I2 :in std_logic;
I3 :in std_logic;
I4 :in std_logic;
O :out std_logic
);
end component XNOR4;
end IEEE_1164_Gates_pkg;