Files
IEEE754Adder/EqualCheck.vhd

33 lines
634 B
VHDL
Raw Normal View History

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