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

processed review comments

parent 8ff473d8
Branches
No related tags found
2 merge requests!100Removed text for XSub that is now written in Confluence Subband correlator...,!78Resolve L2SDP-164
......@@ -642,7 +642,7 @@ BEGIN
GENERIC MAP(
g_technology => g_technology,
g_nof_streams => c_sdp_S_pn,
g_buf_nof_data => c_sdp_ait_buf_nof_data_bsn,
g_buf_nof_data => c_sdp_V_si_db,
g_sim => g_sim
)
PORT MAP(
......
......@@ -487,7 +487,7 @@ BEGIN
reg_bsn_source_clk_export => OPEN,
reg_bsn_source_reset_export => OPEN,
reg_bsn_source_address_export => reg_bsn_source_mosi.address(c_sdp_reg_bsn_source_addr_w-1 DOWNTO 0),
reg_bsn_source_address_export => reg_bsn_source_mosi.address(2-1 DOWNTO 0),
reg_bsn_source_read_export => reg_bsn_source_mosi.rd,
reg_bsn_source_readdata_export => reg_bsn_source_miso.rddata(c_word_w-1 DOWNTO 0),
reg_bsn_source_write_export => reg_bsn_source_mosi.wr,
......@@ -544,7 +544,7 @@ BEGIN
ram_diag_data_buf_bsn_clk_export => OPEN,
ram_diag_data_buf_bsn_reset_export => OPEN,
ram_diag_data_buf_bsn_address_export => ram_diag_data_buf_bsn_mosi.address(c_sdp_ram_diag_data_buf_bsn_addr_w-1 DOWNTO 0),
ram_diag_data_buf_bsn_address_export => ram_diag_data_buf_bsn_mosi.address(14-1 DOWNTO 0),
ram_diag_data_buf_bsn_write_export => ram_diag_data_buf_bsn_mosi.wr,
ram_diag_data_buf_bsn_writedata_export => ram_diag_data_buf_bsn_mosi.wrdata(c_word_w-1 DOWNTO 0),
ram_diag_data_buf_bsn_read_export => ram_diag_data_buf_bsn_mosi.rd,
......@@ -560,7 +560,7 @@ BEGIN
ram_diag_data_buf_jesd_clk_export => OPEN,
ram_diag_data_buf_jesd_reset_export => OPEN,
ram_diag_data_buf_jesd_address_export => ram_diag_data_buf_jesd_mosi.address(c_sdp_ram_diag_data_buf_jesd_addr_w-1 DOWNTO 0),
ram_diag_data_buf_jesd_address_export => ram_diag_data_buf_jesd_mosi.address(11-1 DOWNTO 0),
ram_diag_data_buf_jesd_write_export => ram_diag_data_buf_jesd_mosi.wr,
ram_diag_data_buf_jesd_writedata_export => ram_diag_data_buf_jesd_mosi.wrdata(c_word_w-1 DOWNTO 0),
ram_diag_data_buf_jesd_read_export => ram_diag_data_buf_jesd_mosi.rd,
......@@ -568,7 +568,7 @@ BEGIN
reg_diag_data_buf_jesd_reset_export => OPEN,
reg_diag_data_buf_jesd_clk_export => OPEN,
reg_diag_data_buf_jesd_address_export => reg_diag_data_buf_jesd_mosi.address(c_sdp_reg_diag_data_buf_jesd_addr_w-1 DOWNTO 0),
reg_diag_data_buf_jesd_address_export => reg_diag_data_buf_jesd_mosi.address(2-1 DOWNTO 0),
reg_diag_data_buf_jesd_write_export => reg_diag_data_buf_jesd_mosi.wr,
reg_diag_data_buf_jesd_writedata_export => reg_diag_data_buf_jesd_mosi.wrdata(c_word_w-1 DOWNTO 0),
reg_diag_data_buf_jesd_read_export => reg_diag_data_buf_jesd_mosi.rd,
......
......@@ -551,7 +551,7 @@ BEGIN
GENERIC MAP(
g_technology => g_technology,
g_nof_streams => c_sdp_S_pn,
g_buf_nof_data => c_sdp_ait_buf_nof_data_bsn,
g_buf_nof_data => c_sdp_V_si_db,
g_sim => g_sim
)
PORT MAP(
......
......@@ -458,7 +458,7 @@ BEGIN
reg_bsn_source_clk_export => OPEN,
reg_bsn_source_reset_export => OPEN,
reg_bsn_source_address_export => reg_bsn_source_mosi.address(c_sdp_reg_bsn_source_addr_w-1 DOWNTO 0),
reg_bsn_source_address_export => reg_bsn_source_mosi.address(2-1 DOWNTO 0),
reg_bsn_source_read_export => reg_bsn_source_mosi.rd,
reg_bsn_source_readdata_export => reg_bsn_source_miso.rddata(c_word_w-1 DOWNTO 0),
reg_bsn_source_write_export => reg_bsn_source_mosi.wr,
......@@ -515,7 +515,7 @@ BEGIN
ram_diag_data_buf_bsn_clk_export => OPEN,
ram_diag_data_buf_bsn_reset_export => OPEN,
ram_diag_data_buf_bsn_address_export => ram_diag_data_buf_bsn_mosi.address(c_sdp_ram_diag_data_buf_bsn_addr_w-1 DOWNTO 0),
ram_diag_data_buf_bsn_address_export => ram_diag_data_buf_bsn_mosi.address(14-1 DOWNTO 0),
ram_diag_data_buf_bsn_write_export => ram_diag_data_buf_bsn_mosi.wr,
ram_diag_data_buf_bsn_writedata_export => ram_diag_data_buf_bsn_mosi.wrdata(c_word_w-1 DOWNTO 0),
ram_diag_data_buf_bsn_read_export => ram_diag_data_buf_bsn_mosi.rd,
......@@ -531,7 +531,7 @@ BEGIN
ram_diag_data_buf_jesd_clk_export => OPEN,
ram_diag_data_buf_jesd_reset_export => OPEN,
ram_diag_data_buf_jesd_address_export => ram_diag_data_buf_jesd_mosi.address(c_sdp_ram_diag_data_buf_jesd_addr_w-1 DOWNTO 0),
ram_diag_data_buf_jesd_address_export => ram_diag_data_buf_jesd_mosi.address(11-1 DOWNTO 0),
ram_diag_data_buf_jesd_write_export => ram_diag_data_buf_jesd_mosi.wr,
ram_diag_data_buf_jesd_writedata_export => ram_diag_data_buf_jesd_mosi.wrdata(c_word_w-1 DOWNTO 0),
ram_diag_data_buf_jesd_read_export => ram_diag_data_buf_jesd_mosi.rd,
......@@ -539,7 +539,7 @@ BEGIN
reg_diag_data_buf_jesd_reset_export => OPEN,
reg_diag_data_buf_jesd_clk_export => OPEN,
reg_diag_data_buf_jesd_address_export => reg_diag_data_buf_jesd_mosi.address(c_sdp_reg_diag_data_buf_jesd_addr_w-1 DOWNTO 0),
reg_diag_data_buf_jesd_address_export => reg_diag_data_buf_jesd_mosi.address(2-1 DOWNTO 0),
reg_diag_data_buf_jesd_write_export => reg_diag_data_buf_jesd_mosi.wr,
reg_diag_data_buf_jesd_writedata_export => reg_diag_data_buf_jesd_mosi.wrdata(c_word_w-1 DOWNTO 0),
reg_diag_data_buf_jesd_read_export => reg_diag_data_buf_jesd_mosi.rd,
......
......@@ -93,10 +93,10 @@ ENTITY node_sdp_adc_input_and_timing IS
jesd_ctrl_miso : OUT t_mem_miso;
-- JESD io signals
jesd204b_serial_data : IN STD_LOGIC_VECTOR(c_sdp_jesd204b_nof_streams-1 downto 0);
jesd204b_serial_data : IN STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
jesd204b_refclk : IN STD_LOGIC;
jesd204b_sysref : IN STD_LOGIC;
jesd204b_sync_n : OUT STD_LOGIC_VECTOR(c_sdp_jesd204b_nof_streams-1 DOWNTO 0);
jesd204b_sync_n : OUT STD_LOGIC_VECTOR(c_sdp_S_pn-1 DOWNTO 0);
-- Streaming data output
out_sosi_arr : OUT t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0)
......@@ -129,9 +129,9 @@ ARCHITECTURE str OF node_sdp_adc_input_and_timing IS
SIGNAL rx_sysref : STD_LOGIC;
-- Sosis and sosi arrays
SIGNAL rx_sosi_arr : t_dp_sosi_arr(c_sdp_jesd204b_nof_streams-1 DOWNTO 0);
SIGNAL dp_shiftram_snk_in_arr : t_dp_sosi_arr(c_sdp_jesd204b_nof_streams-1 DOWNTO 0);
SIGNAL ant_sosi_arr : t_dp_sosi_arr(c_sdp_jesd204b_nof_streams-1 DOWNTO 0);
SIGNAL rx_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
SIGNAL dp_shiftram_snk_in_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
SIGNAL ant_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
SIGNAL bs_sosi : t_dp_sosi;
SIGNAL wg_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
SIGNAL mux_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
......@@ -154,7 +154,7 @@ BEGIN
-- complete blocks, so from sop to eop.
mm_rst_internal <= mm_rst OR mm_jesd_ctrl_reg(31);
gen_jesd_disable : FOR I IN 0 TO c_sdp_jesd204b_nof_streams-1 GENERATE
gen_jesd_disable : FOR I IN 0 TO c_sdp_S_pn-1 GENERATE
jesd204b_disable_arr(i) <= mm_jesd_ctrl_reg(i);
END GENERATE;
......@@ -165,8 +165,8 @@ BEGIN
u_jesd204b: ENTITY tech_jesd204b_lib.tech_jesd204b
GENERIC MAP(
g_sim => g_sim,
g_nof_streams => c_sdp_jesd204b_nof_streams,
g_nof_sync_n => c_sdp_jesd204b_nof_sync_n,
g_nof_streams => c_sdp_S_pn,
g_nof_sync_n => c_sdp_S_pn/c_sdp_S_rcu, -- = 12/3 = 4
g_jesd_freq => c_sdp_jesd204b_freq
)
PORT MAP(
......@@ -190,7 +190,7 @@ BEGIN
-- Serial
serial_tx_arr => open,
serial_rx_arr => JESD204B_SERIAL_DATA(c_sdp_jesd204b_nof_streams-1 downto 0)
serial_rx_arr => JESD204B_SERIAL_DATA(c_sdp_S_pn-1 downto 0)
);
......@@ -201,7 +201,7 @@ BEGIN
-- . the input valid is always '1', even when there is no data
-----------------------------------------------------------------------------
gen_force_valid : FOR I IN 0 TO c_sdp_jesd204b_nof_streams-1 GENERATE
gen_force_valid : FOR I IN 0 TO c_sdp_S_pn-1 GENERATE
p_sosi : PROCESS(rx_sosi_arr)
BEGIN
dp_shiftram_snk_in_arr(I) <= rx_sosi_arr(I);
......@@ -212,7 +212,7 @@ BEGIN
u_dp_shiftram : ENTITY dp_lib.dp_shiftram
GENERIC MAP (
g_nof_streams => c_sdp_jesd204b_nof_streams,
g_nof_streams => c_sdp_S_pn,
g_nof_words => c_sdp_V_sample_delay,
g_data_w => c_sdp_W_adc_jesd,
g_use_sync_in => TRUE
......
......@@ -26,6 +26,7 @@
-- Description:
-- Remark:
-- . See Document: L3 SDP Decision: SDP Parameter definitions.
-- https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+SDP+Parameter+definitions
-------------------------------------------------------------------------------
LIBRARY ieee, common_lib, rTwoSDF_lib, fft_lib, filter_lib, wpfb_lib;
USE IEEE.std_logic_1164.ALL;
......@@ -68,41 +69,40 @@ PACKAGE sdp_pkg is
-------------------------------------------------
-- SDP specific parameters as defined in:
-- L3 SDP Decision: SDP Parameter definitions
-------------------------------------------------
CONSTANT c_sdp_N_pol : NATURAL := 2;
CONSTANT c_sdp_N_beamsets : NATURAL := 2;
CONSTANT c_sdp_N_sub : NATURAL := 512;
CONSTANT c_sdp_N_fft : NATURAL := 1024;
CONSTANT c_sdp_S_pn : NATURAL := 12;
CONSTANT c_sdp_Q_fft : NATURAL := 2;
CONSTANT c_sdp_N_pn_lb : NATURAL := 16;
CONSTANT c_sdp_N_pol : NATURAL := 2;
CONSTANT c_sdp_N_sub : NATURAL := 512;
CONSTANT c_sdp_N_taps : NATURAL := 16;
CONSTANT c_sdp_Q_fft : NATURAL := 2;
CONSTANT c_sdp_S_pn : NATURAL := 12;
CONSTANT c_sdp_S_rcu : NATURAL := 3;
CONSTANT c_sdp_S_sub_bf : NATURAL := 488;
CONSTANT c_sdp_V_sample_delay : NATURAL := 4096;
CONSTANT c_sdp_V_si_db : NATURAL := 1024;
CONSTANT c_sdp_V_si_db_large : NATURAL := 131072;
CONSTANT c_sdp_W_adc : NATURAL := 14;
CONSTANT c_sdp_W_adc_jesd : NATURAL := 16;
CONSTANT c_sdp_W_beamlet : NATURAL := 8;
CONSTANT c_sdp_W_beamlet_scale : NATURAL := 16;
CONSTANT c_sdp_W_beamlet_sum : NATURAL := 18;
CONSTANT c_sdp_W_bf_magnitude : NATURAL := 1;
CONSTANT c_sdp_W_bf_weight : NATURAL := 16;
CONSTANT c_sdp_W_fir_coef : NATURAL := 16;
CONSTANT c_sdp_W_gn_id : NATURAL := 5;
CONSTANT c_sdp_W_sub_magnitude : NATURAL := 2;
CONSTANT c_sdp_W_sub_weight : NATURAL := 16;
CONSTANT c_sdp_W_subband : NATURAL := 18;
CONSTANT c_sdp_P_pfb : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;
CONSTANT c_sdp_S_sub_bf : NATURAL := 488;
CONSTANT c_sdp_f_adc_MHz : NATURAL := 200;
-- Derived constants
CONSTANT c_sdp_P_pfb : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;
CONSTANT c_sdp_T_adc : TIME := (10**6 / c_sdp_f_adc_MHz) * 1 ps;
CONSTANT c_sdp_T_sub : TIME := c_sdp_N_fft * c_sdp_T_adc;
CONSTANT c_sdp_W_sub_weight : NATURAL := 16;
CONSTANT c_sdp_W_sub_magnitude : NATURAL := 2;
CONSTANT c_sdp_W_sub_fraction : NATURAL := c_sdp_W_sub_weight - c_sdp_W_sub_magnitude -1;
CONSTANT c_sdp_W_bf_weight : NATURAL := 16;
CONSTANT c_sdp_W_bf_magnitude : NATURAL := 1;
CONSTANT c_sdp_W_bf_fraction : NATURAL := c_sdp_W_bf_weight - c_sdp_W_bf_magnitude -1;
CONSTANT c_sdp_W_bf_product : NATURAL := c_sdp_W_subband + c_sdp_W_bf_weight -1;
CONSTANT c_sdp_W_beamlet_sum : NATURAL := 18;
CONSTANT c_sdp_W_beamlet : NATURAL := 8;
CONSTANT c_sdp_W_beamlet_scale : NATURAL := 16;
CONSTANT c_sdp_W_gn_id : NATURAL := 5;
CONSTANT c_sdp_N_pn_lb : NATURAL := 16;
CONSTANT c_sdp_S_rcu : NATURAL := 3;
CONSTANT c_sdp_V_sample_delay : NATURAL := 4096;
CONSTANT c_sdp_W_adc_jesd : NATURAL := 16;
CONSTANT c_sdp_V_si_db : NATURAL := 1024;
CONSTANT c_sdp_V_si_db_large : NATURAL := 131072;
CONSTANT c_sdp_ait_buf_nof_data_bsn : NATURAL := c_sdp_V_si_db; -- Old constant used in filterbank and beamformer
CONSTANT c_sdp_W_sub_fraction : NATURAL := c_sdp_W_sub_weight - c_sdp_W_sub_magnitude -1;
--
CONSTANT c_sdp_marker_sst : NATURAL := 83; -- = 0x53 = 'S'
......@@ -133,11 +133,6 @@ PACKAGE sdp_pkg is
-- JESD204
CONSTANT c_sdp_jesd204b_freq : STRING := "200MHz";
CONSTANT c_sdp_jesd204b_bus_w : NATURAL := 12;
CONSTANT c_sdp_jesd204b_nof_bus : NATURAL := 1;
CONSTANT c_sdp_jesd204b_nof_streams : NATURAL := c_sdp_jesd204b_bus_w*c_sdp_jesd204b_nof_bus;
CONSTANT c_sdp_jesd204b_nof_sync_n : NATURAL := c_sdp_jesd204b_bus_w/c_sdp_S_rcu; -- Three ADCs per RCU share a sync
CONSTANT c_sdp_jesd204b_mm_jesd_ctrl_reg : t_c_mem := (latency => 1,
adr_w => 1,
dat_w => c_word_w,
......@@ -152,9 +147,7 @@ PACKAGE sdp_pkg is
CONSTANT c_sdp_reg_dp_shiftram_addr_w : NATURAL := 1 + ceil_log2(c_sdp_S_pn);
CONSTANT c_sdp_reg_bsn_source_addr_w : NATURAL := 2;
CONSTANT c_sdp_reg_bsn_scheduler_addr_w : NATURAL := 1;
CONSTANT c_sdp_ram_diag_data_buf_jesd_addr_w : NATURAL := ceil_log2(c_sdp_S_pn*c_sdp_V_si_db);
CONSTANT c_sdp_reg_diag_data_buf_jesd_addr_w : NATURAL := 1 + ceil_log2(2);
CONSTANT c_sdp_ram_diag_data_buf_bsn_addr_w : NATURAL := ceil_log2(c_sdp_S_pn*c_sdp_V_si_db_large);
CONSTANT c_sdp_ram_diag_data_buf_bsn_addr_w : NATURAL := ceil_log2(c_sdp_S_pn*c_sdp_V_si_db_large); -- Dimension DB address range for largest DB, so that both the large and the default small DB fit.
CONSTANT c_sdp_reg_diag_data_buf_bsn_addr_w : NATURAL := 1 + ceil_log2(c_sdp_S_pn);
CONSTANT c_sdp_reg_aduh_monitor_addr_w : NATURAL := 2 + ceil_log2(c_sdp_S_pn);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment