Commit Graph

4972 Commits

Author SHA1 Message Date
Sagar Karandikar 257203476d
Merge pull request #1411 from firesim/workshop-readme
Add workshop info to README.md
2023-01-26 21:39:01 -08:00
Russell Horvath e23b395ba8 firesim: add reports and checkpoints to vitis readme 2023-01-27 04:45:27 +00:00
Sagar Karandikar 0041ad3618
Mirror website updates in README.md 2023-01-26 20:41:20 -08:00
Abraham Gonzalez 4b098896e6
Merge pull request #1410 from firesim/abejgonzalez-patch-5
Force using 2022.1 Vitis
2023-01-26 20:20:31 -08:00
Sagar Karandikar 680990c960
Add workshop info to README.md 2023-01-26 20:15:27 -08:00
Abraham Gonzalez 831d68df6a
Force using 2022.1 Vitis 2023-01-26 17:36:57 -08:00
Abraham Gonzalez 89972c492b
Merge pull request #1397 from firesim/update-vitis-docs
Update Vitis docs | Bump FPGA platform to 2022.1
2023-01-26 11:22:00 -08:00
Nandor Licker 6d39766d6d
Fix incremental builds triggered by scala changes (#1408)
Fixed the DRY'd grep pattern. Incremental builds should work now.
2023-01-26 09:56:13 -08:00
Jerry Zhao 0b8289acd8
Merge pull request #1401 from firesim/jerryz123-patch-3
Fix loadmem bug in firesim_tsi.cc
2023-01-25 16:48:15 -08:00
Jerry Zhao 1b03338a47
Update sim/firesim-lib/src/main/cc/fesvr/firesim_tsi.h
Co-authored-by: David Biancolin <david.biancolin@sifive.com>
2023-01-25 14:20:37 -08:00
Abraham Gonzalez 56790ead95
Merge pull request #1396 from firesim/add-vcs-metasims
Add VCS metasimulation to CI
2023-01-25 11:14:52 -08:00
Benjamin Morse a513c0ef58
Add scalaFix (#1393)
* 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>
2023-01-25 10:34:10 -08:00
Nandor Licker cdb46619d9
Moved simulation step control to the PeekPoke bridge (#1399)
The STEP and DONE fields of the simulation master were fully determined by the behaviour of the peek poke bridge.
Since that stepping logic is closely tied to peek-poke logic, this PR moves it into that bridge.
Temporarily, the `firesim_top` harness now uses PeekPoke to drive the simulation. This will be removed in a future PR.
2023-01-25 19:12:44 +02:00
abejgonzalez cce21793fb Move testing configs to deploy/workloads/ci 2023-01-24 18:19:24 -08:00
Jerry Zhao 64ea141ecc Fix bug in fesvr loadmem path
chunk_align has to match the loadmem-DRAM interface width
Hardcode this for now
2023-01-24 15:45:53 -08:00
Nandor Licker c2204d6593
Added a bridge registry to own all bridge instances (#1369) 2023-01-24 23:08:59 +00:00
Nandor Licker 70f8996484
Applied clang-tidy fixes (#1402) 2023-01-24 18:53:24 +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 6d94c9414f Change simulation dir on local FPGA machine 2023-01-23 11:45:52 -08:00
Nandor Licker 4581fde9e9 List dromajo static library as an explicit dependency
In its current form, VCS places all LDFLAGS before compiled object files.
Due to this ordering, no archive specified with `-l` is actually linked.
2023-01-23 01:26:55 +00:00
abejgonzalez e27622dafa Expand timeout 2023-01-23 01:26:55 +00:00
abejgonzalez 49239dc47f Don't use manager dir 2023-01-23 01:26:55 +00:00
abejgonzalez f36555b8a8 Add managerinit 2023-01-23 01:26:54 +00:00
abejgonzalez dad035a9b3 Remove extra cd 2023-01-23 01:26:54 +00:00
abejgonzalez 7a3349901f Move VCS metasims to run on on-premise FPGA machine 2023-01-23 01:26:54 +00:00
abejgonzalez c43df3f3ab Add VCS metasimulation to CI 2023-01-23 01:26:54 +00:00
Benjamin Morse ae9ea90188
Fixes for Chisel 3.6 support (#1395)
Transparent changes so that Firesim will be compatible with Chisel 3.6 in the future
2023-01-20 14:01:27 -08:00
abejgonzalez 2081529fb6 Update Vitis docs | Bump FPGA platform to 2022.1 2023-01-20 11:06:40 -08:00
Nandor Licker e5b72dbf96
Added a root widget class and a low-overhead RTTI mechanism (#1382)
The widget/bridge hierarchy is now rooted at widgets.
In order to dynamically distinguish classes, an RTTI mechanism was added, along with
`widget_cast` and `widget_isa` methods.
2023-01-20 08:34:52 +02:00
Abraham Gonzalez c874b5c7c4
Merge pull request #1385 from firesim/new-shell-flash-script
Switch to py script for XRT shell flashing
2023-01-19 15:26:52 -08:00
Nandor Licker 43b09980e5
Cache the classpath between SBT runs (#1390)
The build system includes 3 targets caching the classpath containing compiled jars to be used by subsequent java invocations, fully bypassing the slow sbt setup on repeated invocations to SBT.
2023-01-19 22:12:49 +00:00
Abraham Gonzalez 6652b02f56
Merge pull request #1344 from firesim/fix-ci
Fix Vitis CI
2023-01-19 13:51:12 -08:00
Nandor Licker 6e6f70f44a
Fixed platform configs not being applied (#1394)
This PR eliminates stringly-typed configs and fixes the issue with them not being applied.
2023-01-19 20:24:41 +00:00
Abraham Gonzalez b8c38b282e
Merge pull request #1387 from firesim/fix-metasim-plus-ci
Fix metasim due to tarball deployment and add CI
2023-01-19 11:57:42 -08:00
Russell Horvath 614b5326db
bump aws-fpga w/ Route 35-1 and Synth-8-6340 warning promotion (#1391) 2023-01-18 14:30:03 -08:00
abejgonzalez 957e445a10 Fix exception indentation 2023-01-18 14:07:55 -08:00
Benjamin Morse 72bba18859
Fixes needed to support Scala 2.13
Modified the following commit from Author: Chick Markley (#1388)
Fixes needed to support Scala 2.13
Mostly need .toSeq on mutable Seqs
A few import resolution, was pickup wrong Utils.
Fixed Seq problem returned in tuple
2023-01-18 11:11:06 -08:00
abejgonzalez 6780d64074 Remove dependency on prior built workloads 2023-01-18 09:40:14 -08:00
Nandor Licker e5fc4cc121
Split project `Makefrag` into multiple components (#1354) 2023-01-18 11:33:41 +00:00
abejgonzalez b4eec557f9 Revert Chipyard bump 2023-01-17 16:45:06 -08:00
abejgonzalez c988f3c32e Create output folder if it doesn't exist before tar'ing 2023-01-17 15:01:06 -08:00
abejgonzalez 3af6d553ed Add CI for metasims 2023-01-17 15:00:11 -08: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
Nandor Licker 7c5d5ce0ae
Re-enable compilation of the Dromajo bridge (#1384)
The Dromajo bit suffers from a fair bit of bit rot. This patch fixes breakages from stream engines and MMIO port rewrites.
The Dromajo bridge is now compiled as part of the support library, ensuring at least the C++ side is kept updated.
Due to its use of an additional header, it is an interesting bridge to keep maintaining.
The bridge is not tested as the Scala counterpart does not compile with Chipyard at the moment.
2023-01-17 21:56:15 +02:00
abejgonzalez cec5a4b51b Small cleanup 2023-01-16 13:47:34 -08:00
abejgonzalez d56d508a0d Switch to py script for shell flashing 2023-01-16 13:44:20 -08:00
abejgonzalez a6e954cba6 Merge remote-tracking branch 'origin/main' into fix-ci 2023-01-16 09:20:37 -08:00
Benjamin Morse d3f7f31a05
Fix Assorted Scala warnings (#1378)
Fix these Scala warnings, authored by John Ingalls:
* use SeededRandom.lfsr instead of helper LFSR64
* supply empty argument list '()' explicitly to invoke method
* empty parameter list overrides method without any
* method without a parameter list overrides a method with a single empty one
* call method 'fire' without parentheses
* add ': Unit =' explicit return type
2023-01-13 02:06:25 +00:00
Nandor Licker 7bda166476
Separate XSIM from f1 into simif_xsim (#1374)
The XSIM implementation is largely disjoint from the F1 one. Separate it.
2023-01-12 21:09:13 +00: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