matrix_multiplex.drawio 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <mxfile host="65bd71144e" modified="2021-01-21T12:19:59.992Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.52.1 Chrome/83.0.4103.122 Electron/9.3.5 Safari/537.36" etag="mm9f6447eXOct_46-5Pq" version="13.10.0" type="embed">
  2. <diagram id="mV5jdOatQLIAx37v0qYi" name="Page-1">
  3. <mxGraphModel dx="651" dy="503" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
  4. <root>
  5. <mxCell id="0"/>
  6. <mxCell id="1" parent="0"/>
  7. <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" parent="1" source="2" target="3">
  8. <mxGeometry relative="1" as="geometry"/>
  9. </mxCell>
  10. <mxCell id="2" value="matrix_multiplex&lt;br&gt;start" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
  11. <mxGeometry x="80" y="1120" width="120" height="80" as="geometry"/>
  12. </mxCell>
  13. <mxCell id="27" 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" parent="1" source="3" target="26">
  14. <mxGeometry relative="1" as="geometry"/>
  15. </mxCell>
  16. <mxCell id="3" value="&lt;div&gt;matrix_rows &amp;lt;= &quot;111111111111&quot;;&lt;/div&gt;&lt;div&gt;matrix_cols &amp;lt;= &quot;11111111&quot;;&lt;/div&gt;&lt;div&gt;matrix_timer &amp;lt;= 0;&lt;/div&gt;&lt;div&gt;matrix_col_index &amp;lt;= 0;&lt;/div&gt;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  17. <mxGeometry x="40" y="1240" width="200" height="80" as="geometry"/>
  18. </mxCell>
  19. <mxCell id="8" value="yes" 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" parent="1" source="5">
  20. <mxGeometry x="-0.5" y="10" relative="1" as="geometry">
  21. <mxPoint x="140" y="1580" as="targetPoint"/>
  22. <mxPoint as="offset"/>
  23. </mxGeometry>
  24. </mxCell>
  25. <mxCell id="25" value="no" 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;" edge="1" parent="1" source="5" target="21">
  26. <mxGeometry x="-0.9236" y="10" relative="1" as="geometry">
  27. <mxPoint as="offset"/>
  28. </mxGeometry>
  29. </mxCell>
  30. <mxCell id="5" value="matrix_timer = 2**15-1" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
  31. <mxGeometry x="85" y="1440" width="110" height="100" as="geometry"/>
  32. </mxCell>
  33. <mxCell id="11" 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" parent="1" source="9" target="10">
  34. <mxGeometry relative="1" as="geometry"/>
  35. </mxCell>
  36. <mxCell id="9" value="&lt;span style=&quot;text-align: center&quot;&gt;matrix_timer &amp;lt;= 0;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;text-align: center&quot;&gt;matrix_cols &amp;lt;= (others =&amp;gt; '0');&lt;/span&gt;&lt;span style=&quot;text-align: center&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;div style=&quot;text-align: center&quot;&gt;matrix_rows &amp;lt;= (others =&amp;gt; '0');&lt;/div&gt;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  37. <mxGeometry x="40" y="1580" width="200" height="60" as="geometry"/>
  38. </mxCell>
  39. <mxCell id="15" value="yes" 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" parent="1" source="10" target="13">
  40. <mxGeometry x="-0.5699" y="10" relative="1" as="geometry">
  41. <mxPoint as="offset"/>
  42. </mxGeometry>
  43. </mxCell>
  44. <mxCell id="16" value="no" 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;" edge="1" parent="1" source="10" target="14">
  45. <mxGeometry x="-0.791" y="10" relative="1" as="geometry">
  46. <mxPoint as="offset"/>
  47. </mxGeometry>
  48. </mxCell>
  49. <mxCell id="10" value="&lt;span style=&quot;text-align: left&quot;&gt;matrix_col&lt;br&gt;_index = 7&lt;/span&gt;" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
  50. <mxGeometry x="85" y="1680" width="110" height="100" as="geometry"/>
  51. </mxCell>
  52. <mxCell id="29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="13">
  53. <mxGeometry relative="1" as="geometry">
  54. <mxPoint x="140" y="1340" as="targetPoint"/>
  55. <Array as="points">
  56. <mxPoint x="140" y="1890"/>
  57. <mxPoint x="700" y="1890"/>
  58. <mxPoint x="700" y="1340"/>
  59. </Array>
  60. </mxGeometry>
  61. </mxCell>
  62. <mxCell id="13" value="matrix_col_index &amp;lt;= 0;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  63. <mxGeometry x="65" y="1826.5" width="150" height="40" as="geometry"/>
  64. </mxCell>
  65. <mxCell id="30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="14">
  66. <mxGeometry relative="1" as="geometry">
  67. <mxPoint x="140" y="1340" as="targetPoint"/>
  68. <Array as="points">
  69. <mxPoint x="305" y="1890"/>
  70. <mxPoint x="700" y="1890"/>
  71. <mxPoint x="700" y="1340"/>
  72. </Array>
  73. </mxGeometry>
  74. </mxCell>
  75. <mxCell id="14" value="matrix_col_index &amp;lt;= matrix_col_index + 1;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  76. <mxGeometry x="230" y="1763.5" width="150" height="46.5" as="geometry"/>
  77. </mxCell>
  78. <mxCell id="20" value="yes" 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" parent="1" source="17" target="19">
  79. <mxGeometry x="-0.4483" y="9" relative="1" as="geometry">
  80. <mxPoint as="offset"/>
  81. </mxGeometry>
  82. </mxCell>
  83. <mxCell id="32" value="no" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="17">
  84. <mxGeometry x="-0.9787" y="10" relative="1" as="geometry">
  85. <mxPoint x="140" y="1340" as="targetPoint"/>
  86. <Array as="points">
  87. <mxPoint x="700" y="1670"/>
  88. <mxPoint x="700" y="1340"/>
  89. </Array>
  90. <mxPoint as="offset"/>
  91. </mxGeometry>
  92. </mxCell>
  93. <mxCell id="17" value="matrix_timer = 2**11-1" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
  94. <mxGeometry x="492.5" y="1620" width="110" height="100" as="geometry"/>
  95. </mxCell>
  96. <mxCell id="31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="19">
  97. <mxGeometry relative="1" as="geometry">
  98. <mxPoint x="140" y="1340" as="targetPoint"/>
  99. <Array as="points">
  100. <mxPoint x="548" y="1890"/>
  101. <mxPoint x="700" y="1890"/>
  102. <mxPoint x="700" y="1340"/>
  103. </Array>
  104. </mxGeometry>
  105. </mxCell>
  106. <mxCell id="19" value="&lt;div&gt;matrix_cols(matrix_col_index) &amp;lt;= '1';&lt;/div&gt;&lt;div&gt;matrix_rows &amp;lt;= matrix_s(matrix_col_index);&lt;/div&gt;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  107. <mxGeometry x="420" y="1763.5" width="255" height="46.5" as="geometry"/>
  108. </mxCell>
  109. <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" parent="1" source="21" target="17">
  110. <mxGeometry relative="1" as="geometry"/>
  111. </mxCell>
  112. <mxCell id="21" value="&lt;div&gt;&lt;span&gt;matrix_timer &amp;lt;= matrix_timer + 1;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;align=left;spacingLeft=13;" vertex="1" parent="1">
  113. <mxGeometry x="447.5" y="1530" width="200" height="40" as="geometry"/>
  114. </mxCell>
  115. <mxCell id="28" 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" parent="1" source="26" target="5">
  116. <mxGeometry relative="1" as="geometry"/>
  117. </mxCell>
  118. <mxCell id="26" value="wait for&amp;nbsp;rising_edge(clk)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;align=center;" vertex="1" parent="1">
  119. <mxGeometry x="47" y="1360" width="186" height="40" as="geometry"/>
  120. </mxCell>
  121. </root>
  122. </mxGraphModel>
  123. </diagram>
  124. </mxfile>