From fe697c9ff17be874a8f0e35f5e6f5951374df8d4 Mon Sep 17 00:00:00 2001
From: Pepping <pepping>
Date: Thu, 30 Apr 2015 08:15:44 +0000
Subject: [PATCH] Replaced to bf library

---
 .../unb1_fn_bf/src/vhdl/node_unb1_fn_bf.vhd   | 219 ------------------
 1 file changed, 219 deletions(-)
 delete mode 100644 libraries/dsp/bf/designs/unb1_fn_bf/src/vhdl/node_unb1_fn_bf.vhd

diff --git a/libraries/dsp/bf/designs/unb1_fn_bf/src/vhdl/node_unb1_fn_bf.vhd b/libraries/dsp/bf/designs/unb1_fn_bf/src/vhdl/node_unb1_fn_bf.vhd
deleted file mode 100644
index 983302f311..0000000000
--- a/libraries/dsp/bf/designs/unb1_fn_bf/src/vhdl/node_unb1_fn_bf.vhd
+++ /dev/null
@@ -1,219 +0,0 @@
--------------------------------------------------------------------------------
---
--- Copyright (C) 2011
--- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
--- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
---
--- This program is free software: you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation, either version 3 of the License, or
--- (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program.  If not, see <http://www.gnu.org/licenses/>.
---
--------------------------------------------------------------------------------
-
-LIBRARY IEEE, common_lib, dp_lib, diag_lib, eth_lib, tech_tse_lib, bf_lib;
-USE IEEE.STD_LOGIC_1164.ALL;
-USE IEEE.NUMERIC_STD.ALL;
-USE common_lib.common_pkg.ALL;
-USE common_lib.common_mem_pkg.ALL;
-USE common_lib.common_network_total_header_pkg.ALL;
-USE dp_lib.dp_stream_pkg.ALL;
-USE diag_lib.diag_pkg.ALL;
-USE eth_lib.eth_pkg.ALL; 
-USE tech_tse_lib.tech_tse_pkg.ALL;
-USE tech_tse_lib.tb_tech_tse_pkg.ALL;
-USE bf_lib.ALL;
-USE bf_lib.bf_pkg.ALL;
-
-ENTITY node_unb1_fn_bf IS
-  GENERIC(
-    g_use_bf                : BOOLEAN  := TRUE; -- FALSE skips instantiation of the BF
-    g_bf                    : t_c_bf   := c_bf;
-    g_bf_weights_file_name  : STRING   := "../../../../../dsp/bf/build/data/weights";              -- default file location for synthesis
-    g_ss_wide_file_prefix   : STRING   := "UNUSED"; -- path_to_file    
-    g_bf_offload            : BOOLEAN  := FALSE; -- Use DP TX offload to stream BF output towards LCU
-    g_use_block_gen         : BOOLEAN  := TRUE;  -- FALSE uses external input.
-    g_block_gen_file_prefix : STRING   := "../../../../../modules/Lofar/diag/src/data/bf_in_data"; -- default file location for synthesis
-    g_bg_diag_wave_period   : POSITIVE := 4;     -- This generic defines the period of the waveform that is generated with the block generator.  
-    g_weights_write_only    : BOOLEAN  := FALSE     -- When set to TRUE the M9K blocks are forced to Simple Dual Port mode. When FALSE it is True Dual Port.
-  );
-  PORT(
-    -- System
-    mm_rst                  : IN  STD_LOGIC;
-    mm_clk                  : IN  STD_LOGIC;   -- 125 MHz from xo_clk PLL in SOPC system
-    dp_rst                  : IN  STD_LOGIC;
-    dp_clk                  : IN  STD_LOGIC;   -- 200 MHz from CLK system clock
-    -- MM interface         
-    -- . block generator    
-    reg_diag_bg_mosi        : IN  t_mem_mosi; 
-    reg_diag_bg_miso        : OUT t_mem_miso; 
-    ram_diag_bg_mosi        : IN  t_mem_mosi; 
-    ram_diag_bg_miso        : OUT t_mem_miso; 
-    -- . beam former       
-    ram_ss_ss_wide_mosi     : IN  t_mem_mosi;
-    ram_ss_ss_wide_miso     : OUT t_mem_miso := c_mem_miso_rst;  
-    ram_bf_weights_mosi     : IN  t_mem_mosi;
-    ram_bf_weights_miso     : OUT t_mem_miso; 
-    ram_st_sst_bf_mosi      : IN  t_mem_mosi;
-    ram_st_sst_bf_miso      : OUT t_mem_miso;
-    reg_st_sst_bf_mosi      : IN  t_mem_mosi;
-    reg_st_sst_bf_miso      : OUT t_mem_miso;
-    -- . hdr_insert and hdr_remove for bf_out_offload
-    reg_hdr_insert_mosi     : IN  t_mem_mosi := c_mem_mosi_rst;
-    ram_hdr_insert_mosi     : IN  t_mem_mosi := c_mem_mosi_rst;
-    -- . Nof words to offload selection
-    reg_dp_split_mosi       : IN  t_mem_mosi := c_mem_mosi_rst;
-    reg_dp_split_miso       : OUT t_mem_miso;
-    reg_dp_pkt_merge_mosi   : IN  t_mem_mosi := c_mem_mosi_rst;
-    reg_dp_pkt_merge_miso   : OUT t_mem_miso;
-
-    -- ST interface, BF subbands in
-    ext_in_sosi_arr         : IN  t_dp_sosi_arr( g_bf.nof_input_streams-1 DOWNTO 0) := (OTHERS=>c_dp_sosi_rst); 
-    ext_in_siso_arr         : OUT t_dp_siso_arr( g_bf.nof_input_streams-1 DOWNTO 0) := (OTHERS=>c_dp_siso_rst);     
-
-    -- ST interface, BF beamlets out
-    out_raw_sosi_arr        : OUT t_dp_sosi_arr( g_bf.nof_bf_units-1 DOWNTO 0);  -- raw beamlets
-    out_bst_sosi_arr        : OUT t_dp_sosi_arr( g_bf.nof_bf_units-1 DOWNTO 0);  -- 16b beamlets; a selection can be offloaded via bf_out_offload_tx_sosi_arr.
-    out_qua_sosi_arr        : OUT t_dp_sosi_arr( g_bf.nof_bf_units-1 DOWNTO 0);  --  8b beamlets
-
-    -- DP offload for 1GbE
-    bf_out_offload_tx_sosi_arr : OUT t_dp_sosi_arr(c_eth_nof_udp_ports-1 DOWNTO 0);  -- 16b beamlets
-    bf_out_offload_tx_siso_arr : IN  t_dp_siso_arr(c_eth_nof_udp_ports-1 DOWNTO 0) := (OTHERS => c_dp_siso_rst)
-  );
-END node_unb1_fn_bf;
-
-ARCHITECTURE str OF node_unb1_fn_bf IS   
-  
-  CONSTANT c_buf_addr_w     : NATURAL  := ceil_log2(g_bg_diag_wave_period) + ceil_log2(g_bf.nof_subbands*g_bf.nof_signal_paths/g_bf.nof_input_streams);
-  
-  SIGNAL bf_in_sosi_arr     : t_dp_sosi_arr( g_bf.nof_input_streams-1 DOWNTO 0); 
-  SIGNAL bg_out_sosi_arr    : t_dp_sosi_arr( g_bf.nof_input_streams-1 DOWNTO 0); 
-
-  SIGNAL i_out_bst_sosi_arr : t_dp_sosi_arr(g_bf.nof_bf_units-1 DOWNTO 0);
-  
-BEGIN
-
-  out_bst_sosi_arr <= i_out_bst_sosi_arr;
-
-  ---------------------------------------------------------------------------------------
-  -- Use Block Generator input by default
-  ---------------------------------------------------------------------------------------              
-  gen_block_gen : IF g_use_block_gen = TRUE GENERATE
-    u_bg : ENTITY diag_lib.mms_diag_block_gen 
-    GENERIC MAP(    
-      g_blk_sync           => TRUE,
-      g_nof_output_streams => g_bf.nof_input_streams,
-      g_buf_dat_w          => c_nof_complex*g_bf.in_dat_w, 
-      g_buf_addr_w         => c_buf_addr_w,              -- Waveform buffer size 2**g_buf_addr_w nof samples
-      g_file_name_prefix   => g_block_gen_file_prefix
-    )
-    PORT MAP(
-      -- System
-      mm_rst           => mm_rst, 
-      mm_clk           => mm_clk, 
-      dp_rst           => dp_rst, 
-      dp_clk           => dp_clk,
-      -- MM interface
-      reg_bg_ctrl_mosi => reg_diag_bg_mosi, 
-      reg_bg_ctrl_miso => reg_diag_bg_miso, 
-      ram_bg_data_mosi => ram_diag_bg_mosi, 
-      ram_bg_data_miso => ram_diag_bg_miso, 
-      -- ST interface
-      out_sosi_arr     => bg_out_sosi_arr
-    );
-    
-    bf_in_sosi_arr <= bg_out_sosi_arr;
-  END GENERATE;
-
-  ---------------------------------------------------------------------------------------
-  -- Override Block Generator output and use external input instead
-  ---------------------------------------------------------------------------------------              
-  gen_ext_in : IF g_use_block_gen = FALSE GENERATE
-    bf_in_sosi_arr <= ext_in_sosi_arr;
-  END GENERATE;
-
-  ---------------------------------------------------------------------------------------
-  -- Beam Former
-  ---------------------------------------------------------------------------------------  
-  gen_bf : IF g_use_bf = TRUE GENERATE
-    u_bf : ENTITY bf_lib.bf 
-    GENERIC MAP (
-      g_bf                    => g_bf,
-      g_bf_weights_file_name  => g_bf_weights_file_name,
-      g_ss_wide_file_prefix   => g_ss_wide_file_prefix,   
-      g_weights_write_only    => g_weights_write_only
-    )
-    PORT MAP ( 
-      -- System
-      dp_rst                  =>  dp_rst,
-      dp_clk                  =>  dp_clk,
-      mm_rst                  =>  mm_rst,
-      mm_clk                  =>  mm_clk,
-      
-      -- MM interface
-      ram_ss_ss_wide_mosi     => ram_ss_ss_wide_mosi,
-      ram_ss_ss_wide_miso     => ram_ss_ss_wide_miso,  
-      ram_bf_weights_mosi     => ram_bf_weights_mosi,
-      ram_bf_weights_miso     => ram_bf_weights_miso,
-      ram_st_sst_mosi         => ram_st_sst_bf_mosi,
-      ram_st_sst_miso         => ram_st_sst_bf_miso,
-      reg_st_sst_mosi         => reg_st_sst_bf_mosi,
-      reg_st_sst_miso         => reg_st_sst_bf_miso,
-      
-      -- ST interface
-      in_sosi_arr             => bf_in_sosi_arr,  
-      in_siso_arr             => ext_in_siso_arr,  
-      
-      out_raw_sosi_arr        => out_raw_sosi_arr,    -- raw beamlets
-      out_bst_sosi_arr        => i_out_bst_sosi_arr,  -- 16b beamlets
-      out_qua_sosi_arr        => out_qua_sosi_arr     --  8b beamlets
-    ); 
-  END GENERATE;
-
-  ---------------------------------------------------------------------------------------
-  -- Offload 16b beamlets from out_bst_sosi_arr to udp_offload TX port in ctrl_unb_common
-  ---------------------------------------------------------------------------------------           
-  gen_bf_offload : IF g_bf_offload = TRUE GENERATE
-    u_dp_offload : ENTITY dp_lib.dp_offload_tx
-    GENERIC MAP (
-      g_nof_streams         => g_bf.nof_bf_units,
-      g_data_w              => c_eth_data_w,
-      g_block_size          => g_bf.nof_weights,  -- = 256
-      g_block_nof_sel_words => 20,
-      g_nof_words_per_pkt   => 360,
-      g_hdr_nof_words       => c_network_total_header_32b_nof_words,
-      g_use_complex         => TRUE,
-      g_use_input_fifo      => TRUE,
-      g_use_output_fifo     => TRUE
-    )
-    PORT MAP (
-      mm_rst                => mm_rst,
-      mm_clk                => mm_clk,
-      
-      st_rst                => dp_rst,
-      st_clk                => dp_clk,
-  
-      reg_hdr_insert_mosi   => reg_hdr_insert_mosi,
-      ram_hdr_insert_mosi   => ram_hdr_insert_mosi,
-      reg_dp_split_mosi     => reg_dp_split_mosi,    
-      reg_dp_split_miso     => reg_dp_split_miso,
-      reg_dp_pkt_merge_mosi => reg_dp_pkt_merge_mosi,    
-      reg_dp_pkt_merge_miso => reg_dp_pkt_merge_miso,
-  
-      dp_sosi_arr           => i_out_bst_sosi_arr,
-      dp_siso_arr           => OPEN, -- No flow control, so we're instantiating an input FIFO.
-  
-      tx_sosi_arr           => bf_out_offload_tx_sosi_arr(g_bf.nof_bf_units-1 DOWNTO 0),
-      tx_siso_arr           => bf_out_offload_tx_siso_arr(g_bf.nof_bf_units-1 DOWNTO 0)
-    );
-  END GENERATE;                                            
-  
-END str;
-- 
GitLab