# HG changeset patch # User martin # Date 2013-03-05 15:46:38 # Node ID 043850cd1ec691cbe7dc5482f8449480581aed68 # Parent 4dc8bc245631e79c13e7cfacfd2ea814a8066533 FFT + 1 FIFO Okai Plus de probléme de chargement diff --git a/lib/lpp/dsp/lpp_fft/FFTamont.vhd b/lib/lpp/dsp/lpp_fft/FFTamont.vhd --- a/lib/lpp/dsp/lpp_fft/FFTamont.vhd +++ b/lib/lpp/dsp/lpp_fft/FFTamont.vhd @@ -42,59 +42,80 @@ begin DataCount <= 0; elsif(clk'event and clk='1')then - case ect is - when e0 => + when e0 => if(Load='1' and Empty='0')then Read <= '0'; - ect <= eX; + ect <= e1; end if; - when eX => - ect <= e1; - - when e1 => + when e1 => + Valid <= '0'; + Read <= '1'; + ect <= e2; + + when e2 => Data_re <= DATA; Data_im <= (others => '0'); Valid <= '1'; - if(DataCount=NbData-2)then - Read <= '1'; - DataCount <= DataCount + 1; - elsif(DataCount=NbData)then - Valid <= '0'; + if(DataCount=NbData-1)then DataCount <= 0; - ect <= e0; + ect <= eX; else DataCount <= DataCount + 1; - end if; - + if(Load='1' and Empty='0')then + Read <= '0'; + ect <= e1; + else + ect <= eX; + end if; + end if; + + when eX => + Valid <= '0'; + ect <= e0; + when others => - null; + null; end case; + +--*********************************************************** +-- Chargement Rapide (toutes a la suite) +--*********************************************************** +-- case ect is +-- +-- when e0 => +-- if(Load='1' and Empty='0')then +-- Read <= '0'; +-- ect <= eX; +-- end if; +-- +-- when eX => +-- ect <= e1; +-- +-- when e1 => +-- Data_re <= DATA; +-- Data_im <= (others => '0'); +-- Valid <= '1'; +-- if(DataCount=NbData-2)then +-- Read <= '1'; +-- DataCount <= DataCount + 1; +-- elsif(DataCount=NbData)then +-- Valid <= '0'; +-- DataCount <= 0; +-- ect <= e0; +-- else +-- DataCount <= DataCount + 1; +-- end if; +-- +-- when others => +-- null; +-- +-- end case; +--*********************************************************** end if; end process; end architecture; - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/lpp/leon3mp.vhd b/lib/lpp/leon3mp.vhd --- a/lib/lpp/leon3mp.vhd +++ b/lib/lpp/leon3mp.vhd @@ -319,10 +319,9 @@ SPW2_EN <= '0'; -- generic map (pindex => 8, paddr => 8, FifoCnt => 1, Data_sz => 16, Addr_sz => 8, Enable_ReUse => '0', R => 0, W => 1) -- port map (clkm,rstn,clkm,clkm,(others => '0'),Drive_Read,(others =>'1'),FifoIN_Empty,FifoIN_Full,FifoIN_Data,(others => '0'),open,open,apbi,apbo(8)); -- -test(0) <= gpio(1); + Start <= '0'; -rstnFFT <= gpio(0); --- + DRIVE : FFTamont generic map(Data_sz => 16,NbData => 256) port map(clkm,rstn,FFT_Load,FifoIN_Empty(0),FifoIN_Data,Drive_Write,Drive_Read(0),Drive_DataRE,Drive_DataIM); @@ -343,7 +342,7 @@ rstnFFT <= gpio(0); PTS => gPTS, HALFPTS => gHALFPTS, inBuf_RWDLY => gInBuf_RWDLY) - port map(clkm,start,rstnFFT,Drive_Write,Link_Read,Drive_DataIM,Drive_DataRE,FFT_Load,open,FFT_DataIM,FFT_DataRE,FFT_Valid,FFT_Ready); + port map(clkm,start,rstn,Drive_Write,Link_Read,Drive_DataIM,Drive_DataRE,FFT_Load,open,FFT_DataIM,FFT_DataRE,FFT_Valid,FFT_Ready); -- -- LINK : Linker_FFT -- generic map(Data_sz => 16)