Jason
36ad15247c
Split fft_engine FSM: async reset for control, sync reset for DSP/BRAM datapath (Build 11)
Split monolithic always block into two:
- Block 1 (async reset): FSM state, counters, output interface
(dout_re/im, dout_valid, done) — deterministic startup
- Block 2 (sync reset): DSP/BRAM pipeline registers (rd_b_re/im,
rd_tw_cos/sin, bf_prod_re/im, rd_a_re/im, bf_t_re/im, rd_tw_idx,
rd_addr_even/odd, rd_inverse) — enables hard block absorption
Also convert output pipeline (out_pipe_valid/inverse) to sync reset.
Expected synthesis impact:
- DSP48E1 AREG/BREG absorption for butterfly multiply inputs
- DSP48E1 PREG absorption for multiply outputs (bf_prod_re/im)
- BRAM output register absorption for rd_a_re/im
- Eliminate ~300 DPIR-1 methodology warnings per FFT instance
- Resolve DPOP-2 (PREG=0), RBOR-1 (BRAM DOA), REQP-1839/1840
13/13 regression suites pass. Integration golden: 2048/2048 exact match.
2026-03-17 21:40:09 +02:00
..
2026-03-17 19:38:09 +02:00
2026-03-17 19:38:09 +02:00
2026-03-17 13:48:47 +02:00
2026-03-17 20:56:28 +02:00
2026-03-16 22:24:22 +02:00
2026-03-17 19:38:09 +02:00
2026-03-15 17:37:59 +02:00
2026-03-17 20:56:42 +02:00
2026-03-16 22:24:22 +02:00
2026-03-17 19:38:09 +02:00
2026-03-16 18:14:06 +02:00
2026-03-17 20:11:13 +02:00
2026-03-17 13:48:47 +02:00
2026-03-17 21:40:09 +02:00
2026-03-16 10:25:07 +02:00
2026-03-16 10:25:07 +02:00
2026-03-17 20:56:42 +02:00
2026-03-17 20:11:13 +02:00
2026-03-17 19:38:09 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:15:23 +02:00
2026-03-16 10:25:07 +02:00
2026-03-16 22:24:06 +02:00
2026-03-15 06:14:04 +02:00
2026-03-17 12:47:22 +02:00
2026-03-16 22:24:06 +02:00
2026-03-17 19:38:09 +02:00
2026-03-17 19:38:09 +02:00
2026-03-17 15:41:06 +02:00
2026-03-16 19:53:40 +02:00
2026-03-16 19:53:40 +02:00
2026-03-17 13:48:47 +02:00
2026-03-16 10:25:07 +02:00