Skip to content

chaseruskin/aquila

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Aquila

A collection of settings and processes for FPGA development with Orbit, a package manager and build system for VHDL, Verilog, and SystemVerilog.

All settings are configured in config.toml. This is the file that must be recognized by Orbit for these settings to go into effect.

Aquila is a constellation on the celestial equator, which represents the bird that carried Zeus/Jupiter's thunderbolts in Greek-Roman mythology.

Installing

  1. Install the repository as a Python package using pip (or your favorite Python package manager):
pip install git+https://github.com/chaseruskin/aquila.git
  1. Include the path to the configuration file using orbit:
orbit config --push include="$(aquila-config --config-path)"

Importing

Although not necessary, Aquila is distributed as an installable Python package such that it can be leveraged in future Orbit configurations that may exist outside of this project.

After Aquila is installed, you can import the aquila package into your own Python modules:

import aquila
from aquila import ninja

nj = ninja.Ninja()

Targets

Targets define processes for producing build artifacts to be invoked during the execution stage of Orbit's build process.

The following simulators/toolchains are supported:

Tool Target(s) Build Test Dependencies
GHDL ghdl y python, ninja
ModelSim msim y python, ninja
Vivado vi y python, ninja
Quartus quartz y python

Protocols

Protocols define processes for downloading a project from the internet to be invoked during the download phase of Orbit's installation process.

The following protocols are supported:

Tool Protocol(s) Patterns Dependencies
git git *.git

About

Build system for FPGAs

Resources

Stars

Watchers

Forks

Contributors

Languages