From 824c3177d8a96ccf147eb30ca26e87e05f746c26 Mon Sep 17 00:00:00 2001 From: Nathan Pemberton Date: Wed, 25 Sep 2019 17:22:18 -0700 Subject: [PATCH] Added software section. Marshal is populated (mostly points to Marshal's own readthedocs). Spike is a stub. --- docs/Software/FireMarshal.rst | 23 +++++++++++++++++++++++ docs/Software/Spike.rst | 4 ++++ docs/Software/index.rst | 21 +++++++++++++++++++++ docs/index.rst | 2 ++ 4 files changed, 50 insertions(+) create mode 100644 docs/Software/FireMarshal.rst create mode 100644 docs/Software/Spike.rst create mode 100644 docs/Software/index.rst diff --git a/docs/Software/FireMarshal.rst b/docs/Software/FireMarshal.rst new file mode 100644 index 00000000..cbece68d --- /dev/null +++ b/docs/Software/FireMarshal.rst @@ -0,0 +1,23 @@ +FireMarshal +================= + +FireMarshal is a workload generation tool for RISC-V based systems. It +currently only supports the FireSim FPGA-accelerated simulation platform. + +**Workloads** in FireMarshal consist of a series of **Jobs** that are assigned +to logical nodes in the target system. If no jobs are specified, then the +workload is considered ``uniform`` and only a single image will be produced for +all nodes in the system. Workloads are described by a json file and a +corresponding workload directory and can inherit their definitions from +existing workloads. Typically, workload configurations are kept in +``workloads/`` although you can use any directory you like. We provide a few +basic workloads to start with including buildroot or Fedora-based linux +distributions and bare-metal. + +Once you define a workload, the ``marshal`` command will produce a +corresponding boot-binary and rootfs for each job in the workload. This binary +and rootfs can then be launched on qemu or spike (for functional simulation), or +installed to a platform for running on real RTL (currently only FireSim is +automated). + +To get started, checkout the full `FireMarshal documentation `_. diff --git a/docs/Software/Spike.rst b/docs/Software/Spike.rst new file mode 100644 index 00000000..015ec5b2 --- /dev/null +++ b/docs/Software/Spike.rst @@ -0,0 +1,4 @@ +The RISC-V ISA Simulator (Spike) +================================= + +.. attention:: This article is a stub. Fill it out! diff --git a/docs/Software/index.rst b/docs/Software/index.rst new file mode 100644 index 00000000..e7fe9925 --- /dev/null +++ b/docs/Software/index.rst @@ -0,0 +1,21 @@ +Target Software +================================== + +Chipyard includes tools for developing target software workloads. The primary +tool is FireMarshal, which manages workload descriptions and generates binaries +and disk images to run on your target designs. Workloads can be bare-metal, or +be based on standard Linux distributions. Users can customize every part of the +build process, including providing custom kernels (if needed by the hardware). + +FireMarshal can also run your workloads on high-performance functional +simulators like Spike and Qemu. Spike is easily customized and serves as the +official RISC-V ISA reference implementation. Qemu is a high-performance +functional simulator that can run nearly as fast as native code, but can be +challenging to modify. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + FireMarshal + Spike diff --git a/docs/index.rst b/docs/index.rst index 61acfae3..75c3714e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -38,6 +38,8 @@ Table of Contents Customization/index + Software/index + Advanced-Usage/index TileLink-Diplomacy-Reference/index