add no dsp hint for FFT
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// FFT: 1024-Point FFT Using Radix-2^2 Single-Path Delay Feedback
|
// FFT: 1024-Point FFT Using Radix-2^2 Single-Path Delay Feedback
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
(* use_dsp = "no" *)
|
||||||
module FFT #(
|
module FFT #(
|
||||||
parameter WIDTH = 32
|
parameter WIDTH = 32
|
||||||
)(
|
)(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// Multiply: Complex Multiplier
|
// Multiply: Complex Multiplier
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
(* use_dsp = "no" *)
|
||||||
module Multiply #(
|
module Multiply #(
|
||||||
parameter WIDTH = 16
|
parameter WIDTH = 16
|
||||||
)(
|
)(
|
||||||
@@ -12,7 +13,7 @@ module Multiply #(
|
|||||||
output signed [WIDTH-1:0] m_im
|
output signed [WIDTH-1:0] m_im
|
||||||
);
|
);
|
||||||
|
|
||||||
wire signed [WIDTH*2-1:0] arbr, arbi, aibr, aibi;
|
(* use_dsp = "no" *) wire signed [WIDTH*2-1:0] arbr, arbi, aibr, aibi;
|
||||||
wire signed [WIDTH-1:0] sc_arbr, sc_arbi, sc_aibr, sc_aibi;
|
wire signed [WIDTH-1:0] sc_arbr, sc_arbi, sc_aibr, sc_aibi;
|
||||||
|
|
||||||
// Signed Multiplication
|
// Signed Multiplication
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// SdfUnit: Radix-2^2 Single-Path Delay Feedback Unit for N-Point FFT
|
// SdfUnit: Radix-2^2 Single-Path Delay Feedback Unit for N-Point FFT
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
(* use_dsp = "no" *)
|
||||||
module SdfUnit #(
|
module SdfUnit #(
|
||||||
parameter N = 64, // Number of FFT Point
|
parameter N = 64, // Number of FFT Point
|
||||||
parameter M = 64, // Twiddle Resolution
|
parameter M = 64, // Twiddle Resolution
|
||||||
@@ -85,7 +86,7 @@ reg bf2_do_en; // 2nd Butterfly Output Data Enable
|
|||||||
// Multiplication
|
// Multiplication
|
||||||
wire[1:0] tw_sel; // Twiddle Select (2n/n/3n)
|
wire[1:0] tw_sel; // Twiddle Select (2n/n/3n)
|
||||||
wire[LOG_N-3:0] tw_num; // Twiddle Number (n)
|
wire[LOG_N-3:0] tw_num; // Twiddle Number (n)
|
||||||
wire[LOG_N-1:0] tw_addr; // Twiddle Table Address
|
(* use_dsp = "no" *) wire[LOG_N-1:0] tw_addr; // Twiddle Table Address
|
||||||
wire[WIDTH-1:0] tw_re; // Twiddle Factor (Real)
|
wire[WIDTH-1:0] tw_re; // Twiddle Factor (Real)
|
||||||
wire[WIDTH-1:0] tw_im; // Twiddle Factor (Imag)
|
wire[WIDTH-1:0] tw_im; // Twiddle Factor (Imag)
|
||||||
reg mu_en; // Multiplication Enable
|
reg mu_en; // Multiplication Enable
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
`define FFT_OUT_RE_BASE 16'ha000
|
`define FFT_OUT_RE_BASE 16'ha000
|
||||||
`define FFT_OUT_IM_BASE 16'hb000
|
`define FFT_OUT_IM_BASE 16'hb000
|
||||||
|
|
||||||
|
(* use_dsp = "no" *)
|
||||||
module fft_controller #(
|
module fft_controller #(
|
||||||
parameter FFT_LEN = 1024, // FFT处理长度
|
parameter FFT_LEN = 1024, // FFT处理长度
|
||||||
parameter BRAM_RD_LATENCY = 2 // 适配 BRAM 的读延迟 (通常 Block RAM 开启输出寄存器为 2)
|
parameter BRAM_RD_LATENCY = 2 // 适配 BRAM 的读延迟 (通常 Block RAM 开启输出寄存器为 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user