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

Subversion Repositories cfft

[/] [cfft/] [tags/] [arelease/] [imp/] [cfft1024X12.vhd] - Blame information for rev 15

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 sradio
---------------------------------------------------------------------------------------------------
2
--
3
-- Title       : cfft1024X12
4
-- Design      : cfft
5
-- Author      : ZHAO Ming
6
-- email        : sradio@opencores.org
7
--
8
---------------------------------------------------------------------------------------------------
9
--
10
-- File        : cfft1024X12.vhd
11
--
12
---------------------------------------------------------------------------------------------------
13
--
14
-- Description :This is a sample implementation of cfft 
15
--              
16
--              radix 4 1024 point FFT input 12 bit Output 14 bit with 
17
--               limit and overfall processing internal
18
--
19
--              The gain is 0.0287 for FFT and 29.4 for IFFT
20
--
21
--                              The output is 4-based reversed ordered, it means
22
--                              a0a1a2a3a4a5a6a7a8a9 => a8a9a6a7a4a5aa2a3a0a1
23
--                              
24
--
25
---------------------------------------------------------------------------------------------------
26
 
27
 
28
---------------------------------------------------------------------------------------------------
29
--
30
-- port :
31
--                      clk : main clk          -- I have test 90M with Xilinx virtex600E
32
--          rst : globe reset   -- '1' for reset
33
--                      start : start fft       -- one clock '1' before data input
34
--                      inv : '0' for fft and '1' for ifft, it is sampled when start is '1' 
35
--                      Iin,Qin : data input-- following start immediately, input data
36
--                              -- power should not be too big
37
--          inputbusy : if it change to '0' then next fft is enable
38
--                      outdataen : when it is '1', the valid data is output
39
--          Iout,Qout : fft data output when outdataen is '1'                                                                      
40
--
41
---------------------------------------------------------------------------------------------------
42
--
43
-- Revisions       :    0
44
-- Revision Number :    1
45
-- Version         :    1.1.0
46
-- Date            :    Oct 31 2002
47
-- Modifier        :    ZHAO Ming 
48
-- Desccription    :    initial release 
49
--
50
---------------------------------------------------------------------------------------------------
51
 
52
 
53
library IEEE;
54
use IEEE.STD_LOGIC_1164.all;
55
 
56
entity cfft1024X12 is
57
         port(
58
                 clk : in STD_LOGIC;
59
                 rst : in STD_LOGIC;
60
                 start : in STD_LOGIC;
61
                 inv : in std_logic;
62
                 Iin : in STD_LOGIC_VECTOR(11 downto 0);
63
                 Qin : in STD_LOGIC_VECTOR(11 downto 0);
64
                 inputbusy : out STD_LOGIC;
65
                 outdataen : out STD_LOGIC;
66
                 Iout : out STD_LOGIC_VECTOR(13 downto 0);
67
                 Qout : out STD_LOGIC_VECTOR(13 downto 0)
68
             );
69
end cfft1024X12;
70
 
71
 
72
architecture imp of cfft1024X12 is
73
 
74
component cfft
75
        generic (
76
                WIDTH : Natural;
77
                POINT : Natural;
78
                STAGE : Natural   -- STAGE=log4(POINT)
79
        );
80
         port(
81
                 clk : in STD_LOGIC;
82
                 rst : in STD_LOGIC;
83
                 start : in STD_LOGIC;
84
                 inv : in std_logic;
85
                 Iin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
86
                 Qin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
87
                 inputbusy : out STD_LOGIC;
88
                 outdataen : out STD_LOGIC;
89
                 Iout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
90
                 Qout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0)
91
             );
92
end component;
93
 
94
begin
95
 
96
aCfft:cfft
97
generic map (
98
        WIDTH=>12,
99
        POINT=>1024,
100
        STAGE=>5
101
)
102
port map (
103
        clk=>clk,
104
        rst=>rst,
105
        start=>start,
106
        inv=>inv,
107
        Iin=>Iin,
108
        Qin=>Qin,
109
        inputbusy=>inputbusy,
110
        outdataen=>outdataen,
111
        Iout=>Iout,
112
        Qout=>Qout
113
);
114
 
115
 
116
end imp;

powered by: WebSVN 2.1.0

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