No description
  • C 54.2%
  • Scala 32.3%
  • Makefile 7.5%
  • Shell 2.5%
  • C++ 1.3%
  • Other 2.2%
Find a file
2024-03-11 16:55:00 -04:00
.githooks Use an accurate name for the ci skip list 2020-06-11 11:18:34 -07:00
.github Integrate Mempress memory tester (#1253) 2022-10-17 18:41:39 -07:00
.java_tmp Add .java_tmp directory 2021-01-23 14:36:05 -08:00
conda-reqs Misc fixes 2022-10-08 19:00:25 -07:00
dockerfiles Activate base env for conda-lock 2022-09-01 01:06:43 +00:00
docs Integrate Mempress memory tester (#1253) 2022-10-17 18:41:39 -07:00
fpga Added config for FPGA. 2023-11-03 00:41:22 -04:00
generators Bumped gemmini. 2024-03-11 16:55:00 -04:00
project Bump bloop to 1.5.3 2022-09-19 16:43:22 +00:00
scripts Merge branch 'main' into fix-open-files-limit-and-fsim 2022-10-18 15:41:09 -07:00
sims bump to FireSim 1.15.1 release 2022-10-18 15:40:28 -07:00
software Bump FireMarshal to master [ci skip] 2022-09-20 12:55:53 -07:00
tests Add TutorialNoCConfig 2022-09-28 00:01:34 -07:00
toolchains Working mlticlient with 8-bit tags and 8-byte granule. 2023-04-05 16:57:07 -04:00
tools Bump Verilator + DRAMSim2 for CVA6 fix 2022-09-13 22:52:08 -07:00
vlsi Switch to default generating FSDB 2022-10-10 16:20:14 -07:00
.ciignore ignore docs using a github webhook 2019-08-29 23:43:08 -07:00
.ctags makefile changes/split | add scripts 2019-04-15 10:17:41 -07:00
.ctagsignore Update .ctagsignore 2022-10-10 14:25:16 -07:00
.gitattributes Misc fixes 2022-10-08 19:00:25 -07:00
.gitignore Merge tag '1.8.1' into blinded-comp 2022-11-10 23:17:28 -05:00
.gitmodules Updated .gitmodules. 2024-03-11 16:34:35 -04:00
.mergify.yml Address PR comments 2022-04-15 00:16:56 +00:00
.readthedocs.yml Test conda lock for RTD 2022-10-18 18:59:32 -07:00
build-setup.sh Added git apply mempress patch to Chipyard build script. 2023-02-09 16:05:40 +00:00
build.sbt Re-enable Gemmini in build.sbt 2023-11-06 19:30:18 +00:00
CHANGELOG.md Update CHANGELOG.md 2022-10-18 15:35:49 -07:00
common.mk [ci skip] Remove conda env. check 2022-10-09 13:55:47 -07:00
CONTRIBUTING.md Small update to CONTRIB.md to run CI 2022-02-15 22:52:50 -08:00
LICENSE Update LICENSE [ci skip] (#379) 2020-01-16 11:47:31 -08:00
LICENSE.SiFive Point to SiFive license | Add require on Arty 2020-11-06 10:18:10 -08:00
mempress.patch Removed gemmini support. 2023-01-10 09:33:49 -05:00
README.md Updated README. 2024-03-11 15:44:44 -04:00
variables.mk Merge remote-tracking branch 'origin/blinded-comp' into bc-version-bump 2023-01-01 17:58:06 -05:00
vcs.mk Switch to default generating FSDB 2022-10-10 16:20:14 -07:00

CHIPYARD

Chipyard Framework Test

Using Downstream (Blinded) Chipyard

To get started using Chipyard, see the stable documentation on the Chipyard documentation site: https://chipyard.readthedocs.io/

Some useful links include (though you may need to look at older versions):

As a summary, to run Downstream (Blinded) Chipyard when starting out, you'll likely want to do something similar to the following:

#One-Time Setup
#Install Conda onto your system with Miniforge (https://github.com/conda-forge/miniforge/#download)
#Then do the following:
conda install -n base conda-lock=1.4
conda activate base

#Per-Repo-Clone Setup
git clone <this repo's url>
cd chipyard
git switch <Either the `bc-version-bump` or the `blime-multiclient` branch>
./build-setup.sh riscv-tools

#Per-Session Setup
source ./env.sh
conda env list #To ensure everything's in order

#Simulation (BliMe-Gemmini + BliMe-Boom)
cd sims/verilator
make -j32 CONFIG=CustomGemminiSoCConfig VERILATOR_THREADS=32 BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/isa/rv64ui-p-simple
#Look in the `output` directory for a VCD file

Using Upstream Chipyard

To get started using Chipyard, see the stable documentation on the Chipyard documentation site: https://chipyard.readthedocs.io/

Some useful links include:

As a summary, to run upstream Chipyard when starting out, you'll likely want to do something similar to the following:

#One-Time Setup
#Install Conda onto your system with Miniforge (https://github.com/conda-forge/miniforge/#download)
#Then do the following:
conda install -n base conda-lock=1.4
conda activate base

#Per-Repo-Clone Setup
git clone https://github.com/ucb-bar/chipyard.git
cd chipyard
git checkout <Latest chipyard git tag here>
./build-setup.sh riscv-tools

#Per-Session Setup
source ./env.sh
conda env list #To ensure everything's in order

#Simulation (Rocket)
cd sims/verilator
make -j32
make -j32 run-binary-debug VERILATOR_THREADS=32 BINARY=$RISCV/path/to/elf/file/to/test.riscv
#Look in the `output` directory for a VCD file

#Simulation (BOOM)
cd sims/verilator
make -j32 CONFIG=LargeBoomConfig
make -j32 run-binary-debug CONFIG=LargeBoomConfig VERILATOR_THREADS=32 BINARY=$RISCV/path/to/elf/file/to/test.riscv
#Look in the `output` directory for a VCD file

What is Chipyard

Chipyard is an open source framework for agile development of Chisel-based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other Berkeley projects to produce a RISC-V SoC with everything from MMIO-mapped peripherals to custom accelerators. Chipyard contains processor cores (Rocket, BOOM, CVA6 (Ariane)), accelerators (Hwacha, Gemmini, NVDLA), memory systems, and additional peripherals and tooling to help create a full featured SoC. Chipyard supports multiple concurrent flows of agile hardware development, including software RTL simulation, FPGA-accelerated simulation (FireSim), automated VLSI flows (Hammer), and software workload generation for bare-metal and Linux-based systems (FireMarshal). Chipyard is actively developed in the Berkeley Architecture Research Group in the Electrical Engineering and Computer Sciences Department at the University of California, Berkeley.

Resources

Need help?

Contributing

If used for research, please cite Chipyard by the following publication:

@article{chipyard,
  author={Amid, Alon and Biancolin, David and Gonzalez, Abraham and Grubb, Daniel and Karandikar, Sagar and Liew, Harrison and Magyar,   Albert and Mao, Howard and Ou, Albert and Pemberton, Nathan and Rigge, Paul and Schmidt, Colin and Wright, John and Zhao, Jerry and Shao, Yakun Sophia and Asanovi\'{c}, Krste and Nikoli\'{c}, Borivoje},
  journal={IEEE Micro},
  title={Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs},
  year={2020},
  volume={40},
  number={4},
  pages={10-21},
  doi={10.1109/MM.2020.2996616},
  ISSN={1937-4143},
}
  • Chipyard
    • A. Amid, et al. IEEE Micro'20 PDF.
    • A. Amid, et al. DAC'20 PDF.
    • A. Amid, et al. ISCAS'21 PDF.

These additional publications cover many of the internal components used in Chipyard. However, for the most up-to-date details, users should refer to the Chipyard docs.

  • Generators
    • Rocket Chip: K. Asanovic, et al., UCB EECS TR. PDF.
    • BOOM: C. Celio, et al., Hot Chips 30. PDF.
      • SonicBOOM (BOOMv3): J. Zhao, et al., CARRV'20. PDF.
      • COBRA (BOOM Branch Prediction): J. Zhao, et al., ISPASS'21. PDF.
    • Hwacha: Y. Lee, et al., ESSCIRC'14. PDF.
    • Gemmini: H. Genc, et al., DAC'21. PDF.
  • Sims
    • FireSim: S. Karandikar, et al., ISCA'18. PDF.
      • FireSim Micro Top Picks: S. Karandikar, et al., IEEE Micro, Top Picks 2018. PDF.
      • FASED: D. Biancolin, et al., FPGA'19. PDF.
      • Golden Gate: A. Magyar, et al., ICCAD'19. PDF.
      • FirePerf: S. Karandikar, et al., ASPLOS'20. PDF.
  • Tools
    • Chisel: J. Bachrach, et al., DAC'12. PDF.
    • FIRRTL: A. Izraelevitz, et al., ICCAD'17. PDF.
    • Chisel DSP: A. Wang, et al., DAC'18. PDF.
    • FireMarshal: N. Pemberton, et al., ISPASS'21. PDF.
  • VLSI
    • Hammer: E. Wang, et al., ISQED'20. PDF.

Acknowledgements

This work is supported by the NSF CCRI ENS Chipyard Award #201662.