add no dsp hint for FFT

This commit is contained in:
2026-07-05 20:37:19 +08:00
parent 4eca83bd3d
commit 19751b9d18
4 changed files with 6 additions and 2 deletions

View File

@@ -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
)( )(

View File

@@ -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

View File

@@ -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

View File

@@ -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)