Buckyball
Buckyball is a scalable framework for Domain Specific Architecture, built on RISC-V architecture and optimized for high-performance computing and machine learning accelerator design.
Project Overview
The buckyball framework provides a complete hardware design, simulation verification, and software development toolchain, supporting the full development process from RTL design to system-level verification. The framework adopts a modular design that supports flexible configuration and extension, suitable for various specialized computing scenarios.
Quick Start
Environment Dependencies
Before getting started, please ensure your system meets the following dependency requirements:
Required Software:
- Anaconda/Miniconda (Python environment management)
- Ninja Build System
- GTKWave (waveform viewer)
- Bash Shell environment (doesn't need to be the primary shell)
Installing Dependencies:
# Install Anaconda
# Download from: https://www.anaconda.com/download/
# Install system tools
sudo apt install ninja-build gtkwave
# Optional: FireSim passwordless configuration
# Add to /etc/sudoers: user_name ALL=(ALL) NOPASSWD:ALL
Source Build
1. Clone Repository
git clone https://github.com/DangoSys/buckyball.git
cd buckyball
2. Initialize Environment
./scripts/init.sh
Note: Initialization takes approximately 3 hours, including dependency downloads and compilation
3. Environment Activation
source buckyball/env.sh
4. Verify Installation
Run Verilator simulation test to verify installation:
bbdev verilator --run '--jobs 16 --binary ctest_vecunit_matmul_ones_singlecore-baremetal --config sims.verilator.BuckyballToyVerilatorConfig --batch'
Docker Quick Experience
We support providing a Docker environment for rapid deployment of buckyball.
Notice:
- Docker images are provided only for specific release versions.
- Docker image may not be the latest version, source build is recommended.
We do not provide support for this version as it is not a stable release.
Buckyball as a library
We support providing a streamlined version of buckyball installation, integrated as a generator within Chipyard.
Notice:
- buckyball-as-a-lib are maintained only for specific release versions.
We do not provide support for this version as it is not a stable release.
Quick Tutorial
You can start to learn ball and blink from here
Additional Resources
You can learn more from DeepWiki and Zread
Community
Join our discussion on Slack
Contributors
Thank you for considering contributing to buckyball!