Files

42 lines
1.8 KiB
Markdown

# FPGA-Core Tutorial
This tutorial tree follows `ROADMAP.md`. Each phase and subphase has a learning note
with the same structure:
- Context
- Goals
- New Concepts
- How To Think About It
- Learning Tasks
- Pitfalls
- Tooling And Testing
- References
The notes assume strong Linux/systems experience and beginner-to-intermediate FPGA and
digital-design experience. They intentionally avoid giving implementation code. The goal
is to explain what to learn, what to verify, and what mistakes to avoid.
## Phase Index
- [Phase 0 - Architecture Contract](phase-00-architecture-contract/phase-00.md)
- [Phase 1 - ALU + M Unit](phase-01-alu-m-unit/phase-01.md)
- [Phase 2 - Register File](phase-02-register-file/phase-02.md)
- [Phase 3 - Decoder](phase-03-decoder/phase-03.md)
- [Phase 4 - First CPU](phase-04-first-cpu/phase-04.md)
- [Phase 5 - Branches And Jumps](phase-05-control-flow/phase-05.md)
- [Phase 6 - Load/Store](phase-06-load-store/phase-06.md)
- [Phase 7 - Memory-Mapped UART](phase-07-uart-mmio/phase-07.md)
- [Phase 8 - GCC Toolchain Integration](phase-08-gcc-toolchain/phase-08.md)
- [Phase 9 - GCC-Built BIOS / Serial Monitor](phase-09-bios-monitor/phase-09.md)
- [Phase 10 - Minimal ELF Loader](phase-10-elf-loader/phase-10.md)
- [Phase 11 - Tiny Kernel + Command Shell](phase-11-tiny-kernel/phase-11.md)
- [Phase 12 - CSRs + M-Mode Traps](phase-12-csrs-traps/phase-12.md)
- [Phase 13 - Timer](phase-13-timer/phase-13.md)
- [Phase 14 - Interrupt Controller](phase-14-interrupt-controller/phase-14.md)
- [Phase 15 - Atomics](phase-15-atomics/phase-15.md)
- [Phase 16 - Pipeline](phase-16-pipeline/phase-16.md)
- [Phase 17 - SPI Flash + DRAM](phase-17-flash-dram/phase-17.md)
- [Phase 18 - M/S/U + Sv32](phase-18-privilege-sv32/phase-18.md)
- [Phase 19 - Linux Boot Contract](phase-19-linux-boot-contract/phase-19.md)
- [Phase 20 - Linux](phase-20-linux/phase-20.md)