Commit Graph

573 Commits

Author SHA1 Message Date
Nandor Licker c2204d6593
Added a bridge registry to own all bridge instances (#1369) 2023-01-24 23:08:59 +00:00
Nandor Licker 6bf7c6f3eb
Enable clang-tidy on all C++ sources (#1400)
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.
2023-01-24 18:42:20 +02:00
abejgonzalez 2081529fb6 Update Vitis docs | Bump FPGA platform to 2022.1 2023-01-20 11:06:40 -08:00
Nandor Licker e5fc4cc121
Split project `Makefrag` into multiple components (#1354) 2023-01-18 11:33:41 +00:00
Abraham Gonzalez 15b80ee329
Merge pull request #1260 from firesim/rework-startup
Setup defaults to be single-node
2023-01-17 14:14:29 -08:00
Benjamin Morse 5138411df0
Changed "firesim infrasetup" to deploy using a tarball. (#1299)
* 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
2023-01-10 11:06:56 -08:00
Nandor Licker d6cd5113fb
Re-organised library file structure (#1361)
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
2023-01-09 19:47:39 +00:00
abejgonzalez cd58cfd40b Fix documentation Vitis deploy manager 2022-12-21 12:42:04 -08:00
Nandor Licker 5434084309
UART Bridge test (#1326)
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.
2022-12-13 07:07:36 +02:00
Nandor Licker b3c39d171a
Rewrite MIDAS tests (#1327)
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.
2022-12-12 20:59:15 +02:00
David Biancolin 98fa2f9b25
Remove references to buildafi; replace with buildbitstream (#1287) 2022-12-11 03:40:59 +00:00
David Biancolin cfad244cd7 docs: Remove old config-based freq specification; describe new mechanism 2022-10-30 20:01:36 -07:00
Russell Horvath ec69caaf2c
Merge pull request #1229 from firesim/expose-frequency
Expose frequency and strategy in the build_dcp script, plumb through to bitbuilder.
2022-10-20 21:20:35 -07:00
Abraham Gonzalez ce91e92fbd Address comments 2022-10-19 11:27:30 -07:00
Abraham Gonzalez 24dadf009d Address comments 2022-10-19 11:15:05 -07:00
Abraham Gonzalez 9308bc6d2f Add PyTest docs 2022-10-17 21:57:44 -07:00
David Biancolin 32cf7b7ce8
Update GoldenGate-and-Driver-Development.rst (#1259) 2022-10-14 17:11:55 -04:00
Abraham Gonzalez a6c2c99a85 Update docs gen. file 2022-10-14 11:38:23 -07:00
Russell Horvath 03e3316280 naming and doc changes 2022-10-13 22:30:37 +00:00
Abraham Gonzalez 4205db8e66 Setup defaults to be single-node 2022-10-12 18:29:16 -07:00
Nandor Licker fabb54bdab
Make AutoCounterCoverModule target modules (#1252)
Instead of hard-wiring a module name, now the annotation is placed on a proper module target.
2022-10-07 08:25:49 +00:00
Russell Horvath bdce5ae660
Merge branch 'main' into expose-frequency 2022-10-06 14:33:50 -07:00
Russell Horvath f95b4a9d13 add code formatting 2022-10-06 20:57:15 +00:00
Russell Horvath f96bf7606d update docs, add checks for platform 2022-09-30 20:55:02 +00:00
Abraham Gonzalez e23e1db99d
Clarify exit code for `builtbitstream` 2022-09-28 19:16:44 -07:00
Abraham Gonzalez b516a204c2 Enable forceterminate on buildbitstream 2022-09-19 21:46:45 +00:00
Abraham Gonzalez aaa8747661
Merge pull request #1206 from firesim/refactor_conda_abe
Refactor Conda + Bump Chipyard (which now uses Conda)
2022-09-15 18:20:13 -07:00
abejgonzalez 82fdf66554 Update comments + docs 2022-09-15 18:13:07 -07:00
abejgonzalez abd89ca4d4 Fix doc build 2022-09-15 11:55:01 -07:00
abejgonzalez 62f0fb5e9e Add docs | Remove esp-tools | Use CY build-setup | Add conda-lock CI 2022-09-15 11:38:20 -07:00
Sagar Karandikar 6d3569166f
Merge pull request #1193 from firesim/amifix-for-main
Bump to use AMI 1.12.1 (merge from stable which already has this)
2022-09-14 10:36:47 -07:00
Abraham Gonzalez 4526fb95ce Update docs 2022-09-12 23:24:46 +00:00
David Biancolin f6a1ee309e metasim: remove dramsim2 + move mm in-tree 2022-09-07 20:07:05 -07:00
Sagar Karandikar 9dd5f1b75e Merge remote-tracking branch 'origin/stable' 2022-08-31 18:44:38 +00:00
Sagar Karandikar 5f6e36a7ab update docs tagging for new rtd version names 2022-08-31 15:24:38 +00:00
Sagar Karandikar 5a9d0ff1ac test updating AMI to 1.12.1 2022-08-30 00:16:41 +00:00
Tim Snyder 8cb2325e7e
Revert "add xclbin URI support (#1140)" (#1173)
This reverts commit a517b1992a.
2022-08-16 23:44:35 +00:00
Tim Snyder a517b1992a
add xclbin URI support (#1140)
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>
2022-08-10 16:00:19 -05:00
David Biancolin dbd1d3081b
Merge pull request #1151 from firesim/printf-annotator-update
Annotate Printf statements instead of intercepting parameters.
2022-08-04 20:31:53 -07:00
Nandor Licker 2e205dce13
Enabled clang-format on C++ sources (#1139)
* 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>
2022-08-02 23:12:13 -07:00
David Biancolin 969e2fd093 printf: Annotate printf statements not parameters
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
2022-08-02 20:08:58 +00:00
Tim Snyder 0509bf388d
Merge pull request #1126 from firesim/timsnyder-siv-patch-2
correct doc for autocounter_csv_format
2022-07-29 06:41:55 -05:00
David Biancolin 0728a5d4bd
docs: fix aws_setup.py reference (#1125) 2022-07-12 09:27:31 -07:00
Tim Snyder e0316fbe46
Adjust RST formatting for numbered list of PerfCounter modes 2022-07-12 10:50:07 -05:00
Tim Snyder a45e53f74e
Correct label for local_cycle 2022-07-11 11:41:15 -05:00
Tim Snyder 38dab35b4a
Order of header rows was incorrect as well 2022-07-10 19:46:16 -05:00
Tim Snyder f2d2246965
correct doc for autocounter_csv_format
It was roughly correct but had slightly different text in the header rows.  Just correcting it to match what the driver is putting out.
2022-07-10 17:37:12 -05:00
Sagar Karandikar b0a234d883
Merge pull request #1114 from firesim/build-driver-command
add firesim builddriver command; plus a few metasim fixes and doc updates
2022-07-06 16:33:28 -07:00
alexhbot e656779ae5
Update Miscellaneous-Tips.rst 2022-07-06 14:33:25 -07:00
Sagar Karandikar d6beb655c3 more docs 2022-07-06 20:58:35 +00:00
Sagar Karandikar f0f4ffd5c6 more docs 2022-07-06 20:45:22 +00:00
Sagar Karandikar 254695990b docs 2022-07-06 20:19:20 +00:00
Sagar Karandikar ff2760185d
Apply suggestions from code review
Co-authored-by: Tim Snyder <timothy.snyder@sifive.com>
2022-07-06 11:59:11 -07:00
Sagar Karandikar 031a919959 add firesim builddriver command; plus a few metasim fixes and doc updates 2022-06-28 03:34:22 +00:00
Russell Horvath 8e595632b9 fix 404ing link in Targets doc 2022-06-27 10:12:03 -07:00
David Biancolin 2f53367e71 docs: fix example config runtime to match generated one 2022-06-23 22:52:59 +00:00
David Biancolin 68d60c8ec3 docs: fix underlining in metasimulation configuration section 2022-06-23 12:35:09 -07:00
Abraham Gonzalez 8c5e04f130 Address comments 2022-06-18 08:49:03 +00:00
Abraham Gonzalez 29aac588a7 Update documentation 2022-06-18 08:13:22 +00:00
Abraham Gonzalez 3993a6dfe0 Fix manager help output 2022-06-17 02:39:05 +00:00
Sagar Karandikar 1c2b4f14ad update help output in docs 2022-06-16 02:47:10 +00:00
Sagar Karandikar 1194e69c50 check in CI if example outputs used in docs are up to date 2022-06-15 23:31:54 +00:00
David Biancolin e5d4205661 docs: Add a section on using VSCode
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
2022-05-17 15:40:37 -07:00
David Biancolin 5ec250cad4 docs: fix gh-file-ref in docs builds on GHA 2022-05-11 16:16:41 -07:00
David Biancolin 09170b8d34 docs: make gh-file-ref work locally for new/moved files 2022-05-09 21:20:35 -07:00
David Biancolin ed807a7bc4 Add docs for RAMStyleHint under Advanced-Usage/Targets 2022-05-09 21:09:49 -07:00
David Biancolin 4059b66d66
[docs] Update Setting-up-your-Manager-Instance.rst to match new EC2 launch GUI (#1036) 2022-05-02 11:28:37 -07:00
Abraham Gonzalez 5bb7ea7f71 Fix docs [ci skip] 2022-04-29 02:08:06 +00:00
Tim Snyder d086ed8a0c reimplement buildafi deprecation warning
Implementation that used warn(DeprecationWarning) wasn't printing to output or being logged
implement it with more straightforward logging messages and by changing taskname to buildbitstream
2022-04-22 15:01:45 +00:00
Tim Snyder e2135d6cfe add --platform and reloacate awsinit
managerinit now requires a --platform flag that defaults to f1
awsinit is moved into awstools.py
updated docs to remove references to awsinit
2022-04-18 19:46:46 +00:00
Tim Snyder ac2fda235a Merge remote-tracking branch 'origin/main' into local-fpga-merged-into-main-wo-vitis 2022-04-15 19:17:10 +00:00
Tim Snyder 109ad6beb5 Merge remote-tracking branch 'origin/what-to-build' into local-fpga-merged-into-main-wo-vitis
Manually merged buildafi.py changes into bitbuilder.py
2022-04-15 19:16:56 +00:00
Tim Snyder d082d42560
Apply suggestions from code review
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
2022-04-12 19:24:00 -05:00
Tim Snyder 6bd99b2b8c Merge remote-tracking branch 'origin/main' into use_conda 2022-04-13 00:22:58 +00:00
Abraham Gonzalez 0045683379
Merge pull request #1006 from firesim/local-fpga-merged-into-main-wo-vitis
`.ini` to `.yaml` config files + supporting different build hosts
2022-04-12 15:41:37 -07:00
Tim Snyder 455dbba165 take another pass through the Conda.rst 2022-04-08 00:34:52 +00:00
Tim Snyder 5dd1486ee2
Merge branch 'main' into use_conda 2022-04-06 15:48:40 +00:00
David Biancolin b188cf5522 [docs] Port docs to use new gh-file-ref role 2022-04-04 19:05:39 -07:00
David Biancolin 164ebaa1d9 [docs] Add a role to simplify generating GH file refs 2022-04-04 19:05:39 -07:00
abejgonzalez 35589bc8e7 Merge remote-tracking branch 'origin/main' into local-fpga-merged-into-main-wo-vitis 2022-04-04 18:04:32 -07:00
Tim Snyder f9a57978b3 bump docs requirements.txt to latest
older sphinx doesn't work with latest jinja2 in conda environment
2022-04-04 21:31:30 +00:00
Tim Snyder 9e670d00d4 update docs for PR feedback and switching default env to firesim 2022-04-04 21:31:30 +00:00
David Biancolin 7dcd606308
Add a Developer Section to docs.fires.im (#1004)
This includes: 
* An FPGA-level metasimulation section
* A description of available tests for Driver and Scala dev
2022-04-04 11:33:00 -07:00
abejgonzalez b53422702d Merge remote-tracking branch 'origin/local-fpga' 2022-04-02 22:29:06 -07:00
Tim Snyder d721ac8d41
Apply suggestions from code review
Co-authored-by: David Biancolin <biancolin@berkeley.edu>
2022-03-31 16:48:53 -05:00
Tim Snyder 7e81aacfc5 format conda and moto in code backtics 2022-03-19 01:24:07 +00:00
Tim Snyder d1c2f1ebcf use conda in machine-launch-script.sh
conda is linux distro agnostic (provided that you are using glibc
newer than what the packages are built with, currently centos6-7)

conda also enables non-root users to install prereqs using
./scripts/machine-launch-script.sh --prefix $HOME/conda

conda also encapsulates dependencies and enables you to test
new versions of things with:
  * edit dependencies in script
  * ./scripts/machine-launch-script.sh --env trythis
  * conda activate trythis

Co-authored-by: David Biancolin <biancolin@berkeley.edu>
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
2022-03-19 01:10:40 +00:00
abejgonzalez c5f98fca31 First pass at review comments 2022-03-08 05:41:42 +00:00
Abraham Gonzalez 394bb13df5
Update Setting-up-your-Manager-Instance.rst 2022-02-28 23:01:05 +01:00
Sagar Karandikar 37f2f6b776
Fix search term for AMI selection in setup docs 2022-02-24 10:30:49 -08:00
abejgonzalez 62dcced1c4 Merge remote-tracking branch 'origin/where-to-build' into what-to-build 2022-02-24 01:40:52 +00:00
abejgonzalez 85403ff345 Address overrideconfigdata kebab casing 2022-02-23 11:23:11 -08:00
abejgonzalez a0b3667ce7 Merge remote-tracking branch 'origin/local-fpga' into where-to-build 2022-02-22 13:53:59 -08:00
Abraham Gonzalez 430e6d62cd
Update autocounter-csv-format.csv 2022-02-21 16:27:22 -08:00
David Biancolin 0cf6dbee67
Merge pull request #940 from firesim/launchrunfarm_patient_perseverence
Launchrunfarm patient perseverence (local-branch-redux)
2022-02-15 17:41:45 -08:00
Tim Snyder c61f245d2a update docs to use new location for single-file download and run of aws_setup.py 2022-02-15 23:20:02 +00:00
Tim Snyder 9acf77769d rename 'expand_runfarm_by_count' to 'always_expand' and plumb to config_runtime.ini 2022-02-15 20:09:49 +00:00
Abraham Gonzalez f277579dbb
Check that FireSim is running on tagged branch (#931)
* Check for tagged release in build-setup

* Bump CI to work with tag validate

* Autogen tag for docs | Misc. updates

* Forgot a n

* [ci skip] update comments

* Small update to comment [ci skip]
2022-02-14 19:38:40 -08:00
Tim Snyder 354c795a38
Update docs/Advanced-Usage/Manager/Manager-Configuration-Files.rst
Co-authored-by: Abraham Gonzalez <abe.j.gonza@gmail.com>
2022-02-14 21:31:47 -06:00
Tim Snyder 19e9593af3
Update docs/Advanced-Usage/Manager/Manager-Configuration-Files.rst
Co-authored-by: Sagar Karandikar <sagark@eecs.berkeley.edu>
2022-02-14 16:37:23 -06:00