sync off intr input with a flipflop

This commit is contained in:
hneemann 2016-12-15 16:41:32 +01:00
parent f4f1946ce0
commit bc30c5b1c5
2 changed files with 134 additions and 116 deletions

View File

@ -34,6 +34,10 @@ erneut Interrupts ausgelöst werden können.</string>
<string>Bits</string>
<int>16</int>
</entry>
<entry>
<string>Default</string>
<int>1</int>
</entry>
</elementAttributes>
<pos x="180" y="340"/>
</visualElement>
@ -53,7 +57,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="720" y="260"/>
<pos x="740" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -119,7 +123,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="520" y="240"/>
<pos x="540" y="240"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
@ -139,7 +143,7 @@ erneut Interrupts ausgelöst werden können.</string>
</entry>
<entry>
<string>Label</string>
<string>iLock</string>
<string>intLock</string>
</entry>
</elementAttributes>
<pos x="460" y="0"/>
@ -161,7 +165,7 @@ erneut Interrupts ausgelöst werden können.</string>
<string>iEn</string>
</entry>
</elementAttributes>
<pos x="720" y="120"/>
<pos x="740" y="120"/>
</visualElement>
<visualElement>
<elementName>Comparator</elementName>
@ -210,12 +214,12 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="660" y="260"/>
<pos x="680" y="260"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes/>
<pos x="480" y="360"/>
<pos x="500" y="360"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -269,18 +273,23 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<string>intr</string>
</entry>
</elementAttributes>
<pos x="180" y="40"/>
<pos x="180" y="60"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes/>
<pos x="260" y="40"/>
<elementName>D_FF</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>Sync</string>
</entry>
</elementAttributes>
<pos x="260" y="60"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="460" y="0"/>
<p2 x="480" y="0"/>
<p2 x="500" y="0"/>
</wire>
<wire>
<p1 x="200" y="160"/>
@ -291,24 +300,24 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<p2 x="400" y="160"/>
</wire>
<wire>
<p1 x="400" y="260"/>
<p1 x="360" y="260"/>
<p2 x="420" y="260"/>
</wire>
<wire>
<p1 x="580" y="260"/>
<p2 x="640" y="260"/>
<p1 x="600" y="260"/>
<p2 x="660" y="260"/>
</wire>
<wire>
<p1 x="680" y="260"/>
<p2 x="720" y="260"/>
<p1 x="700" y="260"/>
<p2 x="740" y="260"/>
</wire>
<wire>
<p1 x="460" y="260"/>
<p2 x="500" y="260"/>
<p2 x="520" y="260"/>
</wire>
<wire>
<p1 x="500" y="260"/>
<p2 x="520" y="260"/>
<p1 x="520" y="260"/>
<p2 x="540" y="260"/>
</wire>
<wire>
<p1 x="340" y="100"/>
@ -320,7 +329,7 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="460" y="-40"/>
<p2 x="620" y="-40"/>
<p2 x="640" y="-40"/>
</wire>
<wire>
<p1 x="320" y="360"/>
@ -328,11 +337,7 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="400" y="360"/>
<p2 x="480" y="360"/>
</wire>
<wire>
<p1 x="180" y="40"/>
<p2 x="260" y="40"/>
<p2 x="500" y="360"/>
</wire>
<wire>
<p1 x="180" y="140"/>
@ -352,15 +357,15 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="180" y="400"/>
<p2 x="480" y="400"/>
<p2 x="500" y="400"/>
</wire>
<wire>
<p1 x="180" y="240"/>
<p2 x="520" y="240"/>
<p2 x="540" y="240"/>
</wire>
<wire>
<p1 x="460" y="-20"/>
<p2 x="500" y="-20"/>
<p2 x="520" y="-20"/>
</wire>
<wire>
<p1 x="360" y="-20"/>
@ -380,67 +385,75 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="460" y="120"/>
<p2 x="480" y="120"/>
<p2 x="500" y="120"/>
</wire>
<wire>
<p1 x="340" y="120"/>
<p2 x="400" y="120"/>
</wire>
<wire>
<p1 x="480" y="120"/>
<p2 x="720" y="120"/>
<p1 x="500" y="120"/>
<p2 x="740" y="120"/>
</wire>
<wire>
<p1 x="500" y="280"/>
<p2 x="540" y="280"/>
</wire>
<wire>
<p1 x="180" y="280"/>
<p2 x="240" y="280"/>
</wire>
<wire>
<p1 x="480" y="280"/>
<p2 x="520" y="280"/>
<p1 x="240" y="280"/>
<p2 x="360" y="280"/>
</wire>
<wire>
<p1 x="240" y="280"/>
<p2 x="400" y="280"/>
<p1 x="180" y="60"/>
<p2 x="260" y="60"/>
</wire>
<wire>
<p1 x="320" y="60"/>
<p2 x="340" y="60"/>
</wire>
<wire>
<p1 x="540" y="380"/>
<p2 x="620" y="380"/>
<p1 x="560" y="380"/>
<p2 x="640" y="380"/>
</wire>
<wire>
<p1 x="620" y="380"/>
<p2 x="660" y="380"/>
</wire>
<wire>
<p1 x="400" y="260"/>
<p2 x="400" y="280"/>
</wire>
<wire>
<p1 x="480" y="0"/>
<p2 x="480" y="120"/>
</wire>
<wire>
<p1 x="480" y="120"/>
<p2 x="480" y="280"/>
<p1 x="640" y="380"/>
<p2 x="680" y="380"/>
</wire>
<wire>
<p1 x="240" y="80"/>
<p2 x="240" y="280"/>
</wire>
<wire>
<p1 x="640" y="-40"/>
<p2 x="640" y="380"/>
</wire>
<wire>
<p1 x="500" y="0"/>
<p2 x="500" y="120"/>
</wire>
<wire>
<p1 x="500" y="120"/>
<p2 x="500" y="280"/>
</wire>
<wire>
<p1 x="340" y="60"/>
<p2 x="340" y="100"/>
</wire>
<wire>
<p1 x="500" y="-20"/>
<p2 x="500" y="260"/>
<p1 x="520" y="-20"/>
<p2 x="520" y="260"/>
</wire>
<wire>
<p1 x="660" y="280"/>
<p2 x="660" y="380"/>
<p1 x="680" y="280"/>
<p2 x="680" y="380"/>
</wire>
<wire>
<p1 x="360" y="260"/>
<p2 x="360" y="280"/>
</wire>
<wire>
<p1 x="360" y="-20"/>
@ -454,9 +467,5 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<p1 x="200" y="160"/>
<p2 x="200" y="180"/>
</wire>
<wire>
<p1 x="620" y="-40"/>
<p2 x="620" y="380"/>
</wire>
</wires>
</circuit>

