Softcore CPU Reference
everything you need to know about building a softcore processor
Installing Vivado on Ubuntu
# Download Vivado from Xilinx website (you'll need to create an account)
# I'm using version 2024.2, but check for the latest
# Extract the installer
tar -xvf Xilinx_Unified_2024.2_*.tar.gz
cd Xilinx_Unified_2024.2_*/
# Run the installer
sudo ./xsetup
# During installation:
# - Choose "Vivado" (not Vitis)
# - Select "Vivado ML Standard"
# - Make sure to include support for Artix-7 devices
# - Install to /tools/Xilinx/Vivado/2024.2 (or your preferred location)Installing Open Source FPGA Tools
Connecting Your Arty Board
Installing OpenOCD for Debugging
From Blinky to CPU
Part 1: The Heartbeat
Part 2: Understanding RISC-V
Part 3: The State Machine
WebAssembly on FPGA Frontier
Why WASM on FPGA?
The Compilation Pipeline Challenge
My WASM Softcore Design Approach
Bootloader Experiments
Hello World on WASM
Performance Optimization Journey
For the RISC-V Core:
For the WASM Core:
Why Roll Your Own CPU?
The Simplest MVP
Understanding RISC-V
State Machines
The ALU
The Memory
Optimization
Hazards and Forwarding
Branches
Tools and Testing
Memory Mapped I/O
From Simulation to Silicon
Performance Analysis
Advanced Topics
Caches
Out-of-Order Execution
Multiple Issue
Toolchain
References and Further Reading
Official Documentation and Standards
RISC-V Implementations and Cores
Learning Resources and Tutorials
Tools and Development
Advanced Topics and Research
FPGA and Hardware Resources
Memory and Architecture
FPGA Toolchain Resources
WebAssembly on FPGA
Related Technologies
Last updated