GitXplorerGitXplorer
k

setup-chryse

public
0 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
6da729fe1f615a4d3eed1d88e92d4a23ac1d1a5e

workflows: test zig install.

kkivikakk committed 3 months ago
Unverified
6cafe42a91e3a67071e980f68766c6e3e6bca618

README: update.

kkivikakk committed 3 months ago
Unverified
c981513d56eab92e8236cc5150d13b5be7890500

action: install Zig when asked.

kkivikakk committed 3 months ago
Unverified
213f229b9f0f99919cb9066300ecb3852b3bd457

setup athena too.

kkivikakk committed 4 months ago
Verified
0d2f18c77b589084ac72e77a2aa9480012083d98

README: add rationale.

kkivikakk committed 4 months ago
Verified
d30b36a93d479b61526bc6186093c4ab90842803

README: add.

kkivikakk committed 4 months ago

README

The README file for this repository.

setup-chryse

Install dependencies for Chryse, and optionally the library itself from source. action.yml is an easy read.

Base usage

Install:

- name: Set up Chryse
  uses: chryse-hdl/setup-chryse@v2

OSS CAD Suite

Additionally install OSS CAD Suite using YosysHQ/setup-oss-cad-suite. The suite's Verilator install is used instead of getting it from apt.

- name: Set up Chryse
  uses: chryse-hdl/setup-chryse@v2
  with:
    install-oss-cad-suite: true
    github-token: ${{ secrets.GITHUB_TOKEN }}

Zig

Additionally install Zig using goto-bus-stop/setup-zig.

- name: Set up Chryse
  uses: chryse-hdl/setup-chryse@v2
  with:
    install-zig: 0.13.0

Chryse from source

Clone Chryse and sbt publishLocal a particular ref of it.

- name: Set up Chryse
  uses: chryse-hdl/setup-chryse@v2
  with:
    source-ref: main

Rationale

  • ChiselSim depends on Verilator 5.x in all but the simplest usage.
  • The ubuntu-22.04 GitHub Actions runner (current ubuntu-latest) includes sbt in the base image, but the Verilator in apt is 4.x.
  • The ubuntu-24.04 runner has Verilator 5.x in apt, but no sbt. -_-

I'm preferring getting ready for 24.04 sooner, so we fetch sbt manually, and install Verilator from apt if we're not obtaining OSS CAD Suite (which bundles it).

We don't need OSS CAD Suite if we're not synthesising, and YosysHQ/setup-oss-cad-suite's use of the GitHub API means it's pretty easy to trigger API rate-limits even when providing a token! So I try to make it easy to avoid it.