FFT Windowed Prog
Runtime-programmable variant of FFT Windowed: same windowed FFT engine (overlap None/25%/50%, dual-core ping-pong, Pipelined or burst engines) but the window coefficients live in a RAM loaded at runtime through a small COEF_ADDR / COEF_DATA / COEF_WE bus. Standard properties, no custom GUI.
Introduction
Identical datapath to FFT Windowed (see that guide for operation,
overlap rules and the CE duty limit), but the window is a 16-bit Q16
RAM instead of a compile-time ROM. Until loaded the window is
rectangular (all ones). Write coefficient $w[n]$ by driving
COEF_ADDR = n, COEF_DATA = round(w*65535) and pulsing COEF_WE
for one clock; with overlap enabled the write is applied to both
core RAMs at once. Load while the block is idle (before enabling the
input stream) to avoid mixing windows inside one frame.
Use the FFT Windowed designer (on the fixed block) to preview a
window and export the coefficient CSV (addr,coef per line) for your
runtime loader.
Pin Description
Properties
Transform length N (power of 2)
Transform length N (128..16384, power of 2).Default: 1024
Options: 128 256 512 1024 2048 4096 8192 16384
Pipelined: continuous, no START pin. Radix-4/Radix-2/Radix-2 Lite: framed, needs START (tie ‘1’ for auto restart).
Pipelined (continuous, no START) or Radix-4 / Radix-2 / Radix-2 Lite (framed, START).Default: Pipelined
Options: Pipelined Radix-4 Radix-2 Radix-2 Lite
Frame overlap. None: 1 core. 25%/50%: two cores ping-pong. Max input CE duty = hop/N.
None / 25% / 50% (two cores with overlap, CE duty <= hop/N).Default: None
Options: None 25% 50%