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;
+