mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-27 06:51:37 -04:00
added asynchronous JK and D flip-flops
This commit is contained in:
parent
3ed8a67a39
commit
c6aa9f5fb6
@ -16,26 +16,6 @@
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
@ -48,7 +28,7 @@
|
||||
<int>5</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="220"/>
|
||||
<pos x="360" y="140"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -62,27 +42,7 @@
|
||||
<int>6</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="80"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="200"/>
|
||||
<pos x="500" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -100,27 +60,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="80"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="460"/>
|
||||
<pos x="200" y="140"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -134,7 +74,7 @@
|
||||
<int>2</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="500"/>
|
||||
<pos x="20" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -148,7 +88,7 @@
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="360"/>
|
||||
<pos x="200" y="180"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -166,27 +106,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="720"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="840"/>
|
||||
<pos x="20" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -200,7 +120,7 @@
|
||||
<int>9</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="740"/>
|
||||
<pos x="360" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -214,27 +134,7 @@
|
||||
<int>8</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="560" y="860"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="720"/>
|
||||
<pos x="500" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -252,27 +152,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="860"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NAnd</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="280" y="980"/>
|
||||
<pos x="200" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -286,7 +166,7 @@
|
||||
<int>12</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="1020"/>
|
||||
<pos x="20" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -300,7 +180,7 @@
|
||||
<int>11</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="880"/>
|
||||
<pos x="200" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -318,489 +198,103 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="180" y="740"/>
|
||||
<pos x="20" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>D_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="280" y="140"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>D_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="280" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="220" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="220" y="140"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="220" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="220" y="340"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="420" y="260"/>
|
||||
<p2 x="540" y="300"/>
|
||||
<p1 x="20" y="160"/>
|
||||
<p2 x="280" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="260"/>
|
||||
<p2 x="420" y="300"/>
|
||||
<p1 x="340" y="160"/>
|
||||
<p2 x="500" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="140"/>
|
||||
<p2 x="380" y="180"/>
|
||||
<p1 x="200" y="320"/>
|
||||
<p2 x="280" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="140"/>
|
||||
<p2 x="260" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="400"/>
|
||||
<p2 x="380" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="400"/>
|
||||
<p2 x="260" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="780"/>
|
||||
<p2 x="540" y="820"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="780"/>
|
||||
<p2 x="420" y="820"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="660"/>
|
||||
<p2 x="380" y="700"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="660"/>
|
||||
<p2 x="260" y="700"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="920"/>
|
||||
<p2 x="380" y="960"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="920"/>
|
||||
<p2 x="260" y="960"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="320"/>
|
||||
<p2 x="440" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="640"/>
|
||||
<p2 x="280" y="640"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="260"/>
|
||||
<p2 x="380" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="900"/>
|
||||
<p2 x="260" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="900"/>
|
||||
<p2 x="280" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="200"/>
|
||||
<p2 x="280" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="200"/>
|
||||
<p2 x="440" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="840"/>
|
||||
<p2 x="440" y="840"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="460"/>
|
||||
<p2 x="280" y="460"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="780"/>
|
||||
<p2 x="380" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="80"/>
|
||||
<p2 x="260" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="80"/>
|
||||
<p2 x="280" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="720"/>
|
||||
<p2 x="280" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="720"/>
|
||||
<p2 x="440" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="340"/>
|
||||
<p2 x="540" y="340"/>
|
||||
<p1 x="20" y="340"/>
|
||||
<p2 x="220" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="340"/>
|
||||
<p2 x="280" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="340"/>
|
||||
<p2 x="440" y="340"/>
|
||||
<p1 x="200" y="180"/>
|
||||
<p2 x="280" y="180"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="340"/>
|
||||
<p2 x="560" y="340"/>
|
||||
<p1 x="200" y="280"/>
|
||||
<p2 x="220" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="980"/>
|
||||
<p2 x="280" y="980"/>
|
||||
<p1 x="340" y="280"/>
|
||||
<p2 x="360" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="600"/>
|
||||
<p2 x="260" y="600"/>
|
||||
<p1 x="260" y="280"/>
|
||||
<p2 x="280" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="600"/>
|
||||
<p2 x="280" y="600"/>
|
||||
<p1 x="20" y="200"/>
|
||||
<p2 x="220" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="220"/>
|
||||
<p2 x="380" y="220"/>
|
||||
<p1 x="260" y="200"/>
|
||||
<p2 x="280" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="220"/>
|
||||
<p2 x="540" y="220"/>
|
||||
<p1 x="20" y="300"/>
|
||||
<p2 x="280" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="220"/>
|
||||
<p2 x="240" y="220"/>
|
||||
<p1 x="340" y="300"/>
|
||||
<p2 x="500" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="220"/>
|
||||
<p2 x="560" y="220"/>
|
||||
<p1 x="200" y="140"/>
|
||||
<p2 x="220" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="220"/>
|
||||
<p2 x="440" y="220"/>
|
||||
<p1 x="340" y="140"/>
|
||||
<p2 x="360" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="220"/>
|
||||
<p2 x="280" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="860"/>
|
||||
<p2 x="540" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="860"/>
|
||||
<p2 x="280" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="860"/>
|
||||
<p2 x="440" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="860"/>
|
||||
<p2 x="560" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="480"/>
|
||||
<p2 x="380" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="480"/>
|
||||
<p2 x="280" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="100"/>
|
||||
<p2 x="380" y="100"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="100"/>
|
||||
<p2 x="280" y="100"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="740"/>
|
||||
<p2 x="380" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="520" y="740"/>
|
||||
<p2 x="540" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="740"/>
|
||||
<p2 x="240" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="740"/>
|
||||
<p2 x="560" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="740"/>
|
||||
<p2 x="440" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="740"/>
|
||||
<p2 x="280" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="40"/>
|
||||
<p2 x="420" y="40"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="360"/>
|
||||
<p2 x="380" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="360"/>
|
||||
<p2 x="220" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="360"/>
|
||||
<p2 x="280" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="360"/>
|
||||
<p2 x="440" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="1000"/>
|
||||
<p2 x="380" y="1000"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="1000"/>
|
||||
<p2 x="280" y="1000"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="300"/>
|
||||
<p2 x="380" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="620"/>
|
||||
<p2 x="380" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="620"/>
|
||||
<p2 x="280" y="620"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="240"/>
|
||||
<p2 x="440" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="240"/>
|
||||
<p2 x="280" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="560"/>
|
||||
<p2 x="420" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="360" y="880"/>
|
||||
<p2 x="380" y="880"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="880"/>
|
||||
<p2 x="220" y="880"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="880"/>
|
||||
<p2 x="280" y="880"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="880"/>
|
||||
<p2 x="440" y="880"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="500"/>
|
||||
<p2 x="280" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="820"/>
|
||||
<p2 x="380" y="820"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="120"/>
|
||||
<p2 x="280" y="120"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="760"/>
|
||||
<p2 x="440" y="760"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="760"/>
|
||||
<p2 x="280" y="760"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="380"/>
|
||||
<p2 x="260" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="380"/>
|
||||
<p2 x="280" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="180" y="1020"/>
|
||||
<p2 x="280" y="1020"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="220"/>
|
||||
<p2 x="240" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="740"/>
|
||||
<p2 x="240" y="820"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="300"/>
|
||||
<p2 x="240" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="240" y="820"/>
|
||||
<p2 x="240" y="1000"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="240"/>
|
||||
<p2 x="420" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="300"/>
|
||||
<p2 x="420" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="40"/>
|
||||
<p2 x="420" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="760"/>
|
||||
<p2 x="420" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="820"/>
|
||||
<p2 x="420" y="840"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="560"/>
|
||||
<p2 x="420" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="120"/>
|
||||
<p2 x="260" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="180"/>
|
||||
<p2 x="260" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="40"/>
|
||||
<p2 x="260" y="80"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="380"/>
|
||||
<p2 x="260" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="440"/>
|
||||
<p2 x="260" y="460"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="260"/>
|
||||
<p2 x="260" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="640"/>
|
||||
<p2 x="260" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="700"/>
|
||||
<p2 x="260" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="560"/>
|
||||
<p2 x="260" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="900"/>
|
||||
<p2 x="260" y="920"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="960"/>
|
||||
<p2 x="260" y="980"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="260" y="780"/>
|
||||
<p2 x="260" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="100"/>
|
||||
<p2 x="200" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="200" y="620"/>
|
||||
<p2 x="200" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="300"/>
|
||||
<p2 x="540" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="220"/>
|
||||
<p2 x="540" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="820"/>
|
||||
<p2 x="540" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="540" y="740"/>
|
||||
<p2 x="540" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="100"/>
|
||||
<p2 x="380" y="140"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="440"/>
|
||||
<p2 x="380" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="360"/>
|
||||
<p2 x="380" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="180"/>
|
||||
<p2 x="380" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="300"/>
|
||||
<p2 x="380" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="620"/>
|
||||
<p2 x="380" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="960"/>
|
||||
<p2 x="380" y="1000"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="880"/>
|
||||
<p2 x="380" y="920"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="700"/>
|
||||
<p2 x="380" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="820"/>
|
||||
<p2 x="380" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="220"/>
|
||||
<p2 x="380" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="380" y="740"/>
|
||||
<p2 x="380" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="240"/>
|
||||
<p2 x="220" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="220" y="760"/>
|
||||
<p2 x="220" y="880"/>
|
||||
<p1 x="260" y="140"/>
|
||||
<p2 x="280" y="140"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
@ -10,62 +10,8 @@
|
||||
<string>Description</string>
|
||||
<string>DUAL J-K FLIP-FLOPS WITH PRESET AND CLEAR</string>
|
||||
</entry>
|
||||
<entry>
|
||||
<string>lockedMode</string>
|
||||
<boolean>true</boolean>
|
||||
</entry>
|
||||
</attributes>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="780" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="880" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="880" y="360"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="980" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="980" y="360"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
@ -86,7 +32,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="380"/>
|
||||
<pos x="620" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -100,7 +46,7 @@
|
||||
<int>15</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1120" y="260"/>
|
||||
<pos x="800" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -114,12 +60,7 @@
|
||||
<int>14</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1120" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Delay</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="720" y="300"/>
|
||||
<pos x="940" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -137,7 +78,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="320"/>
|
||||
<pos x="620" y="300"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -159,7 +100,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="260"/>
|
||||
<pos x="620" y="340"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -181,12 +122,12 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="160"/>
|
||||
<pos x="620" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="160"/>
|
||||
<pos x="640" y="380"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -208,62 +149,12 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="480"/>
|
||||
<pos x="620" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="480"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="780" y="720"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="720"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="880" y="660"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>And</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="880" y="780"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="980" y="660"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>NOr</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Inputs</string>
|
||||
<int>3</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="980" y="780"/>
|
||||
<pos x="640" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -285,7 +176,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="800"/>
|
||||
<pos x="620" y="480"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -299,7 +190,7 @@
|
||||
<int>11</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1120" y="680"/>
|
||||
<pos x="800" y="480"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
@ -313,12 +204,7 @@
|
||||
<int>10</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="1120" y="800"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Delay</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="720" y="720"/>
|
||||
<pos x="940" y="500"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -336,7 +222,7 @@
|
||||
<int>6</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="740"/>
|
||||
<pos x="620" y="520"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -358,7 +244,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="680"/>
|
||||
<pos x="620" y="560"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -380,12 +266,7 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="580"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="580"/>
|
||||
<pos x="620" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
@ -407,366 +288,165 @@
|
||||
<int>1</int>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="620" y="900"/>
|
||||
<pos x="620" y="440"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>JK_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="720" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="660" y="900"/>
|
||||
<pos x="640" y="600"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Not</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="640" y="440"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>JK_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="720" y="480"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="960" y="300"/>
|
||||
<p2 x="1080" y="340"/>
|
||||
<p1 x="660" y="320"/>
|
||||
<p2 x="720" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="340"/>
|
||||
<p2 x="1080" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="720"/>
|
||||
<p2 x="1080" y="760"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="760"/>
|
||||
<p2 x="1080" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="320"/>
|
||||
<p2 x="640" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="840" y="320"/>
|
||||
<p2 x="860" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1060" y="260"/>
|
||||
<p2 x="1080" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="260"/>
|
||||
<p2 x="980" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="260"/>
|
||||
<p2 x="880" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="260"/>
|
||||
<p2 x="1120" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="580"/>
|
||||
<p2 x="960" y="580"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="580"/>
|
||||
<p2 x="660" y="580"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="900"/>
|
||||
<p2 x="660" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="900"/>
|
||||
<p2 x="960" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="200"/>
|
||||
<p2 x="1080" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="780"/>
|
||||
<p2 x="980" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="780"/>
|
||||
<p2 x="880" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="400"/>
|
||||
<p2 x="880" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="400"/>
|
||||
<p2 x="980" y="400"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="720"/>
|
||||
<p2 x="660" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="720"/>
|
||||
<p2 x="720" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="720"/>
|
||||
<p2 x="780" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="340"/>
|
||||
<p2 x="780" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="660"/>
|
||||
<p2 x="980" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="660"/>
|
||||
<p2 x="880" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="280"/>
|
||||
<p2 x="880" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="280"/>
|
||||
<p2 x="980" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="860"/>
|
||||
<p2 x="1080" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="160"/>
|
||||
<p2 x="960" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="160"/>
|
||||
<p2 x="660" y="160"/>
|
||||
<p1 x="700" y="480"/>
|
||||
<p2 x="720" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="480"/>
|
||||
<p2 x="660" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="480"/>
|
||||
<p2 x="960" y="480"/>
|
||||
<p1 x="780" y="480"/>
|
||||
<p2 x="800" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="800"/>
|
||||
<p2 x="980" y="800"/>
|
||||
<p1 x="700" y="260"/>
|
||||
<p2 x="720" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="800"/>
|
||||
<p2 x="880" y="800"/>
|
||||
<p1 x="620" y="260"/>
|
||||
<p2 x="660" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1060" y="800"/>
|
||||
<p2 x="1080" y="800"/>
|
||||
<p1 x="780" y="260"/>
|
||||
<p2 x="800" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="800"/>
|
||||
<p2 x="1120" y="800"/>
|
||||
<p1 x="620" y="520"/>
|
||||
<p2 x="720" y="520"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="740"/>
|
||||
<p2 x="640" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="840" y="740"/>
|
||||
<p2 x="860" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="360"/>
|
||||
<p2 x="980" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="360"/>
|
||||
<p2 x="880" y="360"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1060" y="680"/>
|
||||
<p2 x="1080" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="680"/>
|
||||
<p2 x="980" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="680"/>
|
||||
<p2 x="880" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="680"/>
|
||||
<p2 x="1120" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="300"/>
|
||||
<p2 x="660" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="700" y="300"/>
|
||||
<p1 x="620" y="300"/>
|
||||
<p2 x="720" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="760" y="300"/>
|
||||
<p2 x="780" y="300"/>
|
||||
<p1 x="700" y="560"/>
|
||||
<p2 x="720" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="620"/>
|
||||
<p2 x="1080" y="620"/>
|
||||
<p1 x="620" y="560"/>
|
||||
<p2 x="660" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="240"/>
|
||||
<p2 x="980" y="240"/>
|
||||
<p1 x="660" y="500"/>
|
||||
<p2 x="720" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="240"/>
|
||||
<p2 x="880" y="240"/>
|
||||
<p1 x="780" y="500"/>
|
||||
<p2 x="940" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="820"/>
|
||||
<p2 x="880" y="820"/>
|
||||
<p1 x="700" y="340"/>
|
||||
<p2 x="720" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="820"/>
|
||||
<p2 x="980" y="820"/>
|
||||
<p1 x="620" y="340"/>
|
||||
<p2 x="660" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="440"/>
|
||||
<p2 x="1080" y="440"/>
|
||||
<p1 x="620" y="600"/>
|
||||
<p2 x="640" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="760"/>
|
||||
<p2 x="780" y="760"/>
|
||||
<p1 x="680" y="600"/>
|
||||
<p2 x="700" y="600"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="940" y="380"/>
|
||||
<p2 x="980" y="380"/>
|
||||
<p1 x="620" y="440"/>
|
||||
<p2 x="640" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="680" y="440"/>
|
||||
<p2 x="700" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="280"/>
|
||||
<p2 x="720" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="780" y="280"/>
|
||||
<p2 x="940" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="660" y="540"/>
|
||||
<p2 x="720" y="540"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="620" y="380"/>
|
||||
<p2 x="880" y="380"/>
|
||||
<p2 x="640" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1060" y="380"/>
|
||||
<p2 x="1080" y="380"/>
|
||||
<p1 x="680" y="380"/>
|
||||
<p2 x="700" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="380"/>
|
||||
<p2 x="1120" y="380"/>
|
||||
<p1 x="620" y="220"/>
|
||||
<p2 x="640" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="700"/>
|
||||
<p2 x="880" y="700"/>
|
||||
<p1 x="680" y="220"/>
|
||||
<p2 x="700" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="700"/>
|
||||
<p2 x="980" y="700"/>
|
||||
<p1 x="660" y="260"/>
|
||||
<p2 x="660" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="300"/>
|
||||
<p2 x="640" y="320"/>
|
||||
<p1 x="660" y="320"/>
|
||||
<p2 x="660" y="340"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="720"/>
|
||||
<p2 x="640" y="740"/>
|
||||
<p1 x="660" y="480"/>
|
||||
<p2 x="660" y="500"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="740"/>
|
||||
<p2 x="640" y="760"/>
|
||||
<p1 x="660" y="540"/>
|
||||
<p2 x="660" y="560"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="640" y="320"/>
|
||||
<p2 x="640" y="340"/>
|
||||
<p1 x="700" y="220"/>
|
||||
<p2 x="700" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="340"/>
|
||||
<p2 x="960" y="360"/>
|
||||
<p1 x="700" y="340"/>
|
||||
<p2 x="700" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="280"/>
|
||||
<p2 x="960" y="300"/>
|
||||
<p1 x="700" y="440"/>
|
||||
<p2 x="700" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="160"/>
|
||||
<p2 x="960" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="400"/>
|
||||
<p2 x="960" y="480"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="760"/>
|
||||
<p2 x="960" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="700"/>
|
||||
<p2 x="960" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="580"/>
|
||||
<p2 x="960" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="960" y="820"/>
|
||||
<p2 x="960" y="900"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="340"/>
|
||||
<p2 x="1080" y="380"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="200"/>
|
||||
<p2 x="1080" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="760"/>
|
||||
<p2 x="1080" y="800"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="620"/>
|
||||
<p2 x="1080" y="680"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="380"/>
|
||||
<p2 x="1080" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="680"/>
|
||||
<p2 x="1080" y="720"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="260"/>
|
||||
<p2 x="1080" y="300"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="1080" y="800"/>
|
||||
<p2 x="1080" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="280"/>
|
||||
<p2 x="860" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="200"/>
|
||||
<p2 x="860" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="400"/>
|
||||
<p2 x="860" y="440"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="700"/>
|
||||
<p2 x="860" y="740"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="620"/>
|
||||
<p2 x="860" y="660"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="820"/>
|
||||
<p2 x="860" y="860"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="740"/>
|
||||
<p2 x="860" y="780"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="860" y="320"/>
|
||||
<p2 x="860" y="360"/>
|
||||
<p1 x="700" y="560"/>
|
||||
<p2 x="700" y="600"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
@ -0,0 +1,116 @@
|
||||
package de.neemann.digital.core.flipflops;
|
||||
|
||||
import de.neemann.digital.core.*;
|
||||
import de.neemann.digital.core.element.Element;
|
||||
import de.neemann.digital.core.element.ElementAttributes;
|
||||
import de.neemann.digital.core.element.ElementTypeDescription;
|
||||
import de.neemann.digital.core.element.Keys;
|
||||
|
||||
import static de.neemann.digital.core.ObservableValues.ovs;
|
||||
import static de.neemann.digital.core.element.PinInfo.input;
|
||||
|
||||
/**
|
||||
* The D Flipflop
|
||||
*
|
||||
* @author hneemann
|
||||
*/
|
||||
public class FlipflopDAsync extends Node implements Element {
|
||||
|
||||
/**
|
||||
* The D-FF description
|
||||
*/
|
||||
public static final ElementTypeDescription DESCRIPTION
|
||||
= new ElementTypeDescription("D_FF_AS", FlipflopDAsync.class, input("Set"), input("D"), input("C"), input("Clr"))
|
||||
.addAttribute(Keys.ROTATE)
|
||||
.addAttribute(Keys.BITS)
|
||||
.addAttribute(Keys.LABEL)
|
||||
.addAttribute(Keys.DEFAULT)
|
||||
.addAttribute(Keys.VALUE_IS_PROBE);
|
||||
|
||||
private final int bits;
|
||||
private final boolean isProbe;
|
||||
private final String label;
|
||||
private ObservableValue setVal;
|
||||
private ObservableValue clrVal;
|
||||
private ObservableValue dVal;
|
||||
private ObservableValue clockVal;
|
||||
private ObservableValue q;
|
||||
private ObservableValue qn;
|
||||
private boolean lastClock;
|
||||
private long value;
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param attributes the attributes
|
||||
*/
|
||||
public FlipflopDAsync(ElementAttributes attributes) {
|
||||
this(attributes,
|
||||
new ObservableValue("Q", attributes.getBits()).setPinDescription(DESCRIPTION),
|
||||
new ObservableValue("\u00ACQ", attributes.getBits()).setPinDescription(DESCRIPTION));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new D-FF with the given outputs!
|
||||
*
|
||||
* @param label the label
|
||||
* @param q output
|
||||
* @param qn inverted output
|
||||
*/
|
||||
public FlipflopDAsync(String label, ObservableValue q, ObservableValue qn) {
|
||||
this(new ElementAttributes().set(Keys.LABEL, label).setBits(q.getBits()), q, qn);
|
||||
if (qn.getBits() != q.getBits())
|
||||
throw new RuntimeException("wrong bit count given!");
|
||||
}
|
||||
|
||||
private FlipflopDAsync(ElementAttributes attributes, ObservableValue q, ObservableValue qn) {
|
||||
super(true);
|
||||
bits = attributes.getBits();
|
||||
this.q = q;
|
||||
this.qn = qn;
|
||||
isProbe = attributes.get(Keys.VALUE_IS_PROBE);
|
||||
label = attributes.getCleanLabel();
|
||||
|
||||
value = attributes.get(Keys.DEFAULT);
|
||||
q.setValue(value);
|
||||
qn.setValue(~value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readInputs() throws NodeException {
|
||||
boolean clock = clockVal.getBool();
|
||||
if (clock && !lastClock)
|
||||
value = dVal.getValue();
|
||||
lastClock = clock;
|
||||
|
||||
if (setVal.getBool()) value = -1;
|
||||
else if (clrVal.getBool()) value = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeOutputs() throws NodeException {
|
||||
q.setValue(value);
|
||||
qn.setValue(~value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInputs(ObservableValues inputs) throws BitsException {
|
||||
setVal = inputs.get(0).addObserverToValue(this).checkBits(1, this, 0);
|
||||
dVal = inputs.get(1).addObserverToValue(this).checkBits(bits, this, 1);
|
||||
clockVal = inputs.get(2).addObserverToValue(this).checkBits(1, this, 2);
|
||||
clrVal = inputs.get(3).addObserverToValue(this).checkBits(1, this, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ObservableValues getOutputs() {
|
||||
return ovs(q, qn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerNodes(Model model) {
|
||||
super.registerNodes(model);
|
||||
if (isProbe)
|
||||
model.addSignal(new Signal(label, q));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
package de.neemann.digital.core.flipflops;
|
||||
|
||||
import de.neemann.digital.core.*;
|
||||
import de.neemann.digital.core.element.Element;
|
||||
import de.neemann.digital.core.element.ElementAttributes;
|
||||
import de.neemann.digital.core.element.ElementTypeDescription;
|
||||
import de.neemann.digital.core.element.Keys;
|
||||
|
||||
import static de.neemann.digital.core.ObservableValues.ovs;
|
||||
import static de.neemann.digital.core.element.PinInfo.input;
|
||||
|
||||
/**
|
||||
* The JK Flipflop
|
||||
*
|
||||
* @author hneemann
|
||||
*/
|
||||
public class FlipflopJKAsync extends Node implements Element {
|
||||
|
||||
/**
|
||||
* The JK-FF description
|
||||
*/
|
||||
public static final ElementTypeDescription DESCRIPTION
|
||||
= new ElementTypeDescription("JK_FF_AS", FlipflopJKAsync.class,
|
||||
input("Set"),
|
||||
input("J"),
|
||||
input("C"),
|
||||
input("K"),
|
||||
input("Clr"))
|
||||
.addAttribute(Keys.ROTATE)
|
||||
.addAttribute(Keys.LABEL)
|
||||
.addAttribute(Keys.DEFAULT)
|
||||
.addAttribute(Keys.VALUE_IS_PROBE);
|
||||
|
||||
private final Boolean isProbe;
|
||||
private final String label;
|
||||
private ObservableValue setVal;
|
||||
private ObservableValue clrVal;
|
||||
private ObservableValue jVal;
|
||||
private ObservableValue kVal;
|
||||
private ObservableValue clockVal;
|
||||
private ObservableValue q;
|
||||
private ObservableValue qn;
|
||||
private boolean lastClock;
|
||||
private boolean out;
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param attributes the attributes
|
||||
*/
|
||||
public FlipflopJKAsync(ElementAttributes attributes) {
|
||||
super(true);
|
||||
this.q = new ObservableValue("Q", 1).setPinDescription(DESCRIPTION);
|
||||
this.qn = new ObservableValue("\u00ACQ", 1).setPinDescription(DESCRIPTION);
|
||||
isProbe = attributes.get(Keys.VALUE_IS_PROBE);
|
||||
label = attributes.getCleanLabel();
|
||||
|
||||
int def = attributes.get(Keys.DEFAULT);
|
||||
out = def > 0;
|
||||
q.setBool(out);
|
||||
qn.setBool(!out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readInputs() throws NodeException {
|
||||
boolean clock = clockVal.getBool();
|
||||
if (clock && !lastClock) {
|
||||
boolean j = jVal.getBool();
|
||||
boolean k = kVal.getBool();
|
||||
|
||||
if (j && k) out = !out;
|
||||
else if (j) out = true;
|
||||
else if (k) out = false;
|
||||
}
|
||||
lastClock = clock;
|
||||
|
||||
if (setVal.getBool()) out = true;
|
||||
else if (clrVal.getBool()) out = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeOutputs() throws NodeException {
|
||||
q.setBool(out);
|
||||
qn.setBool(!out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInputs(ObservableValues inputs) throws BitsException {
|
||||
setVal = inputs.get(0).addObserverToValue(this).checkBits(1, this, 0);
|
||||
jVal = inputs.get(1).addObserverToValue(this).checkBits(1, this, 1);
|
||||
clockVal = inputs.get(2).addObserverToValue(this).checkBits(1, this, 2);
|
||||
kVal = inputs.get(3).addObserverToValue(this).checkBits(1, this, 3);
|
||||
clrVal = inputs.get(4).addObserverToValue(this).checkBits(1, this, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ObservableValues getOutputs() {
|
||||
return ovs(q, qn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerNodes(Model model) {
|
||||
super.registerNodes(model);
|
||||
if (isProbe)
|
||||
model.addSignal(new Signal(label, q));
|
||||
}
|
||||
|
||||
}
|
@ -4,10 +4,7 @@ import de.neemann.digital.core.arithmetic.*;
|
||||
import de.neemann.digital.core.arithmetic.Comparator;
|
||||
import de.neemann.digital.core.basic.*;
|
||||
import de.neemann.digital.core.element.*;
|
||||
import de.neemann.digital.core.flipflops.FlipflopD;
|
||||
import de.neemann.digital.core.flipflops.FlipflopJK;
|
||||
import de.neemann.digital.core.flipflops.FlipflopRS;
|
||||
import de.neemann.digital.core.flipflops.FlipflopT;
|
||||
import de.neemann.digital.core.flipflops.*;
|
||||
import de.neemann.digital.core.io.*;
|
||||
import de.neemann.digital.core.memory.*;
|
||||
import de.neemann.digital.core.pld.DiodeBackward;
|
||||
@ -106,7 +103,9 @@ public class ElementLibrary implements Iterable<ElementLibrary.ElementContainer>
|
||||
.add(FlipflopRS.DESCRIPTION)
|
||||
.add(FlipflopJK.DESCRIPTION)
|
||||
.add(FlipflopD.DESCRIPTION)
|
||||
.add(FlipflopT.DESCRIPTION))
|
||||
.add(FlipflopT.DESCRIPTION)
|
||||
.add(FlipflopJKAsync.DESCRIPTION)
|
||||
.add(FlipflopDAsync.DESCRIPTION))
|
||||
.add(new LibraryNode(Lang.get("lib_memory"))
|
||||
.add(Register.DESCRIPTION)
|
||||
.add(ROM.DESCRIPTION)
|
||||
|
@ -165,6 +165,31 @@ Es können sowohl komplette Takte als auch einzelne Gatter-Veränderungen angeze
|
||||
<string name="elem_JK_FF_pin_K">Der Rücksetzen-Eingang des Flipflops.</string>
|
||||
<string name="elem_JK_FF_pin_Q">Gibt den gespeicherten Wert aus.</string>
|
||||
<string name="elem_JK_FF_pin_¬Q">Gibt den gespeicherten Wert negiert aus.</string>
|
||||
|
||||
<string name="elem_JK_FF_AS">JK-FlipFlop, asynchron</string>
|
||||
<string name="elem_JK_FF_AS_short">JK-AS</string>
|
||||
<string name="elem_JK_FF_AS_tt">Bietet die Funktionen zum
|
||||
Speichern (J=K=0), Setzen (J=1, K=0), Rücksetzen (J=0, K=1) und Wechseln (J=K=1).
|
||||
Übernommen werden die Eingänge bei einer steigenden Flanke am Eingang C.</string>
|
||||
<string name="elem_JK_FF_AS_pin_J">Der Setzen-Eingang des Flipflops.</string>
|
||||
<string name="elem_JK_FF_AS_pin_C">Takteingang Eine steigende Flanke initiiert den Zustandswechsel.</string>
|
||||
<string name="elem_JK_FF_AS_pin_K">Der Rücksetzen-Eingang des Flipflops.</string>
|
||||
<string name="elem_JK_FF_AS_pin_Q">Gibt den gespeicherten Wert aus.</string>
|
||||
<string name="elem_JK_FF_AS_pin_¬Q">Gibt den gespeicherten Wert negiert aus.</string>
|
||||
<string name="elem_JK_FF_AS_pin_Set">asynchrones setzen</string>
|
||||
<string name="elem_JK_FF_AS_pin_Clr">asynchrones löschen</string>
|
||||
|
||||
<string name="elem_D_FF_AS">D-FlipFLop, asynchron</string>
|
||||
<string name="elem_D_FF_AS_short">D-AS</string>
|
||||
<string name="elem_D_FF_AS_tt">Ein Baustein zum Speichern eines Bits. Der an Eingang D anliegende Wert wird abgespeichert wenn Eingang C auf 1 wechselt.</string>
|
||||
<string name="elem_D_FF_AS_pin_D">Das zu speichernde Bit.</string>
|
||||
<string name="elem_D_FF_AS_pin_C">Takt des Flipflops. Wechselt dieser Wert auf 1, wird der an D anliegende Wert abgespeichert.</string>
|
||||
<string name="elem_D_FF_AS_pin_Q">Gibt den gespeicherten Wert zurück.</string>
|
||||
<string name="elem_D_FF_AS_pin_¬Q">Gibt den gespeicherten Wert negiert zurück.</string>
|
||||
<string name="elem_D_FF_AS_pin_Set">asynchrones setzen</string>
|
||||
<string name="elem_D_FF_AS_pin_Clr">asynchrones löschen</string>
|
||||
|
||||
|
||||
<string name="elem_LED">LED</string>
|
||||
<string name="elem_LED_tt">Eine Leuchtdiode welche beispielsweise zur Visualisierung eines Ausgangswertes verwendet werden kann. Nimmt ein Bit entgegen. Leuchtet wenn der Eingang auf 1 gesetzt ist.</string>
|
||||
<string name="elem_LED_pin_in">LED Eingang. LED leuchtet wenn Eingang auf 1 gesetzt ist.</string>
|
||||
|
@ -114,6 +114,7 @@
|
||||
<string name="elem_Counter_pin_clr">Resets the counter value if set to 1.</string>
|
||||
<string name="elem_Counter_pin_out">Returns the counted value.</string>
|
||||
<string name="elem_Counter_pin_ovf">Overflow output. This pin is set to 1 if the counter has an overflow and returns to zero.</string>
|
||||
|
||||
<string name="elem_D_FF">D-FlipFlop</string>
|
||||
<string name="elem_D_FF_short">D</string>
|
||||
<string name="elem_D_FF_tt">A component used to save two states (one bit). The bit on pin D is stored on a rising edge of pin C.</string>
|
||||
@ -121,6 +122,17 @@
|
||||
<string name="elem_D_FF_pin_C">Control pin to store a bit. The bit on input D is stored on a rising edge of this pin.</string>
|
||||
<string name="elem_D_FF_pin_Q">Returns the stored value.</string>
|
||||
<string name="elem_D_FF_pin_¬Q">Returns the negated stored value.</string>
|
||||
|
||||
<string name="elem_D_FF_AS">D-FlipFlop, asynchronous</string>
|
||||
<string name="elem_D_FF_AS_short">D-AS</string>
|
||||
<string name="elem_D_FF_AS_tt">A component used to save two states (one bit). The bit on pin D is stored on a rising edge of pin C.</string>
|
||||
<string name="elem_D_FF_AS_pin_D">Input of the bit to be stored.</string>
|
||||
<string name="elem_D_FF_AS_pin_C">Control pin to store a bit. The bit on input D is stored on a rising edge of this pin.</string>
|
||||
<string name="elem_D_FF_AS_pin_Q">Returns the stored value.</string>
|
||||
<string name="elem_D_FF_AS_pin_¬Q">Returns the negated stored value.</string>
|
||||
<string name="elem_D_FF_AS_pin_Set">asynchronous set</string>
|
||||
<string name="elem_D_FF_AS_pin_Clr">asynchronous clear</string>
|
||||
|
||||
<string name="elem_Data">Data graph</string>
|
||||
<string name="elem_Data_tt">Shows a data plot inside of the circuit panel.
|
||||
You can plot complete clock steps or single gate changes.</string>
|
||||
@ -153,6 +165,7 @@
|
||||
<string name="elem_In">Input</string>
|
||||
<string name="elem_In_pin_out">This connection outputs the given value.</string>
|
||||
<string name="elem_In_tt">A input which can be used to connect the circuit if it is included in an other circuit.</string>
|
||||
|
||||
<string name="elem_JK_FF">JK-Flipflop</string>
|
||||
<string name="elem_JK_FF_short">JK</string>
|
||||
<string name="elem_JK_FF_tt">Has the possibility to store (J=K=0), set (J=1, K=0), reset (J=0, K=1) or toggle (J=K=1) the stored value. The input values act with a rising edge at input C.</string>
|
||||
@ -161,6 +174,18 @@
|
||||
<string name="elem_JK_FF_pin_K">The reset input of the flipflop.</string>
|
||||
<string name="elem_JK_FF_pin_Q">Returns the stored value.</string>
|
||||
<string name="elem_JK_FF_pin_¬Q">Returns the negated stored value.</string>
|
||||
|
||||
<string name="elem_JK_FF_AS">JK-Flipflop, asynchronous</string>
|
||||
<string name="elem_JK_FF_AS_short">JK-AS</string>
|
||||
<string name="elem_JK_FF_AS_tt">Has the possibility to store (J=K=0), set (J=1, K=0), reset (J=0, K=1) or toggle (J=K=1) the stored value. The input values act with a rising edge at input C.</string>
|
||||
<string name="elem_JK_FF_AS_pin_J">The set input of the flipflop.</string>
|
||||
<string name="elem_JK_FF_AS_pin_C">The Clock input. A rising edge initiates a state change.</string>
|
||||
<string name="elem_JK_FF_AS_pin_K">The reset input of the flipflop.</string>
|
||||
<string name="elem_JK_FF_AS_pin_Q">Returns the stored value.</string>
|
||||
<string name="elem_JK_FF_AS_pin_¬Q">Returns the negated stored value.</string>
|
||||
<string name="elem_JK_FF_AS_pin_Set">asynchronous set</string>
|
||||
<string name="elem_JK_FF_AS_pin_Clr">asynchronous clear</string>
|
||||
|
||||
<string name="elem_LED">LED</string>
|
||||
<string name="elem_LED_tt">A simple LED can be used to visualize an output value. Accepts a single bit. Lights up when the input is set to 1.</string>
|
||||
<string name="elem_LED_pin_in">LED Input. LED shines when input is set to 1.</string>
|
||||
|
@ -39,8 +39,8 @@ public class TestExamples extends TestCase {
|
||||
*/
|
||||
public void testTestExamples() throws Exception {
|
||||
File examples = new File(Resources.getRoot(), "/dig/test");
|
||||
assertEquals(60, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(56, testCasesInFiles);
|
||||
assertEquals(62, new FileScanner(this::check).scan(examples));
|
||||
assertEquals(58, testCasesInFiles);
|
||||
}
|
||||
|
||||
|
||||
|
144
src/test/resources/dig/test/async/d_async.dig
Normal file
144
src/test/resources/dig/test/async/d_async.dig
Normal file
@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes/>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>CLK</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>D</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>S</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>C</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~Q</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="520" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Testcase</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Testdata</string>
|
||||
<testData>
|
||||
<dataString>CLK D S C Q ~Q
|
||||
0 0 0 0 0 1
|
||||
0 1 0 0 0 1
|
||||
C 1 0 0 1 0
|
||||
0 0 0 0 1 0
|
||||
C 0 0 0 0 1
|
||||
0 0 0 1 0 1
|
||||
0 0 0 0 0 1
|
||||
0 0 1 0 1 0
|
||||
0 0 0 0 1 0
|
||||
</dataString>
|
||||
</testData>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="480" y="260"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>D_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="200"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="300" y="240"/>
|
||||
<p2 x="360" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="160"/>
|
||||
<p2 x="340" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="260"/>
|
||||
<p2 x="360" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="200"/>
|
||||
<p2 x="320" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="200"/>
|
||||
<p2 x="360" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="200"/>
|
||||
<p2 x="440" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="280"/>
|
||||
<p2 x="340" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="220"/>
|
||||
<p2 x="360" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="220"/>
|
||||
<p2 x="520" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="200"/>
|
||||
<p2 x="320" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="160"/>
|
||||
<p2 x="340" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="260"/>
|
||||
<p2 x="340" y="280"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
171
src/test/resources/dig/test/async/jk_async.dig
Normal file
171
src/test/resources/dig/test/async/jk_async.dig
Normal file
@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<circuit>
|
||||
<version>1</version>
|
||||
<attributes/>
|
||||
<visualElements>
|
||||
<visualElement>
|
||||
<elementName>JK_FF_AS</elementName>
|
||||
<elementAttributes/>
|
||||
<pos x="360" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>CLK</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="240"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>J</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>S</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="160"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>K</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="280"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>In</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>C</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="300" y="320"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>Q</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="440" y="200"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Out</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Label</string>
|
||||
<string>~Q</string>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="520" y="220"/>
|
||||
</visualElement>
|
||||
<visualElement>
|
||||
<elementName>Testcase</elementName>
|
||||
<elementAttributes>
|
||||
<entry>
|
||||
<string>Testdata</string>
|
||||
<testData>
|
||||
<dataString>CLK J K S C Q ~Q
|
||||
0 0 0 0 0 0 1
|
||||
C 1 0 0 0 1 0
|
||||
0 1 0 0 0 1 0
|
||||
0 0 0 0 0 1 0
|
||||
0 0 1 0 0 1 0
|
||||
C 0 1 0 0 0 1
|
||||
0 0 0 0 0 0 1
|
||||
C 1 0 0 0 1 0
|
||||
0 0 0 1 0 1 0
|
||||
0 0 0 0 1 0 1
|
||||
C 1 1 0 0 1 0
|
||||
C 1 1 0 0 0 1
|
||||
C 1 1 0 0 1 0
|
||||
C 1 1 0 0 0 1
|
||||
</dataString>
|
||||
</testData>
|
||||
</entry>
|
||||
</elementAttributes>
|
||||
<pos x="480" y="300"/>
|
||||
</visualElement>
|
||||
</visualElements>
|
||||
<wires>
|
||||
<wire>
|
||||
<p1 x="300" y="240"/>
|
||||
<p2 x="360" y="240"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="160"/>
|
||||
<p2 x="340" y="160"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="320"/>
|
||||
<p2 x="340" y="320"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="260"/>
|
||||
<p2 x="360" y="260"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="200"/>
|
||||
<p2 x="320" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="200"/>
|
||||
<p2 x="360" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="200"/>
|
||||
<p2 x="440" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="300" y="280"/>
|
||||
<p2 x="320" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="280"/>
|
||||
<p2 x="360" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="220"/>
|
||||
<p2 x="360" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="420" y="220"/>
|
||||
<p2 x="520" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="200"/>
|
||||
<p2 x="320" y="220"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="320" y="260"/>
|
||||
<p2 x="320" y="280"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="160"/>
|
||||
<p2 x="340" y="200"/>
|
||||
</wire>
|
||||
<wire>
|
||||
<p1 x="340" y="280"/>
|
||||
<p2 x="340" y="320"/>
|
||||
</wire>
|
||||
</wires>
|
||||
</circuit>
|
Loading…
x
Reference in New Issue
Block a user