improved interrupts

This commit is contained in:
hneemann 2019-10-23 22:19:19 +02:00
parent e96d91742e
commit 5f56a22109
3 changed files with 188 additions and 122 deletions

View File

@ -104,7 +104,7 @@ An dieser Adresse muss sich die ISR befinden.}}</string>
<rotation rotation="2"/>
</entry>
</elementAttributes>
<pos x="1000" y="480"/>
<pos x="1000" y="460"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
@ -574,7 +574,7 @@ An dieser Adresse muss sich die ISR befinden.}}</string>
<string>br</string>
</entry>
</elementAttributes>
<pos x="1020" y="400"/>
<pos x="1020" y="380"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -692,7 +692,7 @@ An dieser Adresse muss sich die ISR befinden.}}</string>
<string>C</string>
</entry>
</elementAttributes>
<pos x="1060" y="580"/>
<pos x="1060" y="600"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -706,7 +706,7 @@ An dieser Adresse muss sich die ISR befinden.}}</string>
<string>imm</string>
</entry>
</elementAttributes>
<pos x="1060" y="600"/>
<pos x="1060" y="620"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@ -1088,14 +1088,14 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="320" y="200"/>
<p2 x="340" y="200"/>
</wire>
<wire>
<p1 x="1000" y="460"/>
<p2 x="1080" y="460"/>
</wire>
<wire>
<p1 x="1140" y="460"/>
<p2 x="1240" y="460"/>
</wire>
<wire>
<p1 x="1000" y="460"/>
<p2 x="1080" y="460"/>
</wire>
<wire>
<p1 x="880" y="140"/>
<p2 x="1100" y="140"/>
@ -1122,7 +1122,7 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
</wire>
<wire>
<p1 x="1000" y="400"/>
<p2 x="1020" y="400"/>
<p2 x="1060" y="400"/>
</wire>
<wire>
<p1 x="1400" y="80"/>
@ -1152,6 +1152,10 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="1140" y="340"/>
<p2 x="1160" y="340"/>
</wire>
<wire>
<p1 x="1060" y="600"/>
<p2 x="1080" y="600"/>
</wire>
<wire>
<p1 x="760" y="600"/>
<p2 x="840" y="600"/>
@ -1160,10 +1164,6 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="460" y="600"/>
<p2 x="580" y="600"/>
</wire>
<wire>
<p1 x="1060" y="600"/>
<p2 x="1080" y="600"/>
</wire>
<wire>
<p1 x="580" y="600"/>
<p2 x="680" y="600"/>
@ -1216,10 +1216,6 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="1200" y="160"/>
<p2 x="1340" y="160"/>
</wire>
<wire>
<p1 x="1000" y="480"/>
<p2 x="1080" y="480"/>
</wire>
<wire>
<p1 x="1140" y="480"/>
<p2 x="1260" y="480"/>
@ -1229,13 +1225,21 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p2 x="340" y="480"/>
</wire>
<wire>
<p1 x="1000" y="420"/>
<p2 x="1060" y="420"/>
<p1 x="1060" y="480"/>
<p2 x="1080" y="480"/>
</wire>
<wire>
<p1 x="320" y="420"/>
<p2 x="940" y="420"/>
</wire>
<wire>
<p1 x="1140" y="420"/>
<p2 x="1160" y="420"/>
</wire>
<wire>
<p1 x="1060" y="420"/>
<p2 x="1080" y="420"/>
</wire>
<wire>
<p1 x="1040" y="680"/>
<p2 x="1060" y="680"/>
@ -1252,6 +1256,10 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="1220" y="40"/>
<p2 x="1240" y="40"/>
</wire>
<wire>
<p1 x="1060" y="620"/>
<p2 x="1080" y="620"/>
</wire>
<wire>
<p1 x="1180" y="620"/>
<p2 x="1200" y="620"/>
@ -1321,11 +1329,7 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p2 x="340" y="180"/>
</wire>
<wire>
<p1 x="320" y="440"/>
<p2 x="940" y="440"/>
</wire>
<wire>
<p1 x="1060" y="440"/>
<p1 x="1000" y="440"/>
<p2 x="1080" y="440"/>
</wire>
<wire>
@ -1352,6 +1356,10 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
<p1 x="600" y="120"/>
<p2 x="660" y="120"/>
</wire>
<wire>
<p1 x="1000" y="380"/>
<p2 x="1020" y="380"/>
</wire>
<wire>
<p1 x="1140" y="380"/>
<p2 x="1160" y="380"/>
@ -1366,7 +1374,7 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
</wire>
<wire>
<p1 x="320" y="220"/>
<p2 x="320" y="440"/>
<p2 x="320" y="420"/>
</wire>
<wire>
<p1 x="580" y="500"/>
@ -1474,15 +1482,19 @@ Interrupt ausgelöst. Die ISR muss sich an Adresse
</wire>
<wire>
<p1 x="1060" y="240"/>
<p2 x="1060" y="420"/>
<p2 x="1060" y="400"/>
</wire>
<wire>
<p1 x="1060" y="660"/>
<p2 x="1060" y="680"/>
</wire>
<wire>
<p1 x="1060" y="420"/>
<p2 x="1060" y="440"/>
<p1 x="1060" y="480"/>
<p2 x="1060" y="580"/>
</wire>
<wire>
<p1 x="1060" y="400"/>
<p2 x="1060" y="420"/>
</wire>
<wire>
<p1 x="420" y="720"/>

