diff --git a/docs/wave_generator.drawio b/docs/wave_generator.drawio
index 6d65d824039ac0376711b9b39806f970cf0549ca..78adbf2d20bf7f6bb52ed6aff6f1f1aa12c4e322 100644
--- a/docs/wave_generator.drawio
+++ b/docs/wave_generator.drawio
@@ -1,50 +1,480 @@
 <mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2">
   <diagram name="Page-1" id="ZRCvXX_TBlFcA-i0oMmK">
-    <mxGraphModel dx="3237" dy="1203" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+    <mxGraphModel dx="5490" dy="1911" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
         <mxCell id="liv1zIGuVtiVySRaDl_v-15" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;arcSize=3;" parent="1" vertex="1">
-          <mxGeometry y="40" width="1320" height="720" as="geometry" />
+          <mxGeometry x="-1244" y="21" width="2844" height="949" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-1" value="A" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="160" y="80" width="280" height="160" as="geometry" />
+        <mxCell id="liv1zIGuVtiVySRaDl_v-1" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" parent="1" vertex="1">
+          <mxGeometry x="-940" y="40" width="340" height="220" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-2" value="D" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="160" y="320" width="280" height="160" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-122" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.034;entryY=0.481;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#e1d5e7;strokeColor=light-dark(#000000, #9577a3);strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-123" target="2ub7FL7kEwsh4IU-XytU-1">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-960" y="220" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-1030" y="214" />
+            </Array>
+          </mxGeometry>
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-3" value="B" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="520" y="80" width="280" height="160" as="geometry" />
+        <mxCell id="liv1zIGuVtiVySRaDl_v-10" value="I_clk" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="-1360" y="500" width="160" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-4" value="I" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="880" y="560" width="280" height="160" as="geometry" />
+        <mxCell id="liv1zIGuVtiVySRaDl_v-11" value="I_rst" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="-1360" y="375" width="160" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-5" value="F" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="880" y="320" width="280" height="160" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-108" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="liv1zIGuVtiVySRaDl_v-12" target="2ub7FL7kEwsh4IU-XytU-63">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1070" y="275" />
+              <mxPoint x="-1070" y="850" />
+              <mxPoint x="230" y="850" />
+              <mxPoint x="230" y="423" />
+            </Array>
+          </mxGeometry>
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-6" value="C" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="880" y="80" width="280" height="160" as="geometry" />
+        <mxCell id="liv1zIGuVtiVySRaDl_v-12" value="I_wave_sel" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="-1360" y="255" width="160" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-7" value="G" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="160" y="560" width="280" height="160" as="geometry" />
+        <mxCell id="liv1zIGuVtiVySRaDl_v-14" value="O_wav" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="1540" y="595" width="160" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-8" value="H" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="520" y="560" width="280" height="160" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-1" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="190" width="30" height="50" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-9" value="E" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;" parent="1" vertex="1">
-          <mxGeometry x="520" y="320" width="280" height="160" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-3" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-950" y="150" width="70" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-10" value="I_clk" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1" parent="1" vertex="1">
-          <mxGeometry x="-40" y="120" width="160" height="40" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-4" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_wave_sel&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-930" y="120" width="60" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-11" value="I_rst" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1" parent="1" vertex="1">
-          <mxGeometry x="-40" y="200" width="160" height="40" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-5" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_middle&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="90" width="70" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-12" value="I_wave_sel" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1" parent="1" vertex="1">
-          <mxGeometry x="-40" y="280" width="160" height="40" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-6" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_last&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="60" width="60" height="30" as="geometry" />
         </mxCell>
