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

Subversion Repositories cfft

[/] [cfft/] [trunk/] [imp/] [cfft1024X12.vhd] - Blame information for rev 14

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 13 sradio
--                      invert : '0' for fft and '1' for ifft, it is sampled when start is '1' 
35 5 sradio
--                      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 9 sradio
--
52
-- Revisions       :    0
53
-- Revision Number :    2
54
-- Version         :    1.2.0
55
-- Date            :    Nov 19 2002
56
-- Modifier        :    ZHAO Ming 
57
-- Desccription    :    add output data position indication 
58
--                   
59
--
60
---------------------------------------------------------------------------------------------------
61 5 sradio
 
62
 
63
library IEEE;
64
use IEEE.STD_LOGIC_1164.all;
65
 
66
entity cfft1024X12 is
67
         port(
68
                 clk : in STD_LOGIC;
69
                 rst : in STD_LOGIC;
70
                 start : in STD_LOGIC;
71 13 sradio
                 invert : in std_logic;
72 5 sradio
                 Iin : in STD_LOGIC_VECTOR(11 downto 0);
73
                 Qin : in STD_LOGIC_VECTOR(11 downto 0);
74
                 inputbusy : out STD_LOGIC;
75
                 outdataen : out STD_LOGIC;
76
                 Iout : out STD_LOGIC_VECTOR(13 downto 0);
77 9 sradio
                 Qout : out STD_LOGIC_VECTOR(13 downto 0);
78
                 OutPosition : out STD_LOGIC_VECTOR( 9 downto 0 )
79 5 sradio
             );
80
end cfft1024X12;
81
 
82
 
83
architecture imp of cfft1024X12 is
84
 
85
component cfft
86
        generic (
87
                WIDTH : Natural;
88
                POINT : Natural;
89
                STAGE : Natural   -- STAGE=log4(POINT)
90
        );
91
         port(
92
                 clk : in STD_LOGIC;
93
                 rst : in STD_LOGIC;
94
                 start : in STD_LOGIC;
95 13 sradio
                 invert : in std_logic;
96 5 sradio
                 Iin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
97
                 Qin : in STD_LOGIC_VECTOR(WIDTH-1 downto 0);
98
                 inputbusy : out STD_LOGIC;
99
                 outdataen : out STD_LOGIC;
100
                 Iout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
101 9 sradio
                 Qout : out STD_LOGIC_VECTOR(WIDTH+1 downto 0);
102
                 OutPosition : out STD_LOGIC_VECTOR( 2*STAGE-1 downto 0 )
103 5 sradio
             );
104
end component;
105
 
106
begin
107
 
108
aCfft:cfft
109
generic map (
110
        WIDTH=>12,
111
        POINT=>1024,
112
        STAGE=>5
113
)
114
port map (
115
        clk=>clk,
116
        rst=>rst,
117
        start=>start,
118 13 sradio
        invert=>invert,
119 5 sradio
        Iin=>Iin,
120
        Qin=>Qin,
121
        inputbusy=>inputbusy,
122
        outdataen=>outdataen,
123
        Iout=>Iout,
124 9 sradio
        Qout=>Qout,
125
        OutPosition=>OutPosition
126
 
127 5 sradio
);
128
 
129
 
130
end imp;

powered by: WebSVN 2.1.0

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