diff --git a/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd b/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd index b33203559a0bc10516fead222645b160f4f47da4..4e5eb22cb66268b4d144dacfe287207737c1bf92 100644 --- a/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd +++ b/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd @@ -334,6 +334,9 @@ PACKAGE dp_stream_pkg Is -- Functions to combinatorially handle the error field FUNCTION func_dp_stream_error_set(st_sosi : t_dp_sosi; n : NATURAL) RETURN t_dp_sosi; -- force err = 0, is OK + -- Functions to combinatorially handle the BSN field + FUNCTION func_dp_stream_bsn_set(st_sosi : t_dp_sosi; bsn : STD_LOGIC_VECTOR) RETURN t_dp_sosi; + -- Functions to combine sosi fields FUNCTION func_dp_stream_combine_info_and_data(info, data : t_dp_sosi) RETURN t_dp_sosi; @@ -1144,12 +1147,22 @@ PACKAGE BODY dp_stream_pkg IS RETURN v_rec; END func_dp_stream_channel_remove; + FUNCTION func_dp_stream_error_set(st_sosi : t_dp_sosi; n : NATURAL) RETURN t_dp_sosi IS VARIABLE v_rec : t_dp_sosi := st_sosi; BEGIN v_rec.err := TO_UVEC(n, c_dp_stream_error_w); RETURN v_rec; END func_dp_stream_error_set; + + + FUNCTION func_dp_stream_bsn_set(st_sosi : t_dp_sosi; bsn : STD_LOGIC_VECTOR) RETURN t_dp_sosi IS + VARIABLE v_rec : t_dp_sosi := st_sosi; + BEGIN + v_rec.bsn := RESIZE_DP_BSN(bsn); + RETURN v_rec; + END func_dp_stream_bsn_set; + FUNCTION func_dp_stream_combine_info_and_data(info, data : t_dp_sosi) RETURN t_dp_sosi IS VARIABLE v_rec : t_dp_sosi := data; -- Sosi data fields