3. Chipyard Repo Tour
Note: You will mostly be working out of the
generators/
(for designs),sims/vcs/
(for RTL simulations) andvlsi/
(for physical design) directories. However, we will still give a general repo tour to get you familiar with Chipyard as a whole.
A partial view of the chipyard directory structure is shown below.
You may have noticed while initializing your Chipyard repo that there are many submodules. Chipyard is built to allow the designer to generate complex configurations from different projects including the in-order Rocket Chip core, the out-of-order BOOM core, the systolic array matrix multiply accelerator Gemmini, and many other components needed to build a chip. Thankfully, Chipyard has some great documentation, which can be found here.
You can find each of these projects in the $chipyard/generators/
directory. All of these modules are built as generators (a core driving point of using Chisel), which means that each piece is parameterized and can be fit together with some of the functionality in Rocket Chip (check out the TileLink and Diplomacy references in the Chipyard documentation).
The generators that you will see used most frequently are rocket-chip, testchipip, and chipyard. Not only does the rocket-chip generator contain the in-order Rocket core, it also contains the tile code, TileLink code, L1 cache code, and subsystem code. The testchipip generator contains chip peripheral/IO components and other useful SoC building components. The chipyard generator contains the SoC configuration code and the top-level code for generating and simulating the SoC (ChipTop and TestHarness).
SoC Architecture
Location on SoC | Component and Description |
---|---|
| |
| |
| |
| |
|
Next Step
page4. Config ExerciseLast updated