Skip to content
Snippets Groups Projects
Commit fdfa69aa authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Improved description.

parent c12db144
No related branches found
No related tags found
1 merge request!317Resolve L2SDP-7
Pipeline #46647 passed
...@@ -25,26 +25,38 @@ ...@@ -25,26 +25,38 @@
-- use the Raw sample Sequence Number (RSN) as rs_sosi.bsn according to the -- use the Raw sample Sequence Number (RSN) as rs_sosi.bsn according to the
-- PPS and RSN grid defined in [1]. -- PPS and RSN grid defined in [1].
-- Description: -- Description:
-- The rs_sosi timing is derived from the input bs_sosi, but the rs_sosi -- The BSN in the input bs_sosi counts blocks of g_bs_block_size samples
-- since t_epoch = 1 Jan 1970 [1]. The RSN can start at any BSN, using
-- RSN = BSN * g_bs_block_size as initial value. The block size
-- g_rs_block_size of the RSN is free to choose and will typically differ
-- from the BSN block size g_bs_block_size. Therefore counting back to
-- t_epoch the very first RSN block in the output rs_sosi will typically
-- not start at t_epoch. The RSN will start at 0 at t_epoch, because it
-- counts samples. Therefore choose to let the bsn field in the rs_sosi
-- record carry the RSN of the first sample in the block, instead of
-- counting blocks. The RSN thus increments by g_rs_block_size (instead of
-- by 1) for every block.
-- Features:
-- . The rs_sosi timing is derived from the input bs_sosi, but the rs_sosi
-- uses RSN as rs_sosi.bsn and has its own block and sync intervals. -- uses RSN as rs_sosi.bsn and has its own block and sync intervals.
-- Assumption is that every clk cycle carries valid data when the -- . Assumption is that every clk cycle carries valid data when the
-- bs_sosi.valid is '1', so no gaps in bs_sosi.valid. -- bs_sosi.valid is '1', so no gaps in bs_sosi.valid.
-- The bs_sosi can stop and restart. It (re)starts with bs_sosi.sync and -- . The bs_sosi can stop and restart. It (re)starts with bs_sosi.sync and
-- bs_sosi.sop when bs_sosi.valid becomes '1' and it stops when -- bs_sosi.sop when bs_sosi.valid becomes '1' and it stops when
-- bs_sosi.valid becomes '0' immediately after a bs_sosi.eop. -- bs_sosi.valid becomes '0' immediately after a bs_sosi.eop.
-- The rs_sosi block size is g_rs_block_size. -- . The rs_sosi block size is g_rs_block_size.
-- The rs_sosi sync interval has g_nof_clk_per_sync. If g_nof_clk_per_sync -- . The rs_sosi sync interval has g_nof_clk_per_sync. If g_nof_clk_per_sync
-- is not a multiple of g_rs_block_size, then the rs_sosi.sync will occur at -- is not a multiple of g_rs_block_size, then the rs_sosi.sync will occur at
-- the next start of block. -- the next start of block.
-- The initial RSN in rs_sosi.bsn is bs_sosi.bsn * g_bs_block_size, where -- . The initial RSN in rs_sosi.bsn is bs_sosi.bsn * g_bs_block_size, where
-- g_bs_block_size is the input block size of bs_sosi. -- g_bs_block_size is the input block size of bs_sosi.
-- The rs_sosi starts when the bs_sosi starts, so when bs_sosi.sync = '1' -- . The rs_sosi starts when the bs_sosi starts, so when bs_sosi.sync = '1'
-- and bs_sosi.valid becomes '1'. -- and bs_sosi.valid becomes '1'.
-- The rs_sosi ends after the rs_sosi.eop, when the bs_sosi ends. There -- . The rs_sosi ends after the rs_sosi.eop, when the bs_sosi ends. There
-- may be undefined filler data in the last rs_sosi block to finish it -- may be undefined filler data in the last rs_sosi block to finish it
-- after the rs_sosi.eop. -- after the rs_sosi.eop.
-- Remark: -- Remark:
-- * The bs_sosi typically comes from dp_bsn_source_v2.vhd -- . The bs_sosi typically comes from dp_bsn_source_v2.vhd
-- --
-- References: -- References:
-- [1] https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+Timing+in+Station -- [1] https://support.astron.nl/confluence/display/L2M/L2+STAT+Decision%3A+Timing+in+Station
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment