Add doc links for constellation

This commit is contained in:
Jerry Zhao
2022-09-27 15:28:30 -07:00
parent d554c280e1
commit f634fde083
8 changed files with 622 additions and 4 deletions

View File

@@ -38,7 +38,7 @@ We also see this class define several ``ElaborationArtefacts``, files emitted af
Subsystem
^^^^^^^^^^^^^^^^^^^^^^^^^
Looking in `generators/chipyard/src/main/scala/Subsystem.scala <https://github.com/ucb-bar/chipyard/blob/master/generators/chipyard/src/main/scala/Subsystem.scala>`__, we can see how Chipyard's ``Subsystem``
Looking in `generators/chipyard/src/main/scala/Subsystem.scala <https://github.com/ucb-bar/chipyard/blob/main/generators/chipyard/src/main/scala/Subsystem.scala>`__, we can see how Chipyard's ``Subsystem``
extends the ``BaseSubsystem`` abstract class. ``Subsystem`` mixes in the ``HasBoomAndRocketTiles`` trait that
defines and instantiates BOOM or Rocket tiles, depending on the parameters specified.
We also connect some basic IOs for each tile here, specifically the hartids and the reset vector.

View File

@@ -47,6 +47,9 @@ Accelerators
System Components:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**constellation**
A generator for network-on-chip (NoC) interconnects.
**icenet**
A Network Interface Controller (NIC) designed to achieve up to 200 Gbps.

View 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>`__.

View File

@@ -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

View File

@@ -0,0 +1,17 @@
Constellation
========================
.. image:: ../_static/images/bigsoc.svg
`Constellation <https://github.com/ucb-bar/constellation>`__ is a Chisel NoC RTL generator framework designed from the ground up to support integration in a heterogeneous SoC and evaluation of highly irregular NoC architectures.
- Constellation generates **packet-switched wormhole-routed networks with virtual networks and credit-based flow control**
- Constellation supports **arbitrary directed graph network topologies**, including **irregular** and **hierarchical** network topologies
- Constellation includes a **routing algorithm verifier and routing-table compiler**, which can verify and generate deadlock-free routing tables for arbitrary topologies
- Constellation is a **protocol-independent transport layer**, yet is capable of compliant deadlock-free transport of protocols like **AXI-4** and **TileLink**
- Constellation supports drop-in **integration in Chipyard/Rocketchip SoCs**
- Constellation is **rigorously tested**, with almost 100 different tests across as many network configurations
Constellation is fully integrated into Chipyard, and can be used to generate almost any interconnect in a Chipyard/Rocketchip-based SoC.
For documentation on Constellation, see its `documentation pages <http://constellation.readthedocs.io>`__.

View File

@@ -21,6 +21,7 @@ so changes to the generators themselves will automatically be used when building
Rocket-Chip
Rocket
BOOM
Constellation
Hwacha
Gemmini
IceNet

558
docs/_static/images/bigsoc.svg vendored Normal file
View File

