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