From abae3c09084983c61ceb9537f38327d232d01fe5 Mon Sep 17 00:00:00 2001
From: Reinier van der Walle <walle@astron.nl>
Date: Thu, 29 Apr 2021 10:39:07 +0200
Subject: [PATCH] initial commit of sdp_crosslets_subband_select.vhd

---
 .../src/vhdl/sdp_crosslets_subband_select.vhd | 90 +++++++++++++++++++
 1 file changed, 90 insertions(+)
 create mode 100644 applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd

diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd
new file mode 100644
index 0000000000..c61f2da4ef
--- /dev/null
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd
@@ -0,0 +1,90 @@
+-------------------------------------------------------------------------------
+--
+-- Copyright 2021
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+--
+-- Author: R. van der Walle
+-- Purpose: 
+-- Description:
+-- Remark:
+-- .
+-------------------------------------------------------------------------------
+
+LIBRARY IEEE, common_lib, dp_lib, reorder_lib, st_lib;
+USE IEEE.STD_LOGIC_1164.ALL;
+USE common_lib.common_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE common_lib.common_network_layers_pkg.ALL;
+USE dp_lib.dp_stream_pkg.ALL;
+USE work.sdp_pkg.ALL;
+
+ENTITY sdp_crosslets_subband_select IS
+  GENERIC (
+    g_sim        : BOOLEAN := FALSE;
+    g_beamset_id : NATURAL := 0;
+    g_scope_selected_beamlet : NATURAL := 0
+  );
+  PORT (
+    dp_clk        : IN  STD_LOGIC;
+    dp_rst        : IN  STD_LOGIC;
+
+    in_sosi_arr   : IN  t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);
+    bf_udp_sosi   : OUT t_dp_sosi;
+    bf_udp_siso   : IN  t_dp_siso;
+    bst_udp_sosi  : OUT t_dp_sosi;
+
+    mm_rst        : IN  STD_LOGIC;
+    mm_clk        : IN  STD_LOGIC;
+
+
+  );
+END sdp_crosslets_subband_select;
+
+ARCHITECTURE str OF sdp_crosslets_subband_select IS
+  
+
+BEGIN
+  ---------------------------------------------------------------
+  -- Beamlet Subband Select 
+  ---------------------------------------------------------------
+  u_reorder_col_wide : ENTITY reorder_lib.reorder_col_wide
+  GENERIC MAP (
+    g_wb_factor          => c_sdp_P_pfb, -- g_wb_factor is only used for number of parallel streams 
+    g_dsp_data_w         => c_sdp_W_subband,
+    g_nof_ch_in          => c_sdp_N_sub * c_sdp_Q_fft,
+    g_nof_ch_sel         => c_sdp_S_sub_bf * c_sdp_Q_fft,
+    g_select_file_prefix => c_bf_select_file_prefix,
+    g_use_complex        => TRUE
+  )
+  PORT MAP(
+    input_sosi_arr  => in_sosi_arr, 
+    output_sosi_arr => bsel_sosi_arr, 
+    
+    ram_ss_ss_wide_mosi  => ram_ss_ss_wide_mosi, 
+    ram_ss_ss_wide_miso  => ram_ss_ss_wide_miso, 
+
+    mm_rst       => mm_rst, 
+    mm_clk       => mm_clk, 
+    dp_clk       => dp_clk, 
+    dp_rst       => dp_rst 
+  );
+
+
+END str;
-- 
GitLab