Commit Graph

72 Commits

Author SHA1 Message Date
f8459f2478 Hardware CRC32 engine in matmul IP: 4-byte/cycle combinational, register at 0x010 2026-06-25 20:40:08 +08:00
76b5f30c6b Move MATMUL_DONE to last line 2026-06-25 20:11:45 +08:00
d9483a9d39 Add timing instrumentation for profiling (prologue/loop/epilogue/crc32) 2026-06-25 20:10:31 +08:00
956cd67773 Interrupt-driven wait: matmul HWI2 + DMA HWI1 direct CPU lines 2026-06-25 20:03:53 +08:00
57ba5d271d Remove all debug and printf 2026-06-25 15:44:18 +08:00
b331301584 Fix SRAM model: level-sensitive write for burst support 2026-06-25 15:40:28 +08:00
a24b5cff6e Add for writes to result region (addr 320-399) 2026-06-25 15:31:28 +08:00
a9958ee4fa BURST_LEN 47->63 (64 beats) 2026-06-25 04:08:18 +08:00
4aba830a7d Add for B1_C read channel 2026-06-25 04:04:18 +08:00
3cad98a811 Increase BURST_LEN to 47 (48 beats) to cover 192-byte C reads in one burst 2026-06-25 03:54:10 +08:00
b5ec0d2926 Fix escaped quotes in display 2026-06-25 03:45:18 +08:00
9c6b321d59 Add in read channel to debug C register readback 2026-06-25 03:44:54 +08:00
3fb93131e5 Simplify ACCUM debug: show expression value only 2026-06-25 03:43:46 +08:00
86eab428a7 Use parenthesized pairwise addition to prevent synthesis truncation 2026-06-25 03:41:58 +08:00
fba86b01a8 Add in C_ACCUM to debug accumulation sum 2026-06-25 03:38:26 +08:00
4e409f870c Register mult_p before accumulation to prevent synthesis glitches 2026-06-25 03:27:51 +08:00
6c77fa2e38 Remove FFT controller, tie off slave 6 2026-06-25 03:16:40 +08:00
d9d03b16c6 Fix: wait for ALL 4 multipliers to finish before accumulation 2026-06-25 03:07:49 +08:00
54aa37adee Add debug output for C[0][0]/C[1][1]/C[2][3] of groups 0,1 2026-06-25 03:03:10 +08:00
2e5d793bbf Merge main (CRC32 fix) 2026-06-25 02:52:09 +08:00
9ecda4aa7a Fix CRC32 table, remove debug output 2026-06-25 02:51:36 +08:00
ae8f2d1c2d Merge main (AXI ports fix) into no-fft 2026-06-25 02:35:04 +08:00
a2b3f72c76 Fix matmul AXI: add missing awlock/cache/prot ports, remove placeholder 2026-06-25 02:34:50 +08:00
8e86d8693e Increase DMA FIFO depth to 128 (512 bytes) for burst support 2026-06-25 01:54:07 +08:00
1e36883a7c Fix CRC32 table entry 187 2026-06-25 01:26:53 +08:00
3962058592 Fix CRC32 table entry 187 again (0x5CB30A04 -> 0x5CB36A04) 2026-06-25 01:24:04 +08:00
31c2b53583 CRC32 on-the-fly from c_buf (bypass GCC volatile ExtRAM bug) 2026-06-25 01:19:57 +08:00
292d3c7abf Remove placeholder comment 2026-06-25 00:53:42 +08:00
d3e1b5fda4 Add missing AXI4 ports: awlock/awcache/awprot/arlock/arcache/arprot 2026-06-25 00:53:28 +08:00
828612164a Re-remove FFT module (leaked in from main merge) 2026-06-25 00:51:54 +08:00
acb158a392 Update matmul RTL, remove shift_add_mult.v 2026-06-25 00:47:43 +08:00
5e467175ea Merge main (user mods) into no-fft 2026-06-25 00:44:01 +08:00
641d055f18 User mods: matmul RTL + shift_add_mult + C program 2026-06-25 00:43:16 +08:00
99c85f1a20 Rewrite burst logic with FFT-style state machine (W_IDLE/DATA/RESP, R_IDLE/DATA) 2026-06-25 00:22:30 +08:00
27d818390f Remove assign s_axi_rlast (now procedural) 2026-06-25 00:18:09 +08:00
494b8b9c5b Fix: s_axi_rlast must be output reg (assigned in always block) 2026-06-25 00:16:36 +08:00
f05c445ef3 Sync matmul IP (burst support) from no-fft 2026-06-25 00:12:02 +08:00
d5ad070ca0 Restore FFT module on main branch 2026-06-25 00:10:42 +08:00
20d5a541ad Add burst write/read support to matmul AXI slave for DMA compatibility 2026-06-25 00:08:29 +08:00
1660b283c4 Move DMA files to asm/, remove from common.mk 2026-06-24 23:52:30 +08:00
5459538a04 Add dma.c to common.mk link list 2026-06-24 23:47:33 +08:00
5dcee80b95 DMA-driven: A+B+C per group via DMA ch0/ch1, -O2 CRC32 from ExtRAM 2026-06-24 23:46:58 +08:00
a42568f635 Clean production code: -O2, read CRC32 from ExtRAM, remove all debug 2026-06-24 23:42:35 +08:00
c1fcb3c796 CRC32 on-the-fly from c_buf — bypass ExtRAM reads entirely 2026-06-24 23:38:06 +08:00
07f8422d75 Fix CRC32 table entry 187: 0x5CB30A04 -> 0x5CB36A04 2026-06-24 23:32:24 +08:00
93361733f6 Definitive write test: write 0xDEADBEEF then read back 2026-06-24 23:29:00 +08:00
16c0d7b639 Use __sync_synchronize() hardware barrier instead of asm compiler barrier 2026-06-24 23:22:38 +08:00
f0ebf1f5fa Output A0/B0/C0 for groups 0-3 and N-2,N-1 2026-06-24 23:16:26 +08:00
2c8f5d37f3 Add asm memory barrier before CRC32 to flush write buffer 2026-06-24 23:09:06 +08:00
afef1f1433 Add group 1 A/B/C debug output 2026-06-24 23:03:46 +08:00