View File

@ -31,16 +31,12 @@ werden. Die Flags finden sich an IO Adresse 0.}}</string>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Description</string>
<string>Zero Out {{de Zero Ausgang}}</string>
</entry>
<entry>
<string>Label</string>
<string>Zo</string>
<string>~ie</string>
</entry>
</elementAttributes>
<pos x="580" y="180"/>
<pos x="580" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -61,14 +57,14 @@ werden. Die Flags finden sich an IO Adresse 0.}}</string>
<elementAttributes>
<entry>
<string>Description</string>
<string>Negative Out {{de negative Ausgang}}</string>
<string>Zero Out {{de Zero Ausgang}}</string>
</entry>
<entry>
<string>Label</string>
<string>No</string>
<string>Zo</string>
</entry>
</elementAttributes>
<pos x="580" y="220"/>
<pos x="580" y="180"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -89,14 +85,14 @@ werden. Die Flags finden sich an IO Adresse 0.}}</string>
<elementAttributes>
<entry>
<string>Description</string>
<string>Carry Out {{de Carry Ausgang}}</string>
<string>Negative Out {{de negative Ausgang}}</string>
</entry>
<entry>
<string>Label</string>
<string>Co</string>
<string>No</string>
</entry>
</elementAttributes>
<pos x="580" y="140"/>
<pos x="580" y="220"/>
</visualElement>
<visualElement>
<elementName>Clock</elementName>
@ -113,7 +109,7 @@ werden. Die Flags finden sich an IO Adresse 0.}}</string>
<elementAttributes>
<entry>
<string>Input Splitting</string>
<string>1,1,1,13</string>
<string>1,1,1,1,12</string>
</entry>
<entry>
<string>Output Splitting</string>
@ -248,7 +244,7 @@ Operation ausgeführt wird.}}</string>
</entry>
<entry>
<string>Output Splitting</string>
<string>1,1,1,13</string>
<string>1,1,1,1,12</string>
</entry>
</elementAttributes>
<pos x="460" y="160"/>
@ -272,10 +268,10 @@ Operation ausgeführt wird.}}</string>
<elementAttributes>
<entry>
<string>Bits</string>
<int>13</int>
<int>12</int>
</entry>
</elementAttributes>
<pos x="0" y="200"/>
<pos x="0" y="220"/>
</visualElement>
<visualElement>
<elementName>Register</elementName>
@ -305,6 +301,20 @@ Operation ausgeführt wird.}}</string>
</elementAttributes>
<pos x="-100" y="280"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Description</string>
<string>Carry Out {{de Carry Ausgang}}</string>
</entry>
<entry>
<string>Label</string>
<string>Co</string>
</entry>
</elementAttributes>
<pos x="580" y="140"/>
</visualElement>
</visualElements>
<wires>
<wire>
@ -351,6 +361,10 @@ Operation ausgeführt wird.}}</string>
<p1 x="480" y="200"/>
<p2 x="540" y="200"/>
</wire>
<wire>
<p1 x="0" y="200"/>
<p2 x="20" y="200"/>
</wire>
<wire>
<p1 x="140" y="360"/>
<p2 x="180" y="360"/>
@ -388,12 +402,12 @@ Operation ausgeführt wird.}}</string>
<p2 x="140" y="400"/>
</wire>
<wire>
<p1 x="480" y="180"/>
<p2 x="580" y="180"/>
<p1 x="-20" y="80"/>
<p2 x="520" y="80"/>
</wire>
<wire>
<p1 x="0" y="180"/>
<p2 x="20" y="180"/>
<p1 x="480" y="180"/>
<p2 x="580" y="180"/>
</wire>
<wire>
<p1 x="280" y="180"/>
@ -403,6 +417,10 @@ Operation ausgeführt wird.}}</string>
<p1 x="-100" y="180"/>
<p2 x="-60" y="180"/>
</wire>
<wire>
<p1 x="-20" y="180"/>
<p2 x="20" y="180"/>
</wire>
<wire>
<p1 x="-100" y="500"/>
<p2 x="60" y="500"/>
@ -412,16 +430,8 @@ Operation ausgeführt wird.}}</string>
<p2 x="280" y="340"/>
</wire>
<wire>
<p1 x="-60" y="120"/>
<p2 x="20" y="120"/>
</wire>
<wire>
<p1 x="40" y="120"/>
<p2 x="120" y="120"/>
</wire>
<wire>
<p1 x="-100" y="440"/>
<p2 x="-40" y="440"/>
<p1 x="520" y="280"/>
<p2 x="580" y="280"/>
</wire>
<wire>
<p1 x="360" y="280"/>
@ -435,6 +445,18 @@ Operation ausgeführt wird.}}</string>
<p1 x="80" y="280"/>
<p2 x="320" y="280"/>
</wire>
<wire>
<p1 x="-60" y="120"/>
<p2 x="20" y="120"/>
</wire>
<wire>
<p1 x="40" y="120"/>
<p2 x="120" y="120"/>
</wire>
<wire>
<p1 x="-100" y="440"/>
<p2 x="-40" y="440"/>
</wire>
<wire>
<p1 x="-100" y="380"/>
<p2 x="60" y="380"/>
@ -444,8 +466,12 @@ Operation ausgeführt wird.}}</string>
<p2 x="580" y="220"/>
</wire>
<wire>
<p1 x="0" y="180"/>
<p2 x="0" y="200"/>
<p1 x="480" y="220"/>
<p2 x="520" y="220"/>
</wire>
<wire>
<p1 x="0" y="200"/>
<p2 x="0" y="220"/>
</wire>
<wire>
<p1 x="80" y="160"/>
@ -455,6 +481,10 @@ Operation ausgeführt wird.}}</string>
<p1 x="400" y="160"/>
<p2 x="400" y="280"/>
</wire>
<wire>
<p1 x="-20" y="80"/>
<p2 x="-20" y="180"/>
</wire>
<wire>
<p1 x="340" y="300"/>
<p2 x="340" y="480"/>
@ -467,6 +497,14 @@ Operation ausgeführt wird.}}</string>
<p1 x="40" y="420"/>
<p2 x="40" y="460"/>
</wire>
<wire>
<p1 x="520" y="80"/>
<p2 x="520" y="220"/>
</wire>
<wire>
<p1 x="520" y="220"/>
<p2 x="520" y="280"/>
</wire>
<wire>
<p1 x="-60" y="100"/>
<p2 x="-60" y="120"/>
@ -496,4 +534,5 @@ Operation ausgeführt wird.}}</string>
<p2 x="140" y="400"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>

