-- Auto increment v_sosi field values for this packet
v_sosi.bsn:=INCR_UVEC(v_sosi.bsn,1);
v_sosi.sync:=sel_a_b((UNSIGNED(v_sosi.bsn)MODc_sync_period)=c_sync_offset,'1','0');-- insert sync starting at BSN=c_sync_offset and with period c_sync_period
v_sosi.channel:=INCR_UVEC(v_sosi.channel,1);
v_sosi.data:=INCR_UVEC(v_sosi.data,g_pkt_len);
v_sosi.data:=RESIZE_DP_DATA(v_sosi.data(g_in_dat_w-1DOWNTO0));-- wrap when >= 2**g_in_dat_w