URL
https://opencores.org/ocsvn/cfft/cfft/trunk
[/] [cfft/] [trunk/] [src/] [cfft4.vhd] - Diff between revs 2 and 13
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 2 |
Rev 13 |
Line 37... |
Line 37... |
);
|
);
|
port(
|
port(
|
clk : in STD_LOGIC;
|
clk : in STD_LOGIC;
|
rst : in STD_LOGIC;
|
rst : in STD_LOGIC;
|
start : in STD_LOGIC;
|
start : in STD_LOGIC;
|
inv : in std_logic;
|
invert : in std_logic;
|
I : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
|
I : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
|
Q : 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);
|
Iout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
|
Qout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0)
|
Qout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0)
|
);
|
);
|
Line 94... |
Line 94... |
Qout<=SXT(RegBQ(1),WIDTH+2)-SXT(RegBQ(3),WIDTH+2);
|
Qout<=SXT(RegBQ(1),WIDTH+2)-SXT(RegBQ(3),WIDTH+2);
|
--1 rA(1)<=A1 rB(3)<=(-j)*(rA(1)-rA(3)) B0<=rB(0)+rB(2)--
|
--1 rA(1)<=A1 rB(3)<=(-j)*(rA(1)-rA(3)) B0<=rB(0)+rB(2)--
|
when "01" =>
|
when "01" =>
|
RegAI(1)<=I;
|
RegAI(1)<=I;
|
RegAQ(1)<=Q;
|
RegAQ(1)<=Q;
|
if inv='0' then
|
if invert='0' then
|
-- for fft *(-j)
|
-- for fft *(-j)
|
RegBI(3)<=SXT(RegAQ(1),WIDTH+1)-SXT(RegAQ(3),WIDTH+1);
|
RegBI(3)<=SXT(RegAQ(1),WIDTH+1)-SXT(RegAQ(3),WIDTH+1);
|
RegBQ(3)<=SXT(RegAI(3),WIDTH+1)-SXT(RegAI(1),WIDTH+1);
|
RegBQ(3)<=SXT(RegAI(3),WIDTH+1)-SXT(RegAI(1),WIDTH+1);
|
else
|
else
|
-- for fft *(j)
|
-- for fft *(j)
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.