⚠️ Note: Tutorials and documentation website are currently under development. 👷 🚧
LaZagna is an open-source tool for designing and evaluating 3D FPGA architectures. It supports customizable vertical interconnects, layer heterogeneity, and switch block patterns. LaZagna generates synthesizable RTL and bitstreams, enabling full architectural exploration from high-level specs to physical design.
Before building, ensure you have all the Python dependencies installed. You can do this using:
make prereqs
pip install -r requirements.txtBuild the project using make:
make allFor faster build times, use parallel processing with the -j flag:
make all -j4 # Uses 4 coresExecute the tool using:
python3 lazagna/main.py -f <path_to_setup_file>Optional flag:
-v: Enable verbose output
Configuration is done through setup files. See the setup_files directory for:
- Setup file format
- Available options
- Example configurations
LaZagna generates two types of output:
tasks_run/: Contains detailed results and generated RTL coderesults/: CSV files with placement and routing results for each benchmark
Clean specific outputs:
# Remove output files
make clean_files
# Clean OpenFPGA build
make clean_openfpga
# Clean everything
make cleanTo Do
This project is licensed under the MIT License
Copyright (c) 2025 Ismael Youssef
See the LICENSE file for full license details.
