library IEEE; use IEEE.std_logic_1164.all; entity comp64s is port ( A, B: in STD_LOGIC_VECTOR (63 downto 0); EQ, GT: out STD_LOGIC ); end comp64s; architecture comp64s_arch of comp64s is component comp8 port ( A, B: in STD_LOGIC_VECTOR (7 downto 0); EQ, GT: out STD_LOGIC); end component; signal EQ8, GT8: STD_LOGIC_VECTOR (7 downto 0); -- =, > for 8-bit slice signal SEQ, SGT: STD_LOGIC_VECTOR (8 downto 0); -- serial chain of slice results begin SEQ(8) <= '1'; SGT(8) <= '0'; U1: for i in 7 downto 0 generate U2: comp8 port map (A(7+i*8 downto i*8), B(7+i*8 downto i*8), EQ8(i), GT8(i)); SEQ(i) <= SEQ(i+1) and EQ8(i); SGT(i) <= SGT(i+1) or (SEQ(i+1) and GT8(i)); end generate; EQ <= SEQ(0); GT <= SGT(0); end comp64s_arch;