update the docs up to tools
This commit is contained in:
@@ -88,6 +88,13 @@ Toolchains
|
||||
A fork of riscv-tools, designed to work with the Hwacha non-standard RISC-V extension.
|
||||
This fork can also be used as an example demonstrating how to add additional RoCC accelerators to the ISA-level simulation (Spike) and the higher-level software toolchain (GNU binutils, riscv-opcodes, etc.)
|
||||
|
||||
Software
|
||||
-------------------------------------------
|
||||
|
||||
**FireMarshal**
|
||||
FireMarshal is the default workload generation tool that Chipyard uses to create software to run on its platforms.
|
||||
See :ref:`fire-marshal` for more information.
|
||||
|
||||
Sims
|
||||
-------------------------------------------
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ implementation (ex. ``HasPeripherySerialModuleImp`` where ``Imp`` refers to impl
|
||||
all the logical connections between generators and exchanges configuration information among them, while the
|
||||
lazy module implementation performs the actual Chisel RTL elaboration.
|
||||
|
||||
In the MySoC example class, the "outer" ``MySoC`` instantiates the "inner"
|
||||
In the ``MySoC`` example class, the "outer" ``MySoC`` instantiates the "inner"
|
||||
``MySoCModuleImp`` as a lazy module implementation. This delays immediate elaboration
|
||||
of the module until all logical connections are determined and all configuration information is exchanged.
|
||||
The ``RocketSubsystem`` outer base class, as well as the
|
||||
@@ -118,10 +118,10 @@ the ``SerialAdapter`` module, and instantiates queues.
|
||||
|
||||
In the test harness, the SoC is elaborated with
|
||||
``val dut = Module(LazyModule(MySoC))``.
|
||||
After elaboration, the result will be a MySoC module, which contains a
|
||||
SerialAdapter module (among others).
|
||||
After elaboration, the result will be a ``MySoC`` module, which contains a
|
||||
``SerialAdapter`` module (among others).
|
||||
|
||||
From a high level, classes which extend LazyModule *must* reference
|
||||
From a high level, classes which extend ``LazyModule`` *must* reference
|
||||
their module implementation through ``lazy val module``, and they
|
||||
*may* optionally reference other lazy modules (which will elaborate
|
||||
as child modules in the module hierarchy). The "inner" modules
|
||||
@@ -135,7 +135,7 @@ Mix-in
|
||||
|
||||
A mix-in is a Scala trait, which sets parameters for specific system components, as well as enabling instantiation and wiring of the relevant system components to system buses.
|
||||
The naming convention for an additive mix-in is ``Has<YourMixin>``.
|
||||
This is shown in the MySoC class where things such as ``HasPeripherySerial`` connect a RTL component to a bus and expose signals to the top-level.
|
||||
This is shown in the ``MySoC`` class where things such as ``HasPeripherySerial`` connect a RTL component to a bus and expose signals to the top-level.
|
||||
|
||||
Additional References
|
||||
---------------------------
|
||||
|
||||
@@ -5,8 +5,10 @@ Requirements
|
||||
-------------------------------------------
|
||||
|
||||
Chipyard is developed and tested on Linux-based systems.
|
||||
It is possible to use this on macOS or other BSD-based systems, although GNU tools will need to be installed; it is also recommended to install the RISC-V toolchain from ``brew``.
|
||||
Working under Windows is not recommended.
|
||||
|
||||
.. Warning:: It is possible to use this on macOS or other BSD-based systems, although GNU tools will need to be installed; it is also recommended to install the RISC-V toolchain from ``brew``.
|
||||
|
||||
.. Warning:: Working under Windows is not recommended.
|
||||
|
||||
Checking out the sources
|
||||
------------------------
|
||||
@@ -37,4 +39,4 @@ To get a basic installation (which is the only thing needed for most Chipyard us
|
||||
|
||||
Once the script is run, a ``env.sh`` file is emitted that sets the ``PATH``, ``RISCV``, and ``LD_LIBRARY_PATH`` environment variables.
|
||||
You can put this in your ``.bashrc`` or equivalent environment setup file to get the proper variables.
|
||||
These variables need to be set for the make system to work properly.
|
||||
These variables need to be set for the ``make`` system to work properly.
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Chipyard Basics
|
||||
================================
|
||||
|
||||
These guides will walk you through the basics of the Chipyard framework:
|
||||
These sections will walk you through the basics of the Chipyard framework:
|
||||
|
||||
- First, we will go over the components of the framework.
|
||||
|
||||
- Next, we will go over the different configurations available.
|
||||
- Next, we will go over how to understand how Chipyard configures its designs.
|
||||
|
||||
- Then, we will go over initial framework setup.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user