##// END OF EJS Templates
FUSION AVEC MARTIN
FUSION AVEC MARTIN

File last commit:

r107:043850cd1ec6 martin
r130:4b259071bd41 merge JC
Show More
FFTamont.vhd
121 lines | 3.6 KiB | text/x-vhdl | VhdlLexer
martin
Débug de la FIFO...
r103 -- FFTamont.vhd
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity FFTamont is
generic(
martin
FFT + 1 FIFO OKAI...
r106 Data_sz : integer range 1 to 32 := 16;
NbData : integer range 1 to 512 := 256
martin
Débug de la FIFO...
r103 );
port(
clk : in std_logic;
rstn : in std_logic;
Load : in std_logic;
Empty : in std_logic;
DATA : in std_logic_vector(Data_sz-1 downto 0);
Valid : out std_logic;
Read : out std_logic;
Data_re : out std_logic_vector(Data_sz-1 downto 0);
Data_im : out std_logic_vector(Data_sz-1 downto 0)
);
end entity;
architecture ar_FFTamont of FFTamont is
type etat is (eX,e0,e1,e2);
signal ect : etat;
martin
FFT + 1 FIFO OKAI...
r106 signal DataCount : integer;
martin
Débug de la FIFO...
r103
begin
process(clk,rstn)
begin
if(rstn='0')then
martin
FFT + 1 FIFO OKAI...
r106 ect <= e0;
martin
Débug de la FIFO...
r103 Read <= '1';
Valid <= '0';
Data_re <= (others => '0');
Data_im <= (others => '0');
martin
FFT + 1 FIFO OKAI...
r106 DataCount <= 0;
martin
Débug de la FIFO...
r103
elsif(clk'event and clk='1')then
case ect is
martin
FFT + 1 FIFO Okai...
r107 when e0 =>
martin
FFT + 1 FIFO OKAI...
r106 if(Load='1' and Empty='0')then
Read <= '0';
martin
FFT + 1 FIFO Okai...
r107 ect <= e1;
martin
Débug de la FIFO...
r103 end if;
martin
FFT + 1 FIFO Okai...
r107 when e1 =>
Valid <= '0';
Read <= '1';
ect <= e2;
when e2 =>
martin
Débug de la FIFO...
r103 Data_re <= DATA;
Data_im <= (others => '0');
Valid <= '1';
martin
FFT + 1 FIFO Okai...
r107 if(DataCount=NbData-1)then
martin
FFT + 1 FIFO OKAI...
r106 DataCount <= 0;
martin
FFT + 1 FIFO Okai...
r107 ect <= eX;
martin
FFT + 1 FIFO OKAI...
r106 else
DataCount <= DataCount + 1;
martin
FFT + 1 FIFO Okai...
r107 if(Load='1' and Empty='0')then
Read <= '0';
ect <= e1;
else
ect <= eX;
end if;
end if;
when eX =>
Valid <= '0';
ect <= e0;
martin
FFT + 1 FIFO OKAI...
r106 when others =>
martin
FFT + 1 FIFO Okai...
r107 null;
martin
Débug de la FIFO...
r103
end case;
martin
FFT + 1 FIFO Okai...
r107
--***********************************************************
-- 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;
--***********************************************************
martin
Débug de la FIFO...
r103 end if;
end process;
end architecture;