Skip to content
On this page

diglab_2023_final_03.dig

xml
<?xml version="1.0" encoding="utf-8"?>
<circuit>
  <version>2</version>
  <attributes/>
  <visualElements>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>A</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="580" y="520"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>input</string>
        </entry>
      </elementAttributes>
      <pos x="580" y="600"/>
    </visualElement>
    <visualElement>
      <elementName>Out</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>second</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1700" y="520"/>
    </visualElement>
    <visualElement>
      <elementName>Clock</elementName>
      <elementAttributes>
        <entry>
          <string>runRealTime</string>
          <boolean>true</boolean>
        </entry>
        <entry>
          <string>Label</string>
          <string>clk</string>
        </entry>
        <entry>
          <string>Frequency</string>
          <int>200</int>
        </entry>
      </elementAttributes>
      <pos x="580" y="700"/>
    </visualElement>
    <visualElement>
      <elementName>In</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>reset</string>
        </entry>
      </elementAttributes>
      <pos x="580" y="780"/>
    </visualElement>
    <visualElement>
      <elementName>Testcase</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Case1</string>
        </entry>
        <entry>
          <string>Testdata</string>
          <testData>
            <dataString>clk A input reset second
0 0 0 0 0
1 0 0 0 0
0 0 0 1 0
1 0 0 1 0
0 0  0 0 0
1 0  0 0 0
0 5 1 0 X
1 5 1 0 X
0  0 0 0 0
1  0 0 0 0
0 12 1 0 X
1 12 1 0 X
0  0 0 0 X
1  0 0 0 5
</dataString>
          </testData>
        </entry>
      </elementAttributes>
      <pos x="1460" y="740"/>
    </visualElement>
    <visualElement>
      <elementName>Testcase</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Case2</string>
        </entry>
        <entry>
          <string>Testdata</string>
          <testData>
            <dataString>clk A input reset second
0 0 0 0 0
1 0 0 0 0
0 0 0 1 0
1 0 0 1 0
0 0  0 0 0
1 0  0 0 0
0 5 1 0 X
1 5 1 0 X
0  0 0 0 0
1  0 0 0 0
0 15 1 0 X
1 15 1 0 X
0  0 0 0 X
1  0 0 0 5
</dataString>
          </testData>
        </entry>
      </elementAttributes>
      <pos x="1460" y="840"/>
    </visualElement>
    <visualElement>
      <elementName>Testcase</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>Case3</string>
        </entry>
        <entry>
          <string>Testdata</string>
          <testData>
            <dataString>clk A input reset second
