diff --git a/hdl/combpm_protocol_electron.vhd b/hdl/combpm_protocol_electron.vhd index 32c3c05901a828d1c0207bbf62241a9f891d1b10..499d56286c9b3434f16e0abbe7cdd0b433a91334 100644 --- a/hdl/combpm_protocol_electron.vhd +++ b/hdl/combpm_protocol_electron.vhd @@ -294,6 +294,12 @@ begin cnt_invalid_r <= (others => '0'); rate_valid_r <= (others => '0'); rate_invalid_r <= (others => '0'); + frame_valid_rate<= (others => '0'); + frame_invalid_rate<= (others => '0'); + last_seq <= (others => '0'); + last_cnt_seq_r <= (others => '0'); + seq_discontinuity <= '0'; + cnt_seq_mismatch <= '0'; elsif rising_edge(clk) then if soft_reset = '1' then @@ -302,6 +308,12 @@ begin cnt_invalid_r <= (others => '0'); rate_valid_r <= (others => '0'); rate_invalid_r <= (others => '0'); + frame_valid_rate<= (others => '0'); + frame_invalid_rate<= (others => '0'); + last_seq <= (others => '0'); + last_cnt_seq_r <= (others => '0'); + seq_discontinuity <= '0'; + cnt_seq_mismatch <= '0'; else -- Valid frame counter if flag_all = '1' then diff --git a/hdl/top_combpm_electron.vhd b/hdl/top_combpm_electron.vhd index fe7b8adef5763326ea79a65bcaa3884780515869..76588f7add5bf88b3602e9317dc4dacd4c14d58f 100644 --- a/hdl/top_combpm_electron.vhd +++ b/hdl/top_combpm_electron.vhd @@ -255,6 +255,7 @@ begin framecnt_invalidframecnt_i => frame_invalid_cnt, framerate_validframerate_i => frame_valid_rate, framerate_invalidframerate_i => frame_invalid_rate, + frameseq_framecnt_i => frame_seq_cnt, clk => usrclk, reset => sync_reset, diff --git a/rdl/combpm_ctrl.rdl b/rdl/combpm_ctrl.rdl index 98745d9cc596d4f899bf6752c8ddda3a584dc06c..bb1345bdca12391ea3624b8b69285728605f7821 100644 --- a/rdl/combpm_ctrl.rdl +++ b/rdl/combpm_ctrl.rdl @@ -146,5 +146,15 @@ addrmap combpm_ctrl { } INVALIDFRAMERATE[16]; } FRAMERATE; + reg { + name="Protocol frame sequence"; + + field { + desc="Number of frames in sequence"; + hw=w;sw=r; + } FRAMECNT[16]; + + } FRAMESEQ; + };