diff options
-rw-r--r-- | alu/alu.srcs/constrs_1/main.xdc | 5 | ||||
-rw-r--r-- | design/alu.dig | 645 | ||||
-rw-r--r-- | design/min8b.dig | 60 | ||||
-rw-r--r-- | design/sl8b.dig | 2 | ||||
-rw-r--r-- | design/sr8b.dig | 2 | ||||
-rw-r--r-- | src/alu.vhd | 9 | ||||
-rw-r--r-- | src/main-alu.vhd | 6 |
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( |