rename to "Chipyard"
This commit is contained in:
@@ -5,7 +5,7 @@ Generator can be thought of as a generalized RTL design, written using a mix of
|
||||
This type of meta-programming is enabled by the Chisel hardware description language (see :ref:`Chisel`).
|
||||
A standard RTL design is essentially just a single instance of a design coming from a generator.
|
||||
However, by using meta-programming and parameter systems, generators can allow for integration of complex hardware designs in automated ways.
|
||||
The following pages introduce the generators integrated with the REBAR framework.
|
||||
The following pages introduce the generators integrated with the Chipyard framework.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -28,7 +28,7 @@ Integrating into the Generator Build System
|
||||
-------------------------------------------
|
||||
|
||||
While developing, you want to include Chisel code in a submodule so that it can be shared by different projects.
|
||||
To add a submodule to the REBAR framework, make sure that your project is organized as follows.
|
||||
To add a submodule to the Chipyard framework, make sure that your project is organized as follows.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
@@ -45,7 +45,7 @@ Then add it as a submodule to under the following directory hierarchy: ``generat
|
||||
cd generators/
|
||||
git submodule add https://git-repository.com/yourproject.git
|
||||
|
||||
Then add ``yourproject`` to the REBAR top-level build.sbt file.
|
||||
Then add ``yourproject`` to the Chipyard top-level build.sbt file.
|
||||
|
||||
.. code-block:: scala
|
||||
|
||||
@@ -59,7 +59,7 @@ the ``example`` project, change the final line in build.sbt to the following.
|
||||
|
||||
lazy val example = (project in file(".")).settings(commonSettings).dependsOn(testchipip, yourproject)
|
||||
|
||||
Finally, add ``yourproject`` to the ``PACKAGES`` variable in the ``common.mk`` file in the REBAR top level.
|
||||
Finally, add ``yourproject`` to the ``PACKAGES`` variable in the ``common.mk`` file in the Chipyard top level.
|
||||
This will allow make to detect that your source files have changed when building the Verilog/FIRRTL files.
|
||||
|
||||
MMIO Peripheral
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
REBAR Basics
|
||||
Chipyard Basics
|
||||
===============================
|
||||
|
||||
Generators
|
||||
-------------------------------------------
|
||||
|
||||
The REBAR Framework currently consists of the following RTL generators:
|
||||
The Chipyard Framework currently consists of the following RTL generators:
|
||||
|
||||
Processor Cores
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -72,7 +72,7 @@ Toolchains
|
||||
A collection of software toolchains used to develop and execute software on the RISC-V ISA.
|
||||
The include compiler and assembler toolchains, functional ISA simulator (spike), the Berkeley Boot Loader (BBL) and proxy kernel.
|
||||
The riscv-tools repository was previously required to run any RISC-V software, however, many of the riscv-tools components have since been upstreamed to their respective open-source projects (Linux, GNU, etc.).
|
||||
Nevertheless, for consistent versioning, as well as software design flexibility for custom hardware, we include the riscv-tools repository and installation in the REBAR framework.
|
||||
Nevertheless, for consistent versioning, as well as software design flexibility for custom hardware, we include the riscv-tools repository and installation in the Chipyard framework.
|
||||
|
||||
**esp-tools**
|
||||
A fork of riscv-tools, designed to work with the Hwacha non-standard RISC-V extension.
|
||||
@@ -1,7 +1,7 @@
|
||||
Configs, Parameters, Mix-ins, and Everything In Between
|
||||
========================================================
|
||||
|
||||
A significant portion of generators in the REBAR framework use the Rocket Chip parameter system.
|
||||
A significant portion of generators in the Chipyard framework use the Rocket Chip parameter system.
|
||||
This parameter system enables for the flexible configuration of the SoC without invasive RTL changes.
|
||||
In order to use the parameter system correctly, we will use several terms and conventions:
|
||||
|
||||
@@ -69,7 +69,7 @@ Cake Pattern
|
||||
-------------------------
|
||||
|
||||
A cake pattern is a Scala programming pattern, which enable "mixing" of multiple traits or interface definitions (sometimes referred to as dependency injection).
|
||||
It is used in the Rocket Chip SoC library and REBAR framework in merging multiple system components and IO interfaces into a large system component.
|
||||
It is used in the Rocket Chip SoC library and Chipyard framework in merging multiple system components and IO interfaces into a large system component.
|
||||
|
||||
:numref:`cake-example` shows a Rocket Chip based SoC that merges multiple system components (BootROM, UART, etc) into a single top-level design.
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Development Ecosystem
|
||||
===============================
|
||||
|
||||
REBAR Approach
|
||||
Chipyard Approach
|
||||
-------------------------------------------
|
||||
|
||||
The trend towards agile hardware design and evaluation provides an ecosystem of debugging and implementation tools, that make it easier for computer architecture researchers to develop novel concepts.
|
||||
REBAR hopes to build on this prior work in order to create a singular location to which multiple projects within the `Berkeley Architecture Research <https://bar.eecs.berkeley.edu/index.html>`__ can coexist and be used together.
|
||||
REBAR aims to be the "one-stop shop" for creating and testing your own unique System on a Chip (SoC).
|
||||
Chipyard hopes to build on this prior work in order to create a singular location to which multiple projects within the `Berkeley Architecture Research <https://bar.eecs.berkeley.edu/index.html>`__ can coexist and be used together.
|
||||
Chipyard aims to be the "one-stop shop" for creating and testing your own unique System on a Chip (SoC).
|
||||
|
||||
Chisel/FIRRTL
|
||||
-------------------------------------------
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
Running A Simulation
|
||||
========================================================
|
||||
|
||||
REBAR provides support and integration for multiple simulation flows, for various user levels and requirements.
|
||||
Chipyard provides support and integration for multiple simulation flows, for various user levels and requirements.
|
||||
In the majority of cases during a digital design development process, simple software RTL simulation is needed.
|
||||
When more advanced full-system evaluation is required, with long running workloads, FPGA-accelerated simulation will then become a preferable solution.
|
||||
|
||||
Software RTL Simulation
|
||||
------------------------
|
||||
The REBAR framework provides wrappers for two common software RTL simulators:
|
||||
The Chipyard framework provides wrappers for two common software RTL simulators:
|
||||
the open-source Verilator simulator and the proprietary VCS simulator.
|
||||
For more information on either of these simulators, please refer to :ref:`Verilator` or :ref:`VCS`.
|
||||
The following instructions assume at least one of these simulators is installed.
|
||||
@@ -97,7 +97,7 @@ FireSim enables simulations at 1000x-100000x the speed of standard software simu
|
||||
This is enabled using FPGA-acceleration on F1 instances of the AWS (Amazon Web Services) public cloud.
|
||||
Therefore FireSim simulation requires to be set-up on the AWS public cloud rather than on our local development machine.
|
||||
|
||||
To run an FPGA-accelerated simulation using FireSim, a we need to clone the REBAR repository (or our fork of the REBAR repository) to an AWS EC2, and follow the setup instructions specified in the FireSim Initial Setup documentation page.
|
||||
To run an FPGA-accelerated simulation using FireSim, a we need to clone the Chipyard repository (or our fork of the Chipyard repository) to an AWS EC2, and follow the setup instructions specified in the FireSim Initial Setup documentation page.
|
||||
|
||||
After setting up the FireSim environment, we now need to generate a FireSim simulation around our selected digital design.
|
||||
We will work from within the ``sims/firesim`` directory.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Getting Started
|
||||
================================
|
||||
|
||||
These guides will walk you through the basics of the REBAR framework:
|
||||
These guides will walk you through the basics of the Chipyard framework:
|
||||
|
||||
- First, we will go over the different configurations available.
|
||||
|
||||
@@ -13,9 +13,9 @@ Hit next to get started!
|
||||
:maxdepth: 2
|
||||
:caption: Getting Started:
|
||||
|
||||
REBAR-Basics
|
||||
Chipyard-Basics
|
||||
Configs-Parameters-Mixins
|
||||
Adding-An-Accelerator-Tutorial
|
||||
Initial-Repo-Setup
|
||||
Running-A-Simulation
|
||||
rebar-generator-mixins
|
||||
Chipyard-Generator-Mixins
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = python -msphinx
|
||||
SPHINXPROJ = REBAR
|
||||
SPHINXPROJ = Chipyard
|
||||
SOURCEDIR = .
|
||||
BUILDDIR = _build
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ VCS
|
||||
|
||||
`VCS <https://www.synopsys.com/verification/simulation/vcs.html>`__ is a commercial RTL simulator developed by Synopsys.
|
||||
It requires commercial licenses.
|
||||
The REBAR framework can compile and execute simulations using VCS.
|
||||
The Chipyard framework can compile and execute simulations using VCS.
|
||||
VCS simulation will generally compile faster than Verilator simulations.
|
||||
|
||||
To run a simulation using VCS, perform the following steps:
|
||||
|
||||
@@ -9,9 +9,9 @@ FireSim allows RTL-level simulation at orders-of-magnitude faster speeds than so
|
||||
FireSim also provides additional device models to allow full-system simulation, including memory models and network models.
|
||||
|
||||
FireSim currently supports running only on Amazon EC2 F1 FPGA-enabled virtual instances on the public cloud.
|
||||
In order to simulate your REBAR design using FireSim, you should follow the following steps:
|
||||
In order to simulate your Chipyard design using FireSim, you should follow the following steps:
|
||||
|
||||
Follow the initial EC2 setup instructions as detailed in the `FireSim documentation <http://docs.fires.im/en/latest/Initial-Setup/index.html>`__.
|
||||
Then clone your full REBAR repository onto your Amazon EC2 FireSim manager instance.
|
||||
Then clone your full Chipyard repository onto your Amazon EC2 FireSim manager instance.
|
||||
|
||||
Enter the ``sims/FireSim`` directory, and follow the FireSim instructions for `running a simulation <http://docs.fires.im/en/latest/Running-Simulations-Tutorial/index.html>`__.
|
||||
|
||||
@@ -5,7 +5,7 @@ Verilator
|
||||
-----------------------
|
||||
|
||||
`Verilator <https://www.veripool.org/wiki/verilator>`__ is an open-source LGPL-Licensed simulator maintained by `Veripool <https://www.veripool.org/>`__.
|
||||
The REBAR framework can download, build, and execute simulations using Verilator.
|
||||
The Chipyard framework can download, build, and execute simulations using Verilator.
|
||||
|
||||
To run a simulation using Verilator, perform the following steps:
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Simulators
|
||||
=======================
|
||||
|
||||
REBAR provides support and integration for multiple simulation flows, for various user levels and requirements.
|
||||
Chipyard provides support and integration for multiple simulation flows, for various user levels and requirements.
|
||||
In the majority of cases during a digital design development process, a simple software RTL simulation will do.
|
||||
When more advanced full-system evaluation is required, with long running workloads, FPGA-accelerated simulation will then become a preferable solution.
|
||||
The following pages provide detailed information about the simulation possibilities within the REBAR framework.
|
||||
The following pages provide detailed information about the simulation possibilities within the Chipyard framework.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Tools
|
||||
==============================
|
||||
|
||||
The REBAR framework relays heavily on a set of Scala-based tools.
|
||||
The Chipyard framework relays heavily on a set of Scala-based tools.
|
||||
The following pages will introduce them, and how we can use them in order to generate flexible designs.
|
||||
|
||||
.. toctree::
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
VLSI Production
|
||||
================================
|
||||
|
||||
The REBAR framework aim to provide wrappers to a general VLSI flow.
|
||||
The Chipyard framework aim to provide wrappers to a general VLSI flow.
|
||||
In particular, we aim to support the HAMMER flow.
|
||||
|
||||
.. toctree::
|
||||
|
||||
14
docs/conf.py
14
docs/conf.py
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# REBAR documentation build configuration file, created by
|
||||
# Chipyard documentation build configuration file, created by
|
||||
# sphinx-quickstart on Fri Mar 8 11:46:38 2019.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
@@ -52,7 +52,7 @@ source_suffix = '.rst'
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'REBAR'
|
||||
project = u'Chipyard'
|
||||
copyright = u'2019, Berkeley Architecture Research'
|
||||
author = u'Berkeley Architecture Research'
|
||||
|
||||
@@ -125,7 +125,7 @@ html_sidebars = {
|
||||
# -- Options for HTMLHelp output ------------------------------------------
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'REBARdoc'
|
||||
htmlhelp_basename = 'Chipyarddoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
@@ -152,7 +152,7 @@ latex_elements = {
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'REBAR.tex', u'REBAR Documentation',
|
||||
(master_doc, 'Chipyard.tex', u'Chipyard Documentation',
|
||||
u'Berkeley Architecture Research', 'manual'),
|
||||
]
|
||||
|
||||
@@ -162,7 +162,7 @@ latex_documents = [
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'rebar', u'REBAR Documentation',
|
||||
(master_doc, 'chipyard', u'Chipyard Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
@@ -173,8 +173,8 @@ man_pages = [
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'REBAR', u'REBAR Documentation',
|
||||
author, 'REBAR', 'One line description of project.',
|
||||
(master_doc, 'Chipyard', u'Chipyard Documentation',
|
||||
author, 'Chipyard', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
.. REBAR documentation master file, created by
|
||||
.. Chipyard documentation master file, created by
|
||||
sphinx-quickstart on Fri Mar 8 11:46:38 2019.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to REBAR's documentation!
|
||||
Welcome to Chipyard's documentation!
|
||||
=================================
|
||||
|
||||
REBAR is a a framework for designing and evaluating full-system hardware using agile teams.
|
||||
Chipyard is a a framework for designing and evaluating full-system hardware using agile teams.
|
||||
It is composed of a collection of tools and libraries designed to provide an intergration between open-source and commercial tools for the development of systems-on-chip.
|
||||
New to REBAR? Jump to the :ref:`Getting Started` page for more info.
|
||||
New to Chipyard? Jump to the :ref:`Getting Started` page for more info.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
Reference in New Issue
Block a user