diff --git a/libraries/dsp/bf/src/vhdl/bf_pkg.vhd b/libraries/dsp/bf/src/vhdl/bf_pkg.vhd new file mode 100644 index 0000000000000000000000000000000000000000..d1ae6c0d4ac0dad3ffe0502d55c3d32d2bbdea13 --- /dev/null +++ b/libraries/dsp/bf/src/vhdl/bf_pkg.vhd @@ -0,0 +1,59 @@ +------------------------------------------------------------------------------- +-- +-- Copyright (C) 2009 +-- 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; +USE IEEE.STD_LOGIC_1164.ALL; +USE IEEE.NUMERIC_STD.ALL; +USE common_lib.common_pkg.ALL; + +PACKAGE bf_pkg IS + + CONSTANT c_bf_note_fifo_is_ful : BOOLEAN := TRUE; + CONSTANT c_bf_burst_nof_blocks : POSITIVE := 4; -- Use 1 for no initial burst, use > 1 to support initial blocks arriving in a burst (= c_nof_no_gap+1 in tb_bf.vhd) + CONSTANT c_bf_max_nof_bf_units : NATURAL := 4; -- Setting the maximum number of bf_units in a FPGA. + + -- TYPE DECLARATIONS -------------------------------------------------------- + + -- Record definition that conatins all the generics that are used in the bf_unit + TYPE t_c_bf IS RECORD + nof_signal_paths : POSITIVE; -- = 64 + nof_input_streams : POSITIVE; -- = 16 + nof_subbands : POSITIVE; -- = 24 + nof_weights : POSITIVE; -- = 256 + nof_bf_units : POSITIVE; -- = 4 + in_dat_w : POSITIVE; -- = 16 + in_weight_w : POSITIVE; -- = 16 + bst_gain_w : INTEGER; -- = 1 + bst_dat_w : POSITIVE; -- = 16 + out_gain_w : INTEGER; -- = -5 + out_dat_w : POSITIVE; -- = 8 + stat_data_w : POSITIVE; -- = 56 + stat_data_sz : POSITIVE; -- = 2 + END RECORD; + + --CONSTANT c_bf : t_c_bf := (64, 16, 24, 256, 4, 16, 16, 1, 16, -5, 8, 56, 2); -- bst_gain_w= 1 for 16b and out_gain_w=-5 for 8b as in Fig 10 of RP1377 v0.41 + CONSTANT c_bf : t_c_bf := (64, 16, 24, 256, 4, 16, 16, 0, 16, -6, 8, 56, 2); -- preserve 1 more LSbits for the bst_dat and out_dat outputs + +END bf_pkg; + +PACKAGE BODY bf_pkg IS +END bf_pkg; +