diff --git a/src/main/dig/combinatorial/FullAdder.svg b/src/main/dig/combinatorial/FullAdder.svg new file mode 100644 index 000000000..efa9bf56d --- /dev/null +++ b/src/main/dig/combinatorial/FullAdder.svg @@ -0,0 +1,122 @@ + + + + + + image/svg+xml + + + + + + + + + + + A_i + + B_i + + + C_{i-1} + + + + C_i + + + S_i + diff --git a/src/main/dig/combinatorial/FullSub.dig b/src/main/dig/combinatorial/FullSub.dig index 9830471e8..beb6d5d3f 100644 --- a/src/main/dig/combinatorial/FullSub.dig +++ b/src/main/dig/combinatorial/FullSub.dig @@ -2,10 +2,134 @@ 1 + + shapeType + CUSTOM + Width 4 + + customShape + + + + BO_{i-1} + + + false + + + + BO_i + + + false + + + + A_i + + + false + + + + S_i + + + false + + + + B_i + + + false + + + + + + + 4 + false + + 0 + 0 + 0 + 255 + + + + + + A_i + LEFTBOTTOM + 18 + + 128 + 128 + 128 + 255 + + + + + + B_i + LEFTBOTTOM + 18 + + 128 + 128 + 128 + 255 + + + + + + BO_{i-1} + LEFTBOTTOM + 18 + + 128 + 128 + 128 + 255 + + + + + + BO_i + RIGHTBOTTOM + 18 + + 128 + 128 + 128 + 255 + + + + + + S_i + RIGHTBOTTOM + 18 + + 128 + 128 + 128 + 255 + + + + + @@ -13,7 +137,7 @@ Label - $A_i$ + A_i @@ -23,7 +147,7 @@ Label - $B_i$ + B_i @@ -33,7 +157,7 @@ Label - $BO_{i-1}$ + BO_{i-1} @@ -53,7 +177,7 @@ Label - $BO_i$ + BO_i @@ -68,7 +192,7 @@ Label - $S_i$ + S_i @@ -79,7 +203,7 @@ Testdata - A_i B_i BO_i-1 BO_i S_i + A_i B_i BO_{i-1} BO_i S_i 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 diff --git a/src/main/dig/combinatorial/FullSub.svg b/src/main/dig/combinatorial/FullSub.svg new file mode 100644 index 000000000..2aab20db8 --- /dev/null +++ b/src/main/dig/combinatorial/FullSub.svg @@ -0,0 +1,114 @@ + + + + + + image/svg+xml + + + + + + + + + + + A_i + + B_i + + BO_{i-1} + + BO_i + + S_i + diff --git a/src/main/dig/combinatorial/FullSubRC.dig b/src/main/dig/combinatorial/FullSubRC.dig index dfe97ac4d..37f409326 100644 --- a/src/main/dig/combinatorial/FullSubRC.dig +++ b/src/main/dig/combinatorial/FullSubRC.dig @@ -6,162 +6,210 @@ Out + + rotation + + Label - $S_0$ + S_0 - + In + + rotation + + Label - $A_0$ + A_0 - + In + + rotation + + Label - $B_0$ + B_0 - + + + + Out + + + rotation + + + + Label + S_1 + + + + + + In + + + rotation + + + + Label + A_1 + + + + + + In + + + rotation + + + + Label + B_1 + + + + + + Out + + + rotation + + + + Label + S_2 + + + + + + In + + + rotation + + + + Label + A_2 + + + + + + In + + + rotation + + + + Label + B_2 + + + + + + Out + + + rotation + + + + Label + S_3 + + + + + + In + + + rotation + + + + Label + A_3 + + + + + + In + + + rotation + + + + Label + B_3 + + + Out Label - $S_1$ + C - + In Label - $A_1$ + C_{-1} - - - - In - - - Label - $B_1$ - - - - - - Out - - - Label - $S_2$ - - - - - - In - - - Label - $A_2$ - - - - - - In - - - Label - $B_2$ - - - - - - Out - - - Label - $S_3$ - - - - - - In - - - Label - $A_3$ - - - - - - In - - - Label - $B_3$ - - - - - - Out - - - Label - $C$ - - - - - - In - - - Label - $C_{-1}$ - - - + FullSub.dig - + FullSub.dig - + FullSub.dig - + FullSub.dig - + Testcase @@ -170,180 +218,84 @@ Testdata # complete test of all 512 possible additions -C_-1 A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C S_3 S_2 S_1 S_0 +C_{-1} A_3 A_2 A_1 A_0 B_3 B_2 B_1 B_0 C S_3 S_2 S_1 S_0 repeat(256) 0 bits(4,n>>4) bits(4,n) bits(5,(n>>4)-(n&15)) repeat(256) 1 bits(4,n>>4) bits(4,n) bits(5,(n>>4)-(n&15)-1) - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file