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 @@
-- use the Raw sample Sequence Number (RSN) as rs_sosi.bsn according to the
-- PPS and RSN grid defined in [1].
-- 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.
-- 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.
-- 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.valid becomes '0' immediately after a bs_sosi.eop.
-- 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 block size is g_rs_block_size.
-- . 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
-- 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.
-- 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'.
-- 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
-- after the rs_sosi.eop.
-- Remark:
-- * The bs_sosi typically comes from dp_bsn_source_v2.vhd
-- . The bs_sosi typically comes from dp_bsn_source_v2.vhd
--
-- References:
-- [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