10 USE ieee.std_logic_1164.
all;
15 SEED: STD_LOGIC := '1');
17 ttc_data: IN STD_LOGIC_VECTOR(31 DOWNTO 0);
18 parity12: OUT STD_LOGIC;
19 parity32: OUT STD_LOGIC);
24 SIGNAL parity_calc: STD_LOGIC_VECTOR(31 DOWNTO 0);
25 SIGNAL parity_merge: STD_LOGIC_VECTOR(7 DOWNTO 0);
29 parity_nibble: for j in 0 to 7 generate
30 parity_calc(j*4) <= ttc_data(j*4);
31 parity_bit: for i in 1 to 3 generate
32 parity_calc((j*4)+i) <= parity_calc((j*4)+i-1) XOR ttc_data((j*4)+i);
33 end generate parity_bit;
34 end generate parity_nibble;
37 parity_merge(0) <= parity_calc(3) XOR SEED;
38 parity_accumulate: for j in 1 to 7 generate
39 parity_merge(j) <= parity_calc((j*4)+3) XOR parity_merge(j-1);
40 end generate parity_accumulate;
42 parity12 <= parity_merge(2);
43 parity32 <= parity_merge(7);
generate parity for data going from Control FPGA to Processors
generate parity for data going from Control FPGA to Processors