This is the Chisel Learning Journey tailored after seven years of experience in Chisel hardware development here at Intensivate. Around a 100 people walked these steps over the years and we have tried our best to keep the path up to date, as much as the primary design work allowed.
In the meantime, multiple aids in learning Chisel have been developed at UC Berkeley, plus Chisel itself evolved - and we are at versions well beyond 3 now (March 2023). The code in this repository came from the Chisel tutorial repository with certain additions back in the day when Chisel version was 2 and neither of the current standard learning possibilities were available. Hence, we decided not to update this code (at least for the time being), rather we keep it for historical reasons, and we outsource the exercises needed for the first steps (that teach syntax) of the Learning Journey.
The value of this particular Journey to learning Chisel is in the vast practical experience gathered across the years and at the later stages, where we show you how to leverege Rocket-chip, TileLink and diplomacy.
To conclude, DO NOT clone this repo, do not run any of the scripts in this repo, just proceed to the first step of the Learning Journey.
Welcome to the repository for the example code that goes with the Chisel Learning Journey!
Clone this repo to get the example code discussed on the learning journey, and run the setup script to set up the environment for it.
If you haven't yet, start by going to the Chisel Learning Journey, which is a step by step guide to learning the Chisel Hardware language.
This Journey is built around the examples provided by the creators of Chisel, within their tutorial.
To clone this example code:
git clone https://github.com/apaj/learning-journey.git
then change the directory:
cd learning-journey
and run the script that sets everything up for you:
sudo ./set-learning-journey
and follow along simple instructions.
Once the script is finished, please embark on the Chisel Learning Journey.