-        <mxCell id="liv1zIGuVtiVySRaDl_v-14" value="O_wav" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f0a30a;strokeColor=#BD7000;fontColor=#000000;fontFamily=Ubuntu Mono;fontSize=18;fontStyle=1" parent="1" vertex="1">
-          <mxGeometry x="1200" y="120" width="160" height="40" as="geometry" />
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-92" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-7" target="2ub7FL7kEwsh4IU-XytU-15">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-560" y="215" />
+              <mxPoint x="-560" y="300" />
+              <mxPoint x="-865" y="300" />
+              <mxPoint x="-865" y="400" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-7" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_u_d&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-660" y="200" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-93" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="2ub7FL7kEwsh4IU-XytU-79">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-400" y="410" as="targetPoint" />
+            <mxPoint x="-600" y="150" as="sourcePoint" />
+            <Array as="points">
+              <mxPoint x="-540" y="150" />
+              <mxPoint x="-540" y="90" />
+              <mxPoint x="255" y="90" />
+              <mxPoint x="255" y="210" />
+              <mxPoint x="1080" y="210" />
+              <mxPoint x="1080" y="510" />
+              <mxPoint x="680" y="510" />
+              <mxPoint x="680" y="584" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-8" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_sign_sel&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-670" y="135" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-10" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module A&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; line-height: 60%;&quot;&gt;Properties:&lt;br&gt;- Sequential module&lt;br&gt;- Finite State Machine controling the sequence of&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(51, 51, 51), rgb(193, 193, 193));&quot;&gt;samples&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400; line-height: 50%;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="-860" y="50" width="180" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-11" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-940" y="220" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-12" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="340" width="340" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-13" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="490" width="30" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-14" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="445" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-15" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_u_d&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-845" y="385" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-118" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-16" target="2ub7FL7kEwsh4IU-XytU-5">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-450" y="455" />
+              <mxPoint x="-450" y="620" />
+              <mxPoint x="-1000" y="620" />
+              <mxPoint x="-1000" y="105" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-16" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_middle&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-570" y="440" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-119" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-17" target="2ub7FL7kEwsh4IU-XytU-6">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-470" y="505" />
+              <mxPoint x="-470" y="590" />
+              <mxPoint x="-980" y="590" />
+              <mxPoint x="-980" y="75" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-17" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_last&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-560" y="490" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-114" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-18" target="2ub7FL7kEwsh4IU-XytU-35">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-116" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-18" target="2ub7FL7kEwsh4IU-XytU-26">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-300" y="710" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-18" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_val&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-560" y="385" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-20" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module B&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="-760" y="360" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-21" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-840" y="520" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-23" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="616" width="390" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-24" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="766" width="30" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-25" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="721" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-26" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_addr&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="660" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-151" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-27" target="2ub7FL7kEwsh4IU-XytU-62">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-27" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_sine_out&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="40" y="711" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-30" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module C&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="-200" y="636" width="240" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-31" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="796" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-153" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-32" target="2ub7FL7kEwsh4IU-XytU-59">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-32" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="105" width="390" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-33" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="255" width="30" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-34" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="210" width="50" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-35" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_addr&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="150" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-36" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_triangle_out&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="30" y="200" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-38" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module D&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="-200" y="125" width="220" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-39" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="285" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-152" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-41" target="2ub7FL7kEwsh4IU-XytU-60">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="150" y="455" />
+              <mxPoint x="150" y="325" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-41" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="345" width="390" height="220" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-42" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="495" width="30" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-43" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="450" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-44" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_addr&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="385" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-45" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_saw_tooth_out&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="30" y="435" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-47" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module E&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="-200" y="365" width="220" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-48" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-280" y="525" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-105" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-50" target="2ub7FL7kEwsh4IU-XytU-61">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="170" y="591" />
+              <mxPoint x="170" y="360" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-50" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;signal: [011111...1]&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="-130" y="576" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-96" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-51">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="675" y="347.5" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-100" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-51" target="2ub7FL7kEwsh4IU-XytU-78">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="630" y="348" />
+              <mxPoint x="630" y="681" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-51" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="260" y="240" width="340" height="215" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-56" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_dout&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="535" y="330" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-57" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module F&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="340" y="255" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-59" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din3&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="280" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-60" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din2&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="310" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-61" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din1&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="345" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-62" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din0&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="375" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-63" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_sel&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="260" y="410" width="60" height="27" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-97" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-64" target="2ub7FL7kEwsh4IU-XytU-77">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="1120" y="590" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="1050" y="348" />
+              <mxPoint x="1050" y="480" />
+              <mxPoint x="660" y="480" />
+              <mxPoint x="660" y="640" />
+              <mxPoint x="760" y="640" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-64" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="675" y="240" width="340" height="215" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-65" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_dout&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="950" y="330" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-66" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module G&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="755" y="255" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-72" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="760" y="556" width="340" height="215" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-120" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-73" target="2ub7FL7kEwsh4IU-XytU-84">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-73" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_dout&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1035" y="646" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-74" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module H&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="840" y="571" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-77" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din1&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="760" y="626" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-78" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din0&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="760" y="666" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-79" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_sel&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="760" y="570" width="60" height="27" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-81" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontFamily=Ubuntu Mono;fontSize=40;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
+          <mxGeometry x="1165" y="555" width="340" height="215" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-82" value="" style="triangle;whiteSpace=wrap;html=1;rounded=0;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1">
+          <mxGeometry x="1165" y="700" width="30" height="50" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-83" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_rst&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1165" y="660" width="55" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-84" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_din&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1165" y="600" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-169" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-88" target="liv1zIGuVtiVySRaDl_v-14">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-88" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;O_dout&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1440" y="600" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-89" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu mono&amp;quot;; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Module I&lt;/span&gt;&lt;/h1&gt;&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;&lt;font face=&quot;Ubuntu mono&quot;&gt;&lt;span style=&quot;font-size: 12px; font-weight: 400;&quot;&gt;Properties:&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/h1&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
+          <mxGeometry x="1245" y="570" width="180" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-90" value="&lt;font face=&quot;Ubuntu mono&quot;&gt;I_clk&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+          <mxGeometry x="1165" y="730" width="70" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-101" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="625" y="342.5" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-107" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.006;entryY=0.455;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-111" target="liv1zIGuVtiVySRaDl_v-1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1070" y="275" />
+              <mxPoint x="-1070" y="140" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-113" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.012;entryY=0.45;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;startFill=0;" edge="1" parent="1" source="liv1zIGuVtiVySRaDl_v-12" target="2ub7FL7kEwsh4IU-XytU-111">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-1200" y="275" as="sourcePoint" />
+            <mxPoint x="-936" y="139" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-111" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-1090" y="270" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-115" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-18" target="2ub7FL7kEwsh4IU-XytU-44">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-117" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-400" y="395" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-124" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=-0.023;entryY=0.512;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-123" target="2ub7FL7kEwsh4IU-XytU-13">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-850" y="520" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-1035" y="820" />
+              <mxPoint x="-870" y="820" />
+              <mxPoint x="-870" y="516" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-134" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-140" target="2ub7FL7kEwsh4IU-XytU-24">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-147" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-128" target="2ub7FL7kEwsh4IU-XytU-82">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="1520" y="680" as="targetPoint" />
+            <mxPoint x="-870" y="820" as="sourcePoint" />
+            <Array as="points">
+              <mxPoint x="-875" y="920" />
+              <mxPoint x="1130" y="920" />
+              <mxPoint x="1130" y="725" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-143" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-140" target="2ub7FL7kEwsh4IU-XytU-42">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-144" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.771;exitY=0.554;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;startFill=0;strokeWidth=4;exitPerimeter=0;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-128" target="2ub7FL7kEwsh4IU-XytU-140">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-880" y="821" as="sourcePoint" />
+            <mxPoint x="-280" y="791" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-872" y="820" />
+              <mxPoint x="-370" y="820" />
+              <mxPoint x="-370" y="791" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-140" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-360" y="786" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-146" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=4;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-145" target="2ub7FL7kEwsh4IU-XytU-33">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-145" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-360" y="520" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-150" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=-0.034;entryY=0.481;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#e1d5e7;strokeColor=light-dark(#000000, #9577a3);strokeWidth=4;endArrow=none;startFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="liv1zIGuVtiVySRaDl_v-10" target="2ub7FL7kEwsh4IU-XytU-123">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="-1200" y="573" as="sourcePoint" />
+            <mxPoint x="-941" y="214" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="-1200" y="520" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-123" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-1040" y="515" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-128" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="-880" y="816" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-156" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.143;entryY=0.667;entryDx=0;entryDy=0;entryPerimeter=0;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=3;" edge="1" parent="1" source="liv1zIGuVtiVySRaDl_v-11" target="2ub7FL7kEwsh4IU-XytU-3">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-1140" y="395" />
+              <mxPoint x="-1140" y="170" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-161" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-1150" y="390" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-162" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-161" target="2ub7FL7kEwsh4IU-XytU-14">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-890" y="395" />
+              <mxPoint x="-890" y="460" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-163" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=3;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-161" target="2ub7FL7kEwsh4IU-XytU-25">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-165" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-164" target="2ub7FL7kEwsh4IU-XytU-43">
+          <mxGeometry relative="1" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-168" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#e1d5e7;strokeColor=#9673a6;strokeWidth=3;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-164" target="2ub7FL7kEwsh4IU-XytU-83">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-325" y="910" />
+              <mxPoint x="1120" y="910" />
+              <mxPoint x="1120" y="675" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-164" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-330" y="731" width="10" height="10" as="geometry" />
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-167" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#e1d5e7;strokeColor=#9673a6;" edge="1" parent="1" source="2ub7FL7kEwsh4IU-XytU-166" target="2ub7FL7kEwsh4IU-XytU-34">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="-325" y="225" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2ub7FL7kEwsh4IU-XytU-166" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
+          <mxGeometry x="-330" y="465" width="10" height="10" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>