0 0 0 0 0
1 0 0 0 0
0 0 0 1 0
1 0 0 1 0
0 0  0 0 0
1 0  0 0 0
0 65535 1 0 X
1 65535 1 0 X
0  0 0 0 0
1  0 0 0 0
0 65524 1 0 X
1 65524 1 0 X
0  0 0 0 X
1  0 0 0 65524
</dataString>
          </testData>
        </entry>
      </elementAttributes>
      <pos x="1460" y="920"/>
    </visualElement>
    <visualElement>
      <elementName>D_FF</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>first = A &gt; first ? A : first</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1160" y="520"/>
    </visualElement>
    <visualElement>
      <elementName>D_FF</elementName>
      <elementAttributes>
        <entry>
          <string>Label</string>
          <string>second = A &lt;= first ? A &gt; second ? A : second : first</string>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1160" y="620"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="960" y="500"/>
    </visualElement>
    <visualElement>
      <elementName>Comparator</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="860" y="580"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1020" y="640"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="900" y="700"/>
    </visualElement>
    <visualElement>
      <elementName>Not</elementName>
      <elementAttributes/>
      <pos x="960" y="600"/>
    </visualElement>
    <visualElement>
      <elementName>Comparator</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="760" y="700"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1100" y="680"/>
    </visualElement>
    <visualElement>
      <elementName>Multiplexer</elementName>
      <elementAttributes>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1080" y="440"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Value</string>
          <long>0</long>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1080" y="480"/>
    </visualElement>
    <visualElement>
      <elementName>Const</elementName>
      <elementAttributes>
        <entry>
          <string>Value</string>
          <long>0</long>
        </entry>
        <entry>
          <string>Bits</string>
          <int>16</int>
        </entry>
      </elementAttributes>
      <pos x="1100" y="720"/>
    </visualElement>
    <visualElement>
      <elementName>And</elementName>
      <elementAttributes>
        <entry>
          <string>wideShape</string>
          <boolean>true</boolean>
        </entry>
      </elementAttributes>
      <pos x="600" y="960"/>
    </visualElement>
    <visualElement>
      <elementName>Or</elementName>
      <elementAttributes>
        <entry>
          <string>wideShape</string>
          <boolean>true</boolean>
        </entry>
      </elementAttributes>
      <pos x="480" y="920"/>
    </visualElement>
  </visualElements>
  <wires>
    <wire>
      <p1 x="1140" y="640"/>
      <p2 x="1160" y="640"/>
    </wire>
    <wire>
      <p1 x="580" y="960"/>
      <p2 x="600" y="960"/>
    </wire>
    <wire>
      <p1 x="460" y="960"/>
      <p2 x="480" y="960"/>
    </wire>
    <wire>
      <p1 x="840" y="580"/>
      <p2 x="860" y="580"/>
    </wire>
    <wire>
      <p1 x="920" y="580"/>
      <p2 x="940" y="580"/>
    </wire>
    <wire>
      <p1 x="940" y="580"/>
      <p2 x="980" y="580"/>
    </wire>
    <wire>
      <p1 x="640" y="900"/>
      <p2 x="1120" y="900"/>
    </wire>
    <wire>
      <p1 x="1520" y="520"/>
      <p2 x="1700" y="520"/>
    </wire>
    <wire>
      <p1 x="1220" y="520"/>
      <p2 x="1360" y="520"/>
    </wire>
    <wire>
      <p1 x="580" y="520"/>
      <p2 x="720" y="520"/>
    </wire>
    <wire>
      <p1 x="1000" y="520"/>
      <p2 x="1060" y="520"/>
    </wire>
    <wire>
      <p1 x="720" y="520"/>
      <p2 x="820" y="520"/>
    </wire>
    <wire>
      <p1 x="720" y="840"/>
      <p2 x="880" y="840"/>
    </wire>
    <wire>
      <p1 x="880" y="840"/>
      <p2 x="1260" y="840"/>
    </wire>
    <wire>
      <p1 x="840" y="780"/>
      <p2 x="920" y="780"/>
    </wire>
    <wire>
      <p1 x="580" y="780"/>
      <p2 x="640" y="780"/>
    </wire>
    <wire>
      <p1 x="1120" y="780"/>
      <p2 x="1340" y="780"/>
    </wire>
    <wire>
      <p1 x="940" y="460"/>
      <p2 x="1020" y="460"/>
    </wire>
    <wire>
      <p1 x="1120" y="460"/>
      <p2 x="1160" y="460"/>
    </wire>
    <wire>
      <p1 x="940" y="720"/>
      <p2 x="980" y="720"/>
    </wire>
    <wire>
      <p1 x="720" y="720"/>
      <p2 x="760" y="720"/>
    </wire>
    <wire>
      <p1 x="1060" y="660"/>
      <p2 x="1080" y="660"/>
    </wire>
    <wire>
      <p1 x="1140" y="660"/>
      <p2 x="1200" y="660"/>
    </wire>
    <wire>
      <p1 x="380" y="660"/>
      <p2 x="600" y="660"/>
    </wire>
    <wire>
      <p1 x="720" y="660"/>
      <p2 x="860" y="660"/>
    </wire>
    <wire>
      <p1 x="680" y="980"/>
      <p2 x="1200" y="980"/>
    </wire>
    <wire>
      <p1 x="800" y="600"/>
      <p2 x="860" y="600"/>
    </wire>
    <wire>
      <p1 x="940" y="600"/>
      <p2 x="960" y="600"/>
    </wire>
    <wire>
      <p1 x="580" y="600"/>
      <p2 x="600" y="600"/>
    </wire>
    <wire>
      <p1 x="440" y="920"/>
      <p2 x="480" y="920"/>
    </wire>
    <wire>
      <p1 x="820" y="540"/>
      <p2 x="840" y="540"/>
    </wire>
    <wire>
      <p1 x="1140" y="540"/>
      <p2 x="1160" y="540"/>
    </wire>
    <wire>
      <p1 x="840" y="540"/>
      <p2 x="960" y="540"/>
    </wire>
    <wire>
      <p1 x="460" y="860"/>
      <p2 x="640" y="860"/>
    </wire>
    <wire>
      <p1 x="440" y="740"/>
      <p2 x="600" y="740"/>
    </wire>
    <wire>
      <p1 x="860" y="740"/>
      <p2 x="900" y="740"/>
    </wire>
    <wire>
      <p1 x="980" y="680"/>
      <p2 x="1020" y="680"/>
    </wire>
    <wire>
      <p1 x="1080" y="680"/>
      <p2 x="1100" y="680"/>
    </wire>
    <wire>
      <p1 x="1120" y="680"/>
      <p2 x="1160" y="680"/>
    </wire>
    <wire>
      <p1 x="380" y="1000"/>
      <p2 x="600" y="1000"/>
    </wire>
    <wire>
      <p1 x="1220" y="620"/>
      <p2 x="1260" y="620"/>
    </wire>
    <wire>
      <p1 x="1120" y="620"/>
      <p2 x="1160" y="620"/>
    </wire>
    <wire>
      <p1 x="1260" y="620"/>
      <p2 x="1520" y="620"/>
    </wire>
    <wire>
      <p1 x="560" y="940"/>
      <p2 x="580" y="940"/>
    </wire>
    <wire>
      <p1 x="1100" y="560"/>
      <p2 x="1340" y="560"/>
    </wire>
    <wire>
      <p1 x="880" y="500"/>
      <p2 x="940" y="500"/>
    </wire>
    <wire>
      <p1 x="940" y="500"/>
      <p2 x="960" y="500"/>
    </wire>
    <wire>
      <p1 x="800" y="440"/>
      <p2 x="880" y="440"/>
    </wire>
    <wire>
      <p1 x="1060" y="440"/>
      <p2 x="1080" y="440"/>
    </wire>
    <wire>
      <p1 x="1000" y="700"/>
      <p2 x="1040" y="700"/>
    </wire>
    <wire>
      <p1 x="720" y="700"/>
      <p2 x="760" y="700"/>
    </wire>
    <wire>
      <p1 x="820" y="700"/>
      <p2 x="840" y="700"/>
    </wire>
    <wire>
      <p1 x="1140" y="700"/>
      <p2 x="1160" y="700"/>
    </wire>
    <wire>
      <p1 x="580" y="700"/>
      <p2 x="600" y="700"/>
    </wire>
    <wire>
      <p1 x="880" y="700"/>
      <p2 x="900" y="700"/>
    </wire>
    <wire>
      <p1 x="880" y="380"/>
      <p2 x="1360" y="380"/>
    </wire>
    <wire>
      <p1 x="640" y="780"/>
      <p2 x="640" y="860"/>
    </wire>
    <wire>
      <p1 x="640" y="860"/>
      <p2 x="640" y="900"/>
    </wire>
    <wire>
      <p1 x="580" y="940"/>
      <p2 x="580" y="960"/>
    </wire>
    <wire>
      <p1 x="840" y="540"/>
      <p2 x="840" y="580"/>
    </wire>
    <wire>
      <p1 x="840" y="700"/>
      <p2 x="840" y="780"/>
    </wire>
    <wire>
      <p1 x="1160" y="460"/>
      <p2 x="1160" y="520"/>
    </wire>
    <wire>
      <p1 x="1160" y="680"/>
      <p2 x="1160" y="700"/>
    </wire>
    <wire>
      <p1 x="1100" y="480"/>
      <p2 x="1100" y="560"/>
    </wire>
    <wire>
      <p1 x="460" y="860"/>
      <p2 x="460" y="960"/>
    </wire>
    <wire>
      <p1 x="1360" y="380"/>
      <p2 x="1360" y="520"/>
    </wire>
    <wire>
      <p1 x="1040" y="680"/>
      <p2 x="1040" y="700"/>
    </wire>
    <wire>
      <p1 x="720" y="520"/>
      <p2 x="720" y="660"/>
    </wire>
    <wire>
      <p1 x="720" y="720"/>
      <p2 x="720" y="840"/>
    </wire>
    <wire>
      <p1 x="720" y="660"/>
      <p2 x="720" y="700"/>
    </wire>
    <wire>
      <p1 x="980" y="540"/>
      <p2 x="980" y="580"/>
    </wire>
    <wire>
      <p1 x="980" y="680"/>
      <p2 x="980" y="720"/>
    </wire>
    <wire>
      <p1 x="920" y="740"/>
      <p2 x="920" y="780"/>
    </wire>
    <wire>
      <p1 x="600" y="600"/>
      <p2 x="600" y="660"/>
    </wire>
    <wire>
      <p1 x="600" y="700"/>
      <p2 x="600" y="740"/>
    </wire>
    <wire>
      <p1 x="860" y="660"/>
      <p2 x="860" y="740"/>
    </wire>
    <wire>
      <p1 x="800" y="440"/>
      <p2 x="800" y="600"/>
    </wire>
    <wire>
      <p1 x="1120" y="620"/>
      <p2 x="1120" y="680"/>
    </wire>
    <wire>
      <p1 x="1120" y="720"/>
      <p2 x="1120" y="780"/>
    </wire>
    <wire>
      <p1 x="1120" y="780"/>
      <p2 x="1120" y="900"/>
    </wire>
    <wire>
      <p1 x="1060" y="440"/>
      <p2 x="1060" y="520"/>
    </wire>
    <wire>
      <p1 x="1000" y="600"/>
      <p2 x="1000" y="700"/>
    </wire>
    <wire>
      <p1 x="940" y="580"/>
      <p2 x="940" y="600"/>
    </wire>
    <wire>
      <p1 x="940" y="460"/>
      <p2 x="940" y="500"/>
    </wire>
    <wire>
      <p1 x="1260" y="620"/>
      <p2 x="1260" y="840"/>
    </wire>
    <wire>
      <p1 x="1520" y="520"/>
      <p2 x="1520" y="620"/>
    </wire>
    <wire>
      <p1 x="880" y="380"/>
      <p2 x="880" y="440"/>
    </wire>
    <wire>
      <p1 x="880" y="700"/>
      <p2 x="880" y="840"/>
    </wire>
    <wire>
      <p1 x="880" y="440"/>
      <p2 x="880" y="500"/>
    </wire>
    <wire>
      <p1 x="1200" y="660"/>
      <p2 x="1200" y="980"/>
    </wire>
    <wire>
      <p1 x="820" y="520"/>
      <p2 x="820" y="540"/>
    </wire>
    <wire>
      <p1 x="1140" y="540"/>
      <p2 x="1140" y="640"/>
    </wire>
    <wire>
      <p1 x="1140" y="640"/>
      <p2 x="1140" y="660"/>
    </wire>
    <wire>
      <p1 x="1080" y="660"/>
      <p2 x="1080" y="680"/>
    </wire>
    <wire>
      <p1 x="440" y="740"/>
      <p2 x="440" y="920"/>
    </wire>
    <wire>
      <p1 x="1020" y="460"/>
      <p2 x="1020" y="640"/>
    </wire>
    <wire>
      <p1 x="1340" y="560"/>
      <p2 x="1340" y="780"/>
    </wire>
    <wire>
      <p1 x="380" y="660"/>
      <p2 x="380" y="1000"/>
    </wire>
  </wires>
  <measurementOrdering/>
</circuit>

See on GitHub

Last Updated: 22/11/2566 09:45:51 (UTC+7)

Released under the MIT License