aboutsummaryrefslogtreecommitdiffstats
path: root/digital/atk16_alu_inputs.dig
diff options
context:
space:
mode:
Diffstat (limited to 'digital/atk16_alu_inputs.dig')
-rw-r--r--digital/atk16_alu_inputs.dig237
1 files changed, 237 insertions, 0 deletions
diff --git a/digital/atk16_alu_inputs.dig b/digital/atk16_alu_inputs.dig
new file mode 100644
index 0000000..2ed5b74
--- /dev/null
+++ b/digital/atk16_alu_inputs.dig
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>
+<circuit>
+ <version>2</version>
+ <attributes>
+ <entry>
+ <string>Description</string>
+ <string>Maps the R1 input to the A output. Uses OPCODE parity to mux either the R2 input (even parity) or the RW_S input, here acting as a small immediate value, to the B output.</string>
+ </entry>
+ <entry>
+ <string>romContent</string>
+ <romList>
+ <roms/>
+ </romList>
+ </entry>
+ <entry>
+ <string>Width</string>
+ <int>5</int>
+ </entry>
+ </attributes>
+ <visualElements>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Register 1 value from regbank</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>R1</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="60" y="380"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Register 2 value from regbank</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>R2</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="60" y="460"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>4</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>1</string>
+ </entry>
+ </elementAttributes>
+ <pos x="220" y="620"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Multiplexer</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="260" y="500"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Register 2 selector</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>R2_S</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>3</int>
+ </entry>
+ </elementAttributes>
+ <pos x="180" y="540"/>
+ </visualElement>
+ <visualElement>
+ <elementName>In</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Opcode</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>OPCODE</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>4</int>
+ </entry>
+ </elementAttributes>
+ <pos x="180" y="620"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Out</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Output A</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>A</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="460"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Out</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Description</string>
+ <string>Output B</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>B</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>16</int>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="520"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>3,13</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>16</string>
+ </entry>
+ </elementAttributes>
+ <pos x="220" y="540"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Ground</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Bits</string>
+ <int>13</int>
+ </entry>
+ </elementAttributes>
+ <pos x="200" y="580"/>
+ </visualElement>
+ </visualElements>
+ <wires>
+ <wire>
+ <p1 x="200" y="560"/>
+ <p2 x="220" y="560"/>
+ </wire>
+ <wire>
+ <p1 x="200" y="500"/>
+ <p2 x="260" y="500"/>
+ </wire>
+ <wire>
+ <p1 x="300" y="520"/>
+ <p2 x="380" y="520"/>
+ </wire>
+ <wire>
+ <p1 x="180" y="620"/>
+ <p2 x="220" y="620"/>
+ </wire>
+ <wire>
+ <p1 x="240" y="620"/>
+ <p2 x="280" y="620"/>
+ </wire>
+ <wire>
+ <p1 x="60" y="460"/>
+ <p2 x="200" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="460"/>
+ <p2 x="380" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="60" y="380"/>
+ <p2 x="340" y="380"/>
+ </wire>
+ <wire>
+ <p1 x="240" y="540"/>
+ <p2 x="260" y="540"/>
+ </wire>
+ <wire>
+ <p1 x="180" y="540"/>
+ <p2 x="220" y="540"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="380"/>
+ <p2 x="340" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="280" y="540"/>
+ <p2 x="280" y="620"/>
+ </wire>
+ <wire>
+ <p1 x="200" y="460"/>
+ <p2 x="200" y="500"/>
+ </wire>
+ <wire>
+ <p1 x="200" y="560"/>
+ <p2 x="200" y="580"/>
+ </wire>
+ </wires>
+ <measurementOrdering/>
+</circuit> \ No newline at end of file