Add doc links for constellation
This commit is contained in:
34
docs/Customization/NoC-SoCs.rst
Normal file
34
docs/Customization/NoC-SoCs.rst
Normal file
@@ -0,0 +1,34 @@
|
||||
SoCs with NoC-based Interconnects
|
||||
==================================
|
||||
|
||||
The primary way to integrate a network-on-chip into a Chipyard SoC is to map one of the standard TileLink crossbar-based buses (System Bus, Memory Bus, Control Bus, etc.) to a Constellation-generated NoC.
|
||||
|
||||
The interconnect can be mapped as a "private" interconnect for the TileLink bus, in which case a dedicated interconnect to carry the bus traffic will be generated.
|
||||
Alternatively, the interconnect can be mapped to a shared global interconnect, in which case multiple TileLink buses can be transported over a single shared interconnect.
|
||||
|
||||
Private Interconnects
|
||||
---------------------
|
||||
An example of integrating dedicated private interconnects for the System Bus, Memory Bus, and Control Bus can be seen in the ``MultiNoCConfig`` of `generators/chipyard/src/main/scala/config/NoCConfigs.scala <https://github.com/ucb-bar/chipyard/blob/main/generators/chipyard/src/main/scala/config/NoCConfigs.scala>`__.
|
||||
|
||||
.. literalinclude:: ../../generators/chipyard/src/main/scala/config/NoCConfigs.scala
|
||||
:language: scala
|
||||
:start-after: DOC include start: MultiNoCConfig
|
||||
:end-before: DOC include end: MultiNoCConfig
|
||||
|
||||
Note that for each bus (``Sbus`` / ``Mbus`` / ``Cbus``), the configuration fragment provides both a parameterization of the private NoC, as well as a mapping between TileLink agents and physical NoC nodes.
|
||||
|
||||
For more information on how to construct the NoC parameters, see the `Constellation documentation <http://constellation.readthedocs.io>`__.
|
||||
|
||||
|
||||
Shared Global Interconnect
|
||||
---------------------------
|
||||
An example of integrating a single global interconnect that supports transporting multiple TileLink buses can be seen in the ``SharedNoCConfig`` of `generators/chipyard/src/main/scala/config/NoCConfigs.scala <https://github.com/ucb-bar/chipyard/blob/main/generators/chipyard/src/main/scala/config/NoCConfigs.scala>`__.
|
||||
|
||||
.. literalinclude:: ../../generators/chipyard/src/main/scala/config/NoCConfigs.scala
|
||||
:language: scala
|
||||
:start-after: DOC include start: SharedNoCConfig
|
||||
:end-before: DOC include end: SharedNoCConfig
|
||||
|
||||
Note that for each bus, the configuration fragment provides only the mapping between TileLink agents and physical NoC nodes, while a separate fragement provides the configuration for the global interconnect.
|
||||
|
||||
For more information on how to construct the NoC parameters, see the `Constellation documentation <http://constellation.readthedocs.io>`__.
|
||||
@@ -3,7 +3,9 @@ Customization
|
||||
|
||||
These guides will walk you through customization of your system-on-chip:
|
||||
|
||||
- Contructing heterogenous systems-on-chip using the existing Chipyard generators and configuration system.
|
||||
- Constructing heterogenous systems-on-chip using the existing Chipyard generators and configuration system.
|
||||
|
||||
- Constructing SoCs with a NoC (network-on-chip) based interconnect using Constellation
|
||||
|
||||
- How to include your custom Chisel sources in the Chipyard build system
|
||||
|
||||
@@ -36,6 +38,7 @@ We recommend reading all these pages in order. Hit next to get started!
|
||||
:caption: Customization:
|
||||
|
||||
Heterogeneous-SoCs
|
||||
NoC-SoCs
|
||||
Custom-Chisel
|
||||
Custom-Core
|
||||
RoCC-or-MMIO
|
||||
|
||||
Reference in New Issue
Block a user