Skip to content

slaclab/ruckus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,607 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ruckus

DOE Code

A Makefile/TCL hybrid firmware build system for SLAC FPGA and ASIC projects.

ruckus provides a standard library of TCL procedures and Makefile targets that abstract Vivado, Vitis HLS, GHDL, Cadence Genus, and Synopsys DC build flows into a consistent make bit / make syn interface. It handles source loading, IP core management, hook script injection, and firmware release packaging.

Documentation

Full documentation: https://slaclab.github.io/ruckus/

Prerequisites

  • Linux operating system
  • Licensed EDA tool installation (Vivado, Vitis, Cadence Genus, or Synopsys DC)
  • Python 3 with pip packages: gitpython pygithub pyyaml

Basic Usage

# Clone your firmware repository (ruckus is typically a submodule)
git clone --recursive https://github.com/slaclab/MyFirmware
cd MyFirmware/firmware/targets/MyTarget

# Create build directory (one-time setup)
mkdir ../../../../build

# Run the build
make bit

In your project Makefile:

ifndef PRJ_PART
export PRJ_PART = xcku15p-ffva1760-2-e
endif

include $(TOP_DIR)/submodules/ruckus/system_vivado.mk

See the full documentation for complete setup instructions, all supported tool backends, and the firmware release workflow.

About

FPGA and Digital ASIC Build System

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors