docs label disambiguation
This commit is contained in:
@@ -14,15 +14,15 @@ Processor Cores
|
||||
|
||||
**Rocket Core**
|
||||
An in-order RISC-V core.
|
||||
See :ref:`Rocket Core` for more information.
|
||||
See :ref:`Generators/Rocket:Rocket Core` for more information.
|
||||
|
||||
**BOOM (Berkeley Out-of-Order Machine)**
|
||||
An out-of-order RISC-V core.
|
||||
See :ref:`Berkeley Out-of-Order Machine (BOOM)` for more information.
|
||||
See :ref:`Generators/BOOM:Berkeley Out-of-Order Machine (BOOM)` for more information.
|
||||
|
||||
**CVA6 Core**
|
||||
An in-order RISC-V core written in System Verilog. Previously called Ariane.
|
||||
See :ref:`CVA6 Core` for more information.
|
||||
See :ref:`Generators/CVA6:CVA6 Core` for more information.
|
||||
|
||||
Accelerators
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -31,7 +31,7 @@ Accelerators
|
||||
A decoupled vector architecture co-processor.
|
||||
Hwacha currently implements a non-standard RISC-V extension, using a vector architecture programming model.
|
||||
Hwacha integrates with a Rocket or BOOM core using the RoCC (Rocket Custom Co-processor) interface.
|
||||
See :ref:`Hwacha` for more information.
|
||||
See :ref:`Generators/Hwacha:Hwacha` for more information.
|
||||
|
||||
**Gemmini**
|
||||
A matrix-multiply accelerator targeting neural-networks
|
||||
@@ -64,24 +64,24 @@ Tools
|
||||
A hardware description library embedded in Scala.
|
||||
Chisel is used to write RTL generators using meta-programming, by embedding hardware generation primitives in the Scala programming language.
|
||||
The Chisel compiler elaborates the generator into a FIRRTL output.
|
||||
See :ref:`Chisel` for more information.
|
||||
See :ref:`Tools/Chisel:Chisel` for more information.
|
||||
|
||||
**FIRRTL**
|
||||
An intermediate representation library for RTL description of digital designs.
|
||||
FIRRTL is used as a formalized digital circuit representation between Chisel and Verilog.
|
||||
FIRRTL enables digital circuits manipulation between Chisel elaboration and Verilog generation.
|
||||
See :ref:`FIRRTL` for more information.
|
||||
See :ref:`Tools/FIRRTL:FIRRTL` for more information.
|
||||
|
||||
**Barstools**
|
||||
A collection of common FIRRTL transformations used to manipulate a digital circuit without changing the generator source RTL.
|
||||
See :ref:`Barstools` for more information.
|
||||
See :ref:`Tools/Barstools:Barstools` for more information.
|
||||
|
||||
**Dsptools**
|
||||
A Chisel library for writing custom signal processing hardware, as well as integrating custom signal processing hardware into an SoC (especially a Rocket-based SoC).
|
||||
|
||||
**Dromajo**
|
||||
A RV64GC emulator primarily used for co-simulation and was originally developed by Esperanto Technologies.
|
||||
See :ref:`Dromajo` for more information.
|
||||
See :ref:`Tools/Dromajo:Dromajo` for more information.
|
||||
|
||||
Toolchains
|
||||
-------------------------------------------
|
||||
@@ -109,12 +109,12 @@ Sims
|
||||
**verilator (Verilator wrapper)**
|
||||
Verilator is an open source Verilog simulator.
|
||||
The ``verilator`` directory provides wrappers which construct Verilator-based simulators from relevant generated RTL, allowing for execution of test RISC-V programs on the simulator (including vcd waveform files).
|
||||
See :ref:`Verilator (Open-Source)` for more information.
|
||||
See :ref:`Simulation/Software-RTL-Simulation:Verilator (Open-Source)` for more information.
|
||||
|
||||
**vcs (VCS wrapper)**
|
||||
VCS is a proprietary Verilog simulator.
|
||||
Assuming the user has valid VCS licenses and installations, the ``vcs`` directory provides wrappers which construct VCS-based simulators from relevant generated RTL, allowing for execution of test RISC-V programs on the simulator (including vcd/vpd waveform files).
|
||||
See :ref:`Synopsys VCS (License Required)` for more information.
|
||||
See :ref:`Simulation/Software-RTL-Simulation:Synopsys VCS (License Required)` for more information.
|
||||
|
||||
**FireSim**
|
||||
FireSim is an open-source FPGA-accelerated simulation platform, using Amazon Web Services (AWS) EC2 F1 instances on the public cloud.
|
||||
@@ -122,7 +122,7 @@ Sims
|
||||
To model I/O, FireSim includes synthesizeable and timing-accurate models for standard interfaces like DRAM, Ethernet, UART, and others.
|
||||
The use of the elastic public cloud enable FireSim to scale simulations up to thousands of nodes.
|
||||
In order to use FireSim, the repository must be cloned and executed on AWS instances.
|
||||
See :ref:`FireSim` for more information.
|
||||
See :ref:`Simulation/FPGA-Accelerated-Simulation:FireSim` for more information.
|
||||
|
||||
VLSI
|
||||
-------------------------------------------
|
||||
@@ -132,4 +132,4 @@ VLSI
|
||||
The HAMMER flow provide automated scripts which generate relevant tool commands based on a higher level description of physical design constraints.
|
||||
The Hammer flow also allows for re-use of process technology knowledge by enabling the construction of process-technology-specific plug-ins, which describe particular constraints relating to that process technology (obsolete standard cells, metal layer routing constraints, etc.).
|
||||
The Hammer flow requires access to proprietary EDA tools and process technology libraries.
|
||||
See :ref:`Core HAMMER` for more information.
|
||||
See :ref:`VLSI/Hammer:Core HAMMER` for more information.
|
||||
|
||||
@@ -17,7 +17,7 @@ Configs
|
||||
A *config* is a collection of multiple generator parameters being set to specific values.
|
||||
Configs are additive, can override each other, and can be composed of other configs (sometimes referred to as config fragments).
|
||||
The naming convention for an additive config or config fragment is ``With<YourConfigName>``, while the naming convention for a non-additive config will be ``<YourConfig>``.
|
||||
Configs can take arguments which will in-turn set parameters in the design or reference other parameters in the design (see :ref:`Parameters`).
|
||||
Configs can take arguments which will in-turn set parameters in the design or reference other parameters in the design (see :ref:`Chipyard-Basics/Configs-Parameters-Mixins:Parameters`).
|
||||
|
||||
This example shows a basic config fragment class that takes in zero arguments and instead uses hardcoded values to set the RTL design parameters.
|
||||
In this example, ``MyAcceleratorConfig`` is a Scala case class that defines a set of variables that the generator can use when referencing the ``MyAcceleratorKey`` in the design.
|
||||
@@ -121,7 +121,7 @@ This is shown in the ``Top`` class where things such as ``CanHavePeripherySerial
|
||||
Additional References
|
||||
---------------------------
|
||||
|
||||
Another description of traits/mixins and config fragments is given in :ref:`Keys, Traits, and Configs`.
|
||||
Another description of traits/mixins and config fragments is given in :ref:`Customization/Keys-Traits-Configs:Keys, Traits, and Configs`.
|
||||
Additionally, a brief explanation of some of these topics (with slightly different naming) is given in the following video: https://www.youtube.com/watch?v=Eko86PGEoDY.
|
||||
|
||||
.. Note:: Chipyard uses the name "config fragments" over "config mixins" to avoid confusion between a mixin applying to a config or to the system ``Top`` (even though both are technically Scala mixins).
|
||||
|
||||
@@ -73,7 +73,7 @@ This depends on what you are planning to do with Chipyard.
|
||||
|
||||
* If you intend to run a simulation of one of the vanilla Chipyard examples, go to :ref:`sw-rtl-sim-intro` and follow the instructions.
|
||||
|
||||
* If you intend to run a simulation of a custom Chipyard SoC Configuration, go to :ref:`Simulating A Custom Project` and follow the instructions.
|
||||
* If you intend to run a simulation of a custom Chipyard SoC Configuration, go to :ref:`Simulation/Software-RTL-Simulation:Simulating A Custom Project` and follow the instructions.
|
||||
|
||||
* If you intend to run a full-system FireSim simulation, go to :ref:`firesim-sim-intro` and follow the instructions.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user