Skip to content
Snippets Groups Projects
Commit fa87694d authored by Reinier van der Walle's avatar Reinier van der Walle
Browse files

Added the check if g_check_input_sync = True for using the input sync to

reset the counter.
parent 9ea81327
No related branches found
No related tags found
1 merge request!37Resolve L2SDP-136
...@@ -136,9 +136,8 @@ ...@@ -136,9 +136,8 @@
-- . Using g_check_input_sync=True is similar to using a dp_sync_checker in -- . Using g_check_input_sync=True is similar to using a dp_sync_checker in
-- front of this dp_block_gen_valid_arr. However the advantage of -- front of this dp_block_gen_valid_arr. However the advantage of
-- dp_sync_checker is that it provides monitoring and control via MM. -- dp_sync_checker is that it provides monitoring and control via MM.
-- . If snk_in.sync is always '0', sync out is generated at g_nof_blk_per_sync. -- . If g_check_input_sync = True, te output sync is derived from snk_in.sync to
-- Otherwise, the output sync is also derived from snk_in.sync to allow for -- allow for a fractional amount of blocks per sync period.
-- a fractional amount of blocks per sync period.
LIBRARY IEEE, common_lib; LIBRARY IEEE, common_lib;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.ALL;
...@@ -274,14 +273,14 @@ BEGIN ...@@ -274,14 +273,14 @@ BEGIN
-- maintain blk_cnt for output sync interval, the blk_cnt is the local bsn that wraps at every sync -- maintain blk_cnt for output sync interval, the blk_cnt is the local bsn that wraps at every sync
IF r.blk_cnt>=g_nof_blk_per_sync-1 THEN IF r.blk_cnt>=g_nof_blk_per_sync-1 THEN
nxt_r.blk_cnt <= 0; nxt_r.blk_cnt <= 0;
ELSIF snk_in.sync = '1' THEN ELSIF g_check_input_sync AND snk_in.sync = '1' THEN
nxt_r.blk_cnt <= 1; nxt_r.blk_cnt <= 1;
ELSE ELSE
nxt_r.blk_cnt <= r.blk_cnt+1; nxt_r.blk_cnt <= r.blk_cnt+1;
END IF; END IF;
-- create local sync and pass on input bsn at local sync -- create local sync and pass on input bsn at local sync
IF r.blk_cnt=0 OR snk_in.sync = '1' THEN -- output sync starts at first input valid IF r.blk_cnt=0 OR (g_check_input_sync AND snk_in.sync = '1') THEN -- output sync starts at first input valid
nxt_r.reg_sosi.sync <= '1'; -- output sync for this block nxt_r.reg_sosi.sync <= '1'; -- output sync for this block
nxt_r.reg_sosi.bsn <= in_sosi.bsn; -- output input bsn at sync nxt_r.reg_sosi.bsn <= in_sosi.bsn; -- output input bsn at sync
ELSE ELSE
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment