Setting up Constellation¶
Constellation can be installed and used in three modes.
Minimal-Standalone operation requires a minimal installation, and enables evaluation of NoCs within simple harnesses and evaluation frameworks.
Chiypard-Standalone runs Constellation as a Chipyard “subproject”, enabling more detailed evaluation of standalone NoCs.
Chipyard-SoC generates a complete Chipyard SoC with a Constellation NoC
A table below summarizes the differences. For most users, Chipyard-Standalone and Chipyard-SoC are the most useful operation modes. Minimal-Standalone should only be used in environments prohibitive to a full Chipyard installation.
Mode |
Requires |
Capabilities |
---|---|---|
Minimal-Standalone |
|
|
CY-Standalone |
|
|
CY-SoC |
|
|
Installing Rocketchip¶
Note
Rocketchip should only be manually installed for the Minimal-standalone operation mode.
For a Minimal-Standalone installation, Rocketchip must be manually installed as a locally-published Scala project.
git clone https://github.com/chipsalliance/rocket-chip.git
cd rocket-chip
git checkout 4fbd2f238db36b2862319e94c2f96d63bd52c98b
git submodule update --init --recursive
sbt "publishLocal"
sbt "project cde; set publishArtifact := true; publishLocal"
sbt "project rocket-macros; set publishArtifact := true; publishLocal"
sbt "project hardfloat; set publishArtifact := true; publishLocal"
Installing Espresso¶
Espresso is a logic minimizer tool. Constellation uses Espresso to generate efficient routing decode tables.
To use Constellation, espresso
should be on your PATH
.
git clone https://github.com/chipsalliance/espresso.git
cd espresso
mkdir -p build
cd build
cmake ../ -DBUILD_DOC=OFF -DCMAKE_INSTALL_PREFIX=/path/to/install/bin
make install
Installing Minimal-Standalone¶
To use Constellation in Minimal-Standalone mode, it is sufficient to clone the repository after installing Rocketchip and Espresso.
git clone https://github.com/ucb-bar/constellation.git
Installing with Chipyard¶
To use Constellation in Chipyard-Standalone or Chipyard-SoC mode, follow the instructions for installing Chipyard here. You must use Chipyard 1.8 or later.
After following those steps, run the following
make -C generators/constellation/src/main/resources/csrc/netrace netrace.o CFLAGS="-fPIC -O3"