library ieee; use ieee.std_logic_1164.all; entity hamm_enc_4b is port ( data : in std_logic_vector(3 downto 0); code : out std_logic_vector(6 downto 0) ); end hamm_enc_4b; architecture Behavioural of hamm_enc_4b is signal hamming : std_logic_vector(2 downto 0); begin ---------------------------------------------------------------------- -- HAMMING ENCODER (7,4) ---------------------------------------------------------------------- -- HAMMING BITS ------------------------------------------------------------- hamming(0) <= data( 0) xor data( 1) xor data( 3) ; hamming(1) <= data( 0) xor data( 2) xor data( 3) ; hamming(2) <= data( 1) xor data( 2) xor data( 3) ; -- OUTPUT CODE -------------------------------------------------------------- code <= data( 3) & data( 2) & data( 1) & hamming(2) & data( 0) & hamming(1) & hamming(0) ; end Behavioural;