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

Subversion Repositories astron_wb_fft

[/] [astron_wb_fft/] [trunk/] [fft_r2_pipe.vhd] - Diff between revs 3 and 5

Show entire file | Details | Blame | View Log

Rev 3 Rev 5
Line 46... Line 46...
--
--
--          c0f0 c0f1 c0f2 ... c0f15 c1f0 c1f1 c1f2 ... c1f15  (c0f0 means channel 0, frequency bin 0)
--          c0f0 c0f1 c0f2 ... c0f15 c1f0 c1f1 c1f2 ... c1f15  (c0f0 means channel 0, frequency bin 0)
--
--
--           
--           
 
 
library ieee, common_pkg_lib, common_components_lib,  common_requantize_lib, rTwoSDF_lib;
library ieee, common_pkg_lib, common_components_lib,  astron_requantize_lib, astron_r2sdf_fft_lib;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_1164.all;
use common_pkg_lib.common_pkg.all;
use common_pkg_lib.common_pkg.all;
use rTwoSDF_lib.rTwoSDFPkg.all;
use astron_r2sdf_fft_lib.rTwoSDFPkg.all;
use work.fft_pkg.all;
use work.fft_pkg.all;
 
 
entity fft_r2_pipe is
entity fft_r2_pipe is
  generic (
  generic (
    g_fft      : t_fft := c_fft;                   -- generics for the FFT
    g_fft      : t_fft := c_fft;                   -- generics for the FFT
    g_pipeline : t_fft_pipeline := c_fft_pipeline; -- generics for pipelining in each stage, defined in rTwoSDF_lib.rTwoSDFPkg
    g_pipeline : t_fft_pipeline := c_fft_pipeline; -- generics for pipelining in each stage, defined in astron_r2sdf_fft_lib.rTwoSDFPkg
    g_dont_flip_channels : boolean := false        -- generic to prevent re-ordering of the channels
    g_dont_flip_channels : boolean := false        -- generic to prevent re-ordering of the channels
  );
  );
  port (
  port (
    clk      : in  std_logic;
    clk      : in  std_logic;
    rst      : in  std_logic := '0';
    rst      : in  std_logic := '0';
Line 105... Line 105...
 
 
  ------------------------------------------------------------------------------
  ------------------------------------------------------------------------------
  -- pipelined FFT stages
  -- pipelined FFT stages
  ------------------------------------------------------------------------------
  ------------------------------------------------------------------------------
  gen_fft: for stage in c_nof_stages downto 1 generate
  gen_fft: for stage in c_nof_stages downto 1 generate
    u_stage : entity rTwoSDF_lib.rTwoSDFStage
    u_stage : entity astron_r2sdf_fft_lib.rTwoSDFStage
    generic map (
    generic map (
      g_nof_chan       => g_fft.nof_chan,
      g_nof_chan       => g_fft.nof_chan,
      g_stage          => stage,
      g_stage          => stage,
      g_stage_offset   => c_stage_offset,
      g_stage_offset   => c_stage_offset,
      g_twiddle_offset => g_fft.twiddle_offset,
      g_twiddle_offset => g_fft.twiddle_offset,
Line 164... Line 164...
  end generate;
  end generate;
 
 
  ------------------------------------------------------------------------------
  ------------------------------------------------------------------------------
  -- pipelined FFT output requantization
  -- pipelined FFT output requantization
  ------------------------------------------------------------------------------
  ------------------------------------------------------------------------------
  u_requantize_re : entity common_requantize_lib.common_requantize
  u_requantize_re : entity astron_requantize_lib.common_requantize
  generic map (
  generic map (
    g_representation      => "SIGNED",
    g_representation      => "SIGNED",
    g_lsb_w               => c_out_scale_w,
    g_lsb_w               => c_out_scale_w,
    g_lsb_round           => TRUE,
    g_lsb_round           => TRUE,
    g_lsb_round_clip      => FALSE,
    g_lsb_round_clip      => FALSE,
Line 184... Line 184...
    in_dat     => raw_out_re,
    in_dat     => raw_out_re,
    out_dat    => out_re,
    out_dat    => out_re,
    out_ovr    => open
    out_ovr    => open
  );
  );
 
 
  u_requantize_im : entity common_requantize_lib.common_requantize
  u_requantize_im : entity astron_requantize_lib.common_requantize
  generic map (
  generic map (
    g_representation      => "SIGNED",
    g_representation      => "SIGNED",
    g_lsb_w               => c_out_scale_w,
    g_lsb_w               => c_out_scale_w,
    g_lsb_round           => TRUE,
    g_lsb_round           => TRUE,
    g_lsb_round_clip      => FALSE,
    g_lsb_round_clip      => FALSE,

powered by: WebSVN 2.1.0

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