Commit Graph

135 Commits

Author SHA1 Message Date
abejgonzalez
02f22e0061 Bump build.sbt.patch [ci skip] 2020-12-13 09:37:48 -08:00
Abraham Gonzalez
f54dce13d6 Merge pull request #709 from ucb-bar/small-backwards-compat
Bump Dromajo | Optional ignore QEMU toolchain flag
2020-11-15 14:07:31 -08:00
Abraham Gonzalez
9052b41328 Re-ignore QEMU from gnu-toolchain | Avoid piping make version in toolchain build 2020-11-04 20:59:14 -08:00
Abraham Gonzalez
94eceeb624 Use empty variable instead of t/f 2020-11-04 15:54:09 -08:00
abejgonzalez
a2ebbee2ac Rename Ariane to CVA6 2020-11-04 15:42:30 -08:00
Abraham Gonzalez
5e3d1a605d Add --ignore-qemu flag to toolchains | Prepare QEMU when it builds 2020-11-04 11:57:23 -08:00
David Biancolin
57a0bc5dfc Fix zsh compatibility in init-submodules-no-rv-tools (#705) 2020-11-03 12:14:02 -05:00
Jerry Zhao
d958b8e1aa [ci skip] Update smartelf2hex to use MemSiz instead of FileSiz
elf2hex writes zeros to a segment for which MemSize > FileSize, which adheres to the ELF spec.
Thus, we should calculate the total size of the file from the MemSize of the last segment, rather than the FileSize.
2020-10-12 17:48:08 -07:00
Zitao Fang
942766ad86 Merge branch 'dev' of github.com:ucb-bar/chipyard into sodor-integrate 2020-09-25 11:41:40 -07:00
Jerry Zhao
d5660c01f3 Bump esp-isa-sim for loadmem-fix add TLS segments to smartelf2hex 2020-09-22 12:58:34 -07:00
Jerry Zhao
6c297e3179 Fix smartelf2hex.sh creating files 64x the minimum size 2020-09-22 11:08:52 -07:00
Zitao Fang
5506f77679 Add CircleCI check and update Sodor config 2020-09-14 09:14:57 -07:00
Abraham Gonzalez
f8a0757eee Remove extra mem_size line [ci skip] 2020-08-24 11:24:28 -07:00
Abraham Gonzalez
543136db8c Port numa_prefix to python2 [ci skip] 2020-08-24 11:04:28 -07:00
abejgonzalez
425b8ce850 Add support for multi-threaded verilator 2020-08-20 23:37:17 -07:00
Abraham Gonzalez
4ae1dfb14b Merge pull request #649 from ucb-bar/dir-eval
Change DIR evaluation strategy
2020-08-20 16:28:00 -07:00
Jacob Gadikian
aca96a7f4d Update ubuntu-req.sh (#645)
Use more cores when we can, and fewer when we can't use more
2020-08-18 11:49:15 -07:00
Abraham Gonzalez
d402825e7f Change eval. strategy 2020-08-17 17:15:05 -07:00
Colin Schmidt
edbb86ef98 Move elf2hex preprocessing into separate script 2020-08-05 11:23:48 -07:00
Jerry Zhao
661038f992 Deduplicate across Chiypard configs into a ChipyardBaseConfig 2020-07-06 17:54:24 -07:00
David Biancolin
5e4d2103cc [setup] Don't re-init firesim in firesim-setup.sh 2020-06-21 23:26:25 +00:00
David Biancolin
f7e0f6eab2 Merge pull request #593 from ucb-bar/re-re-bar
Update reference to 'REBAR' in script
2020-06-17 00:15:51 -07:00
Albert Magyar
f9faac32fc [skip ci] Update reference to 'REBAR' in script comment 2020-06-03 17:21:43 -07:00
abejgonzalez
a06c90cdac fix submodule update 2020-05-28 15:43:52 -07:00
Abraham Gonzalez
3103099ab2 Merge pull request #575 from ucb-bar/gemmini0.3
Gemmini v0.3 Bump
2020-05-28 15:30:51 -07:00
Jerry Zhao
930f03cf68 Do not initialize gemmini's onnx-runtime 2020-05-28 12:54:19 -07:00
Paul Rigge
e6984e412b Use Chain for dsptools example.
Rename examples, bump dsptools to master, and incorporate feedback.
2020-05-26 23:00:37 +00:00
Albert Magyar
7208ab0b68 Don't try to init nonexistent midas submodule 2020-05-20 14:03:39 -07:00
abejgonzalez
d2060947b6 bump toolchain version | fix git submodule update 2020-05-19 21:21:10 -07:00
abejgonzalez
0d087b6d32 add auto-gen comments | git init dromajo dir 2020-05-19 19:42:13 -07:00
Abraham Gonzalez
85b555dbce NVDLA Integration + Cleanup Ariane Preprocessing (#505)
* [nvdla] initial nvdla integration

* [nvdla] add firesim configs

* [nvdla] re-add accidentally deleted line

* [nvdla] works on master with small

* [nvdla] use master branch of nvdla

* [nvdla] remove extra sources

* [nvdla] bump

* [nvdla + ariane] bump and use insert-includes for pre-processing

* [nvdla] add ci | remove target configs in FireChip | update naming

* [nvdla] bump nvdla | fix ci run-tests error

* [nvdla] re-enable PCWM-L error | fix/update makefile(s)

* [nvdla] bump nvdla fragments in FireChip

* [misc] bump tutorial patches

* [chipyard] remove extra import

* [nvdla] bump nvdla for pbus [ci skip]

* [nvdla] update firemarshal and add nvdla workload

* [nvdla] bump nvdla-workload

* [nvdla] bump hw

* [docs] add basic documentation

* [docs] adjustments to documentation

* [misc] update docs | bump firesim with recipe

* [misc] disable error on warnings in verilator | bump number width to match RC

* [docs] fix doc build error

* [verilator] move no fail on warning to be global

* [ci skip] [nvdla] bump submodule urls

* [misc] move firesim specific configs into nvdla dir [ci skip]

* [nvdla] fix run-tests in ci

* update RC configs | bump marshal | bump nvdla-workload

* [nvdla] bump nvdla-workload [ci skip]

* add topology mixin to nvdla configs

* update tutorial patches
2020-05-16 12:22:30 -07:00
Jerry Zhao
3f5a204fd0 BOOM Bump w. Fromajo (#523)
* [uart] add uart adapter | add uart + adapter to all configs

* [uart] change pty define name | add uart to all configs that need it

* [uart] default to 115200 baudrate

* [dromajo] first working commit

* [dromajo] bump boom for commit-width > 1 fix

* [dromajo] adjust dromajo commits

* [dromajo] bump boom

* commit dromajo changes

* extra

* [dromajo] add block device to configs

* rebump older modules

* bump firesim

* [chipyard] enable dromajo in midas level simulation

* [testchipip] forgot to bump

* get rid of breaking things

* bump firesim

* bump boom

* Bump BOOM to ifu3 WIP

* bump firesim

* fix how memory is passed to dromajo

* bump boom and firesim

* fix merge issues

* add dromajo cosim bridge in chipyard

* move traceio back into testchipip (#488)

* refer to testchipip traceio in firechip (#490)

* Move TraceIO fragment to chipyard (#492)

* fix chipyard dromajo bridge (#493)

* Sboom dromajo bump (#501)

* [FireChip] Use clock in BridgeBinders

* [firesim] Update TraceGen BridgeBinder

* [Firechip] Add support for Tile <-> Uncore rational division

* [firesim] Update the multiclock test

* [firechip] Commit some Eagle X-related mock configs

* [firechip] Instantiate multiple TracerV bridges

* [Firechip] Include reset in tracerv tokens

* [TracerV] Drop the first token in comparison tests

* [Firechip] Make reverse instruction order in trace printf

* WARNING: Point at a fork of boom @ davidbiancolin

* [firesim] Update ClockBridge API

* Add Gemmini to README [ci skip] (#487)

* [firechip] Isolate all firesim-multiclock stuff in a single file

* add documentation on ring network and system bus

* Bump firesim for CI

* Bump FireSim

* Bump testchipip to dev

[ci skip]

* Bump FireSim

* [make] split up specific make vars/targets into frags (#499)

* [make] split up specific make vars/targets into frags

* [make] move dramsim and max-cycles into SIM_FLAGS

* [misc] move ariane configs to configs/ folder

* [dromajo] add dromajo

* [dromajo] bump for new traceio changes

* bump firesim

* bump firesim

* point to chipyard traceio

* bump boom

Co-authored-by: David Biancolin <david.biancolin@gmail.com>
Co-authored-by: Howard Mao <zhehao.mao@gmail.com>

* Support Dromajo + TracerV configurations

* [docs] add documentation for Dromajo in FireSim + Chipyard

* add a bit more docs

* [docs] bump docs

* [firesim] dump artefacts in firesim

* [firesim] update firesim

* [testchipip] remove extraneous items in testchipip

* [dromajo] prevent dromajo from breaking when params unset

* update firesim, dromajo, and testchipip

* [firesim] bump firesim

* [firesim] bump firesim

* [misc] bump firesim and testchipip for reviewer comments

* remove WithNoGPIO fragment

* bump firesim

* bump dromajo boom config

* bump firesim

* generate artefacts in firesim testsuite

Co-authored-by: abejgonzalez <abe.j.gonza@gmail.com>
Co-authored-by: Abraham Gonzalez <abe.gonzalez@berkeley.edu>
Co-authored-by: David Biancolin <david.biancolin@gmail.com>
Co-authored-by: Howard Mao <zhehao.mao@gmail.com>
2020-05-16 00:21:24 -07:00
John Wright
7c7b336c3f Add SPI flash support (#546)
* Add SPI flash configs, IOBinders, CI tests, and docs

* Add writable SPI flash support

* bump

* Fix CI

* Fix CI

* Update docs/Generators/TestChipIP.rst

Co-authored-by: Chick Markley <chick@qrhino.com>

* Maybe actually fix CI

* Fix broken merge

* Fix the tutorial patch

* bump tcip to master

* fix GPIO naming bug

Co-authored-by: Chick Markley <chick@qrhino.com>
2020-05-14 19:19:50 -07:00
Albert Magyar
2a6bd3bd5c Bump verilator to v4.034 (#547)
* Bump verilator to v4.034
* Add new flags to verilator makefile
* Conditionally set timescale flag based on Verilator version
2020-05-11 23:02:37 -07:00
John Wright
1f98c84210 Add ChipTop to enable real chip configs with IO cells, etc. (#480)
This adds an additional layer (ChipTop) between the System module and the TestHarness. The IOBinder API is now changed to take only a single parameter (an Any) and return a 3 things: The IO port(s), the IO cell(s), and a function to call inside the test harness, which is analogous to the old IOBinder function, except that it takes a TestHarness object as an argument instead of (clock, reset, success).
* A new Top-level module, ChipTop, has been created. ChipTop instantiates a "system" module specified by BuildSystem.
* BuildTop now builds a ChipTop dut module in the TestHarness by default
* A new BuildSystem key has been added, which by default builds DigitalTop (previously just called Top)
* The IOBinders API has changed. IOBinders are now called inside of ChipTop and return a tuple3 of (IO ports, IO cells, harness functions). The harness functions are now called inside the TestHarness (this is analogous to the previous IOBinder functions).
* IO cell models have been included in ChipTop. These can be replaced with real IO cells for tapeout, or used as-is for simulation.
* The default for the TOP make variable is now ChipTop (was Top)
2020-04-01 14:03:56 -07:00
Tynan McAuley
d540899b48 Fix name of Ubuntu/Debian package "libexpat1-dev". (#466)
The "libxpat1-dev" package doesn't exist on Ubuntu/Debian, and results
in an error when installing Ubuntu/Debian dependencies.

The desired package: https://packages.ubuntu.com/bionic/libexpat1-dev

Co-authored-by: Tynan McAuley <tynan@galois.com>
2020-03-13 14:51:09 -07:00
Tynan McAuley
72dfbfabd4 Allow user to override MAKE command used by toolchain and openocd build.
On macOS, "gnumake" and "make" are both supplied by the OS, but are too
old to build glibc (both are version 3.81 as of this writing). Homebrew
provides the "gmake" executable, which is recent enough for glibc.
However, the existing logic in "scripts/build-util.sh" will always
prefer "gnumake" over "gmake".

The configure logic in the riscv-glibc library allows a user to override
the preference for "gnumake" by setting the MAKE environment variable.
This change makes "scripts/build-openocd.sh" and
"scripts/build-toolchains.sh" mimic that behavior. A user can now use
"gmake" instead of "gnumake" during the toolchain build like so:

    MAKE=gmake ./scripts/build-toolchains.sh
2020-03-13 23:43:29 +02:00
Abraham Gonzalez
d0bec3fba7 Ariane Integration (#448)
* [ariane/make] integrate ariane | have verilator be installed on path not in makefile

* [misc] warn on verilator not found | search for v files | cleanup build.sbt + .gitignore

* [firesim] bump

* [ci] add midas ariane tests

* [docker/ci] use new docker-image with verilator | re-elab on v changes for ariane | address comments

* [ci] remove references to local verilator install

* [verilator] update flags

* [verilator] minimal set of flags for ariane

* [ariane] bump ariane to master

* [ci] revert to 4.016 verilator

* [ci] install verilator to ci server | misc compile fixes

* [ci/make] add longer ci timeout | update when assert is added in verilator sim

* [firesim] bump for misc. updates

* [make/ci] cleanup makefile and remove firesim tests of it

* [docs/firesim] bump and clean docs

* [firesim] bump

* [ci] use remote verilator for midas tests

* [misc] cleanup built.sbt more

* [firesim] bump

* [misc] bump build.sbt patch for tutorials

* [firesim/ci] cleanup and bump firesim
2020-03-09 18:06:41 -07:00
Jerry Zhao
854e71a205 Add tutorial config and tutorial patches 2020-03-05 19:44:37 -08:00
John Wright
1e26cb1f49 Add a git version check to the init scripts and make them work outside of the repo root. (#459)
* Fixes #453

- Update scripts/init-submodules-no-riscv-tools.sh to also work if you're in scripts/

- Provide a git version check to ensure the init scripts will work (>= 1.7.8)

- Update the documentation to be more explicit that the init script is also for updating.

* Update scripts/init-submodules-no-riscv-tools-nolog.sh

Co-Authored-By: Albert Ou <aou@eecs.berkeley.edu>
2020-03-05 13:04:54 -08:00
Abraham Gonzalez
de2170e7a6 [setup] log init submodules (#433) 2020-02-25 21:27:53 -08:00
David Biancolin
9d45a2711e Fix generation of env.sh for ZSH (#435) 2020-02-14 23:41:14 -08:00
Nathan Pemberton
ccd6ecd418 Marhsal in chipyard (#415)
* Move firemarshal into chipyard (was in firesim)
2020-02-09 17:58:56 -08:00
Albert Ou
d7d7c79c22 scripts: Initialize firesim non-recursively (#388) 2020-01-24 09:31:41 -08:00
alonamid
cb2f48b148 System Requirements (#387)
* more system requirements

* [ci skip] system reqs PR comments

* scripts: Make {ubuntu,centos}-req.sh executable [ci skip]

* scripts: Add Ubuntu toolchain dependencies [ci skip]

* inline marshal reqs

* [skip ci] Update scripts/centos-req.sh

Co-Authored-By: Albert Ou <aou@eecs.berkeley.edu>

Co-authored-by: Albert Ou <aou@eecs.berkeley.edu>
2020-01-22 13:40:59 -08:00
Albert Ou
7059ac3f0f toolchains: Add libgloss replacement 2019-12-21 12:11:49 -08:00
Albert Ou
f71d976114 toolchains: Build libraries with medany code model
This enables bare-metal programs to link against newlib and libgcc at
addresses above 0x80000000.
2019-12-21 12:11:48 -08:00
Jerry Zhao
72f9730cbd Allow user to specify toolchain install prefix (#334) 2019-12-13 11:40:47 -08:00
abejgonzalez
2468da282e dont ctags within toolchains/sim | only ctags scala/C/C++/python files 2019-11-23 18:56:38 -08:00
Nathan Pemberton
6d2f102a7e Shallow clone sha3 2019-11-12 19:42:36 -05:00