circt/docs/dialects.drawio

295 lines
24 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2021-11-02T16:25:50.283Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36" version="15.5.9" etag="5Z-tecK78aBZVGO8SbjG" type="google">
<diagram id="YOK3TWhEYF_7GvOfBR0P">
<mxGraphModel dx="1582" dy="1141" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="3" target="7" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="3" value="High FIRRTL" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="130" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="7" target="11" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;dashed=1;" edge="1" source="7" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" source="7" target="38" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="370" y="235" />
<mxPoint x="370" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7" value="Mid FIRRTL" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="220" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" source="11" target="15" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" source="11" target="19" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.014;entryY=0.125;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="11" target="23" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="11" value="Low FIRRTL" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="310" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="15" target="41" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontColor=#B3B3B3;dashed=1;" edge="1" source="15" target="19" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="130" y="460" />
<mxPoint x="130" y="430" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;fontColor=#B3B3B3;" edge="1" source="15" target="61" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="15" value="Structural LLHD" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-20" y="430" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;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" source="19" target="23" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;fontColor=#B3B3B3;dashed=1;" edge="1" source="19" target="15" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="140" y="445" />
<mxPoint x="140" y="475" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;dashed=1;fontColor=#B3B3B3;" edge="1" source="19" target="61" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="260" y="470" />
<mxPoint x="200" y="470" />
<mxPoint x="200" y="520" />
<mxPoint x="120" y="520" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="19" value="HW" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="400" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.043;entryY=0.875;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="21" target="23" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="21" value="SV" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="490" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="23" target="39" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="23" value="EmitVerilog" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="450" y="310" width="70" height="240" as="geometry" />
</mxCell>
<mxCell id="24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="26" target="3" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="26" target="7" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="26" value="Handshake" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="40" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="27" value="1." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="190" y="100" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="28" value="1." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="110" y="130" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="29" value="2." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="190" y="190" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="30" value="2." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="190" y="280" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="31" value="1. Handshake to FIRRTL&lt;br&gt;2. Lowering within FIRRTL&lt;br&gt;3. FIRRTL to LLHD&lt;br&gt;4. FIRRTL to HW&lt;br&gt;5. Mid FIRRTL to HW (hypothetical)&lt;br&gt;6. Mid FIRRTL to SV (hypothetical)&lt;br&gt;7. EmitVerilog&lt;br&gt;8. Desequentialization / Process Lowering&lt;br&gt;9. LLHD to LLVM (simulation model)&lt;br&gt;10. LLHD to HW promotion (hypothetical; fallible)&lt;br&gt;11. HW to LLHD (hypothetical)&lt;br&gt;12. Likely almost identical; eventually merge?&lt;br&gt;13. SCF to Calyx&lt;br&gt;14. Calyx to HW (hypothetical)&lt;br&gt;15. Calyx to FSM (hypothetical)&lt;br&gt;16. Statically scheduled pipelines" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="540" y="125" width="280" height="245" as="geometry" />
</mxCell>
<mxCell id="32" value="3." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="140" y="380" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="33" value="4." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="240" y="370" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="34" value="5." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="274" y="250" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="35" value="6." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="274" y="215" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="36" value="7." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="270" y="320" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="37" value="7." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="350" y="410" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="38" value="7." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="350" y="500" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="39" value="SV File" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="560" y="410" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="41" target="42" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="41" value="llhd-sim" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=20;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="-60" y="550" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="42" value="VCD Trace" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="-60" y="610" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="44" target="46" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="44" value="Moore" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=20;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="-120" y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" source="46" target="15" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="46" value="Behavioural LLHD" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-140" y="310" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="48" target="44" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="48" value="SV/VHDL&lt;br&gt;File" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="-120" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="50" target="52" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="50" value="FIR File" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry y="60" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;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" source="52" target="3" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="52" value="FIRRTL Parser" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry y="140" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="53" value="8." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-50" y="380" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="54" value="HW and Testbench" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-110" y="125" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="55" value="9." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="40" y="500" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="56" value="10." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="410" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="57" value="11." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="160" y="445" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="58" value="12." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="80" y="430" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="59" value="12." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="330" y="400" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;fontColor=#B3B3B3;" edge="1" source="61" target="62" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="61" value="circilator" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=20;fillColor=#fff2cc;strokeColor=#d6b656;dashed=1;" vertex="1" parent="1">
<mxGeometry x="60" y="550" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="62" value="CPP File" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="60" y="610" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" source="65" target="59" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="335" y="190" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" source="65" target="73" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="65" value="Calyx" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="130" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="68" target="26" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=80;exitDy=25;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="68" target="65" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="300" y="-4" />
<mxPoint x="300" y="160" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="68" value="std/arith MLIR" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="170" y="-29" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="71" target="65" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=80;exitDy=25;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" source="71" target="78" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="71" value="SCF MLIR" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=10;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="340" y="-29" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" source="73" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="317" y="400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="73" value="FSM" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="450" y="220" width="70" height="60" as="geometry" />
</mxCell>
<mxCell id="74" value="13." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="380" y="11" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="75" value="14." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="340" y="190" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="76" value="15." style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="440" y="160" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="77" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" source="78" target="65" parent="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="480" y="110" />
<mxPoint x="410" y="110" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="78" value="Pipeline/Pipeline" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="420" y="40" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="80" target="78" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="80" value="Scheduling" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;" vertex="1" parent="1">
<mxGeometry x="557" y="60" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="81" value="16." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="485" y="100" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="82" value="16." style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="485" y="20" width="30" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>