@@ -0,0 +1,558 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="1126.5 1347.5 796.9655 697" width="796.9655" height="697">
<defs>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black">
<g>
<path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" stroke-linejoin="miter" stroke-miterlimit="10" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black">
<g>
<path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/>
</g>
</marker>
</defs>
<g id="Canvas_18" stroke-opacity="1" fill="none" fill-opacity="1" stroke-dasharray="none" stroke="none">
<title>Canvas 18</title>
<g id="Canvas_18_Layer_2">
<title>Layer 2</title>
<g id="Graphic_65">
<rect x="1177" y="1697.3794" width="139.86167" height="253.5375" fill="#ffc0c0"/>
<rect x="1177" y="1697.3794" width="139.86167" height="253.5375" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1182 1814.9241)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="33.67483" y="15">Big Core</tspan>
</text>
</g>
<g id="Graphic_64">
<rect x="1316.8617" y="1604.4293" width="179.9309" height="92.95004" fill="#c0ffff"/>
<rect x="1316.8617" y="1604.4293" width="179.9309" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1321.8617 1641.6804)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="55.469454" y="15">L2 Bank</tspan>
</text>
</g>
<g id="Graphic_63">
<rect x="1316.8617" y="1697.3794" width="179.9309" height="92.95004" fill="#c0ffff"/>
<rect x="1316.8617" y="1697.3794" width="179.9309" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1321.8617 1734.6304)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="55.469454" y="15">L2 Bank</tspan>
</text>
</g>
<g id="Graphic_60">
<rect x="1316.8617" y="1441.0831" width="134.68975" height="163.2131" fill="#c0ffc0"/>
<rect x="1316.8617" y="1441.0831" width="134.68975" height="163.2131" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1321.8617 1513.4657)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="13.880872" y="15">Medium Core</tspan>
</text>
</g>
<g id="Graphic_55">
<rect x="1541" y="1790.3294" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1541" y="1790.3294" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1546 1821.2523)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_54">
<rect x="1541" y="1870.6231" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1541" y="1870.6231" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1546 1901.546)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_53">
<rect x="1630.9655" y="1790.3294" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1630.9655" y="1790.3294" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1635.9655 1821.2523)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_52">
<rect x="1630.9655" y="1870.6231" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1630.9655" y="1870.6231" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1635.9655 1901.546)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_51">
<rect x="1720.931" y="1428.2272" width="202.03462" height="231.86092" fill="#ffffc0"/>
<rect x="1720.931" y="1428.2272" width="202.03462" height="231.86092" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1725.931 1534.9336)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="41.49731" y="15">ML Accelerator</tspan>
</text>
</g>
<g id="Graphic_50">
<rect x="1451.5514" y="1441.0831" width="134.68975" height="163.2131" fill="#c0ffc0"/>
<rect x="1451.5514" y="1441.0831" width="134.68975" height="163.2131" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1456.5514 1513.4657)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="13.880872" y="15">Medium Core</tspan>
</text>
</g>
<g id="Graphic_49">
<rect x="1586.2412" y="1441.0831" width="134.68975" height="163.2131" fill="#c0ffc0"/>
<rect x="1586.2412" y="1441.0831" width="134.68975" height="163.2131" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1591.2412 1513.4657)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="13.880872" y="15">Medium Core</tspan>
</text>
</g>
<g id="Graphic_48">
<rect x="1524.9828" y="1348.1331" width="397.98276" height="92.95004" fill="#c0c0ff"/>
<rect x="1524.9828" y="1348.1331" width="397.98276" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1529.9828 1385.3841)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="139.01538" y="15">DRAM Channel</tspan>
</text>
</g>
<g id="Graphic_47">
<rect x="1127" y="1348" width="397.98276" height="92.95004" fill="#c0c0ff"/>
<rect x="1127" y="1348" width="397.98276" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1132 1385.251)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="139.01538" y="15">DRAM Channel</tspan>
</text>
</g>
<g id="Graphic_46">
<rect x="1524.9828" y="1951.05" width="397.98276" height="92.95004" fill="#c0c0ff"/>
<rect x="1524.9828" y="1951.05" width="397.98276" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1529.9828 1988.301)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="139.01538" y="15">DRAM Channel</tspan>
</text>
</g>
<g id="Graphic_45">
<rect x="1127" y="1950.9169" width="397.98276" height="92.95004" fill="#c0c0ff"/>
<rect x="1127" y="1950.9169" width="397.98276" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1132 1988.168)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="139.01538" y="15">DRAM Channel</tspan>
</text>
</g>
<g id="Graphic_44">
<rect x="1720.931" y="1878.1258" width="134.68975" height="72.79103" fill="#ffffc0"/>
<rect x="1720.931" y="1878.1258" width="134.68975" height="72.79103" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1725.931 1905.2974)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="49.90487" y="15">ISP</tspan>
</text>
</g>
<g id="Graphic_43">
<rect x="1127" y="1697.3794" width="53" height="253.5375" fill="#ccc"/>
<rect x="1127" y="1697.3794" width="53" height="253.5375" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1132 1814.9241)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="10.684" y="15">I/O</tspan>
</text>
</g>
<g id="Graphic_42">
<rect x="1720.931" y="1660.3905" width="101.01731" height="149.99112" fill="#ffc0c0"/>
<rect x="1720.931" y="1660.3905" width="101.01731" height="149.99112" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1725.931 1726.162)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="27.876656" y="15">RAM</tspan>
</text>
</g>
<g id="Graphic_41">
<rect x="1720.931" y="1810.427" width="134.68975" height="72.05663" fill="#ffffc0"/>
<rect x="1720.931" y="1810.427" width="134.68975" height="72.05663" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1725.931 1837.2314)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="46.34487" y="15">DSP</tspan>
</text>
</g>
<g id="Graphic_40">
<rect x="1821.9482" y="1660.3905" width="101.01731" height="92.00786" fill="#ffc0c0"/>
<rect x="1821.9482" y="1660.3905" width="101.01731" height="92.00786" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1826.9482 1697.1705)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="21.796656" y="15">Debug</tspan>
</text>
</g>
<g id="Graphic_39">
<rect x="1821.9482" y="1752.3984" width="101.01731" height="57.98326" fill="#ffc0c0"/>
<rect x="1821.9482" y="1752.3984" width="101.01731" height="57.98326" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1826.9482 1772.166)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="26.244656" y="15">JTAG</tspan>
</text>
</g>
<g id="Graphic_38">
<rect x="1855.6207" y="1810.427" width="67.34487" height="140.48976" fill="#ccc"/>
<rect x="1855.6207" y="1810.427" width="67.34487" height="140.48976" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1860.6207 1871.448)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="15.048436" y="15">NIC</tspan>
</text>
</g>
<g id="Graphic_89">
<rect x="1316.8617" y="1790.3294" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1316.8617" y="1790.3294" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1321.8617 1821.2523)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_88">
<rect x="1316.8617" y="1870.6231" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1316.8617" y="1870.6231" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1321.8617 1901.546)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_87">
<rect x="1406.8271" y="1790.3294" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1406.8271" y="1790.3294" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1411.8271 1821.2523)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_86">
<rect x="1406.8271" y="1870.6231" width="89.96545" height="80.29373" fill="#c0ffc0"/>
<rect x="1406.8271" y="1870.6231" width="89.96545" height="80.29373" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1411.8271 1901.546)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x=".71872705" y="15">Small Core</tspan>
</text>
</g>
<g id="Graphic_91">
<rect x="1541" y="1604.4293" width="179.9309" height="92.95004" fill="#c0ffff"/>
<rect x="1541" y="1604.4293" width="179.9309" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1546 1641.6804)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="55.469454" y="15">L2 Bank</tspan>
</text>
</g>
<g id="Graphic_90">
<rect x="1541" y="1697.3794" width="179.9309" height="92.95004" fill="#c0ffff"/>
<rect x="1541" y="1697.3794" width="179.9309" height="92.95004" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1546 1734.6304)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="55.469454" y="15">L2 Bank</tspan>
</text>
</g>
<g id="Graphic_92">
<rect x="1497.3963" y="1790.3294" width="43.60371" height="160.72055" fill="#ccc"/>
<rect x="1497.3963" y="1790.3294" width="43.60371" height="160.72055" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_93">
<rect x="1497.3963" y="1604.4293" width="43.20742" height="185.90008" fill="#ffffc0"/>
<rect x="1497.3963" y="1604.4293" width="43.20742" height="185.90008" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_117">
<rect x="1177" y="1441.0831" width="139.86167" height="256.29624" fill="#ffc0c0"/>
<rect x="1177" y="1441.0831" width="139.86167" height="256.29624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1182 1560.0073)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="33.67483" y="15">Big Core</tspan>
</text>
</g>
<g id="Graphic_116">
<rect x="1127" y="1441.0831" width="53" height="256.29624" fill="#ccc"/>
<rect x="1127" y="1441.0831" width="53" height="256.29624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
<text transform="translate(1132 1560.0073)" fill="black">
<tspan font-family="Helvetica Neue" font-size="16" fill="black" x="10.684" y="15">I/O</tspan>
</text>
</g>
</g>
<g id="Canvas_18_Layer_3">
<title>Layer 3</title>
<g id="Graphic_35">
<circle cx="1348" cy="1803.5" r="6.50001038636234" fill="lime"/>
<circle cx="1348" cy="1803.5" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_34">
<circle cx="1438" cy="1803.5" r="6.50001038636225" fill="lime"/>
<circle cx="1438" cy="1803.5" r="6.50001038636225" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_33">
<circle cx="1519" cy="1803.5" r="6.50001038636237" fill="white"/>
<circle cx="1519" cy="1803.5" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_32">
<circle cx="1600" cy="1803.5" r="6.5000103863624" fill="lime"/>
<circle cx="1600" cy="1803.5" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_31">
<circle cx="1690" cy="1803.5" r="6.5000103863624" fill="lime"/>
<circle cx="1690" cy="1803.5" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_30">
<circle cx="1348" cy="1884.5" r="6.50001038636237" fill="lime"/>
<circle cx="1348" cy="1884.5" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_29">
<circle cx="1438" cy="1884.5" r="6.50001038636228" fill="lime"/>
<circle cx="1438" cy="1884.5" r="6.50001038636228" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_28">
<circle cx="1519" cy="1884.5" r="6.5000103863624" fill="white"/>
<circle cx="1519" cy="1884.5" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_27">
<circle cx="1600" cy="1884.5" r="6.50001038636243" fill="lime"/>
<circle cx="1600" cy="1884.5" r="6.50001038636243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_26">
<circle cx="1690" cy="1884.5" r="6.50001038636243" fill="lime"/>
<circle cx="1690" cy="1884.5" r="6.50001038636243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_25">
<line x1="1364.4" y1="1803.5" x2="1421.6" y2="1803.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_24">
<line x1="1454.4" y1="1803.5" x2="1502.6" y2="1803.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_23">
<line x1="1535.4" y1="1803.5" x2="1583.6" y2="1803.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_22">
<line x1="1616.4" y1="1803.5" x2="1673.6" y2="1803.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_21">
<line x1="1348" y1="1819.9" x2="1348" y2="1868.1" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_20">
<line x1="1364.4" y1="1884.5" x2="1421.6" y2="1884.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_19">
<line x1="1454.4" y1="1884.5" x2="1502.6" y2="1884.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_18">
<line x1="1535.4" y1="1884.5" x2="1583.6" y2="1884.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_17">
<line x1="1616.4" y1="1884.5" x2="1673.6" y2="1884.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_16">
<line x1="1690" y1="1868.1" x2="1690" y2="1819.9" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_15">
<line x1="1438" y1="1819.9" x2="1438" y2="1868.1" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_14">
<line x1="1519" y1="1819.9" x2="1519" y2="1868.1" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_13">
<line x1="1600" y1="1819.9" x2="1600" y2="1868.1" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_12">
<circle cx="1519" cy="1760" r="6.50001038636234" fill="white"/>
<circle cx="1519" cy="1760" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_11">
<circle cx="1357" cy="1760" r="6.50001038636234" fill="aqua"/>
<circle cx="1357" cy="1760" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_10">
<circle cx="1675" cy="1760" r="6.50001038636225" fill="aqua"/>
<circle cx="1675" cy="1760" r="6.50001038636225" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_9">
<circle cx="1519" cy="1627" r="6.5000103863624" fill="white"/>
<circle cx="1519" cy="1627" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_8">
<circle cx="1357" cy="1627" r="6.5000103863624" fill="aqua"/>
<circle cx="1357" cy="1627" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_7">
<circle cx="1675" cy="1627" r="6.50001038636231" fill="aqua"/>
<circle cx="1675" cy="1627" r="6.50001038636231" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_6">
<line x1="1373.4" y1="1627" x2="1502.6" y2="1627" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_5">
<line x1="1535.4" y1="1627" x2="1658.6" y2="1627" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_4">
<line x1="1357" y1="1643.4" x2="1357" y2="1743.6" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_3">
<line x1="1373.4" y1="1760" x2="1502.6" y2="1760" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_2">
<line x1="1535.4" y1="1760" x2="1658.6" y2="1760" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_68">
<circle cx="1519" cy="1582.5" r="6.5000103863624" fill="lime"/>
<circle cx="1519" cy="1582.5" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_69">
<circle cx="1415.5" cy="1582.5" r="6.50001038636234" fill="lime"/>
<circle cx="1415.5" cy="1582.5" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_70">
<circle cx="1628.5" cy="1582.5" r="6.50001038636243" fill="lime"/>
<circle cx="1628.5" cy="1582.5" r="6.50001038636243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_71">
<line x1="1431.9" y1="1582.5" x2="1502.6" y2="1582.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_72">
<line x1="1535.4" y1="1582.5" x2="1612.1" y2="1582.5" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_73">
<line x1="1519" y1="1598.9" x2="1519" y2="1610.6" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_82">
<circle cx="1280.5" cy="1760" r="6.50001038636228" fill="red"/>
<circle cx="1280.5" cy="1760" r="6.50001038636228" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_81">
<circle cx="1280.5" cy="1627" r="6.50001038636234" fill="red"/>
<circle cx="1280.5" cy="1627" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_84">
<line x1="1296.9" y1="1627" x2="1340.6" y2="1627" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_85">
<line x1="1296.9" y1="1760" x2="1340.6" y2="1760" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_95">
<line x1="1675" y1="1643.4" x2="1675" y2="1743.6" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_97">
<circle cx="1519" cy="1723.1706" r="6.50001038636231" fill="white"/>
<circle cx="1519" cy="1723.1706" r="6.50001038636231" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_98">
<circle cx="1406.8271" cy="1723.1706" r="6.50001038636237" fill="aqua"/>
<circle cx="1406.8271" cy="1723.1706" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_101">
<circle cx="1519" cy="1671.25" r="6.5000103863624" fill="white"/>
<circle cx="1519" cy="1671.25" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_100">
<circle cx="1406.8271" cy="1671.25" r="6.5000103863624" fill="aqua"/>
<circle cx="1406.8271" cy="1671.25" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_103">
<circle cx="1630.7673" cy="1723.3397" r="6.50001038636234" fill="aqua"/>
<circle cx="1630.7673" cy="1723.3397" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_102">
<circle cx="1630.7673" cy="1671.419" r="6.50001038636237" fill="aqua"/>
<circle cx="1630.7673" cy="1671.419" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_104">
<line x1="1519" y1="1643.4" x2="1519" y2="1654.85" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_106">
<line x1="1519" y1="1787.1" x2="1519" y2="1776.4" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_107">
<line x1="1502.6" y1="1671.25" x2="1423.2271" y2="1671.25" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_109">
<line x1="1423.2271" y1="1723.1706" x2="1502.6" y2="1723.1706" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_110">
<line x1="1535.4" y1="1723.1954" x2="1614.3673" y2="1723.3149" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_111">
<line x1="1535.4" y1="1671.2748" x2="1614.3673" y2="1671.3943" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_113">
<line x1="1630.7673" y1="1687.819" x2="1630.7673" y2="1706.9397" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_119">
<circle cx="1166.5" cy="1723.4206" r="6.50001038636231" fill="#666"/>
<circle cx="1166.5" cy="1723.4206" r="6.50001038636231" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_118">
<circle cx="1166.5" cy="1671.5" r="6.50001038636234" fill="#666"/>
<circle cx="1166.5" cy="1671.5" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_120">
<path d="M 1390.4271 1671.267 L 1362.5 1671.2961 L 1356.9943 1665.8018 L 1351.5 1671.3076 L 1182.9 1671.483" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_121">
<path d="M 1390.4271 1723.1877 L 1362.5 1723.2167 L 1356.9943 1717.7224 L 1351.5 1723.2281 L 1182.9 1723.4035" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_122">
<circle cx="1166.5" cy="1415.0419" r="6.50001038636237" fill="blue"/>
<circle cx="1166.5" cy="1415.0419" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_123">
<circle cx="1749.5" cy="1415.0419" r="6.5000103863624" fill="blue"/>
<circle cx="1749.5" cy="1415.0419" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_128">
<circle cx="1166.5" cy="1976.7962" r="6.50001038636237" fill="blue"/>
<circle cx="1166.5" cy="1976.7962" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_127">
<circle cx="1749.5" cy="1976.7962" r="6.5000103863624" fill="blue"/>
<circle cx="1749.5" cy="1976.7962" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_129">
<line x1="1166.5" y1="1665" x2="1166.5" y2="1431.442" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_130">
<line x1="1173" y1="1415.0419" x2="1733.1" y2="1415.0419" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_131">
<line x1="1743" y1="1976.7962" x2="1182.9" y2="1976.7962" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_132">
<line x1="1166.5" y1="1970.2962" x2="1166.5" y2="1739.8206" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_133">
<line x1="1166.5" y1="1716.9206" x2="1166.5" y2="1687.9" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_134">
<circle cx="1749.5" cy="1559.5" r="6.50001038636234" fill="yellow"/>
<circle cx="1749.5" cy="1559.5" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_135">
<circle cx="1749.5" cy="1703.8794" r="6.50001038636243" fill="red"/>
<circle cx="1749.5" cy="1703.8794" r="6.50001038636243" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_136">
<circle cx="1832.8964" cy="1824.1481" r="6.50001038636231" fill="yellow"/>
<circle cx="1832.8964" cy="1824.1481" r="6.50001038636231" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_137">
<circle cx="1832.8964" cy="1914.5214" r="6.50001038636237" fill="yellow"/>
<circle cx="1832.8964" cy="1914.5214" r="6.50001038636237" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_138">
<circle cx="1749.5" cy="1864.1231" r="6.50001038636234" fill="white"/>
<circle cx="1749.5" cy="1864.1231" r="6.50001038636234" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_140">
<line x1="1749.5" y1="1421.542" x2="1749.5" y2="1543.1" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_141">
<line x1="1749.5" y1="1566" x2="1749.5" y2="1687.4794" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_142">
<line x1="1749.5" y1="1710.3794" x2="1749.5" y2="1847.7231" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_143">
<line x1="1749.5" y1="1870.6231" x2="1749.5" y2="1960.3962" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_145">
<circle cx="1832.8964" cy="1864.1231" r="6.50001038636228" fill="white"/>
<circle cx="1832.8964" cy="1864.1231" r="6.50001038636228" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_146">
<circle cx="1886.5516" cy="1864.1231" r="6.5000103863624" fill="#666"/>
<circle cx="1886.5516" cy="1864.1231" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_147">
<line x1="1832.8964" y1="1840.5481" x2="1832.8964" y2="1847.7231" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_148">
<line x1="1870.1516" y1="1864.1231" x2="1849.2964" y2="1864.1231" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_149">
<line x1="1832.8964" y1="1898.1213" x2="1832.8964" y2="1880.5231" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_150">
<line x1="1816.4964" y1="1864.1231" x2="1765.9" y2="1864.1231" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_151">
<circle cx="1836.5" cy="1703.8794" r="6.50001038636246" fill="red"/>
<circle cx="1836.5" cy="1703.8794" r="6.50001038636246" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Graphic_152">
<circle cx="1836.5" cy="1781.39" r="6.5000103863624" fill="red"/>
<circle cx="1836.5" cy="1781.39" r="6.5000103863624" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_153">
<line x1="1836.5" y1="1764.99" x2="1836.5" y2="1720.2794" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_154">
<line x1="1820.1" y1="1703.8794" x2="1765.9" y2="1703.8794" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
<g id="Line_172">
<line x1="1519" y1="1739.5706" x2="1519" y2="1743.6" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -60,7 +60,7 @@ import scala.collection.immutable.ListMap
* | | | | |
* |______________|______________|______________|______________|
*/
// DOC include start: MultiNoCConfig
class MultiNoCConfig extends Config(
new constellation.soc.WithCbusNoC(constellation.protocol.TLNoCParams(
constellation.protocol.DiplomaticNetworkNodeMapping(
@@ -106,7 +106,7 @@ class MultiNoCConfig extends Config(
new freechips.rocketchip.subsystem.WithNMemoryChannels(4) ++
new chipyard.config.AbstractConfig
)
// DOC include end: MultiNoCConfig
/*
* 10 - 11 - 12 - 13 - 14
@@ -147,6 +147,7 @@ class MultiNoCConfig extends Config(
* DRAM 1 | MO | system[1] | 5
* extram | MO | serdesser | 9
*/
// DOC include start: SharedNoCConfig
class SharedNoCConfig extends Config(
new constellation.soc.WithGlobalNoC(GlobalNoCParams(
NoCParams(
@@ -184,3 +185,4 @@ class SharedNoCConfig extends Config(
new freechips.rocketchip.subsystem.WithNMemoryChannels(2) ++
new chipyard.config.AbstractConfig
)
// DOC include end: SharedNoCConfig