View File

@ -26,25 +26,26 @@ Interrupt-Controller wieder frei.}}</string>
<entry>
<string>inverterConfig</string>
<inverterConfig>
<string>In_4</string>
<string>In_2</string>
</inverterConfig>
</entry>
<entry>
<string>Inputs</string>
<int>3</int>
<int>4</int>
</entry>
</elementAttributes>
<pos x="400" y="60"/>
<pos x="440" y="60"/>
</visualElement>
<visualElement>
<elementName>Clock</elementName>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>C</string>
<string>~ie</string>
</entry>
</elementAttributes>
<pos x="220" y="-40"/>
<pos x="220" y="220"/>
</visualElement>
<visualElement>
<elementName>JK_FF</elementName>
@ -79,7 +80,17 @@ Interrupt-Controller wieder frei.}}</string>
<string>iEn</string>
</entry>
</elementAttributes>
<pos x="520" y="80"/>
<pos x="560" y="100"/>
</visualElement>
<visualElement>
<elementName>Clock</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>C</string>
</entry>
</elementAttributes>
<pos x="220" y="-40"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -115,20 +126,6 @@ die Interrupts wieder freigegeben.}}</string>
</elementAttributes>
<pos x="220" y="20"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Description</string>
<string>interrupt trigger {{de Interrupt Anforderung}}</string>
</entry>
<entry>
<string>Label</string>
<string>intr</string>
</entry>
</elementAttributes>
<pos x="220" y="140"/>
</visualElement>
<visualElement>
<elementName>JK_FF</elementName>
<elementAttributes>
@ -147,41 +144,51 @@ die Interrupts wieder freigegeben.}}</string>
</inverterConfig>
</entry>
</elementAttributes>
<pos x="300" y="140"/>
<pos x="300" y="120"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Description</string>
<string>interrupt trigger {{de Interrupt Anforderung}}</string>
</entry>
<entry>
<string>Label</string>
<string>intr</string>
</entry>
</elementAttributes>
<pos x="220" y="120"/>
</visualElement>
</visualElements>
<wires>
<wire>
<p1 x="360" y="0"/>
<p2 x="380" y="0"/>
<p2 x="400" y="0"/>
</wire>
<wire>
<p1 x="260" y="0"/>
<p2 x="280" y="0"/>
</wire>
<wire>
<p1 x="240" y="160"/>
<p2 x="300" y="160"/>
</wire>
<wire>
<p1 x="220" y="80"/>
<p2 x="380" y="80"/>
</wire>
<wire>
<p1 x="460" y="80"/>
<p2 x="480" y="80"/>
</wire>
<wire>
<p1 x="480" y="80"/>
<p2 x="520" y="80"/>
</wire>
<wire>
<p1 x="260" y="160"/>
<p2 x="280" y="160"/>
<p2 x="420" y="80"/>
</wire>
<wire>
<p1 x="280" y="-20"/>
<p2 x="300" y="-20"/>
</wire>
<wire>
<p1 x="380" y="100"/>
<p2 x="400" y="100"/>
<p1 x="500" y="100"/>
<p2 x="520" y="100"/>
</wire>
<wire>
<p1 x="520" y="100"/>
<p2 x="560" y="100"/>
</wire>
<wire>
<p1 x="220" y="20"/>
@ -191,37 +198,49 @@ die Interrupts wieder freigegeben.}}</string>
<p1 x="240" y="20"/>
<p2 x="300" y="20"/>
</wire>
<wire>
<p1 x="240" y="180"/>
<p2 x="300" y="180"/>
</wire>
<wire>
<p1 x="220" y="-40"/>
<p2 x="260" y="-40"/>
</wire>
<wire>
<p1 x="360" y="140"/>
<p2 x="380" y="140"/>
<p1 x="220" y="120"/>
<p2 x="300" y="120"/>
</wire>
<wire>
<p1 x="220" y="140"/>
<p2 x="300" y="140"/>
<p1 x="360" y="120"/>
<p2 x="440" y="120"/>
</wire>
<wire>
<p1 x="380" y="60"/>
<p2 x="400" y="60"/>
<p1 x="220" y="220"/>
<p2 x="400" y="220"/>
</wire>
<wire>
<p1 x="400" y="140"/>
<p2 x="420" y="140"/>
</wire>
<wire>
<p1 x="260" y="140"/>
<p2 x="280" y="140"/>
</wire>
<wire>
<p1 x="400" y="60"/>
<p2 x="440" y="60"/>
</wire>
<wire>
<p1 x="280" y="-80"/>
<p2 x="480" y="-80"/>
</wire>
<wire>
<p1 x="480" y="-80"/>
<p2 x="480" y="80"/>
<p2 x="520" y="-80"/>
</wire>
<wire>
<p1 x="240" y="20"/>
<p2 x="240" y="180"/>
<p2 x="240" y="160"/>
</wire>
<wire>
<p1 x="400" y="140"/>
<p2 x="400" y="220"/>
</wire>
<wire>
<p1 x="400" y="0"/>
<p2 x="400" y="60"/>
</wire>
<wire>
<p1 x="260" y="-40"/>
@ -229,20 +248,16 @@ die Interrupts wieder freigegeben.}}</string>
</wire>
<wire>
<p1 x="260" y="0"/>
<p2 x="260" y="160"/>
<p2 x="260" y="140"/>
</wire>
<wire>
<p1 x="520" y="-80"/>
<p2 x="520" y="100"/>
</wire>
<wire>
<p1 x="280" y="-80"/>
<p2 x="280" y="-20"/>
</wire>
<wire>
<p1 x="380" y="100"/>
<p2 x="380" y="140"/>
</wire>
<wire>
<p1 x="380" y="0"/>
<p2 x="380" y="60"/>
</wire>
</wires>
<measurementOrdering/>
</circuit>