Chryse

A little framework to build HDL projects in Chisel with open-source toolchains.

Status

For now I've returned to doing RTL with Amaranth, so I'm kind of porting Chryse to* Python in Niar.

* Chryse was originally rainhdx, so this is a full-circle moment.

Overview

  • Provides an extensible App that facilitates synthesis for multiple target platforms, and whatever other tasks you need.
  • Boards provide resources — refer to them in your design, and Chryse instantiates the necessary IO buffers in-between and adds them to the constraints used during place-and-route.
  • CXXRTL support: it's just another kind of platform. Chisel modules are translated into CXXRTL blackboxes, you write the sim driver and blackbox implementations, and the build system takes care of the details.

Examples

$ sbt run
spifrbb 0.1.0 (Chryse 0.1.0-SNAPSHOT)
  -h, --help      Show help message
  -v, --version   Show version of this program

Subcommand: build
Build the design, and optionally program it.
  -b, --board  <board>    Board to build for. Choices: icebreaker, ulx3s-45f
  -F, --full-stacktrace   Include full Chisel stacktraces
  -p, --program           Program the design onto the board after building
  -h, --help              Show help message

Subcommand: cxxsim
Run the C++ simulator tests.
  -c, --compile                Compile only; don't run
  -d, --debug                  Generate source-level debug information
  -f, --force                  Clean before build
  -O, --optimize               Build with optimizations
  -p, --platform  <platform>   CXXRTL platform to use. Choices: wb, bb
  -v, --vcd  <file>            Output a VCD file when running cxxsim (passes
                               --vcd <file> to the executable)
  -h, --help                   Show help message

 trailing arguments:
  <arg> ... (not required)   Other arguments for the cxxsim executable

Subcommand: rom
Build the Stackyem ROM image, and optionally program it.
  -p, --program  <board>   Program the ROM onto the board. Choices: icebreaker,
                           ulx3s-45f
  -h, --help               Show help message

Platform/board support

Basic functionality/resources

Planned

Contact

Asherah Connor <ashe kivikakk ee>

Legal

Copyright © 2024 Asherah Connor. Licensed under the GNU Lesser General Public License 3.0 or later, which builds upon the GNU General Public License 3.0.