aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alu/alu.srcs/constrs_1/main.xdc5
-rw-r--r--design/alu.dig645
-rw-r--r--design/min8b.dig60
-rw-r--r--design/sl8b.dig2
-rw-r--r--design/sr8b.dig2
-rw-r--r--src/alu.vhd9
-rw-r--r--src/main-alu.vhd6
7 files changed, 521 insertions, 208 deletions
diff --git a/alu/alu.srcs/constrs_1/main.xdc b/alu/alu.srcs/constrs_1/main.xdc
index e6f238d..d694404 100644
--- a/alu/alu.srcs/constrs_1/main.xdc
+++ b/alu/alu.srcs/constrs_1/main.xdc
@@ -1,5 +1,5 @@
set_property IOSTANDARD LVCMOS33 [get_ports CLK]
-set_property IOSTANDARD LVCMOS33 [get_ports Equal]
+set_property IOSTANDARD LVCMOS33 [get_ports EQ]
set_property IOSTANDARD LVCMOS33 [get_ports {A[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {A[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {A[2]}]
@@ -32,9 +32,9 @@ set_property IOSTANDARD LVCMOS33 [get_ports {Op[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {Op[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {Op[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {Op[3]}]
-set_property IOSTANDARD LVCMOS33 [get_ports {Res[7]}]
set_property PACKAGE_PIN W5 [get_ports CLK]
+set_property PACKAGE_PIN U16 [get_ports EQ]
set_property PACKAGE_PIN V7 [get_ports {DD[7]}]
set_property PACKAGE_PIN U7 [get_ports {DD[6]}]
set_property PACKAGE_PIN V5 [get_ports {DD[5]}]
@@ -67,3 +67,4 @@ set_property PACKAGE_PIN T18 [get_ports {Op[3]}]
set_property PACKAGE_PIN W19 [get_ports {Op[2]}]
set_property PACKAGE_PIN T17 [get_ports {Op[1]}]
set_property PACKAGE_PIN U17 [get_ports {Op[0]}]
+
diff --git a/design/alu.dig b/design/alu.dig
index 3b66936..eaf6c5e 100644
--- a/design/alu.dig
+++ b/design/alu.dig
@@ -77,12 +77,12 @@
<string>Equal</string>
</entry>
</elementAttributes>
- <pos x="560" y="1660"/>
+ <pos x="580" y="1700"/>
</visualElement>
<visualElement>
<elementName>equal.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1640"/>
+ <pos x="400" y="1680"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
@@ -103,19 +103,14 @@
<pos x="360" y="300"/>
</visualElement>
<visualElement>
- <elementName>add8b.dig</elementName>
- <elementAttributes/>
- <pos x="380" y="760"/>
- </visualElement>
- <visualElement>
<elementName>min8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="860"/>
+ <pos x="400" y="860"/>
</visualElement>
<visualElement>
<elementName>min8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="960"/>
+ <pos x="400" y="960"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -279,7 +274,7 @@
<string>R_AplusB</string>
</entry>
</elementAttributes>
- <pos x="460" y="760"/>
+ <pos x="480" y="760"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -289,7 +284,7 @@
<string>R_AminB</string>
</entry>
</elementAttributes>
- <pos x="460" y="860"/>
+ <pos x="480" y="860"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -299,7 +294,7 @@
<string>R_BminA</string>
</entry>
</elementAttributes>
- <pos x="460" y="960"/>
+ <pos x="480" y="960"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -309,7 +304,7 @@
<string>R_OnlyA</string>
</entry>
</elementAttributes>
- <pos x="460" y="1040"/>
+ <pos x="480" y="1040"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -319,7 +314,7 @@
<string>R_OnlyB</string>
</entry>
</elementAttributes>
- <pos x="460" y="1080"/>
+ <pos x="480" y="1080"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -329,7 +324,7 @@
<string>R_MinA</string>
</entry>
</elementAttributes>
- <pos x="460" y="1120"/>
+ <pos x="480" y="1120"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -339,7 +334,7 @@
<string>R_MinB</string>
</entry>
</elementAttributes>
- <pos x="460" y="1180"/>
+ <pos x="480" y="1200"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -349,7 +344,7 @@
<string>R_ShiftLeftA</string>
</entry>
</elementAttributes>
- <pos x="460" y="1260"/>
+ <pos x="480" y="1300"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -359,7 +354,7 @@
<string>R_ShiftRightA</string>
</entry>
</elementAttributes>
- <pos x="460" y="1360"/>
+ <pos x="480" y="1400"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -369,7 +364,7 @@
<string>R_RotateLeftA</string>
</entry>
</elementAttributes>
- <pos x="460" y="1460"/>
+ <pos x="480" y="1500"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -379,17 +374,17 @@
<string>R_RotateRight_A</string>
</entry>
</elementAttributes>
- <pos x="460" y="1560"/>
+ <pos x="480" y="1600"/>
</visualElement>
<visualElement>
<elementName>2c.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1120"/>
+ <pos x="400" y="1120"/>
</visualElement>
<visualElement>
<elementName>2c.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1180"/>
+ <pos x="400" y="1200"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
@@ -422,22 +417,22 @@
<visualElement>
<elementName>sl8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1240"/>
+ <pos x="400" y="1280"/>
</visualElement>
<visualElement>
<elementName>sr8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1340"/>
+ <pos x="400" y="1380"/>
</visualElement>
<visualElement>
<elementName>rl8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1440"/>
+ <pos x="400" y="1480"/>
</visualElement>
<visualElement>
<elementName>rr8b.dig</elementName>
<elementAttributes/>
- <pos x="380" y="1540"/>
+ <pos x="400" y="1580"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
@@ -447,7 +442,7 @@
<long>0</long>
</entry>
</elementAttributes>
- <pos x="360" y="800"/>
+ <pos x="380" y="800"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
@@ -457,7 +452,7 @@
<long>0</long>
</entry>
</elementAttributes>
- <pos x="360" y="900"/>
+ <pos x="380" y="900"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
@@ -467,7 +462,7 @@
<long>0</long>
</entry>
</elementAttributes>
- <pos x="360" y="1000"/>
+ <pos x="380" y="1000"/>
</visualElement>
<visualElement>
<elementName>Multiplexer</elementName>
@@ -491,7 +486,7 @@
<string>C_AplusB</string>
</entry>
</elementAttributes>
- <pos x="460" y="780"/>
+ <pos x="480" y="780"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -501,7 +496,7 @@
<string>C_AminB</string>
</entry>
</elementAttributes>
- <pos x="460" y="880"/>
+ <pos x="480" y="880"/>
</visualElement>
<visualElement>
<elementName>Tunnel</elementName>
@@ -511,7 +506,111 @@
<string>C_BminA</string>
</entry>
</elementAttributes>
- <pos x="460" y="980"/>
+ <pos x="480" y="980"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>8</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>7-7</string>
+ </entry>
+ </elementAttributes>
+ <pos x="440" y="680"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>8</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>7-7</string>
+ </entry>
+ </elementAttributes>
+ <pos x="460" y="700"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>C_AplusB</string>
+ </entry>
+ </elementAttributes>
+ <pos x="640" y="300"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>C_AminB</string>
+ </entry>
+ </elementAttributes>
+ <pos x="640" y="320"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>C_BminA</string>
+ </entry>
+ </elementAttributes>
+ <pos x="640" y="340"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Const</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Value</string>
+ <long>0</long>
+ </entry>
+ </elementAttributes>
+ <pos x="520" y="580"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Const</elementName>
+ <elementAttributes/>
+ <pos x="520" y="600"/>
+ </visualElement>
+ <visualElement>
+ <elementName>add8bs.dig</elementName>
+ <elementAttributes/>
+ <pos x="400" y="760"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>8</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>7-7</string>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="1140"/>
</visualElement>
<visualElement>
<elementName>Splitter</elementName>
@@ -522,316 +621,476 @@
</entry>
<entry>
<string>Output Splitting</string>
- <string>7,1</string>
+ <string>7-7</string>
+ </entry>
+ </elementAttributes>
+ <pos x="360" y="1220"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>NetName</string>
+ <string>C_MinA</string>
+ </entry>
+ </elementAttributes>
+ <pos x="480" y="1140"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>NetName</string>
+ <string>C_MinB</string>
+ </entry>
+ </elementAttributes>
+ <pos x="480" y="1220"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>C_MinA</string>
</entry>
</elementAttributes>
- <pos x="420" y="460"/>
+ <pos x="640" y="420"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Tunnel</elementName>
+ <elementAttributes>
+ <entry>
+ <string>rotation</string>
+ <rotation rotation="2"/>
+ </entry>
+ <entry>
+ <string>NetName</string>
+ <string>C_MinB</string>
+ </entry>
+ </elementAttributes>
+ <pos x="640" y="440"/>
</visualElement>
</visualElements>
<wires>
<wire>
- <p1 x="320" y="960"/>
- <p2 x="380" y="960"/>
+ <p1 x="340" y="1280"/>
+ <p2 x="400" y="1280"/>
</wire>
<wire>
- <p1 x="440" y="960"/>
- <p2 x="460" y="960"/>
+ <p1 x="380" y="900"/>
+ <p2 x="400" y="900"/>
</wire>
<wire>
- <p1 x="320" y="1280"/>
- <p2 x="380" y="1280"/>
+ <p1 x="340" y="520"/>
+ <p2 x="360" y="520"/>
</wire>
<wire>
- <p1 x="340" y="320"/>
- <p2 x="360" y="320"/>
+ <p1 x="540" y="520"/>
+ <p2 x="660" y="520"/>
</wire>
<wire>
- <p1 x="340" y="1540"/>
- <p2 x="380" y="1540"/>
+ <p1 x="240" y="780"/>
+ <p2 x="320" y="780"/>
</wire>
<wire>
- <p1 x="360" y="900"/>
- <p2 x="380" y="900"/>
+ <p1 x="460" y="780"/>
+ <p2 x="480" y="780"/>
</wire>
<wire>
- <p1 x="200" y="580"/>
- <p2 x="220" y="580"/>
+ <p1 x="320" y="780"/>
+ <p2 x="400" y="780"/>
</wire>
<wire>
- <p1 x="220" y="580"/>
- <p2 x="360" y="580"/>
+ <p1 x="320" y="1420"/>
+ <p2 x="400" y="1420"/>
</wire>
<wire>
- <p1 x="320" y="1480"/>
- <p2 x="380" y="1480"/>
+ <p1 x="340" y="1040"/>
+ <p2 x="480" y="1040"/>
</wire>
<wire>
- <p1 x="340" y="520"/>
- <p2 x="360" y="520"/>
+ <p1 x="340" y="400"/>
+ <p2 x="360" y="400"/>
</wire>
<wire>
- <p1 x="240" y="780"/>
- <p2 x="320" y="780"/>
+ <p1 x="480" y="400"/>
+ <p2 x="660" y="400"/>
</wire>
<wire>
- <p1 x="440" y="780"/>
- <p2 x="460" y="780"/>
+ <p1 x="340" y="1680"/>
+ <p2 x="400" y="1680"/>
</wire>
<wire>
- <p1 x="320" y="780"/>
- <p2 x="380" y="780"/>
+ <p1 x="460" y="1300"/>
+ <p2 x="480" y="1300"/>
</wire>
<wire>
- <p1 x="340" y="460"/>
- <p2 x="360" y="460"/>
+ <p1 x="420" y="660"/>
+ <p2 x="720" y="660"/>
</wire>
<wire>
- <p1 x="400" y="460"/>
- <p2 x="420" y="460"/>
+ <p1 x="240" y="280"/>
+ <p2 x="380" y="280"/>
</wire>
<wire>
- <p1 x="700" y="460"/>
- <p2 x="720" y="460"/>
+ <p1 x="380" y="280"/>
+ <p2 x="680" y="280"/>
</wire>
<wire>
- <p1 x="320" y="1680"/>
- <p2 x="380" y="1680"/>
+ <p1 x="220" y="540"/>
+ <p2 x="360" y="540"/>
</wire>
<wire>
- <p1 x="340" y="1040"/>
- <p2 x="460" y="1040"/>
+ <p1 x="540" y="540"/>
+ <p2 x="660" y="540"/>
</wire>
<wire>
- <p1 x="440" y="1360"/>
- <p2 x="460" y="1360"/>
+ <p1 x="380" y="800"/>
+ <p2 x="400" y="800"/>
</wire>
<wire>
- <p1 x="340" y="400"/>
- <p2 x="360" y="400"/>
+ <p1 x="460" y="1700"/>
+ <p2 x="580" y="1700"/>
</wire>
<wire>
- <p1 x="340" y="980"/>
- <p2 x="380" y="980"/>
+ <p1 x="340" y="420"/>
+ <p2 x="360" y="420"/>
</wire>
<wire>
- <p1 x="440" y="980"/>
- <p2 x="460" y="980"/>
+ <p1 x="640" y="420"/>
+ <p2 x="660" y="420"/>
</wire>
<wire>
- <p1 x="340" y="340"/>
- <p2 x="360" y="340"/>
+ <p1 x="320" y="1320"/>
+ <p2 x="400" y="1320"/>
</wire>
<wire>
- <p1 x="420" y="660"/>
- <p2 x="720" y="660"/>
+ <p1 x="340" y="680"/>
+ <p2 x="440" y="680"/>
</wire>
<wire>
- <p1 x="340" y="1240"/>
- <p2 x="380" y="1240"/>
+ <p1 x="340" y="1580"/>
+ <p2 x="400" y="1580"/>
</wire>
<wire>
- <p1 x="440" y="1560"/>
- <p2 x="460" y="1560"/>
+ <p1 x="340" y="300"/>
+ <p2 x="360" y="300"/>
</wire>
<wire>
- <p1 x="200" y="600"/>
- <p2 x="360" y="600"/>
+ <p1 x="640" y="300"/>
+ <p2 x="660" y="300"/>
</wire>
<wire>
- <p1 x="240" y="280"/>
- <p2 x="380" y="280"/>
+ <p1 x="460" y="1200"/>
+ <p2 x="480" y="1200"/>
</wire>
<wire>
- <p1 x="380" y="280"/>
- <p2 x="680" y="280"/>
+ <p1 x="320" y="1200"/>
+ <p2 x="400" y="1200"/>
</wire>
<wire>
- <p1 x="340" y="860"/>
- <p2 x="380" y="860"/>
+ <p1 x="220" y="560"/>
+ <p2 x="360" y="560"/>
</wire>
<wire>
- <p1 x="440" y="860"/>
- <p2 x="460" y="860"/>
+ <p1 x="540" y="560"/>
+ <p2 x="660" y="560"/>
</wire>
<wire>
- <p1 x="440" y="1180"/>
- <p2 x="460" y="1180"/>
+ <p1 x="320" y="1720"/>
+ <p2 x="400" y="1720"/>
</wire>
<wire>
- <p1 x="320" y="1180"/>
- <p2 x="380" y="1180"/>
+ <p1 x="340" y="440"/>
+ <p2 x="360" y="440"/>
</wire>
<wire>
- <p1 x="220" y="540"/>
- <p2 x="360" y="540"/>
+ <p1 x="640" y="440"/>
+ <p2 x="660" y="440"/>
</wire>
<wire>
- <p1 x="440" y="1120"/>
- <p2 x="460" y="1120"/>
+ <p1 x="320" y="1080"/>
+ <p2 x="480" y="1080"/>
</wire>
<wire>
- <p1 x="340" y="1120"/>
- <p2 x="380" y="1120"/>
+ <p1 x="320" y="700"/>
+ <p2 x="460" y="700"/>
</wire>
<wire>
- <p1 x="340" y="1440"/>
- <p2 x="380" y="1440"/>
+ <p1 x="320" y="960"/>
+ <p2 x="400" y="960"/>
</wire>
<wire>
- <p1 x="360" y="800"/>
- <p2 x="380" y="800"/>
+ <p1 x="460" y="960"/>
+ <p2 x="480" y="960"/>
</wire>
<wire>
- <p1 x="340" y="480"/>
- <p2 x="360" y="480"/>
+ <p1 x="340" y="320"/>
+ <p2 x="360" y="320"/>
</wire>
<wire>
- <p1 x="240" y="740"/>
- <p2 x="340" y="740"/>
+ <p1 x="640" y="320"/>
+ <p2 x="660" y="320"/>
</wire>
<wire>
- <p1 x="320" y="1380"/>
- <p2 x="380" y="1380"/>
+ <p1 x="460" y="1600"/>
+ <p2 x="480" y="1600"/>
</wire>
<wire>
- <p1 x="340" y="420"/>
- <p2 x="360" y="420"/>
+ <p1 x="200" y="580"/>
+ <p2 x="220" y="580"/>
</wire>
<wire>
- <p1 x="340" y="1640"/>
- <p2 x="380" y="1640"/>
+ <p1 x="520" y="580"/>
+ <p2 x="540" y="580"/>
</wire>
<wire>
- <p1 x="360" y="1000"/>
- <p2 x="380" y="1000"/>
+ <p1 x="540" y="580"/>
+ <p2 x="660" y="580"/>
</wire>
<wire>
- <p1 x="220" y="360"/>
- <p2 x="360" y="360"/>
+ <p1 x="220" y="580"/>
+ <p2 x="360" y="580"/>
</wire>
<wire>
- <p1 x="440" y="1260"/>
- <p2 x="460" y="1260"/>
+ <p1 x="380" y="1220"/>
+ <p2 x="400" y="1220"/>
</wire>
<wire>
- <p1 x="320" y="1580"/>
- <p2 x="380" y="1580"/>
+ <p1 x="320" y="1220"/>
+ <p2 x="360" y="1220"/>
</wire>
<wire>
- <p1 x="340" y="300"/>
- <p2 x="360" y="300"/>
+ <p1 x="460" y="1220"/>
+ <p2 x="480" y="1220"/>
</wire>
<wire>
- <p1 x="220" y="560"/>
- <p2 x="360" y="560"/>
+ <p1 x="340" y="1480"/>
+ <p2 x="400" y="1480"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="460"/>
+ <p2 x="360" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="700" y="460"/>
+ <p2 x="720" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="400" y="460"/>
+ <p2 x="420" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="460"/>
+ <p2 x="660" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="320" y="1620"/>
+ <p2 x="400" y="1620"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="980"/>
+ <p2 x="400" y="980"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="980"/>
+ <p2 x="480" y="980"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="340"/>
+ <p2 x="360" y="340"/>
+ </wire>
+ <wire>
+ <p1 x="640" y="340"/>
+ <p2 x="660" y="340"/>
+ </wire>
+ <wire>
+ <p1 x="200" y="600"/>
+ <p2 x="360" y="600"/>
+ </wire>
+ <wire>
+ <p1 x="520" y="600"/>
+ <p2 x="660" y="600"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="1500"/>
+ <p2 x="480" y="1500"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="860"/>
+ <p2 x="400" y="860"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="860"/>
+ <p2 x="480" y="860"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="1120"/>
+ <p2 x="480" y="1120"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="1120"/>
+ <p2 x="400" y="1120"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="480"/>
+ <p2 x="360" y="480"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="480"/>
+ <p2 x="660" y="480"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="1380"/>
+ <p2 x="400" y="1380"/>
+ </wire>
+ <wire>
+ <p1 x="240" y="740"/>
+ <p2 x="340" y="740"/>
+ </wire>
+ <wire>
+ <p1 x="380" y="1000"/>
+ <p2 x="400" y="1000"/>
+ </wire>
+ <wire>
+ <p1 x="220" y="360"/>
+ <p2 x="360" y="360"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="360"/>
+ <p2 x="660" y="360"/>
+ </wire>
+ <wire>
+ <p1 x="320" y="1520"/>
+ <p2 x="400" y="1520"/>
</wire>
<wire>
<p1 x="320" y="880"/>
- <p2 x="380" y="880"/>
+ <p2 x="400" y="880"/>
</wire>
<wire>
- <p1 x="440" y="880"/>
- <p2 x="460" y="880"/>
+ <p1 x="460" y="880"/>
+ <p2 x="480" y="880"/>
</wire>
<wire>
<p1 x="340" y="500"/>
<p2 x="360" y="500"/>
</wire>
<wire>
- <p1 x="440" y="1460"/>
- <p2 x="460" y="1460"/>
+ <p1 x="460" y="500"/>
+ <p2 x="660" y="500"/>
</wire>
<wire>
- <p1 x="340" y="440"/>
- <p2 x="360" y="440"/>
+ <p1 x="380" y="1140"/>
+ <p2 x="400" y="1140"/>
</wire>
<wire>
- <p1 x="340" y="760"/>
- <p2 x="380" y="760"/>
+ <p1 x="340" y="1140"/>
+ <p2 x="360" y="1140"/>
</wire>
<wire>
- <p1 x="440" y="760"/>
- <p2 x="460" y="760"/>
+ <p1 x="460" y="1140"/>
+ <p2 x="480" y="1140"/>
</wire>
<wire>
- <p1 x="320" y="1080"/>
- <p2 x="460" y="1080"/>
+ <p1 x="460" y="1400"/>
+ <p2 x="480" y="1400"/>
</wire>
<wire>
- <p1 x="440" y="1660"/>
- <p2 x="560" y="1660"/>
+ <p1 x="340" y="760"/>
+ <p2 x="400" y="760"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="760"/>
+ <p2 x="480" y="760"/>
</wire>
<wire>
<p1 x="340" y="380"/>
<p2 x="360" y="380"/>
</wire>
<wire>
- <p1 x="340" y="1340"/>
- <p2 x="380" y="1340"/>
+ <p1 x="460" y="380"/>
+ <p2 x="660" y="380"/>
</wire>
<wire>
- <p1 x="320" y="780"/>
- <p2 x="320" y="880"/>
+ <p1 x="320" y="700"/>
+ <p2 x="320" y="780"/>
</wire>
<wire>
- <p1 x="320" y="1380"/>
- <p2 x="320" y="1480"/>
+ <p1 x="320" y="1620"/>
+ <p2 x="320" y="1720"/>
</wire>
<wire>
<p1 x="320" y="880"/>
<p2 x="320" y="960"/>
</wire>
<wire>
- <p1 x="320" y="1180"/>
- <p2 x="320" y="1280"/>
+ <p1 x="320" y="1420"/>
+ <p2 x="320" y="1520"/>
+ </wire>
+ <wire>
+ <p1 x="320" y="1200"/>
+ <p2 x="320" y="1220"/>
</wire>
<wire>
<p1 x="320" y="960"/>
<p2 x="320" y="1080"/>
</wire>
<wire>
- <p1 x="320" y="1480"/>
- <p2 x="320" y="1580"/>
+ <p1 x="320" y="1220"/>
+ <p2 x="320" y="1320"/>
+ </wire>
+ <wire>
+ <p1 x="320" y="1520"/>
+ <p2 x="320" y="1620"/>
</wire>
<wire>
- <p1 x="320" y="1280"/>
- <p2 x="320" y="1380"/>
+ <p1 x="320" y="780"/>
+ <p2 x="320" y="880"/>
</wire>
<wire>
- <p1 x="320" y="1580"/>
- <p2 x="320" y="1680"/>
+ <p1 x="320" y="1320"/>
+ <p2 x="320" y="1420"/>
</wire>
<wire>
<p1 x="320" y="1080"/>
- <p2 x="320" y="1180"/>
+ <p2 x="320" y="1200"/>
</wire>
<wire>
- <p1 x="340" y="740"/>
- <p2 x="340" y="760"/>
+ <p1 x="480" y="400"/>
+ <p2 x="480" y="700"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="680"/>
+ <p2 x="340" y="740"/>
</wire>
<wire>
<p1 x="340" y="980"/>
<p2 x="340" y="1040"/>
</wire>
<wire>
- <p1 x="340" y="1240"/>
- <p2 x="340" y="1340"/>
+ <p1 x="340" y="740"/>
+ <p2 x="340" y="760"/>
</wire>
<wire>
<p1 x="340" y="760"/>
<p2 x="340" y="860"/>
</wire>
<wire>
- <p1 x="340" y="1540"/>
- <p2 x="340" y="1640"/>
+ <p1 x="340" y="1280"/>
+ <p2 x="340" y="1380"/>
</wire>
<wire>
<p1 x="340" y="1040"/>
<p2 x="340" y="1120"/>
</wire>
<wire>
- <p1 x="340" y="1340"/>
- <p2 x="340" y="1440"/>
+ <p1 x="340" y="1580"/>
+ <p2 x="340" y="1680"/>
</wire>
<wire>
<p1 x="340" y="860"/>
@@ -839,11 +1098,19 @@
</wire>
<wire>
<p1 x="340" y="1120"/>
- <p2 x="340" y="1240"/>
+ <p2 x="340" y="1140"/>
</wire>
<wire>
- <p1 x="340" y="1440"/>
- <p2 x="340" y="1540"/>
+ <p1 x="340" y="1380"/>
+ <p2 x="340" y="1480"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="1140"/>
+ <p2 x="340" y="1280"/>
+ </wire>
+ <wire>
+ <p1 x="340" y="1480"/>
+ <p2 x="340" y="1580"/>
</wire>
<wire>
<p1 x="420" y="460"/>
@@ -854,6 +1121,26 @@
<p2 x="680" y="300"/>
</wire>
<wire>
+ <p1 x="540" y="360"/>
+ <p2 x="540" y="480"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="480"/>
+ <p2 x="540" y="520"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="520"/>
+ <p2 x="540" y="540"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="540"/>
+ <p2 x="540" y="560"/>
+ </wire>
+ <wire>
+ <p1 x="540" y="560"/>
+ <p2 x="540" y="580"/>
+ </wire>
+ <wire>
<p1 x="220" y="360"/>
<p2 x="220" y="540"/>
</wire>
@@ -869,6 +1156,18 @@
<p1 x="380" y="280"/>
<p2 x="380" y="300"/>
</wire>
+ <wire>
+ <p1 x="460" y="380"/>
+ <p2 x="460" y="460"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="460"/>
+ <p2 x="460" y="500"/>
+ </wire>
+ <wire>
+ <p1 x="460" y="500"/>
+ <p2 x="460" y="680"/>
+ </wire>
</wires>
<measurementOrdering/>
</circuit> \ No newline at end of file
diff --git a/design/min8b.dig b/design/min8b.dig
index e4b5f08..e49753f 100644
--- a/design/min8b.dig
+++ b/design/min8b.dig
@@ -15,7 +15,7 @@
<int>8</int>
</entry>
</elementAttributes>
- <pos x="300" y="320"/>
+ <pos x="260" y="320"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@@ -29,7 +29,7 @@
<int>8</int>
</entry>
</elementAttributes>
- <pos x="300" y="360"/>
+ <pos x="260" y="360"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@@ -39,17 +39,7 @@
<string>Cin</string>
</entry>
</elementAttributes>
- <pos x="300" y="420"/>
- </visualElement>
- <visualElement>
- <elementName>Out</elementName>
- <elementAttributes>
- <entry>
- <string>Label</string>
- <string>Cout</string>
- </entry>
- </elementAttributes>
- <pos x="580" y="440"/>
+ <pos x="260" y="420"/>
</visualElement>
<visualElement>
<elementName>2c.dig</elementName>
@@ -98,10 +88,34 @@
</elementAttributes>
<pos x="580" y="340"/>
</visualElement>
+ <visualElement>
+ <elementName>Splitter</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Input Splitting</string>
+ <string>8</string>
+ </entry>
+ <entry>
+ <string>Output Splitting</string>
+ <string>0-7,7-7</string>
+ </entry>
+ </elementAttributes>
+ <pos x="280" y="360"/>
+ </visualElement>
+ <visualElement>
+ <elementName>Out</elementName>
+ <elementAttributes>
+ <entry>
+ <string>Label</string>
+ <string>Cout</string>
+ </entry>
+ </elementAttributes>
+ <pos x="580" y="440"/>
+ </visualElement>
</visualElements>
<wires>
<wire>
- <p1 x="300" y="320"/>
+ <p1 x="260" y="320"/>
<p2 x="420" y="320"/>
</wire>
<wire>
@@ -121,7 +135,7 @@
<p2 x="580" y="340"/>
</wire>
<wire>
- <p1 x="300" y="420"/>
+ <p1 x="260" y="420"/>
<p2 x="420" y="420"/>
</wire>
<wire>
@@ -129,10 +143,6 @@
<p2 x="560" y="420"/>
</wire>
<wire>
- <p1 x="300" y="360"/>
- <p2 x="320" y="360"/>
- </wire>
- <wire>
<p1 x="380" y="360"/>
<p2 x="480" y="360"/>
</wire>
@@ -141,6 +151,14 @@
<p2 x="560" y="360"/>
</wire>
<wire>
+ <p1 x="260" y="360"/>
+ <p2 x="280" y="360"/>
+ </wire>
+ <wire>
+ <p1 x="300" y="360"/>
+ <p2 x="320" y="360"/>
+ </wire>
+ <wire>
<p1 x="460" y="440"/>
<p2 x="480" y="440"/>
</wire>
@@ -161,6 +179,10 @@
<p2 x="400" y="380"/>
</wire>
<wire>
+ <p1 x="300" y="380"/>
+ <p2 x="320" y="380"/>
+ </wire>
+ <wire>
<p1 x="400" y="380"/>
<p2 x="400" y="460"/>
</wire>
diff --git a/design/sl8b.dig b/design/sl8b.dig
index 02bc36e..dc87485 100644
--- a/design/sl8b.dig
+++ b/design/sl8b.dig
@@ -68,7 +68,7 @@
</entry>
<entry>
<string>Output Splitting</string>
- <string>4*2</string>
+ <string>0-3</string>
</entry>
</elementAttributes>
<pos x="700" y="440"/>
diff --git a/design/sr8b.dig b/design/sr8b.dig
index 14ca7e1..51fceb2 100644
--- a/design/sr8b.dig
+++ b/design/sr8b.dig
@@ -72,7 +72,7 @@
</entry>
<entry>
<string>Output Splitting</string>
- <string>4*2</string>
+ <string>0-3</string>
</entry>
</elementAttributes>
<pos x="700" y="440"/>
diff --git a/src/alu.vhd b/src/alu.vhd
index edaee52..ee9b729 100644
--- a/src/alu.vhd
+++ b/src/alu.vhd
@@ -29,17 +29,8 @@ architecture Behavioral of ALU is
signal C_AplusB,
C_AminB,
C_BminA,
- C_Dummy,
- C_OnlyA,
- C_OnlyB,
C_MinA,
C_MinB,
- C_ShiftLeftA,
- C_ShiftRightA,
- C_RotateLeftA,
- C_RotateRightA,
- C_AllZeros,
- C_AllOnes,
C: std_logic := '0';
component add8bs is
port (
diff --git a/src/main-alu.vhd b/src/main-alu.vhd
index ffc46f8..b7ffa05 100644
--- a/src/main-alu.vhd
+++ b/src/main-alu.vhd
@@ -9,7 +9,8 @@ entity main is
Op: in std_logic_vector(3 downto 0);
CLK: in std_logic;
DD: out std_logic_vector(7 downto 0);
- DS: out std_logic_vector(3 downto 0));
+ DS: out std_logic_vector(3 downto 0);
+ EQ: out std_logic);
end main;
architecture Behavioral of main is
@@ -42,7 +43,6 @@ architecture Behavioral of main is
end component;
signal CALC_NUM: std_logic_vector(8 downto 0);
- signal ALU_EQ: std_logic;
signal DISP_NUM: std_logic_vector(8 downto 0);
signal N0, N1, N2, N3: std_logic_vector(3 downto 0);
signal NC0, NC1: std_logic_vector(8 downto 0); -- carry from bin2bcd8
@@ -62,7 +62,7 @@ begin
Op => Op,
Res => CALC_NUM(7 downto 0),
Cout => CALC_NUM(8),
- Equal => ALU_EQ);
+ Equal => EQ);
topos: component stopp
port map(