Adding ALU in simulation.

This commit is contained in:
Ulysse Cura 2026-07-07 01:10:52 +02:00
parent dbcb0a6ffb
commit 2de5750a81
2 changed files with 126 additions and 60 deletions

View File

@ -0,0 +1,61 @@
<?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>8</int>
</entry>
</elementAttributes>
<pos x="580" y="320"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>B</string>
</entry>
<entry>
<string>Bits</string>
<int>8</int>
</entry>
</elementAttributes>
<pos x="580" y="420"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>F</string>
</entry>
<entry>
<string>Bits</string>
<int>8</int>
</entry>
</elementAttributes>
<pos x="1020" y="380"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Label</string>
<string>O</string>
</entry>
</elementAttributes>
<pos x="580" y="600"/>
</visualElement>
</visualElements>
<wires/>
<measurementOrdering/>
</circuit>

View File

@ -11,7 +11,7 @@
<string>WRITE</string> <string>WRITE</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="20" y="520"/> <pos x="20" y="500"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>In</elementName> <elementName>In</elementName>
@ -21,7 +21,7 @@
<string>OUTPUT</string> <string>OUTPUT</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="20" y="560"/> <pos x="20" y="540"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Out</elementName> <elementName>Out</elementName>
@ -61,7 +61,7 @@
<int>15</int> <int>15</int>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="440" y="460"/> <pos x="440" y="440"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Button</elementName> <elementName>Button</elementName>
@ -81,7 +81,7 @@
<string>MAR/SP</string> <string>MAR/SP</string>
</entry> </entry>
</elementAttributes> </elementAttributes>
<pos x="20" y="460"/> <pos x="20" y="440"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>In</elementName> <elementName>In</elementName>
@ -96,7 +96,7 @@
<visualElement> <visualElement>
<elementName>RAM.dig</elementName> <elementName>RAM.dig</elementName>
<elementAttributes/> <elementAttributes/>
<pos x="220" y="440"/> <pos x="220" y="420"/>
</visualElement> </visualElement>
<visualElement> <visualElement>
<elementName>Register.dig</elementName> <elementName>Register.dig</elementName>
@ -121,14 +121,14 @@
<visualElement> <visualElement>
<elementName>Driver</elementName> <elementName>Driver</elementName>
<elementAttributes> <elementAttributes>
<entry>
<string>flipSelPos</string>
<boolean>true</boolean>
</entry>
<entry> <entry>
<string>Bits</string> <string>Bits</string>
<int>8</int> <int>8</int>
</entry> </entry>
<entry>
<string>flipSelPos</string>
<boolean>true</boolean>
</entry>
</elementAttributes> </elementAttributes>
<pos x="280" y="-140"/> <pos x="280" y="-140"/>
</visualElement> </visualElement>
@ -159,14 +159,14 @@
<visualElement> <visualElement>
<elementName>Rectangle</elementName> <elementName>Rectangle</elementName>
<elementAttributes> <elementAttributes>
<entry>
<string>Label</string>
<string>Manual Data Input</string>
</entry>
<entry> <entry>
<string>RectHeight</string> <string>RectHeight</string>
<int>6</int> <int>6</int>
</entry> </entry>
<entry>
<string>Label</string>
<string>Manual Data Input</string>
</entry>
<entry> <entry>
<string>RectWidth</string> <string>RectWidth</string>
<int>12</int> <int>12</int>
@ -184,16 +184,21 @@
</elementAttributes> </elementAttributes>
<pos x="80" y="180"/> <pos x="80" y="180"/>
</visualElement> </visualElement>
<visualElement>
<elementName>ALU.dig</elementName>
<elementAttributes/>
<pos x="700" y="80"/>
</visualElement>
</visualElements> </visualElements>
<wires> <wires>
<wire>
<p1 x="100" y="480"/>
<p2 x="220" y="480"/>
</wire>
<wire> <wire>
<p1 x="220" y="160"/> <p1 x="220" y="160"/>
<p2 x="240" y="160"/> <p2 x="240" y="160"/>
</wire> </wire>
<wire>
<p1 x="160" y="480"/>
<p2 x="220" y="480"/>
</wire>
<wire> <wire>
<p1 x="220" y="-100"/> <p1 x="220" y="-100"/>
<p2 x="280" y="-100"/> <p2 x="280" y="-100"/>
@ -207,13 +212,21 @@
<p2 x="380" y="260"/> <p2 x="380" y="260"/>
</wire> </wire>
<wire> <wire>
<p1 x="180" y="360"/> <p1 x="200" y="420"/>
<p2 x="320" y="360"/> <p2 x="220" y="420"/>
</wire> </wire>
<wire> <wire>
<p1 x="20" y="520"/> <p1 x="340" y="420"/>
<p2 x="380" y="420"/>
</wire>
<wire>
<p1 x="160" y="520"/>
<p2 x="220" y="520"/> <p2 x="220" y="520"/>
</wire> </wire>
<wire>
<p1 x="200" y="360"/>
<p2 x="340" y="360"/>
</wire>
<wire> <wire>
<p1 x="300" y="-140"/> <p1 x="300" y="-140"/>
<p2 x="380" y="-140"/> <p2 x="380" y="-140"/>
@ -223,17 +236,9 @@
<p2 x="260" y="-140"/> <p2 x="260" y="-140"/>
</wire> </wire>
<wire> <wire>
<p1 x="340" y="460"/> <p1 x="100" y="460"/>
<p2 x="440" y="460"/>
</wire>
<wire>
<p1 x="180" y="460"/>
<p2 x="220" y="460"/> <p2 x="220" y="460"/>
</wire> </wire>
<wire>
<p1 x="20" y="460"/>
<p2 x="100" y="460"/>
</wire>
<wire> <wire>
<p1 x="80" y="140"/> <p1 x="80" y="140"/>
<p2 x="240" y="140"/> <p2 x="240" y="140"/>
@ -250,10 +255,6 @@
<p1 x="80" y="300"/> <p1 x="80" y="300"/>
<p2 x="220" y="300"/> <p2 x="220" y="300"/>
</wire> </wire>
<wire>
<p1 x="20" y="560"/>
<p2 x="160" y="560"/>
</wire>
<wire> <wire>
<p1 x="160" y="240"/> <p1 x="160" y="240"/>
<p2 x="240" y="240"/> <p2 x="240" y="240"/>
@ -263,7 +264,11 @@
<p2 x="320" y="240"/> <p2 x="320" y="240"/>
</wire> </wire>
<wire> <wire>
<p1 x="160" y="500"/> <p1 x="180" y="340"/>
<p2 x="320" y="340"/>
</wire>
<wire>
<p1 x="20" y="500"/>
<p2 x="220" y="500"/> <p2 x="220" y="500"/>
</wire> </wire>
<wire> <wire>
@ -274,6 +279,18 @@
<p1 x="80" y="180"/> <p1 x="80" y="180"/>
<p2 x="220" y="180"/> <p2 x="220" y="180"/>
</wire> </wire>
<wire>
<p1 x="340" y="440"/>
<p2 x="440" y="440"/>
</wire>
<wire>
<p1 x="180" y="440"/>
<p2 x="220" y="440"/>
</wire>
<wire>
<p1 x="20" y="440"/>
<p2 x="100" y="440"/>
</wire>
<wire> <wire>
<p1 x="160" y="120"/> <p1 x="160" y="120"/>
<p2 x="240" y="120"/> <p2 x="240" y="120"/>
@ -282,29 +299,17 @@
<p1 x="300" y="120"/> <p1 x="300" y="120"/>
<p2 x="340" y="120"/> <p2 x="340" y="120"/>
</wire> </wire>
<wire>
<p1 x="200" y="440"/>
<p2 x="220" y="440"/>
</wire>
<wire>
<p1 x="340" y="440"/>
<p2 x="380" y="440"/>
</wire>
<wire> <wire>
<p1 x="220" y="280"/> <p1 x="220" y="280"/>
<p2 x="240" y="280"/> <p2 x="240" y="280"/>
</wire> </wire>
<wire> <wire>
<p1 x="160" y="540"/> <p1 x="20" y="540"/>
<p2 x="220" y="540"/> <p2 x="160" y="540"/>
</wire> </wire>
<wire> <wire>
<p1 x="200" y="380"/> <p1 x="160" y="520"/>
<p2 x="340" y="380"/> <p2 x="160" y="540"/>
</wire>
<wire>
<p1 x="160" y="540"/>
<p2 x="160" y="560"/>
</wire> </wire>
<wire> <wire>
<p1 x="160" y="20"/> <p1 x="160" y="20"/>
@ -312,7 +317,7 @@
</wire> </wire>
<wire> <wire>
<p1 x="160" y="240"/> <p1 x="160" y="240"/>
<p2 x="160" y="500"/> <p2 x="160" y="480"/>
</wire> </wire>
<wire> <wire>
<p1 x="160" y="120"/> <p1 x="160" y="120"/>
@ -320,23 +325,23 @@
</wire> </wire>
<wire> <wire>
<p1 x="320" y="240"/> <p1 x="320" y="240"/>
<p2 x="320" y="360"/> <p2 x="320" y="340"/>
</wire> </wire>
<wire> <wire>
<p1 x="180" y="360"/> <p1 x="180" y="340"/>
<p2 x="180" y="460"/> <p2 x="180" y="440"/>
</wire> </wire>
<wire> <wire>
<p1 x="100" y="460"/> <p1 x="100" y="440"/>
<p2 x="100" y="480"/> <p2 x="100" y="460"/>
</wire> </wire>
<wire> <wire>
<p1 x="340" y="120"/> <p1 x="340" y="120"/>
<p2 x="340" y="380"/> <p2 x="340" y="360"/>
</wire> </wire>
<wire> <wire>
<p1 x="200" y="380"/> <p1 x="200" y="360"/>
<p2 x="200" y="440"/> <p2 x="200" y="420"/>
</wire> </wire>
<wire> <wire>
<p1 x="280" y="-120"/> <p1 x="280" y="-120"/>
@ -356,7 +361,7 @@
</wire> </wire>
<wire> <wire>
<p1 x="380" y="260"/> <p1 x="380" y="260"/>
<p2 x="380" y="440"/> <p2 x="380" y="420"/>
</wire> </wire>
<wire> <wire>
<p1 x="380" y="140"/> <p1 x="380" y="140"/>