##// END OF EJS Templates
Hanning windows in front of FFT
pellion -
r606:2f207df1fc75 simu_with_Leon3
parent child
Show More
@@ -1,76 +1,96
1 LIBRARY ieee;
1 LIBRARY ieee;
2 USE ieee.std_logic_1164.ALL;
2 USE ieee.std_logic_1164.ALL;
3
3
4
4
5 LIBRARY lpp;
5 LIBRARY lpp;
6 USE lpp.lpp_memory.ALL;
6 USE lpp.lpp_memory.ALL;
7 USE lpp.iir_filter.ALL;
7 USE lpp.iir_filter.ALL;
8 USE lpp.spectral_matrix_package.ALL;
8 USE lpp.spectral_matrix_package.ALL;
9 USE lpp.lpp_dma_pkg.ALL;
9 USE lpp.lpp_dma_pkg.ALL;
10 USE lpp.lpp_Header.ALL;
10 USE lpp.lpp_Header.ALL;
11 USE lpp.lpp_matrix.ALL;
11 USE lpp.lpp_matrix.ALL;
12 USE lpp.lpp_matrix.ALL;
12 USE lpp.lpp_matrix.ALL;
13 USE lpp.lpp_lfr_pkg.ALL;
13 USE lpp.lpp_lfr_pkg.ALL;
14 USE lpp.lpp_fft.ALL;
14 USE lpp.lpp_fft.ALL;
15 USE lpp.fft_components.ALL;
15 USE lpp.fft_components.ALL;
16 USE lpp.window_function_pkg.ALL;
16
17
17 ENTITY lpp_lfr_ms_FFT IS
18 ENTITY lpp_lfr_ms_FFT IS
18 PORT (
19 PORT (
19 clk : IN STD_LOGIC;
20 clk : IN STD_LOGIC;
20 rstn : IN STD_LOGIC;
21 rstn : IN STD_LOGIC;
21 -- IN
22 -- IN
22 sample_valid : IN STD_LOGIC;
23 sample_valid : IN STD_LOGIC;
23 fft_read : IN STD_LOGIC;
24 fft_read : IN STD_LOGIC;
24 sample_data : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
25 sample_data : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
25 sample_load : OUT STD_LOGIC;
26 sample_load : OUT STD_LOGIC;
26
27
27 --OUT
28 --OUT
28 fft_pong : OUT STD_LOGIC;
29 fft_pong : OUT STD_LOGIC;
29 fft_data_im : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
30 fft_data_im : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
30 fft_data_re : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
31 fft_data_re : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
31 fft_data_valid : OUT STD_LOGIC;
32 fft_data_valid : OUT STD_LOGIC;
32 fft_ready : OUT STD_LOGIC
33 fft_ready : OUT STD_LOGIC
33
34
34 );
35 );
35 END;
36 END;
36
37
37 ARCHITECTURE Behavioral OF lpp_lfr_ms_FFT IS
38 ARCHITECTURE Behavioral OF lpp_lfr_ms_FFT IS
38
39
40 SIGNAL data_win : STD_LOGIC_VECTOR(15 DOWNTO 0);
41 SIGNAL data_win_valid : STD_LOGIC;
42
39 BEGIN
43 BEGIN
40
44
45 window_hanning: window_function
46 GENERIC MAP (
47 SIZE_DATA => 16,
48 SIZE_PARAM => 15,
49 NB_POINT_BY_WINDOW => 256)
50 PORT MAP (
51 clk => clk,
52 rstn => rstn,
53
54 restart_window => '0',
55 data_in => sample_data,
56 data_in_valid => sample_valid,
57
58 data_out => data_win,
59 data_out_valid => data_win_valid);
60
41 -----------------------------------------------------------------------------
61 -----------------------------------------------------------------------------
42 -- FFT
62 -- FFT
43 -----------------------------------------------------------------------------
63 -----------------------------------------------------------------------------
44 CoreFFT_1 : CoreFFT
64 CoreFFT_1 : CoreFFT
45 GENERIC MAP (
65 GENERIC MAP (
46 LOGPTS => gLOGPTS,
66 LOGPTS => gLOGPTS,
47 LOGLOGPTS => gLOGLOGPTS,
67 LOGLOGPTS => gLOGLOGPTS,
48 WSIZE => gWSIZE,
68 WSIZE => gWSIZE,
49 TWIDTH => gTWIDTH,
69 TWIDTH => gTWIDTH,
50 DWIDTH => gDWIDTH,
70 DWIDTH => gDWIDTH,
51 TDWIDTH => gTDWIDTH,
71 TDWIDTH => gTDWIDTH,
52 RND_MODE => gRND_MODE,
72 RND_MODE => gRND_MODE,
53 SCALE_MODE => gSCALE_MODE,
73 SCALE_MODE => gSCALE_MODE,
54 PTS => gPTS,
74 PTS => gPTS,
55 HALFPTS => gHALFPTS,
75 HALFPTS => gHALFPTS,
56 inBuf_RWDLY => gInBuf_RWDLY)
76 inBuf_RWDLY => gInBuf_RWDLY)
57 PORT MAP (
77 PORT MAP (
58 clk => clk,
78 clk => clk,
59 ifiStart => '0', -- '1'
79 ifiStart => '0', -- '1'
60 ifiNreset => rstn,
80 ifiNreset => rstn,
61
81
62 ifiD_valid => sample_valid, -- IN
82 ifiD_valid => data_win_valid, -- IN
63 ifiRead_y => fft_read,
83 ifiRead_y => fft_read,
64 ifiD_im => (OTHERS => '0'), -- IN
84 ifiD_im => (OTHERS => '0'), -- IN
65 ifiD_re => sample_data, -- IN
85 ifiD_re => data_win, -- IN
66 ifoLoad => sample_load, -- IN
86 ifoLoad => sample_load, -- IN
67
87
68 ifoPong => fft_pong,
88 ifoPong => fft_pong,
69 ifoY_im => fft_data_im,
89 ifoY_im => fft_data_im,
70 ifoY_re => fft_data_re,
90 ifoY_re => fft_data_re,
71 ifoY_valid => fft_data_valid,
91 ifoY_valid => fft_data_valid,
72 ifoY_rdy => fft_ready);
92 ifoY_rdy => fft_ready);
73
93
74 -----------------------------------------------------------------------------
94 -----------------------------------------------------------------------------
75
95
76 END Behavioral;
96 END Behavioral;
General Comments 0
You need to be logged in to leave comments. Login now