Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
sdp_pkg.vhd 3.03 KiB
-------------------------------------------------------------------------------
--
-- Copyright 2020
-- 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: 
-- . This package contains sdp specific constants.
-- Description:
-- Remark:
-- . See Document: L3 SDP Decision: SDP Parameter definitions.
-------------------------------------------------------------------------------
LIBRARY ieee, common_lib, rTwoSDF_lib, fft_lib, filter_lib, wpfb_lib;
USE IEEE.std_logic_1164.ALL;
USE common_lib.common_pkg.ALL;
USE rTwoSDF_lib.rTwoSDFPkg.ALL;
USE fft_lib.fft_pkg.ALL; 
USE filter_lib.fil_pkg.ALL; 
USE wpfb_lib.wpfb_pkg.ALL;

PACKAGE sdp_pkg is
  -------------------------------------------------
  -- SDP specific parameters as defined in:
  --  L3 SDP Decision: SDP Parameter definitions 
  -------------------------------------------------
  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_taps     : NATURAL := 16;  
  CONSTANT c_sdp_W_adc      : NATURAL := 14;  
  CONSTANT c_sdp_W_fir_coef : 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_f_adc_MHz  : NATURAL := 200;
  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;

 
  -- In SDP c_nof_channels = 2**nof_chan = 1 and wb_factor = 1, 
  -- therefore these parameters are not explicitly used in calculation of derived constants
  CONSTANT c_sdp_wpfb_subbands : t_wpfb :=
        (1, c_sdp_N_fft, 0, c_sdp_P_pfb,
         c_sdp_N_taps, 1, c_sdp_W_adc, 16, c_sdp_W_fir_coef,
         true, false, true, 16, c_sdp_W_subband, 1, 18, 2, 
         true, 54, 2, 195313, c_fft_pipeline, c_fft_pipeline, 
         c_fil_ppf_pipeline);

END PACKAGE sdp_pkg;
PACKAGE BODY sdp_pkg IS

  
END sdp_pkg;