toggle_detect_false<='0'WHENdp_pipeline_src_out_pp.sync='1';-- ELSE will be impossible since the toggle_detect_false may only be triggered once on the first sync
sync_detect<=snk_in.validWHEN(snk_in.sync='1'ORdp_pipeline_src_out_p.sync='1'ORdp_pipeline_src_out_pp.sync='1')ELSE'0';-- @sync, first 3 cycles would try to read from the wrong (old) RAM block, detect this problem
toggle_detect_false<='0'WHENsnk_in_pp.sync='1';-- ELSE will be impossible since the toggle_detect_false may only be triggered once on the first sync
sync_detect<=snk_in.validWHEN(snk_in.sync='1'ORsnk_in_p.sync='1'ORsnk_in_pp.sync='1')ELSE'0';-- @sync, first 3 cycles would try to read from the wrong (old) RAM block, detect this problem
-- Only count sequential valid data on the same address when: address is the same as last and 1 or 2 cycles after the sync when in sync_detect; address is the same as last and past the initialisation and outside sync_detect
-- Detect a (valid) repeating address seperated by one other address past the initialisation and outside the first two cycles of a (new) sync --also @sync, one wil be true; use NOT(1 or 1) instead of (0 or 0)
-- IF data_check_arr(prev_check_adr) /= TO_UINT(st_histogram_ram_miso.rddata) AND dp_pipeline_src_out_pppp.valid='1' THEN
-- IF data_check_arr(prev_check_adr) /= TO_UINT(st_histogram_ram_miso.rddata) AND st_histogram_snk_in_pppp.valid='1' THEN
-- dbg_error_location <= '1';
-- REPORT "The value written to the RAM is not what it should be. See signal 'dbg_int_data_arr'. The failure concerns the bin (and array) address: " &integer'image(prev_check_adr) SEVERITY ERROR;
-- error_cnt <= error_cnt + 1;
...
...
@@ -513,7 +499,7 @@ BEGIN
-- show the location of an error after a small delay (to prevent spikes) when the data written is not the same as the reference and only when the data was initially valid. Do not allow to be triggered at the testbench end.
ASSERTdbg_error_location='0'REPORT"The value written to the RAM is not what it should be. Comparison failed on (bin and array) address: "&integer'image(prev_check_adr)SEVERITYERROR;