aboutsummaryrefslogtreecommitdiffstats
path: root/digital/atk16_decoder.dig
diff options
context:
space:
mode:
Diffstat (limited to 'digital/atk16_decoder.dig')
-rw-r--r--digital/atk16_decoder.dig306
1 files changed, 145 insertions, 161 deletions
diff --git a/digital/atk16_decoder.dig b/digital/atk16_decoder.dig
index ca22f72..0570615 100644
--- a/digital/atk16_decoder.dig
+++ b/digital/atk16_decoder.dig
@@ -1,51 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<circuit>
<version>2</version>
- <attributes/>
+ <attributes>
+ <entry>
+ <string>romContent</string>
+ <romList>
+ <roms/>
+ </romList>
+ </entry>
+ <entry>
+ <string>Width</string>
+ <int>5</int>
+ </entry>
+ </attributes>
<visualElements>
<visualElement>
- <elementName>Out</elementName>
- <elementAttributes>
- <entry>
- <string>Description</string>
- <string>Write register selection</string>
- </entry>
- <entry>
- <string>Label</string>
- <string>RW_S</string>
- </entry>
- </elementAttributes>
- <pos x="440" y="360"/>
- </visualElement>
- <visualElement>
- <elementName>Out</elementName>
- <elementAttributes>
- <entry>
- <string>Description</string>
- <string>Read register 1 selection</string>
- </entry>
- <entry>
- <string>Label</string>
- <string>R1_S</string>
- </entry>
- </elementAttributes>
- <pos x="440" y="480"/>
- </visualElement>
- <visualElement>
- <elementName>Out</elementName>
- <elementAttributes>
- <entry>
- <string>Description</string>
- <string>Read register 2 selection</string>
- </entry>
- <entry>
- <string>Label</string>
- <string>R2_S</string>
- </entry>
- </elementAttributes>
- <pos x="440" y="440"/>
- </visualElement>
- <visualElement>
<elementName>Register</elementName>
<elementAttributes>
<entry>
@@ -124,34 +93,6 @@
<pos x="400" y="360"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
- <elementAttributes>
- <entry>
- <string>Input Splitting</string>
- <string>9,7</string>
- </entry>
- <entry>
- <string>Output Splitting</string>
- <string>16</string>
- </entry>
- </elementAttributes>
- <pos x="380" y="660"/>
- </visualElement>
- <visualElement>
- <elementName>Ground</elementName>
- <elementAttributes>
- <entry>
- <string>rotation</string>
- <rotation rotation="1"/>
- </entry>
- <entry>
- <string>Bits</string>
- <int>7</int>
- </entry>
- </elementAttributes>
- <pos x="360" y="680"/>
- </visualElement>
- <visualElement>
<elementName>Tunnel</elementName>
<elementAttributes>
<entry>
@@ -176,120 +117,187 @@
<pos x="200" y="340"/>
</visualElement>
<visualElement>
- <elementName>Driver</elementName>
+ <elementName>Out</elementName>
<elementAttributes>
<entry>
+ <string>Description</string>
+ <string>Opcode</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>OP</string>
+ </entry>
+ <entry>
<string>Bits</string>
- <int>16</int>
+ <int>4</int>
</entry>
+ </elementAttributes>
+ <pos x="440" y="520"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Out</elementName>
+ <elementAttributes>
<entry>
- <string>flipSelPos</string>
- <boolean>true</boolean>
+ <string>Description</string>
+ <string>Write register selection</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>RW_S</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>3</int>
</entry>
</elementAttributes>
- <pos x="460" y="660"/>
+ <pos x="440" y="480"/>
</visualElement>
<visualElement>
- <elementName>Tunnel</elementName>
+ <elementName>Out</elementName>
<elementAttributes>
<entry>
- <string>NetName</string>
- <string>DBUS</string>
+ <string>Description</string>
+ <string>ALU selection code</string>
+ </entry>
+ <entry>
+ <string>Label</string>
+ <string>ALU_S</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>3</int>
</entry>
</elementAttributes>
- <pos x="500" y="660"/>
+ <pos x="440" y="360"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
+ <elementName>Out</elementName>
<elementAttributes>
<entry>
- <string>Input Splitting</string>
- <string>16</string>
+ <string>Description</string>
+ <string>Read register 1 selection</string>
</entry>
<entry>
- <string>Output Splitting</string>
- <string>3,9,</string>
+ <string>Label</string>
+ <string>R1_S</string>
+ </entry>
+ <entry>
+ <string>Bits</string>
+ <int>3</int>
</entry>
</elementAttributes>
- <pos x="280" y="640"/>
+ <pos x="440" y="440"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
<elementAttributes>
<entry>
<string>Description</string>
- <string>ALU selection code</string>
+ <string>Read register 2 selection</string>
</entry>
<entry>
<string>Label</string>
- <string>ALU_S</string>
+ <string>R2_S</string>
</entry>
<entry>
<string>Bits</string>
- <int>4</int>
+ <int>3</int>
</entry>
</elementAttributes>
- <pos x="640" y="500"/>
+ <pos x="440" y="400"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
<elementAttributes>
<entry>
<string>Input Splitting</string>
- <string>3,1</string>
+ <string>16</string>
</entry>
<entry>
<string>Output Splitting</string>
- <string>4</string>
+ <string>9,</string>
</entry>
</elementAttributes>
- <pos x="600" y="500"/>
+ <pos x="300" y="600"/>
</visualElement>
<visualElement>
- <elementName>Splitter</elementName>
+ <elementName>Driver</elementName>
<elementAttributes>
<entry>
- <string>Input Splitting</string>
- <string>4</string>
+ <string>Bits</string>
+ <int>16</int>
</entry>
<entry>
- <string>Output Splitting</string>
- <string>1,3</string>
+ <string>flipSelPos</string>
+ <boolean>true</boolean>
+ </entry>
+ </elementAttributes>
+ <pos x="480" y="600"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>NetName</string>
+ <string>DBUS</string>
</entry>
</elementAttributes>
- <pos x="480" y="520"/>
+ <pos x="520" y="600"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
<elementAttributes>
<entry>
<string>Description</string>
- <string>Jump address output enable</string>
+ <string>Low 9 bits immediate value output enable</string>
</entry>
<entry>
<string>Label</string>
- <string>JA_OE</string>
+ <string>LI_OE</string>
</entry>
</elementAttributes>
- <pos x="440" y="740"/>
+ <pos x="460" y="680"/>
</visualElement>
<visualElement>
- <elementName>Out</elementName>
+ <elementName>Splitter</elementName>
<elementAttributes>
<entry>
- <string>Description</string>
- <string>Opcode</string>
+ <string>Input Splitting</string>
+ <string>9,7</string>
</entry>
<entry>
- <string>Label</string>
- <string>OP</string>
+ <string>Output Splitting</string>
+ <string>16</string>
+ </entry>
+ </elementAttributes>
+ <pos x="400" y="600"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Ground</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="1"/>
</entry>
<entry>
<string>Bits</string>
- <int>4</int>
+ <int>7</int>
+ </entry>
+ </elementAttributes>
+ <pos x="380" y="620"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Testcase</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Testdata</string>
+ <testData>
+ <dataString>CLK DBUS IR_IE LI_OE OP RW_S R1_S R2_S ALU_S
+C 0b0000001010011000 1 0 0 1 2 3 0</dataString>
+ </testData>
</entry>
</elementAttributes>
- <pos x="640" y="580"/>
+ <pos x="120" y="160"/>
</visualElement>
</visualElements>
<wires>
@@ -299,71 +307,51 @@
</wire>
<wire>
<p1 x="420" y="400"/>
- <p2 x="600" y="400"/>
- </wire>
- <wire>
- <p1 x="300" y="660"/>
- <p2 x="380" y="660"/>
- </wire>
- <wire>
- <p1 x="400" y="660"/>
- <p2 x="440" y="660"/>
- </wire>
- <wire>
- <p1 x="480" y="660"/>
- <p2 x="500" y="660"/>
+ <p2 x="440" y="400"/>
</wire>
<wire>
<p1 x="140" y="420"/>
<p2 x="180" y="420"/>
</wire>
<wire>
- <p1 x="620" y="500"/>
- <p2 x="640" y="500"/>
- </wire>
- <wire>
- <p1 x="440" y="740"/>
- <p2 x="460" y="740"/>
- </wire>
- <wire>
- <p1 x="460" y="580"/>
- <p2 x="640" y="580"/>
- </wire>
- <wire>
- <p1 x="360" y="680"/>
- <p2 x="380" y="680"/>
- </wire>
- <wire>
<p1 x="160" y="360"/>
<p2 x="200" y="360"/>
</wire>
<wire>
<p1 x="260" y="360"/>
- <p2 x="280" y="360"/>
+ <p2 x="300" y="360"/>
</wire>
<wire>
<p1 x="420" y="360"/>
<p2 x="440" y="360"/>
</wire>
<wire>
- <p1 x="280" y="360"/>
+ <p1 x="300" y="360"/>
<p2 x="400" y="360"/>
</wire>
<wire>
<p1 x="420" y="520"/>
- <p2 x="460" y="520"/>
+ <p2 x="440" y="520"/>
</wire>
<wire>
- <p1 x="500" y="520"/>
- <p2 x="600" y="520"/>
+ <p1 x="420" y="440"/>
+ <p2 x="440" y="440"/>
</wire>
<wire>
- <p1 x="460" y="520"/>
- <p2 x="480" y="520"/>
+ <p1 x="500" y="600"/>
+ <p2 x="520" y="600"/>
</wire>
<wire>
- <p1 x="420" y="440"/>
- <p2 x="440" y="440"/>
+ <p1 x="420" y="600"/>
+ <p2 x="460" y="600"/>
+ </wire>
+ <wire>
+ <p1 x="320" y="600"/>
+ <p2 x="400" y="600"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="680"/>
+ <p2 x="480" y="680"/>
</wire>
<wire>
<p1 x="180" y="380"/>
@@ -374,28 +362,24 @@
<p2 x="160" y="380"/>
</wire>
<wire>
- <p1 x="160" y="360"/>
- <p2 x="160" y="380"/>
+ <p1 x="380" y="620"/>
+ <p2 x="400" y="620"/>
</wire>
<wire>
- <p1 x="180" y="380"/>
- <p2 x="180" y="420"/>
- </wire>
- <wire>
- <p1 x="280" y="360"/>
- <p2 x="280" y="640"/>
+ <p1 x="160" y="360"/>
+ <p2 x="160" y="380"/>
</wire>
<wire>
- <p1 x="600" y="400"/>
- <p2 x="600" y="500"/>
+ <p1 x="480" y="620"/>
+ <p2 x="480" y="680"/>
</wire>
<wire>
- <p1 x="460" y="680"/>
- <p2 x="460" y="740"/>
+ <p1 x="180" y="380"/>
+ <p2 x="180" y="420"/>
</wire>
<wire>
- <p1 x="460" y="520"/>
- <p2 x="460" y="580"/>
+ <p1 x="300" y="360"/>
+ <p2 x="300" y="600"/>
</wire>
</wires>
<measurementOrdering/>