signal send_chksum : std_logic := '0';
signal got_chksum : std_logic;
signal got_fatal_error : std_logic;
-signal enable_chksum_reg : std_logic_vector(5 downto 0) := "000000";
+signal enable_chksum_reg : std_logic_vector(5 downto 0) := "111111";
signal enable_chksum_comb : std_logic_vector(5 downto 0);
begin
end if;
if use_crc_200 = '1' and num_pakets /= 0 and force_crc_error_int = '0'
and disable_crc = '0'
- and enable_chksum_200(0) = '1' and enable_chksum_200(3) = '1' then
- -- IDLE only allowed after CRC, must be disabled until explicitly
- -- switched on
--- rx_state <= FIRST;
- force_crc_error_int <= '1';
- if enable_chksum_200(4) = '1' and num_pakets=5 then
- force_crc_error_int <= '0'; --mask obligatory CRC after 5 pakets
- end if;
+ and enable_chksum_200(0) = '1' then
+ if enable_chksum_200(3) = '1' and num_pakets /= 5 then
+ -- No IDLE in between transfer
+ force_crc_error_int <= '1';
+ elsif enable_chksum_200(4) = '1' and num_pakets=5 then
+ --no obligatory CRC after 5 pakets
+ force_crc_error_int <= '1';
+ end if;
end if;
when GET_DATA =>