GaloisInc / BESSPIN-CloudGFE

The AWS cloud deployment of the BESSPIN GFE platform.
Apache License 2.0
2 stars 2 forks source link

Add configuration for a VCU118 framework, Garnet #122

Open jrtc27 opened 3 years ago

jrtc27 commented 3 years ago

Garnet[1] is a cut-down reimplementation of the AWS F1 shell for the VCU118. This adds all the same configurations as exist for AWS but with the necessary parameter tweaks to match the provided interface.

There is a lot of duplication between all these files. Some thought should probably go into how to reduce that, perhaps by auto-generating the Makefiles on demand as supported by Flute rather than committing many similar copies.

The boot ROM is currently almost certainly wrong, as it is just a copy of the AWS one. The original source for this should be added to the repository and the bsvi file built as part of the build rather than committed as source. This both makes it a less mysterious entity and allows for easy modification (including parameterisation).

The names for many of the files/modules/functions/etc are now slightly misleading, with many using AWS or AWS-specific terms in their names. Ideally better names would be used, but that's a rather invasive change that would be primarily cosmetic.

No script (or SystemVerilog wrapper) is provided yet to build a bitstream, but that would be rather futile without support for multiple clock domains in the SoC.

This includes a number of preparatory cleanups along the way, including moving AWSteria_vanilla back to AWSteria as having independent copies of directories that need to be kept in sync leads to a maintenance nightmare for us downstream and is a hindrance rather than the aid it was presumably intended as. This does make the combined diff in this pull request rather unwieldy so it's probably better to just look at the individual self-contained commits.

[1] https://github.com/CTSRD-CHERI/garnet