OpenCores
URL https://opencores.org/ocsvn/cfft/cfft/trunk

Subversion Repositories cfft

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 12 to Rev 13
    Reverse comparison

Rev 12 → Rev 13

/trunk/imp/cfft1024X12.vhd
31,7 → 31,7
-- clk : main clk -- I have test 90M with Xilinx virtex600E
-- rst : globe reset -- '1' for reset
-- start : start fft -- one clock '1' before data input
-- inv : '0' for fft and '1' for ifft, it is sampled when start is '1'
-- invert : '0' for fft and '1' for ifft, it is sampled when start is '1'
-- Iin,Qin : data input-- following start immediately, input data
-- -- power should not be too big
-- inputbusy : if it change to '0' then next fft is enable
68,7 → 68,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
Iin : in STD_LOGIC_VECTOR(11 downto 0);
Qin : in STD_LOGIC_VECTOR(11 downto 0);
inputbusy : out STD_LOGIC;
92,7 → 92,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
Iin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Qin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
inputbusy : out STD_LOGIC;
115,7 → 115,7
clk=>clk,
rst=>rst,
start=>start,
inv=>inv,
invert=>invert,
Iin=>Iin,
Qin=>Qin,
inputbusy=>inputbusy,
/trunk/src/rofactor.vhd
50,7 → 50,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
-- step : in STD_LOGIC_VECTOR(2 downto 0);
angle : out STD_LOGIC_VECTOR(2*STAGE-1 downto 0)
);
75,7 → 75,7
counter<=( others=>'0' );
mask<=( others=>'0' );
-- state<="000";
if inv='1' then
if invert='1' then
inc<=CONV_STD_LOGIC_VECTOR(1,STAGE*2);
else
inc<=CONV_STD_LOGIC_VECTOR(-1,STAGE*2);
/trunk/src/cfft.vhd
30,7 → 30,7
-- clk : main clk -- I have test 90M with Xilinx virtex600E
-- rst : globe reset -- '1' for reset
-- start : start fft -- one clock '1' before data input
-- inv : '0' for fft and '1' for ifft, it is sampled when start is '1'
-- invert : '0' for fft and '1' for ifft, it is sampled when start is '1'
-- Iin,Qin : data input-- following start immediately, input data
-- -- power should not be too big
-- inputbusy : if it change to '0' then next fft is enable
86,7 → 86,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
Iin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Qin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
inputbusy : out STD_LOGIC;
151,7 → 151,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
I : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Q : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Iout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
195,7 → 195,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
angle : out STD_LOGIC_VECTOR(2*STAGE-1 downto 0)
);
end component;
275,7 → 275,7
clk=>clk,
rst=>rst,
start=>cfft4start,
inv=>inv_reg,
invert=>inv_reg,
I=>Iramout,
Q=>Qramout,
Iout=>Icfft4out,
328,7 → 328,7
clk=>clk,
rst=>rst,
start=>factorstart,
inv=>inv_reg,
invert=>inv_reg,
angle=>angle
);
 
338,7 → 338,7
inv_reg<='0';
elsif clk'event and clk='1' then
if start='1' then
inv_reg<=inv;
inv_reg<=invert;
end if;
end if;
end process;
/trunk/src/cfft4.vhd
39,7 → 39,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
I : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Q : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
Iout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
96,7 → 96,7
when "01" =>
RegAI(1)<=I;
RegAQ(1)<=Q;
if inv='0' then
if invert='0' then
-- for fft *(-j)
RegBI(3)<=SXT(RegAQ(1),WIDTH+1)-SXT(RegAQ(3),WIDTH+1);
RegBQ(3)<=SXT(RegAI(3),WIDTH+1)-SXT(RegAI(1),WIDTH+1);
/trunk/sim/tb_cfft1024x12_read_from_file.vhd
15,7 → 15,7
clk : in STD_LOGIC;
rst : in STD_LOGIC;
start : in STD_LOGIC;
inv : in std_logic;
invert : in std_logic;
Iin : in STD_LOGIC_VECTOR(11 downto 0);
Qin : in STD_LOGIC_VECTOR(11 downto 0);
inputbusy : out STD_LOGIC;
29,7 → 29,7
signal clk : STD_LOGIC;
signal rst : STD_LOGIC;
signal start : STD_LOGIC;
signal inv : std_logic;
signal invert : std_logic;
signal Iin : STD_LOGIC_VECTOR(11 downto 0);
signal Qin : STD_LOGIC_VECTOR(11 downto 0);
signal inputbusy : STD_LOGIC;
43,7 → 43,7
f: cfft1024x12 port map(clk=>clk,
rst =>rst,
start=> start,
inv=>inv,
invert=>invert,
Iin=>Iin,
Qin=>Qin,
inputbusy=>inputbusy,
70,7 → 70,7
wait until clk'EVENT and clk='1';
rst<='0';
wait until clk'EVENT and clk='1';
inv<='0';
invert<='0';
start<='1';
wait until clk'EVENT and clk='1';
start<='0';
/trunk/sim/tb_cfft1024x12.vhd
53,7 → 53,7
clk : IN STD_LOGIC ;
rst : IN STD_LOGIC ;
start : IN STD_LOGIC ;
inv : IN std_logic ;
invert : IN std_logic ;
Iin : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
Qin : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
inputbusy : OUT STD_LOGIC ;
77,7 → 77,7
signal clock : std_logic:='0';
signal reset : std_logic:='0';
signal start : std_logic:='0';
signal inv : std_logic ;
signal invert : std_logic ;
signal Iin : STD_LOGIC_VECTOR (11 DOWNTO 0);
signal Qin : STD_LOGIC_VECTOR (11 DOWNTO 0);
signal inputbusy : STD_LOGIC:='0' ;
95,7 → 95,7
clk => clock,
rst => reset,
start => start,
inv => inv,
invert => invert,
Iin => Iin,
Qin => Qin,
inputbusy => inputbusy,
111,7 → 111,7
clock <= not clock after Tck_half;
reset <= '1', '0' after 2*Tck_half;
start <= '0', '1' after 3*Tck_half, '0' after 5*Tck_half;-- only one FFT is done
inv <= '0';-- FFT
invert <= '0';-- FFT
 
----------------------------------------------------------------------------
--

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.