Free VHDL library

  • Main Page
  • Related Pages
  • Design Unit List
  • Files
  • File List

dsp/iir_filter/FILTERcfg.vhd

Go to the documentation of this file.
00001 ------------------------------------------------------------------------------
00002 --  This file is a part of the LPP VHDL IP LIBRARY
00003 --  Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
00004 --
00005 --  This program is free software; you can redistribute it and/or modify
00006 --  it under the terms of the GNU General Public License as published by
00007 --  the Free Software Foundation; either version 3 of the License, or
00008 --  (at your option) any later version.
00009 --
00010 --  This program is distributed in the hope that it will be useful,
00011 --  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 --  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 --  GNU General Public License for more details.
00014 --
00015 --  You should have received a copy of the GNU General Public License
00016 --  along with this program; if not, write to the Free Software
00017 --  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
00018 -------------------------------------------------------------------------------
00019 --                    Author : Alexis Jeandet
00020 --                     Mail : alexis.jeandet@lpp.polytechnique.fr
00021 -------------------------------------------------------------------------------
00022 library IEEE;
00023 use IEEE.numeric_std.all;
00024 use IEEE.std_logic_1164.all;
00025 
00026 
00027 package FILTERcfg is
00028 
00029 
00030 
00031 
00032 --===========================================================|
00033 --========F I L T E R   C O N F I G  V A L U E S=============|
00034 --===========================================================|
00035 --____________________________
00036 --Bus Width and chanels number|
00037 --____________________________|
00038 constant ChanelsCNT :   integer :=  6;
00039 constant Smpl_SZ    :   integer := 16;
00040 constant Coef_SZ    :   integer := 9;
00041 constant Scalefac_SZ:   integer := 3;
00042 constant Cels_count :   integer := 5;
00043 
00044 constant Mem_use    :   integer := 1;
00045 
00046 
00047 
00048 --============================================================
00049 --      create each initial values for each coefs ============
00051 --============================================================
00052 --constant b0         :   coefT := coefT(TO_SIGNED(-30,Coef_SZ));
00053 --constant b1         :   coefT := coefT(TO_SIGNED(-81,Coef_SZ));
00054 --constant b2         :   coefT := coefT(TO_SIGNED(-153,Coef_SZ));
00055 --constant b3         :   coefT := coefT(TO_SIGNED(-171,Coef_SZ));
00056 --constant b4         :   coefT := coefT(TO_SIGNED(-144,Coef_SZ));
00057 --constant b5         :   coefT := coefT(TO_SIGNED(-72,Coef_SZ));
00058 --constant b6         :   coefT := coefT(TO_SIGNED(-25,Coef_SZ));
00059 --
00060 --constant a0         :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00061 --constant a1         :   coefT := coefT(TO_SIGNED(87,Coef_SZ));
00062 --constant a2         :   coefT := coefT(TO_SIGNED(-193,Coef_SZ));
00063 --constant a3         :   coefT := coefT(TO_SIGNED(60,Coef_SZ));
00064 --constant a4         :   coefT := coefT(TO_SIGNED(-62,Coef_SZ));
00065 --
00066 --
00067 --constant b0_0       :   coefT := coefT(TO_SIGNED(58,Coef_SZ));
00068 --constant b0_1       :   coefT := coefT(TO_SIGNED(-66,Coef_SZ));
00069 --constant b0_2       :   coefT := coefT(TO_SIGNED(58,Coef_SZ));
00070 --
00071 --constant b1_0       :   coefT := coefT(TO_SIGNED(58,Coef_SZ));
00072 --constant b1_1       :   coefT := coefT(TO_SIGNED(-57,Coef_SZ));
00073 --constant b1_2       :   coefT := coefT(TO_SIGNED(58,Coef_SZ));
00074 --
00075 --constant b2_0       :   coefT := coefT(TO_SIGNED(29,Coef_SZ));
00076 --constant b2_1       :   coefT := coefT(TO_SIGNED(-17,Coef_SZ));
00077 --constant b2_2       :   coefT := coefT(TO_SIGNED(29,Coef_SZ));
00078 --
00079 --constant b3_0       :   coefT := coefT(TO_SIGNED(15,Coef_SZ));
00080 --constant b3_1       :   coefT := coefT(TO_SIGNED(4,Coef_SZ));
00081 --constant b3_2       :   coefT := coefT(TO_SIGNED(15,Coef_SZ));
00082 --
00083 --constant b4_0       :   coefT := coefT(TO_SIGNED(15,Coef_SZ));
00084 --constant b4_1       :   coefT := coefT(TO_SIGNED(24,Coef_SZ));
00085 --constant b4_2       :   coefT := coefT(TO_SIGNED(15,Coef_SZ));
00086 --
00087 --constant b5_0       :   coefT := coefT(TO_SIGNED(-81,Coef_SZ));
00088 --constant b5_1       :   coefT := coefT(TO_SIGNED(-153,Coef_SZ));
00089 --constant b5_2       :   coefT := coefT(TO_SIGNED(-171,Coef_SZ));
00090 --
00091 --constant b6_0       :   coefT := coefT(TO_SIGNED(-144,Coef_SZ));
00092 --constant b6_1       :   coefT := coefT(TO_SIGNED(-72,Coef_SZ));
00093 --constant b6_2       :   coefT := coefT(TO_SIGNED(-25,Coef_SZ));
00094 --
00095 --
00096 --constant a0_0       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00097 --constant a0_1       :   coefT := coefT(TO_SIGNED(189,Coef_SZ));
00098 --constant a0_2       :   coefT := coefT(TO_SIGNED(-111,Coef_SZ));
00099 --
00100 --constant a1_0       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00101 --constant a1_1       :   coefT := coefT(TO_SIGNED(162,Coef_SZ));
00102 --constant a1_2       :   coefT := coefT(TO_SIGNED(-81,Coef_SZ));
00103 --
00104 --constant a2_0       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00105 --constant a2_1       :   coefT := coefT(TO_SIGNED(136,Coef_SZ));
00106 --constant a2_2       :   coefT := coefT(TO_SIGNED(-55,Coef_SZ));
00107 --
00108 --constant a3_0       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00109 --constant a3_1       :   coefT := coefT(TO_SIGNED(114,Coef_SZ));
00110 --constant a3_2       :   coefT := coefT(TO_SIGNED(-33,Coef_SZ));
00111 --
00112 --constant a4_0       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00113 --constant a4_1       :   coefT := coefT(TO_SIGNED(100,Coef_SZ));
00114 --constant a4_2       :   coefT := coefT(TO_SIGNED(-20,Coef_SZ));
00115 --
00116 --constant a5_0       :   coefT := coefT(TO_SIGNED(60,Coef_SZ));
00117 --constant a5_1       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00118 --constant a5_2       :   coefT := coefT(TO_SIGNED(87,Coef_SZ));
00119 --constant a6_0       :   coefT := coefT(TO_SIGNED(60,Coef_SZ));
00120 --constant a6_1       :   coefT := coefT(TO_SIGNED(-128,Coef_SZ));
00121 --constant a6_2       :   coefT := coefT(TO_SIGNED(87,Coef_SZ));
00122 --
00123 --
00124 --constant celb0      :  coef_celT := (b0_0,b0_1,b0_2);
00125 --constant celb1      :  coef_celT := (b1_0,b1_1,b1_2);
00126 --constant celb2      :  coef_celT := (b2_0,b2_1,b2_2);
00127 --constant celb3      :  coef_celT := (b3_0,b3_1,b3_2);
00128 --constant celb4      :  coef_celT := (b4_0,b4_1,b4_2);
00129 --constant celb5      :  coef_celT := (b5_0,b5_1,b5_2);
00130 --constant celb6      :  coef_celT := (b6_0,b6_1,b6_2);
00131 --
00132 --constant cela0      :  coef_celT := (a0_0,a0_1,a0_2);
00133 --constant cela1      :  coef_celT := (a1_0,a1_1,a1_2);
00134 --constant cela2      :  coef_celT := (a2_0,a2_1,a2_2);
00135 --constant cela3      :  coef_celT := (a3_0,a3_1,a3_2);
00136 --constant cela4      :  coef_celT := (a4_0,a4_1,a4_2);
00137 --constant cela5      :  coef_celT := (a5_0,a5_1,a5_2);
00138 --constant cela6      :  coef_celT := (a6_0,a6_1,a6_2);
00139 --
00140 --
00141 --
00142 --constant  NumCoefs_cel    :   coefs_celT(0 to Cels_count-1) := (celb0,celb1,celb2,celb3,celb4);
00143 --constant  DenCoefs_cel    :   coefs_celT(0 to Cels_count-1) := (cela0,cela1,cela2,cela3,cela4);
00144 --constant  virgPos         :   integer := 7;
00145 --
00146 --
00147 --
00148 --
00149 --
00150 --
00151 --
00152 --signal  NumeratorCoefs   :   coefsT(0 to 6) := (b0,b1,b2,b3,b4,b5,b6);
00153 --signal  DenominatorCoefs :   coefsT(0 to 4) := (a0,a1,a2,a3,a4);
00154 --
00155 --
00156 --signal  sample_Tbl  :   samplT;
00157 
00158 
00159 end;
00160 
00161 
00162 
00163 
00164 
00165 
00166 
00167 
00168 
00169 
00170 
00171 
00172 
00173 
00174 
00175 
00176 
00177 
00178 
00179 
00180 
00181 
00182 
00183 
00184 
00185 
00186 
00187 
00188 
00189 
00190 
00191 
00192 
00193 
00194 
00195 
00196 

© Copyright 2011 LPP-CNRS | Design by Alexis Jeandet