slightly more clarity in the diplomacy example [skip ci]
@@ -98,18 +98,19 @@ This example shows a Rocket Chip based SoC that merges multiple system component
with HasPeripheryUARTModuleImp
with HasPeripheryIceNICModuleImp
-There are two "cakes" here. One for the lazy module and one for the module
-implementation. The lazy module defines all the logical connections between
-generators and exchanges configuration information among them, while the
-module implementation performs the actual Chisel RTL elaboration.
+There are two "cakes" here. One for the lazy module (ex. ``HasNoDebug``) and one for the lazy module
+implementation (ex. ``HasNoDebugModuleImp`` where ``Imp`` refers to implementation). The lazy module defines
+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"
-``MySoCModuleImp`` as a lazy module. This delays immediate elaboration
-of the module. The ``RocketSubsystem`` outer base class, as well as the
+``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
``HasPeripheryX`` outer traits contain code to perform high-level logical
connections. For example, the ``HasPeripherySerial`` outer trait contains code
-to lazily instantiate the ``SerialAdapter``, and connect the SerialAdapter's
-TileLink node to the frontbus.
+to lazily instantiate the ``SerialAdapter``, and connect the ``SerialAdapter``'s
+TileLink node to the Front bus.
The ``ModuleImp`` classes and traits perform elaboration of real RTL.
For example, the ``HasPeripherySerialModuleImp`` trait physically connects
@@ -126,7 +127,7 @@ their module implementation through``lazy val module``, and they
as child modules in the module hierarchy). The "inner" modules
contain the implementation for the module, and may instantiate
other normal modules OR lazy modules (for nested Diplomacy
- graphs, for example. This is very advanced).
+graphs, for example).
Mix-in
---------------------------
