diff options
Diffstat (limited to 'design/alu.dig')
-rw-r--r-- | design/alu.dig | 1029 |
1 files changed, 1029 insertions, 0 deletions
diff --git a/design/alu.dig b/design/alu.dig new file mode 100644 index 0000000..3bd054a --- /dev/null +++ b/design/alu.dig @@ -0,0 +1,1029 @@ +<?xml version="1.0" encoding="utf-8"?> +<circuit> + <version>1</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="240" y="740"/> + </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="240" y="780"/> + </visualElement> + <visualElement> + <elementName>In</elementName> + <elementAttributes> + <entry> + <string>Label</string> + <string>Op</string> + </entry> + <entry> + <string>Bits</string> + <int>4</int> + </entry> + </elementAttributes> + <pos x="240" y="360"/> + </visualElement> + <visualElement> + <elementName>Out</elementName> + <elementAttributes> + <entry> + <string>Label</string> + <string>Res</string> + </entry> + <entry> + <string>Bits</string> + <int>8</int> + </entry> + </elementAttributes> + <pos x="760" y="540"/> + </visualElement> + <visualElement> + <elementName>Out</elementName> + <elementAttributes> + <entry> + <string>Label</string> + <string>Cout</string> + </entry> + </elementAttributes> + <pos x="760" y="620"/> + </visualElement> + <visualElement> + <elementName>Out</elementName> + <elementAttributes> + <entry> + <string>Label</string> + <string>Equal</string> + </entry> + </elementAttributes> + <pos x="760" y="700"/> + </visualElement> + <visualElement> + <elementName>equal.dig</elementName> + <elementAttributes/> + <pos x="380" y="1640"/> + </visualElement> + <visualElement> + <elementName>Decoder</elementName> + <elementAttributes> + <entry> + <string>Selector Bits</string> + <int>4</int> + </entry> + <entry> + <string>flipSelPos</string> + <boolean>true</boolean> + </entry> + </elementAttributes> + <pos x="260" y="380"/> + </visualElement> + <visualElement> + <elementName>Multiplexer</elementName> + <elementAttributes> + <entry> + <string>Selector Bits</string> + <int>4</int> + </entry> + <entry> + <string>Bits</string> + <int>8</int> + </entry> + <entry> + <string>flipSelPos</string> + <boolean>true</boolean> + </entry> + </elementAttributes> + <pos x="600" y="380"/> + </visualElement> + <visualElement> + <elementName>add8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="760"/> + </visualElement> + <visualElement> + <elementName>min8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="860"/> + </visualElement> + <visualElement> + <elementName>min8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="960"/> + </visualElement> + <visualElement> + <elementName>BitSelector</elementName> + <elementAttributes> + <entry> + <string>Selector Bits</string> + <int>3</int> + </entry> + </elementAttributes> + <pos x="700" y="620"/> + </visualElement> + <visualElement> + <elementName>Const</elementName> + <elementAttributes> + <entry> + <string>Value</string> + <long>7</long> + </entry> + <entry> + <string>Bits</string> + <int>3</int> + </entry> + </elementAttributes> + <pos x="700" y="660"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_AplusB</string> + </entry> + </elementAttributes> + <pos x="320" y="380"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_AminB</string> + </entry> + </elementAttributes> + <pos x="320" y="400"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_BminA</string> + </entry> + </elementAttributes> + <pos x="320" y="420"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_OnlyA</string> + </entry> + </elementAttributes> + <pos x="320" y="460"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_OnlyB</string> + </entry> + </elementAttributes> + <pos x="320" y="480"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_MinA</string> + </entry> + </elementAttributes> + <pos x="320" y="500"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_MinB</string> + </entry> + </elementAttributes> + <pos x="320" y="520"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_ShiftLeftA</string> + </entry> + </elementAttributes> + <pos x="320" y="540"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_ShiftRightA</string> + </entry> + </elementAttributes> + <pos x="320" y="560"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_RotateLeftA</string> + </entry> + </elementAttributes> + <pos x="320" y="580"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_RotateRight_A</string> + </entry> + </elementAttributes> + <pos x="320" y="600"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_AllZeros</string> + </entry> + </elementAttributes> + <pos x="320" y="660"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>E_AllOnes</string> + </entry> + </elementAttributes> + <pos x="320" y="680"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_AplusB</string> + </entry> + </elementAttributes> + <pos x="580" y="380"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_AminB</string> + </entry> + </elementAttributes> + <pos x="580" y="400"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_BminA</string> + </entry> + </elementAttributes> + <pos x="580" y="420"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_OnlyA</string> + </entry> + </elementAttributes> + <pos x="580" y="460"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_OnlyB</string> + </entry> + </elementAttributes> + <pos x="580" y="480"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_MinA</string> + </entry> + </elementAttributes> + <pos x="580" y="500"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_MinB</string> + </entry> + </elementAttributes> + <pos x="580" y="520"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_ShiftLeftA</string> + </entry> + </elementAttributes> + <pos x="580" y="540"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_ShiftRightA</string> + </entry> + </elementAttributes> + <pos x="580" y="560"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_RotateLeftA</string> + </entry> + </elementAttributes> + <pos x="580" y="580"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>rotation</string> + <rotation rotation="2"/> + </entry> + <entry> + <string>NetName</string> + <string>R_RotateRight_A</string> + </entry> + </elementAttributes> + <pos x="580" y="600"/> + </visualElement> + <visualElement> + <elementName>NotConnected</elementName> + <elementAttributes/> + <pos x="360" y="800"/> + </visualElement> + <visualElement> + <elementName>NotConnected</elementName> + <elementAttributes/> + <pos x="360" y="900"/> + </visualElement> + <visualElement> + <elementName>NotConnected</elementName> + <elementAttributes/> + <pos x="360" y="1000"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_AplusB</string> + </entry> + </elementAttributes> + <pos x="460" y="760"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_AminB</string> + </entry> + </elementAttributes> + <pos x="460" y="860"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_BminA</string> + </entry> + </elementAttributes> + <pos x="460" y="960"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_OnlyA</string> + </entry> + </elementAttributes> + <pos x="460" y="1040"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_OnlyB</string> + </entry> + </elementAttributes> + <pos x="460" y="1080"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_MinA</string> + </entry> + </elementAttributes> + <pos x="460" y="1120"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_MinB</string> + </entry> + </elementAttributes> + <pos x="460" y="1180"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_ShiftLeftA</string> + </entry> + </elementAttributes> + <pos x="460" y="1260"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_ShiftRightA</string> + </entry> + </elementAttributes> + <pos x="460" y="1360"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_RotateLeftA</string> + </entry> + </elementAttributes> + <pos x="460" y="1460"/> + </visualElement> + <visualElement> + <elementName>Tunnel</elementName> + <elementAttributes> + <entry> + <string>NetName</string> + <string>R_RotateRight_A</string> + </entry> + </elementAttributes> + <pos x="460" y="1560"/> + </visualElement> + <visualElement> + <elementName>2c.dig</elementName> + <elementAttributes/> + <pos x="380" y="1120"/> + </visualElement> + <visualElement> + <elementName>2c.dig</elementName> + <elementAttributes/> + <pos x="380" y="1180"/> + </visualElement> + <visualElement> + <elementName>Const</elementName> + <elementAttributes> + <entry> + <string>Value</string> + <long>0</long> + </entry> + <entry> + <string>Bits</string> + <int>8</int> + </entry> + </elementAttributes> + <pos x="440" y="660"/> + </visualElement> + <visualElement> + <elementName>Const</elementName> + <elementAttributes> + <entry> + <string>Value</string> + <long>255</long> + </entry> + <entry> + <string>Bits</string> + <int>8</int> + </entry> + </elementAttributes> + <pos x="440" y="680"/> + </visualElement> + <visualElement> + <elementName>sl8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="1240"/> + </visualElement> + <visualElement> + <elementName>sr8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="1340"/> + </visualElement> + <visualElement> + <elementName>rl8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="1440"/> + </visualElement> + <visualElement> + <elementName>rr8b.dig</elementName> + <elementAttributes/> + <pos x="380" y="1540"/> + </visualElement> + </visualElements> + <wires> + <wire> + <p1 x="320" y="960"/> + <p2 x="380" y="960"/> + </wire> + <wire> + <p1 x="440" y="960"/> + <p2 x="460" y="960"/> + </wire> + <wire> + <p1 x="320" y="1280"/> + <p2 x="380" y="1280"/> + </wire> + <wire> + <p1 x="460" y="640"/> + <p2 x="600" y="640"/> + </wire> + <wire> + <p1 x="360" y="900"/> + <p2 x="380" y="900"/> + </wire> + <wire> + <p1 x="300" y="580"/> + <p2 x="320" y="580"/> + </wire> + <wire> + <p1 x="580" y="580"/> + <p2 x="600" y="580"/> + </wire> + <wire> + <p1 x="340" y="1540"/> + <p2 x="380" y="1540"/> + </wire> + <wire> + <p1 x="300" y="520"/> + <p2 x="320" y="520"/> + </wire> + <wire> + <p1 x="580" y="520"/> + <p2 x="600" y="520"/> + </wire> + <wire> + <p1 x="320" y="1480"/> + <p2 x="380" y="1480"/> + </wire> + <wire> + <p1 x="240" y="780"/> + <p2 x="320" y="780"/> + </wire> + <wire> + <p1 x="320" y="780"/> + <p2 x="380" y="780"/> + </wire> + <wire> + <p1 x="300" y="460"/> + <p2 x="320" y="460"/> + </wire> + <wire> + <p1 x="580" y="460"/> + <p2 x="600" y="460"/> + </wire> + <wire> + <p1 x="320" y="1680"/> + <p2 x="380" y="1680"/> + </wire> + <wire> + <p1 x="340" y="1040"/> + <p2 x="460" y="1040"/> + </wire> + <wire> + <p1 x="440" y="1360"/> + <p2 x="460" y="1360"/> + </wire> + <wire> + <p1 x="300" y="400"/> + <p2 x="320" y="400"/> + </wire> + <wire> + <p1 x="580" y="400"/> + <p2 x="600" y="400"/> + </wire> + <wire> + <p1 x="340" y="980"/> + <p2 x="380" y="980"/> + </wire> + <wire> + <p1 x="700" y="660"/> + <p2 x="720" y="660"/> + </wire> + <wire> + <p1 x="300" y="660"/> + <p2 x="320" y="660"/> + </wire> + <wire> + <p1 x="440" y="660"/> + <p2 x="460" y="660"/> + </wire> + <wire> + <p1 x="460" y="660"/> + <p2 x="600" y="660"/> + </wire> + <wire> + <p1 x="340" y="1240"/> + <p2 x="380" y="1240"/> + </wire> + <wire> + <p1 x="300" y="600"/> + <p2 x="320" y="600"/> + </wire> + <wire> + <p1 x="580" y="600"/> + <p2 x="600" y="600"/> + </wire> + <wire> + <p1 x="440" y="1560"/> + <p2 x="460" y="1560"/> + </wire> + <wire> + <p1 x="340" y="860"/> + <p2 x="380" y="860"/> + </wire> + <wire> + <p1 x="440" y="860"/> + <p2 x="460" y="860"/> + </wire> + <wire> + <p1 x="440" y="1180"/> + <p2 x="460" y="1180"/> + </wire> + <wire> + <p1 x="320" y="1180"/> + <p2 x="380" y="1180"/> + </wire> + <wire> + <p1 x="640" y="540"/> + <p2 x="680" y="540"/> + </wire> + <wire> + <p1 x="300" y="540"/> + <p2 x="320" y="540"/> + </wire> + <wire> + <p1 x="580" y="540"/> + <p2 x="600" y="540"/> + </wire> + <wire> + <p1 x="680" y="540"/> + <p2 x="760" y="540"/> + </wire> + <wire> + <p1 x="360" y="800"/> + <p2 x="380" y="800"/> + </wire> + <wire> + <p1 x="440" y="1120"/> + <p2 x="460" y="1120"/> + </wire> + <wire> + <p1 x="340" y="1120"/> + <p2 x="380" y="1120"/> + </wire> + <wire> + <p1 x="300" y="480"/> + <p2 x="320" y="480"/> + </wire> + <wire> + <p1 x="580" y="480"/> + <p2 x="600" y="480"/> + </wire> + <wire> + <p1 x="340" y="1440"/> + <p2 x="380" y="1440"/> + </wire> + <wire> + <p1 x="240" y="740"/> + <p2 x="340" y="740"/> + </wire> + <wire> + <p1 x="300" y="420"/> + <p2 x="320" y="420"/> + </wire> + <wire> + <p1 x="580" y="420"/> + <p2 x="600" y="420"/> + </wire> + <wire> + <p1 x="320" y="1380"/> + <p2 x="380" y="1380"/> + </wire> + <wire> + <p1 x="340" y="1640"/> + <p2 x="380" y="1640"/> + </wire> + <wire> + <p1 x="240" y="360"/> + <p2 x="280" y="360"/> + </wire> + <wire> + <p1 x="280" y="360"/> + <p2 x="620" y="360"/> + </wire> + <wire> + <p1 x="300" y="680"/> + <p2 x="320" y="680"/> + </wire> + <wire> + <p1 x="440" y="680"/> + <p2 x="600" y="680"/> + </wire> + <wire> + <p1 x="360" y="1000"/> + <p2 x="380" y="1000"/> + </wire> + <wire> + <p1 x="740" y="620"/> + <p2 x="760" y="620"/> + </wire> + <wire> + <p1 x="680" y="620"/> + <p2 x="700" y="620"/> + </wire> + <wire> + <p1 x="460" y="620"/> + <p2 x="600" y="620"/> + </wire> + <wire> + <p1 x="440" y="1260"/> + <p2 x="460" y="1260"/> + </wire> + <wire> + <p1 x="320" y="1580"/> + <p2 x="380" y="1580"/> + </wire> + <wire> + <p1 x="300" y="560"/> + <p2 x="320" y="560"/> + </wire> + <wire> + <p1 x="580" y="560"/> + <p2 x="600" y="560"/> + </wire> + <wire> + <p1 x="320" y="880"/> + <p2 x="380" y="880"/> + </wire> + <wire> + <p1 x="300" y="500"/> + <p2 x="320" y="500"/> + </wire> + <wire> + <p1 x="580" y="500"/> + <p2 x="600" y="500"/> + </wire> + <wire> + <p1 x="440" y="1460"/> + <p2 x="460" y="1460"/> + </wire> + <wire> + <p1 x="340" y="760"/> + <p2 x="380" y="760"/> + </wire> + <wire> + <p1 x="440" y="760"/> + <p2 x="460" y="760"/> + </wire> + <wire> + <p1 x="320" y="1080"/> + <p2 x="460" y="1080"/> + </wire> + <wire> + <p1 x="460" y="440"/> + <p2 x="600" y="440"/> + </wire> + <wire> + <p1 x="300" y="380"/> + <p2 x="320" y="380"/> + </wire> + <wire> + <p1 x="580" y="380"/> + <p2 x="600" y="380"/> + </wire> + <wire> + <p1 x="340" y="1340"/> + <p2 x="380" y="1340"/> + </wire> + <wire> + <p1 x="720" y="700"/> + <p2 x="760" y="700"/> + </wire> + <wire> + <p1 x="440" y="1660"/> + <p2 x="720" y="1660"/> + </wire> + <wire> + <p1 x="720" y="640"/> + <p2 x="720" y="660"/> + </wire> + <wire> + <p1 x="720" y="700"/> + <p2 x="720" y="1660"/> + </wire> + <wire> + <p1 x="320" y="780"/> + <p2 x="320" y="880"/> + </wire> + <wire> + <p1 x="320" y="1380"/> + <p2 x="320" y="1480"/> + </wire> + <wire> + <p1 x="320" y="880"/> + <p2 x="320" y="960"/> + </wire> + <wire> + <p1 x="320" y="1180"/> + <p2 x="320" y="1280"/> + </wire> + <wire> + <p1 x="320" y="960"/> + <p2 x="320" y="1080"/> + </wire> + <wire> + <p1 x="320" y="1480"/> + <p2 x="320" y="1580"/> + </wire> + <wire> + <p1 x="320" y="1280"/> + <p2 x="320" y="1380"/> + </wire> + <wire> + <p1 x="320" y="1580"/> + <p2 x="320" y="1680"/> + </wire> + <wire> + <p1 x="320" y="1080"/> + <p2 x="320" y="1180"/> + </wire> + <wire> + <p1 x="340" y="740"/> + <p2 x="340" y="760"/> + </wire> + <wire> + <p1 x="340" y="980"/> + <p2 x="340" y="1040"/> + </wire> + <wire> + <p1 x="340" y="1240"/> + <p2 x="340" y="1340"/> + </wire> + <wire> + <p1 x="340" y="760"/> + <p2 x="340" y="860"/> + </wire> + <wire> + <p1 x="340" y="1540"/> + <p2 x="340" y="1640"/> + </wire> + <wire> + <p1 x="340" y="1040"/> + <p2 x="340" y="1120"/> + </wire> + <wire> + <p1 x="340" y="1340"/> + <p2 x="340" y="1440"/> + </wire> + <wire> + <p1 x="340" y="860"/> + <p2 x="340" y="980"/> + </wire> + <wire> + <p1 x="340" y="1120"/> + <p2 x="340" y="1240"/> + </wire> + <wire> + <p1 x="340" y="1440"/> + <p2 x="340" y="1540"/> + </wire> + <wire> + <p1 x="280" y="360"/> + <p2 x="280" y="380"/> + </wire> + <wire> + <p1 x="680" y="540"/> + <p2 x="680" y="620"/> + </wire> + <wire> + <p1 x="620" y="360"/> + <p2 x="620" y="380"/> + </wire> + <wire> + <p1 x="460" y="440"/> + <p2 x="460" y="620"/> + </wire> + <wire> + <p1 x="460" y="620"/> + <p2 x="460" y="640"/> + </wire> + <wire> + <p1 x="460" y="640"/> + <p2 x="460" y="660"/> + </wire> + </wires> + <measurementOrdering/> +</circuit>
\ No newline at end of file |