RD-Daniel platform user guide

1.   Introduction

RD (Reference Design) is a collection of resources to provide a representative view of typical compute subsystems that can be designed and implemented using specific generations of Arm IP.

RD-Daniel supports the following configurations and those include the following ARM IP's:

  • ARM CPU:

    • RD-Daniel Config M:
      • 16xMP1 Zeus CPUs
    • RD-Daniel Config L:
      • 32xMP1 Zeus CPUs
    • RD-Daniel Config XL:
      • 128xMP1 Zeus CPUs
  • CMN-Rhodes (with CAL): 16MB System Level Cache and 32MB Snoop Filter

  • Multiple AXI expansion ports for I/O Coherent PCIe, Ethernet, offload

  • Arm Cortex-M7 for System Control Processor (SCP) and Manageability Control Processor (MCP)

RD-Daniel Config XL is a quad-chip configuration of Config L in which four RD-Daniel Config L platforms are connected through high speed CCIX link. The CCIX link is enabled through CMN-Rhodes's Coherent Multichip Link (CML) feature.

The Fixed Virtual Platform of RD-Daniel Config XL supports 4xMP1 Zeus CPUs on each chips totalling to 16xMP1 Zeus CPUs. The FVP version of RD-Daniel Config XL is referred as RD-Daniel-XLR in this document.

This document is a user guide on how to setup, build and run the software stack of RD-Daniel and RD-Daniel-XLR on Fixed Virtual Platform.

2.   Host machine requirements

The minimum recommended host PC specification for building the software stack and running the RD-Daniel FVP model is a dual-core processor running at 2GHz with 8GB of RAM. For best performance, use a machine with a quad-core processor running at 2.6GHz with 16GB of RAM with free hard disk space of at least 64GB. For running RD-Daniel-XLR FVP model, user need host PC with atleast 64GB of RAM and 128GB of hard disk space.

The software package has been tested on Ubuntu 16.04 LTS (64-bit) and Ubuntu 18.04 LTS (64-bit). This guide assumes that the user is on either of this operating system.

3.   Repo tool setup

The software stack for RD-Daniel and RD-Daniel-XLR is available in multiple git repositories. In order to simplify downloading the software stack, repo tool can be used. This section explains how to setup git and repo tool.

  • Install Git by using the following command

    sudo apt-get install git
  • Git installation can be confirmed by checking the version

    git --version

    This should return the git version in a format such as git version 2.7.4

  • Set name and email address in git

    git config --global user.name "<your-name>"
    git config --global user.email "<your-email@example.com>"
  • Download the repo tool

    sudo apt-get install repo

This completes the setup of the repo tool.

4.   Syncing the software stack

The manifest file, which contains the location of all the git repositories of RD-Daniel and RD-Daniel-XLR software stack, is available here. This section explains how to sync the software stack.

  • Switch to a new folder

    mkdir rd-daniel
    cd rd-daniel
  • For obtaining the latest stable software stack, use the following commands to sync:

    repo init -u https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms-manifest.git -m pinned-rddaniel.xml -b refs/tags/<RELEASE_TAG>
    repo sync -j $(nproc) --fetch-submodules --force-sync

    Note: The RELEASE_TAG can be found in the Release Tags section or from the release notes, if obtained. To obtain the most recent software stack (but not fully validated), use "master" as the branch to checkout and pass it as the value to the "-b" parameter as shown in the commands below.

    repo init -u https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms-manifest.git -m pinned-rddaniel.xml -b master
    repo sync -j $(nproc) --fetch-submodules --force-sync

This will download the RD-Daniel software stack into the rd-daniel folder.

5.   Installing prerequisites

Run the following command to install all the required prerequisites to build the software stack:

sudo ./build-scripts/rdinfra/install_prerequisites.sh

It is mandatory to execute this script at least once before build and executing the software stack.

6.   Downloading the GCC toolchain binaries

In addition to the prerequisites installed, gcc toolchain binaries have to be downloaded and placed at the tools/gcc folder. Use the following commands to download and untar the binaries:

# Move to the rd-daniel software stack directory
cd rd-daniel

# Create a folder for gcc under tools folder
mkdir -p tools/gcc
cd tools/gcc

# Download and extract the binaries
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz

tar -xJf gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz
tar -xJf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz

This completes the setup of the GCC toolchain binaries.

7.   Obtaining the RD-Daniel and RD-Daniel-XLR Fast Model

User can request for the latest version of RD-Daniel and RD-Daniel-XLR Fast Model by sending a email to Arm at this email address: support-connect@arm.com.

Follow the instruction in the installer and setup the FVP. Typically, the installer will ask to create a new folder in the home directory. You can either install the FVP in the home folder, or in the fastmodel/refinfra folder inside the rd-daniel folder. If you would like to install in the fastmodel/refinfra folder, when asked for the install location, provide the absolute path of the fastmodel/refinfra.

Before launching any scripts from model-scripts folder, export the absolute path of the model as an environment variable.

export MODEL=<absolute-path-of-the-model-executable>

This completes the steps to obtain the RD-Daniel and RD-Daniel-XLR Fast Model.

8.   Supported Features

RD-Daniel and RD-Daniel-XLR software stack supports the following features.

9.   Release Tags

Here's the list of release tags and corresponding Fast Model version supported:

Release Tag RD-Daniel FVP Version RD-Daniel-XLR FVP Version
RD-INFRA-2020.11.09 11.12.58 11.12.58
RD-INFRA-2020.04.16 11.10.36 11.10.36

Copyright (c) 2019-2020, Arm Limited. All rights reserved.