fix(fft): update SdfUnit, Twiddle, and axi wrapper

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-07-05 23:25:51 +08:00
parent e8893a28dd
commit 088a9bd5b8
3 changed files with 40 additions and 22 deletions

View File

@@ -2,12 +2,13 @@
// Twiddle: 1024-Point Twiddle Table for Radix-2^2 Butterfly
//----------------------------------------------------------------------
module Twiddle #(
parameter TW_FF = 1 // Use Output Register
parameter TW_FF = 1, // Use Output Register
parameter WIDTH = 32
)(
input clock, // Master Clock
input [9:0] addr, // Twiddle Factor Number
output [31:0] tw_re, // Twiddle Factor (Real)
output [31:0] tw_im // Twiddle Factor (Imag)
output [WIDTH-1:0] tw_re, // Twiddle Factor (Real)
output [WIDTH-1:0] tw_im // Twiddle Factor (Imag)
);
wire[31:0] wn_re[0:1023]; // Twiddle Table (Real)
@@ -25,8 +26,8 @@ always @(posedge clock) begin
ff_im <= mx_im;
end
assign tw_re = TW_FF ? ff_re : mx_re;
assign tw_im = TW_FF ? ff_im : mx_im;
assign tw_re = TW_FF ? ff_re[31 -: WIDTH] : mx_re[31 -: WIDTH];
assign tw_im = TW_FF ? ff_im[31 -: WIDTH] : mx_im[31 -: WIDTH];
//----------------------------------------------------------------------
// Twiddle Factor Value