Commit Graph

14 Commits

Author SHA1 Message Date
81c636fb56 perf(matmul): pre-fire DMA Ch0 load + inline wait/DMA start + XOR bank toggle
user-sample.c v2 optimizations:
- Pre-fire DMA Ch0 load at loop tail to overlap fully with IP compute
- Inline wait_matmul_done/wait_dma_done to eliminate function call overhead
- Inline DMA register writes, skip redundant STATUS_BUSY_BIT check
- Replace g%2 with XOR bank toggle (bank ^= 1)
- Cache volatile pointers in locals (ch0, ch1, mat_status, mat_ctrl)

Makefile: bump -O2 to -O3
2026-06-26 03:39:32 +08:00
a2b496ca8d Restore timing + switch to polling + disable CPU interrupts (IE=0) 2026-06-26 01:01:48 +08:00
115466353d Remove timing instrumentation from user-sample.c 2026-06-26 00:34:44 +08:00
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
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
9ecda4aa7a Fix CRC32 table, remove debug output 2026-06-25 02:51:36 +08:00
641d055f18 User mods: matmul RTL + shift_add_mult + C program 2026-06-25 00:43:16 +08:00
4a67ca5c83 Add debug output for group 0 write-back and group 1 compute 2026-06-24 22:09:06 +08:00
aaefb04737 Sync asm/ (user-sample.c + Makefile) from test branch
MATMUL_GROUP_NUM defaults to 5000, overridable for fast local testing.
2026-06-24 17:01:45 +08:00
fbc993b846 Initial commit: Loongson FPGA SoC project for 2026 CIC-IEC 2026-06-23 01:22:45 +08:00