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

  • Espresso

  • Rocketchip

  • Standalone NoC generation

CY-Standalone

  • Espresso

  • Chipyard

  • Standalone NoC generation

  • Waveform generation

  • NoC visualization

CY-SoC

  • Espresso

  • Chipyard

  • NoC integration with 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"