Co-authored-by: Abraham Gonzalez <abe.gonzalez@berkeley.edu>
Co-authored-by: Björn Gottschall <info@gottschall.no>
Co-authored-by: David Metz <david.c.metz@ntnu.no>
* driver_tar and xclbin keys can now be a URI
* non URI paths are also supported, with relative paths being relative to the deploy folder
* adds documentation about URI support
* URI are tried 4 times with a 1 second delay after failure
* run-basic-linux-poweroff CI job is now serialized behind run-parallel-verilator-metasims to improve CI reliability
Co-authored-by: Filip Stamenkovic <92741622+filipstamenkovic-sifive@users.noreply.github.com>
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
Co-authored-by: Tim Snyder <timothy.snyder@sifive.com>
* Update doc of always_expand_run_farm for rename
At some point @abejgonzalez renamed the option from `always_expand_runfarm` to `always_expand_run_farm` because that is more "readable".
This just updates the docs so that they align with the code.
* Update docs/Advanced-Usage/Manager/Manager-Configuration-Files.rst
The default arguments to FASED memory models are now passed alongside other FASED bridge arguments.
These defaults can be overriden by other args passed to the bridge driver or disabled when the raw hardware configuration is requested.
The manager can still pass an optional runtime config to the design to override arguments.
* adding scalaFix to the projecting, using two make targets, `scala-lint` and `scala-lint-check`
* adding documentation
Co-authored-by: David Biancolin <david.biancolin@sifive.com>
This PR adds a new make target, `clang-tidy` to run clang-tidy on all C++ sources.
Only a dummy check is enabled, as this patch applies the minimal number of fixes
to compile headers and sources with clang without the header. In a subsequent PR,
more checks will be enabled and the files will be formatted.
`clang-tidy` can be executed using `make -C sim clang-tidy`. It will automatically
apply fixes to known issues.
* firesim infrasetup now puts the contents into a tarball before deploy
* the supported formats are .tar .tar.gz and the other formats that GNU tar can autodetect
* updated documentation
* `driver_tar` key added to `config_hwdb.yaml` which allows the tarball to be built elsewhere but still deployed in the same manner
This PR will be followed up by another to package the library into static archives.
* Core utilities and interfaces are now in `core/`
* Base widgets and bridges reside in `bridges/`
* All shared emulator files were moved to `emul`
* Moved systematic_scheduler to core
* Removed the headers of simulation top-level files (containing `main`) as they are not open for extension/re-use
Added a UART test in a new group of tests, 'bridges'.
This test group includes the bridges from firesim-lib, which rely on more external dependencies.
The previous `midasexamples` test suite is limited to simple tests with no dependencies.
In order to set up bridges, introduced a single "constructor.h" header file to instantiate everything in a design.
This de-duplicates logic across multiple tests and the FireSim driver.
Removed the header-based testing logic and introduced `.cc` files for each test instead.
use fsspec to enable xclbin's to be one of any URI protocol
supported by the library or an installed add-on
Co-authored-by: Tim Snyder <snyder.tim@gmail.com>
Co-authored-by: Filip Stamenkovic <92741622+filipstamenkovic-sifive@users.noreply.github.com>
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
* Enabled clang-format on C++ sources
Ran clang-format on sources committed to the repository and added a CI job to ensure sources are properly formatted on each commit.
Clang-format can be installed using Linux package managers and the `git clang-format` command can be used to format all files that change with a commit.
* Update docs/Developer-Docs/GoldenGate-and-Driver-Development.rst
Co-authored-by: Tim Snyder <timothy.snyder@sifive.com>
* Update scripts/machine-launch-script.sh
Co-authored-by: Tim Snyder <timothy.snyder@sifive.com>
Co-authored-by: David Biancolin <david.biancolin@sifive.com>
Co-authored-by: Tim Snyder <timothy.snyder@sifive.com>
Now that printf statements are named, and thus annotatable
remove a long-standing hack that has the PrintfAnnotation label
the parameters to the statement instead of the statement itself