Files
IEEE754Adder/equalCheck.vhd

45 lines
608 B
VHDL
Raw Normal View History

2019-08-24 14:39:01 +02:00
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity EqualCheck is
2019-08-29 15:12:25 +02:00
generic(
BITCOUNT: integer := 8
);
2019-08-24 14:39:01 +02:00
port(
2019-08-29 15:12:25 +02:00
X, Y : in std_logic_vector((BITCOUNT-1) downto 0);
IS_EQUAL : out std_logic
2019-08-24 14:39:01 +02:00
);
2019-08-29 15:12:25 +02:00
2019-08-24 14:39:01 +02:00
end EqualCheck;
architecture EqualCheckArch of EqualCheck is
2019-08-29 15:12:25 +02:00
signal COMP_VEC : std_logic_vector((BITCOUNT-1) downto 0);
2019-08-24 14:39:01 +02:00
begin
2019-08-29 15:12:25 +02:00
COMP_VEC <= X xor Y;
2019-08-24 14:39:01 +02:00
2019-08-29 15:12:25 +02:00
RES_COMPUTE: process (COMP_VEC)
variable RES_TMP : std_logic;
2019-08-24 14:39:01 +02:00
begin
2019-08-29 15:12:25 +02:00
RES_TMP := '0';
for i in COMP_VEC'range loop
RES_TMP := RES_TMP or COMP_VEC(i);
2019-08-24 14:39:01 +02:00
end loop;
2019-08-29 15:12:25 +02:00
IS_EQUAL <= not RES_TMP;
2019-08-24 14:39:01 +02:00
end process;
end EqualCheckArch;