View File

@ -165,9 +165,9 @@ Single-Cycle CPU.</string>
</entry>
<entry>
<string>Data</string>
<data size="4131">99ab,1200,800e,68f0,8020,1200,73f0,8f8a,1200,800e,68f0,140a,73f0,6ff2,4800,4a00,801d,
6820,4a00,801d,6820,4800,4a00,801d,6820,4a00,801d,6820,6a0f,210,281f,3c1a,6203,8030,
1610,6e02,8037,1610,73f1,6a02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
<data size="4131">99ab,1200,8015,68f0,8020,1200,73f0,8f8a,1200,8015,68f0,8020,1200,73f0,1831,203,8015,
68f0,140a,73f0,6feb,4800,4a00,8024,6820,4a00,8024,6820,4800,4a00,8024,6820,4a00,8024,
6820,6a0f,210,281f,3c1a,6203,8030,1610,6e02,8037,1610,73f1,6a02,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -266,9 +266,9 @@ Single-Cycle CPU.</string>
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,78c0,20e1,4cec,20e1,4ce0,7c00,5601,56c0,3cc0,6402,14c1,1400,
735c,3c00,6407,3ec0,8000,3bc0,6408,1401,5210,6e05,40c0,3cc1,6402,1400,5210,520c,4e0e,
18e1,4ece,18e1,720c,78c1,6a0c</data>
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78c0,20e1,4cec,20e1,4ce0,7c00,5601,56c0,
3cc0,6402,14c1,1400,735c,3c00,6407,3ec0,8000,3bc0,6408,1401,5210,6e05,40c0,3cc1,6402,
1400,5210,520c,4e0e,18e1,4ece,18e1,720c,78c1,6a0c</data>
</entry>
<entry>
<string>lastDataFile</string>
@ -801,7 +801,7 @@ Single-Cycle CPU.</string>
<visualElement>
<elementName>/home/hneemann/Dokumente/Java/digital/src/main/dig/processor/Intr.dig</elementName>
<elementAttributes/>
<pos x="1100" y="500"/>
<pos x="1120" y="500"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -815,7 +815,7 @@ Single-Cycle CPU.</string>
<string>ioR</string>
</entry>
</elementAttributes>
<pos x="1080" y="520"/>
<pos x="1100" y="520"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -829,7 +829,7 @@ Single-Cycle CPU.</string>
<string>C</string>
</entry>
</elementAttributes>
<pos x="1080" y="540"/>
<pos x="1100" y="540"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -843,7 +843,7 @@ Single-Cycle CPU.</string>
<string>imm</string>
</entry>
</elementAttributes>
<pos x="1080" y="580"/>
<pos x="1100" y="580"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -857,7 +857,7 @@ Single-Cycle CPU.</string>
<string>next</string>
</entry>
</elementAttributes>
<pos x="1080" y="560"/>
<pos x="1100" y="560"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -881,7 +881,7 @@ Single-Cycle CPU.</string>
<string>iEn</string>
</entry>
</elementAttributes>
<pos x="1200" y="520"/>
<pos x="1220" y="520"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -909,7 +909,7 @@ Single-Cycle CPU.</string>
<string>abs</string>
</entry>
</elementAttributes>
<pos x="1080" y="600"/>
<pos x="1100" y="600"/>
</visualElement>
<visualElement>
<elementName>/home/hneemann/Dokumente/Java/digital/src/main/dig/processor/FlagsRW.dig</elementName>
@ -978,7 +978,7 @@ Single-Cycle CPU.</string>
<string>D</string>
</entry>
</elementAttributes>
<pos x="1200" y="500"/>
<pos x="1220" y="500"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -1002,7 +1002,7 @@ Single-Cycle CPU.</string>
<string>A</string>
</entry>
</elementAttributes>
<pos x="1080" y="500"/>
<pos x="1100" y="500"/>
</visualElement>
<visualElement>
<elementName>/home/hneemann/Dokumente/Java/digital/src/main/dig/processor/Terminal.dig</elementName>
@ -1214,7 +1214,7 @@ Single-Cycle CPU.</string>
<int>11</int>
</entry>
</elementAttributes>
<pos x="1000" y="660"/>
<pos x="1020" y="660"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -1228,12 +1228,12 @@ Single-Cycle CPU.</string>
<string>C</string>
</entry>
</elementAttributes>
<pos x="980" y="660"/>
<pos x="940" y="660"/>
</visualElement>
<visualElement>
<elementName>Ground</elementName>
<elementAttributes/>
<pos x="980" y="700"/>
<pos x="1000" y="700"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -1245,6 +1245,11 @@ Single-Cycle CPU.</string>
</elementAttributes>
<pos x="1280" y="80"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="960" y="660"/>
</visualElement>
</visualElements>
<wires>
<wire>
@ -1312,8 +1317,8 @@ Single-Cycle CPU.</string>
<p2 x="1340" y="640"/>
</wire>
<wire>
<p1 x="1080" y="640"/>
<p2 x="1100" y="640"/>
<p1 x="1100" y="640"/>
<p2 x="1120" y="640"/>
</wire>
<wire>
<p1 x="600" y="0"/>
@ -1340,8 +1345,8 @@ Single-Cycle CPU.</string>
<p2 x="840" y="580"/>
</wire>
<wire>
<p1 x="1080" y="580"/>
<p2 x="1100" y="580"/>
<p1 x="1100" y="580"/>
<p2 x="1120" y="580"/>
</wire>
<wire>
<p1 x="500" y="520"/>
@ -1352,12 +1357,12 @@ Single-Cycle CPU.</string>
<p2 x="840" y="520"/>
</wire>
<wire>
<p1 x="1080" y="520"/>
<p2 x="1100" y="520"/>
<p1 x="1100" y="520"/>
<p2 x="1120" y="520"/>
</wire>
<wire>
<p1 x="1180" y="520"/>
<p2 x="1200" y="520"/>
<p1 x="1200" y="520"/>
<p2 x="1220" y="520"/>
</wire>
<wire>
<p1 x="1160" y="200"/>
@ -1455,14 +1460,18 @@ Single-Cycle CPU.</string>
<p1 x="1240" y="80"/>
<p2 x="1280" y="80"/>
</wire>
<wire>
<p1 x="980" y="660"/>
<p2 x="1000" y="660"/>
</wire>
<wire>
<p1 x="1320" y="660"/>
<p2 x="1340" y="660"/>
</wire>
<wire>
<p1 x="940" y="660"/>
<p2 x="960" y="660"/>
</wire>
<wire>
<p1 x="1000" y="660"/>
<p2 x="1020" y="660"/>
</wire>
<wire>
<p1 x="1320" y="340"/>
<p2 x="1340" y="340"/>
@ -1484,16 +1493,16 @@ Single-Cycle CPU.</string>
<p2 x="1160" y="280"/>
</wire>
<wire>
<p1 x="1080" y="600"/>
<p2 x="1100" y="600"/>
<p1 x="1100" y="600"/>
<p2 x="1120" y="600"/>
</wire>
<wire>
<p1 x="760" y="600"/>
<p2 x="840" y="600"/>
</wire>
<wire>
<p1 x="1080" y="540"/>
<p2 x="1100" y="540"/>
<p1 x="1100" y="540"/>
<p2 x="1120" y="540"/>
</wire>
<wire>
<p1 x="880" y="540"/>
@ -1556,12 +1565,12 @@ Single-Cycle CPU.</string>
<p2 x="1240" y="420"/>
</wire>
<wire>
<p1 x="1060" y="680"/>
<p2 x="1080" y="680"/>
<p1 x="1080" y="680"/>
<p2 x="1100" y="680"/>
</wire>
<wire>
<p1 x="980" y="680"/>
<p2 x="1000" y="680"/>
<p1 x="1000" y="680"/>
<p2 x="1020" y="680"/>
</wire>
<wire>
<p1 x="1320" y="680"/>
@ -1593,11 +1602,11 @@ Single-Cycle CPU.</string>
</wire>
<wire>
<p1 x="920" y="620"/>
<p2 x="1100" y="620"/>
<p2 x="1120" y="620"/>
</wire>
<wire>
<p1 x="1080" y="560"/>
<p2 x="1100" y="560"/>
<p1 x="1100" y="560"/>
<p2 x="1120" y="560"/>
</wire>
<wire>
<p1 x="760" y="560"/>
@ -1616,12 +1625,12 @@ Single-Cycle CPU.</string>
<p2 x="480" y="240"/>
</wire>
<wire>
<p1 x="1180" y="500"/>
<p2 x="1200" y="500"/>
<p1 x="1200" y="500"/>
<p2 x="1220" y="500"/>
</wire>
<wire>
<p1 x="1080" y="500"/>
<p2 x="1100" y="500"/>
<p1 x="1100" y="500"/>
<p2 x="1120" y="500"/>
</wire>
<wire>
<p1 x="660" y="500"/>
@ -1748,12 +1757,12 @@ Single-Cycle CPU.</string>
<p2 x="1420" y="180"/>
</wire>
<wire>
<p1 x="400" y="680"/>
<p2 x="400" y="700"/>
<p1 x="1100" y="640"/>
<p2 x="1100" y="680"/>
</wire>
<wire>
<p1 x="980" y="680"/>
<p2 x="980" y="700"/>
<p1 x="400" y="680"/>
<p2 x="400" y="700"/>
</wire>
<wire>
<p1 x="340" y="200"/>
@ -1767,6 +1776,10 @@ Single-Cycle CPU.</string>
<p1 x="340" y="680"/>
<p2 x="340" y="700"/>
</wire>
<wire>
<p1 x="920" y="400"/>
<p2 x="920" y="620"/>
</wire>
<wire>
<p1 x="1240" y="60"/>
<p2 x="1240" y="80"/>
@ -1791,10 +1804,6 @@ Single-Cycle CPU.</string>
<p1 x="600" y="680"/>
<p2 x="600" y="700"/>
</wire>
<wire>
<p1 x="920" y="400"/>
<p2 x="920" y="620"/>
</wire>
<wire>
<p1 x="540" y="160"/>
<p2 x="540" y="460"/>
@ -1851,6 +1860,10 @@ Single-Cycle CPU.</string>
<p1 x="420" y="680"/>
<p2 x="420" y="700"/>
</wire>
<wire>
<p1 x="1000" y="680"/>
<p2 x="1000" y="700"/>
</wire>
<wire>
<p1 x="360" y="680"/>
<p2 x="360" y="700"/>
@ -1883,10 +1896,6 @@ Single-Cycle CPU.</string>
<p1 x="440" y="680"/>
<p2 x="440" y="700"/>
</wire>
<wire>
<p1 x="1080" y="640"/>
<p2 x="1080" y="680"/>
</wire>
<wire>
<p1 x="380" y="680"/>
<p2 x="380" y="700"/>