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

Merge branch 'L2SDP-313' into 'master'

Resolve L2SDP-313

Closes L2SDP-313

See merge request desp/hdl!102
parents 3a1f34f8 b88f5048
No related branches found
No related tags found
1 merge request!102Resolve L2SDP-313
Showing
with 45 additions and 42 deletions
...@@ -244,22 +244,22 @@ peripherals: ...@@ -244,22 +244,22 @@ peripherals:
- RAM_ST_BST - RAM_ST_BST
- peripheral_name: common/common_variable_delay - peripheral_name: common/common_variable_delay
peripheral_group: bst peripheral_group: bst0
mm_port_names: mm_port_names:
- REG_STAT_ENABLE_BST_0 - REG_STAT_ENABLE_BST_0
- peripheral_name: sdp/sdp_statistics_offload_hdr_dat_bst - peripheral_name: sdp/sdp_statistics_offload_hdr_dat_bst
peripheral_group: bst peripheral_group: bst0
mm_port_names: mm_port_names:
- REG_STAT_HDR_DAT_BST_0 - REG_STAT_HDR_DAT_BST_0
- peripheral_name: common/common_variable_delay - peripheral_name: common/common_variable_delay
peripheral_group: bst peripheral_group: bst1
mm_port_names: mm_port_names:
- REG_STAT_ENABLE_BST_1 - REG_STAT_ENABLE_BST_1
- peripheral_name: sdp/sdp_statistics_offload_hdr_dat_bst - peripheral_name: sdp/sdp_statistics_offload_hdr_dat_bst
peripheral_group: bst peripheral_group: bst1
mm_port_names: mm_port_names:
- REG_STAT_HDR_DAT_BST_1 - REG_STAT_HDR_DAT_BST_1
......
...@@ -24,14 +24,12 @@ peripherals: ...@@ -24,14 +24,12 @@ peripherals:
- - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0x10 } - - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0x10 }
- - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x14 } - - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x14 }
- - { field_name: beam_repositioning_flag, mm_width: 1, access_mode: RW, address_offset: 0x18 } - - { field_name: beam_repositioning_flag, mm_width: 1, access_mode: RW, address_offset: 0x18 }
- - { field_name: subband_calibrated_flag, mm_width: 1, access_mode: RW, address_offset: 0x1C } - - { field_name: O_si, mm_width: 8, access_mode: RW, address_offset: 0x1C }
- - { field_name: O_si, mm_width: 8, access_mode: RW, address_offset: 0x20 } - - { field_name: N_si, mm_width: 8, access_mode: RW, address_offset: 0x20 }
- - { field_name: N_si, mm_width: 8, access_mode: RW, address_offset: 0x24 } - - { field_name: O_rn, mm_width: 8, access_mode: RW, address_offset: 0x24 }
- - { field_name: O_rn, mm_width: 8, access_mode: RW, address_offset: 0x28 } - - { field_name: N_rn, mm_width: 8, access_mode: RW, address_offset: 0x28 }
- - { field_name: N_rn, mm_width: 8, access_mode: RW, address_offset: 0x2C } - - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x2C }
- - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x30 } - - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x30 }
- - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x34 }
- peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py - peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py
peripheral_description: "SDP Subband equalizer coefficients." peripheral_description: "SDP Subband equalizer coefficients."
......
...@@ -118,7 +118,9 @@ ARCHITECTURE str OF node_sdp_filterbank IS ...@@ -118,7 +118,9 @@ ARCHITECTURE str OF node_sdp_filterbank IS
SIGNAL subband_equalizer_out_sosi_arr : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); SIGNAL subband_equalizer_out_sosi_arr : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
SIGNAL dp_selector_out_sosi_arr : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); SIGNAL dp_selector_out_sosi_arr : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
SIGNAL scope_sosi_arr : t_dp_sosi_integer_arr(c_sdp_S_pn-1 DOWNTO 0); SIGNAL scope_sosi_arr : t_dp_sosi_integer_arr(c_sdp_S_pn-1 DOWNTO 0);
SIGNAL selector_en : STD_LOGIC;
SIGNAL subband_calibrated_flag : STD_LOGIC;
BEGIN BEGIN
--------------------------------------------------------------- ---------------------------------------------------------------
-- SPECTRAL INVERSION -- SPECTRAL INVERSION
...@@ -224,7 +226,9 @@ BEGIN ...@@ -224,7 +226,9 @@ BEGIN
pipe_sosi_arr => wpfb_unit_out_sosi_arr, pipe_sosi_arr => wpfb_unit_out_sosi_arr,
ref_sosi_arr => subband_equalizer_out_sosi_arr, ref_sosi_arr => subband_equalizer_out_sosi_arr,
out_sosi_arr => dp_selector_out_sosi_arr out_sosi_arr => dp_selector_out_sosi_arr,
selector_en => selector_en
); );
--------------------------------------------------------------- ---------------------------------------------------------------
...@@ -307,6 +311,8 @@ BEGIN ...@@ -307,6 +311,8 @@ BEGIN
--------------------------------------------------------------- ---------------------------------------------------------------
-- STATISTICS OFFLOAD -- STATISTICS OFFLOAD
--------------------------------------------------------------- ---------------------------------------------------------------
subband_calibrated_flag <= NOT selector_en;
u_sdp_sst_udp_offload: ENTITY work.sdp_statistics_offload u_sdp_sst_udp_offload: ENTITY work.sdp_statistics_offload
GENERIC MAP ( GENERIC MAP (
g_statistics_type => "SST", g_statistics_type => "SST",
...@@ -330,6 +336,7 @@ BEGIN ...@@ -330,6 +336,7 @@ BEGIN
sdp_info => sdp_info, sdp_info => sdp_info,
gn_index => TO_UINT(gn_id), gn_index => TO_UINT(gn_id),
subband_calibrated_flag => subband_calibrated_flag,
in_sosi => dp_selector_out_sosi_arr(0), in_sosi => dp_selector_out_sosi_arr(0),
out_sosi => sst_udp_sosi, out_sosi => sst_udp_sosi,
......
...@@ -60,7 +60,7 @@ END sdp_info_reg; ...@@ -60,7 +60,7 @@ END sdp_info_reg;
ARCHITECTURE str OF sdp_info_reg IS ARCHITECTURE str OF sdp_info_reg IS
CONSTANT c_field_arr : t_common_field_arr(13 DOWNTO 0) := CONSTANT c_field_arr : t_common_field_arr(12 DOWNTO 0) :=
( (field_name_pad("station_id"), "RW", 16, field_default(0)), ( (field_name_pad("station_id"), "RW", 16, field_default(0)),
(field_name_pad("antenna_band_index"), "RO", 1, field_default(0)), (field_name_pad("antenna_band_index"), "RO", 1, field_default(0)),
(field_name_pad("observation_id"), "RW", 32, field_default(0)), (field_name_pad("observation_id"), "RW", 32, field_default(0)),
...@@ -68,7 +68,6 @@ ARCHITECTURE str OF sdp_info_reg IS ...@@ -68,7 +68,6 @@ ARCHITECTURE str OF sdp_info_reg IS
(field_name_pad("f_adc"), "RO", 1, field_default(0)), (field_name_pad("f_adc"), "RO", 1, field_default(0)),
(field_name_pad("fsub_type"), "RO", 1, field_default(0)), (field_name_pad("fsub_type"), "RO", 1, field_default(0)),
(field_name_pad("beam_repositioning_flag"), "RW", 1, field_default(0)), (field_name_pad("beam_repositioning_flag"), "RW", 1, field_default(0)),
(field_name_pad("subband_calibrated_flag"), "RW", 1, field_default(0)),
(field_name_pad("O_si"), "RW", 8, field_default(0)), (field_name_pad("O_si"), "RW", 8, field_default(0)),
(field_name_pad("N_si"), "RW", 8, field_default(0)), (field_name_pad("N_si"), "RW", 8, field_default(0)),
(field_name_pad("O_rn"), "RW", 8, field_default(0)), (field_name_pad("O_rn"), "RW", 8, field_default(0)),
...@@ -131,7 +130,6 @@ BEGIN ...@@ -131,7 +130,6 @@ BEGIN
sdp_info_wr.observation_id <= mm_fields_out(field_hi(c_field_arr, "observation_id") DOWNTO field_lo(c_field_arr, "observation_id")); sdp_info_wr.observation_id <= mm_fields_out(field_hi(c_field_arr, "observation_id") DOWNTO field_lo(c_field_arr, "observation_id"));
sdp_info_wr.nyquist_zone_index <= mm_fields_out(field_hi(c_field_arr, "nyquist_zone_index") DOWNTO field_lo(c_field_arr, "nyquist_zone_index")); sdp_info_wr.nyquist_zone_index <= mm_fields_out(field_hi(c_field_arr, "nyquist_zone_index") DOWNTO field_lo(c_field_arr, "nyquist_zone_index"));
sdp_info_wr.beam_repositioning_flag <= sl(mm_fields_out(field_hi(c_field_arr, "beam_repositioning_flag") DOWNTO field_lo(c_field_arr, "beam_repositioning_flag"))); sdp_info_wr.beam_repositioning_flag <= sl(mm_fields_out(field_hi(c_field_arr, "beam_repositioning_flag") DOWNTO field_lo(c_field_arr, "beam_repositioning_flag")));
sdp_info_wr.subband_calibrated_flag <= sl(mm_fields_out(field_hi(c_field_arr, "subband_calibrated_flag") DOWNTO field_lo(c_field_arr, "subband_calibrated_flag")));
sdp_info_wr.O_si <= mm_fields_out(field_hi(c_field_arr, "O_si") DOWNTO field_lo(c_field_arr, "O_si")); sdp_info_wr.O_si <= mm_fields_out(field_hi(c_field_arr, "O_si") DOWNTO field_lo(c_field_arr, "O_si"));
sdp_info_wr.N_si <= mm_fields_out(field_hi(c_field_arr, "N_si") DOWNTO field_lo(c_field_arr, "N_si")); sdp_info_wr.N_si <= mm_fields_out(field_hi(c_field_arr, "N_si") DOWNTO field_lo(c_field_arr, "N_si"));
sdp_info_wr.O_rn <= mm_fields_out(field_hi(c_field_arr, "O_rn") DOWNTO field_lo(c_field_arr, "O_rn")); sdp_info_wr.O_rn <= mm_fields_out(field_hi(c_field_arr, "O_rn") DOWNTO field_lo(c_field_arr, "O_rn"));
......
...@@ -51,7 +51,6 @@ PACKAGE sdp_pkg is ...@@ -51,7 +51,6 @@ PACKAGE sdp_pkg is
f_adc : STD_LOGIC; f_adc : STD_LOGIC;
fsub_type : STD_LOGIC; fsub_type : STD_LOGIC;
beam_repositioning_flag : STD_LOGIC; beam_repositioning_flag : STD_LOGIC;
subband_calibrated_flag : STD_LOGIC;
O_si : STD_LOGIC_VECTOR(7 DOWNTO 0); O_si : STD_LOGIC_VECTOR(7 DOWNTO 0);
N_si : STD_LOGIC_VECTOR(7 DOWNTO 0); N_si : STD_LOGIC_VECTOR(7 DOWNTO 0);
O_rn : STD_LOGIC_VECTOR(7 DOWNTO 0); O_rn : STD_LOGIC_VECTOR(7 DOWNTO 0);
...@@ -62,7 +61,7 @@ PACKAGE sdp_pkg is ...@@ -62,7 +61,7 @@ PACKAGE sdp_pkg is
CONSTANT c_sdp_info_rst : t_sdp_info := CONSTANT c_sdp_info_rst : t_sdp_info :=
( (OTHERS => '0'), '0', (OTHERS => '0'), (OTHERS => '0'), ( (OTHERS => '0'), '0', (OTHERS => '0'), (OTHERS => '0'),
'0', '0', '0', '0', '0', '0', '0',
(OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'), (OTHERS => '0'),
(OTHERS => '0'), (OTHERS => '0') ); (OTHERS => '0'), (OTHERS => '0') );
......
...@@ -74,10 +74,11 @@ ENTITY sdp_statistics_offload IS ...@@ -74,10 +74,11 @@ ENTITY sdp_statistics_offload IS
out_siso : IN t_dp_siso; out_siso : IN t_dp_siso;
-- inputs from other blocks -- inputs from other blocks
eth_src_mac : IN STD_LOGIC_VECTOR(c_network_eth_mac_addr_w-1 DOWNTO 0); eth_src_mac : IN STD_LOGIC_VECTOR(c_network_eth_mac_addr_w-1 DOWNTO 0);
udp_src_port : IN STD_LOGIC_VECTOR(c_network_udp_port_w-1 DOWNTO 0); udp_src_port : IN STD_LOGIC_VECTOR(c_network_udp_port_w-1 DOWNTO 0);
ip_src_addr : IN STD_LOGIC_VECTOR(c_network_ip_addr_w-1 DOWNTO 0); ip_src_addr : IN STD_LOGIC_VECTOR(c_network_ip_addr_w-1 DOWNTO 0);
sdp_info : IN t_sdp_info; sdp_info : IN t_sdp_info;
subband_calibrated_flag : IN STD_LOGIC := '0';
gn_index : IN NATURAL gn_index : IN NATURAL
); );
...@@ -168,7 +169,7 @@ BEGIN ...@@ -168,7 +169,7 @@ BEGIN
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type" )) <= SLV(sdp_info.fsub_type); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type" )) <= SLV(sdp_info.fsub_type);
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error" )) <= SLV(r.payload_err); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error" )) <= SLV(r.payload_err);
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" )) <= SLV(sdp_info.beam_repositioning_flag); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" )) <= SLV(sdp_info.beam_repositioning_flag);
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" )) <= SLV(sdp_info.subband_calibrated_flag); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" )) <= SLV(subband_calibrated_flag);
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_reserved" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_reserved" )) <= (OTHERS => '0'); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_reserved" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_reserved" )) <= (OTHERS => '0');
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id" )) <= TO_UVEC(gn_index, 5); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id" )) <= TO_UVEC(gn_index, 5);
dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_reserved" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_reserved" )) <= (OTHERS => '0'); dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_reserved" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "sdp_reserved" )) <= (OTHERS => '0');
......
...@@ -58,14 +58,13 @@ ARCHITECTURE tb OF tb_sdp_info IS ...@@ -58,14 +58,13 @@ ARCHITECTURE tb OF tb_sdp_info IS
CONSTANT c_mm_addr_O_rn : NATURAL := 3; CONSTANT c_mm_addr_O_rn : NATURAL := 3;
CONSTANT c_mm_addr_N_si : NATURAL := 4; CONSTANT c_mm_addr_N_si : NATURAL := 4;
CONSTANT c_mm_addr_O_si : NATURAL := 5; CONSTANT c_mm_addr_O_si : NATURAL := 5;
CONSTANT c_mm_addr_subband_calibrated_flag : NATURAL := 6; CONSTANT c_mm_addr_beam_repositioning_flag : NATURAL := 6;
CONSTANT c_mm_addr_beam_repositioning_flag : NATURAL := 7; CONSTANT c_mm_addr_fsub_type : NATURAL := 7;
CONSTANT c_mm_addr_fsub_type : NATURAL := 8; CONSTANT c_mm_addr_f_adc : NATURAL := 8;
CONSTANT c_mm_addr_f_adc : NATURAL := 9; CONSTANT c_mm_addr_nyquist_zone_index : NATURAL := 9;
CONSTANT c_mm_addr_nyquist_zone_index : NATURAL := 10; CONSTANT c_mm_addr_observation_id : NATURAL := 10;
CONSTANT c_mm_addr_observation_id : NATURAL := 11; CONSTANT c_mm_addr_antenna_band_index : NATURAL := 11;
CONSTANT c_mm_addr_antenna_band_index : NATURAL := 12; CONSTANT c_mm_addr_station_id : NATURAL := 12;
CONSTANT c_mm_addr_station_id : NATURAL := 13;
SIGNAL tb_end : STD_LOGIC := '0'; SIGNAL tb_end : STD_LOGIC := '0';
SIGNAL tb_mm_reg_end : STD_LOGIC := '0'; SIGNAL tb_mm_reg_end : STD_LOGIC := '0';
...@@ -110,7 +109,6 @@ BEGIN ...@@ -110,7 +109,6 @@ BEGIN
proc_mem_mm_bus_wr(c_mm_addr_O_rn ,13 ,mm_clk, reg_miso, reg_mosi); proc_mem_mm_bus_wr(c_mm_addr_O_rn ,13 ,mm_clk, reg_miso, reg_mosi);
proc_mem_mm_bus_wr(c_mm_addr_N_si ,14 ,mm_clk, reg_miso, reg_mosi); proc_mem_mm_bus_wr(c_mm_addr_N_si ,14 ,mm_clk, reg_miso, reg_mosi);
proc_mem_mm_bus_wr(c_mm_addr_O_si ,15 ,mm_clk, reg_miso, reg_mosi); proc_mem_mm_bus_wr(c_mm_addr_O_si ,15 ,mm_clk, reg_miso, reg_mosi);
proc_mem_mm_bus_wr(c_mm_addr_subband_calibrated_flag,1 ,mm_clk, reg_miso, reg_mosi);
proc_mem_mm_bus_wr(c_mm_addr_beam_repositioning_flag,1 ,mm_clk, reg_miso, reg_mosi); proc_mem_mm_bus_wr(c_mm_addr_beam_repositioning_flag,1 ,mm_clk, reg_miso, reg_mosi);
proc_mem_mm_bus_wr(c_mm_addr_fsub_type ,1 ,mm_clk, reg_miso, reg_mosi); -- RO proc_mem_mm_bus_wr(c_mm_addr_fsub_type ,1 ,mm_clk, reg_miso, reg_mosi); -- RO
proc_mem_mm_bus_wr(c_mm_addr_f_adc ,1 ,mm_clk, reg_miso, reg_mosi); -- RO proc_mem_mm_bus_wr(c_mm_addr_f_adc ,1 ,mm_clk, reg_miso, reg_mosi); -- RO
...@@ -144,10 +142,6 @@ BEGIN ...@@ -144,10 +142,6 @@ BEGIN
mm_natural_response <= TO_UINT(reg_miso.rddata); proc_common_wait_some_cycles(mm_clk, 1); mm_natural_response <= TO_UINT(reg_miso.rddata); proc_common_wait_some_cycles(mm_clk, 1);
ASSERT mm_natural_response = 15 REPORT "wrong O_si" SEVERITY ERROR; ASSERT mm_natural_response = 15 REPORT "wrong O_si" SEVERITY ERROR;
proc_mem_mm_bus_rd(c_mm_addr_subband_calibrated_flag, mm_clk, reg_mosi); proc_mem_mm_bus_rd_latency(c_mem_reg_rd_latency, mm_clk);
mm_natural_response <= TO_UINT(reg_miso.rddata); proc_common_wait_some_cycles(mm_clk, 1);
ASSERT mm_natural_response = 1 REPORT "wrong subband_calibrated_flag" SEVERITY ERROR;
proc_mem_mm_bus_rd(c_mm_addr_beam_repositioning_flag, mm_clk, reg_mosi); proc_mem_mm_bus_rd_latency(c_mem_reg_rd_latency, mm_clk); proc_mem_mm_bus_rd(c_mm_addr_beam_repositioning_flag, mm_clk, reg_mosi); proc_mem_mm_bus_rd_latency(c_mem_reg_rd_latency, mm_clk);
mm_natural_response <= TO_UINT(reg_miso.rddata); proc_common_wait_some_cycles(mm_clk, 1); mm_natural_response <= TO_UINT(reg_miso.rddata); proc_common_wait_some_cycles(mm_clk, 1);
ASSERT mm_natural_response = 1 REPORT "wrong beam_repositioning_flag" SEVERITY ERROR; ASSERT mm_natural_response = 1 REPORT "wrong beam_repositioning_flag" SEVERITY ERROR;
...@@ -235,7 +229,6 @@ BEGIN ...@@ -235,7 +229,6 @@ BEGIN
ASSERT TO_UINT(sdp_info.O_rn) = 13 REPORT "wrong sdp_info.O_rn value" SEVERITY ERROR; ASSERT TO_UINT(sdp_info.O_rn) = 13 REPORT "wrong sdp_info.O_rn value" SEVERITY ERROR;
ASSERT TO_UINT(sdp_info.N_si) = 14 REPORT "wrong sdp_info.N_si value" SEVERITY ERROR; ASSERT TO_UINT(sdp_info.N_si) = 14 REPORT "wrong sdp_info.N_si value" SEVERITY ERROR;
ASSERT TO_UINT(sdp_info.O_si) = 15 REPORT "wrong sdp_info.O_si value" SEVERITY ERROR; ASSERT TO_UINT(sdp_info.O_si) = 15 REPORT "wrong sdp_info.O_si value" SEVERITY ERROR;
ASSERT sdp_info.subband_calibrated_flag = '1' REPORT "wrong sdp_info.subband_calibrated_flag value" SEVERITY ERROR;
ASSERT sdp_info.beam_repositioning_flag = '1' REPORT "wrong sdp_info.beam_repositioning_flag value" SEVERITY ERROR; ASSERT sdp_info.beam_repositioning_flag = '1' REPORT "wrong sdp_info.beam_repositioning_flag value" SEVERITY ERROR;
ASSERT sdp_info.fsub_type = '1' REPORT "wrong sdp_info.fsub_type value" SEVERITY ERROR; ASSERT sdp_info.fsub_type = '1' REPORT "wrong sdp_info.fsub_type value" SEVERITY ERROR;
ASSERT sdp_info.f_adc = '1' REPORT "wrong sdp_info.f_adc value" SEVERITY ERROR; ASSERT sdp_info.f_adc = '1' REPORT "wrong sdp_info.f_adc value" SEVERITY ERROR;
......
...@@ -145,7 +145,6 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS ...@@ -145,7 +145,6 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
'0', -- f_adc '0', -- f_adc
'1', -- fsub_type '1', -- fsub_type
'0', -- beam_repositioning_flag '0', -- beam_repositioning_flag
'1', -- subband_calibrated_flag
x"01", -- O_si x"01", -- O_si
x"02", -- N_si x"02", -- N_si
x"04", -- O_rn x"04", -- O_rn
......
...@@ -52,7 +52,9 @@ ENTITY dp_selector IS ...@@ -52,7 +52,9 @@ ENTITY dp_selector IS
pipe_sosi : IN t_dp_sosi; pipe_sosi : IN t_dp_sosi;
ref_sosi : IN t_dp_sosi; ref_sosi : IN t_dp_sosi;
out_sosi : OUT t_dp_sosi out_sosi : OUT t_dp_sosi;
selector_en : OUT STD_LOGIC
); );
END dp_selector; END dp_selector;
...@@ -76,7 +78,9 @@ BEGIN ...@@ -76,7 +78,9 @@ BEGIN
pipe_sosi_arr(0) => pipe_sosi, pipe_sosi_arr(0) => pipe_sosi,
ref_sosi_arr(0) => ref_sosi, ref_sosi_arr(0) => ref_sosi,
out_sosi_arr(0) => out_sosi out_sosi_arr(0) => out_sosi,
selector_en => selector_en
); );
END str; END str;
...@@ -56,7 +56,9 @@ ENTITY dp_selector_arr IS ...@@ -56,7 +56,9 @@ ENTITY dp_selector_arr IS
pipe_sosi_arr : IN t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0); pipe_sosi_arr : IN t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0);
ref_sosi_arr : IN t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0); ref_sosi_arr : IN t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0);
out_sosi_arr : OUT t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0) out_sosi_arr : OUT t_dp_sosi_arr(g_nof_arr-1 DOWNTO 0);
selector_en : OUT STD_LOGIC
); );
END dp_selector_arr; END dp_selector_arr;
...@@ -72,6 +74,8 @@ ARCHITECTURE str OF dp_selector_arr IS ...@@ -72,6 +74,8 @@ ARCHITECTURE str OF dp_selector_arr IS
BEGIN BEGIN
selector_en <= reg_selector_en(0);
u_mms_common_reg : ENTITY common_lib.mms_common_reg u_mms_common_reg : ENTITY common_lib.mms_common_reg
GENERIC MAP ( GENERIC MAP (
g_mm_reg => c_selector_mem_reg g_mm_reg => c_selector_mem_reg
......
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