add math gates, fix 32-bit shifters

This commit is contained in:
Redo
2025-02-19 10:15:56 -07:00
parent a571ac5f3c
commit 68562d4d66
11 changed files with 20291 additions and 20082 deletions

View File

@@ -219,95 +219,119 @@ cFuncsByName = {
["demux 7 bit vertical"] = 77,
["demux 8 bit"] = 78,
["demux 8 bit vertical"] = 78,
["adder 1 bit"] = 79,
["adder 2 bit"] = 80,
["adder 4 bit"] = 81,
["adder 8 bit"] = 82,
["adder 16 bit"] = 83,
["adder 32 bit"] = 84,
["and 2 bit"] = 85,
["and 3 bit"] = 86,
["and 4 bit"] = 87,
["and 5 bit"] = 88,
["and 6 bit"] = 89,
["and 7 bit"] = 90,
["and 8 bit"] = 91,
["or 2 bit"] = 92,
["or 3 bit"] = 93,
["or 4 bit"] = 94,
["or 5 bit"] = 95,
["or 6 bit"] = 96,
["or 7 bit"] = 97,
["or 8 bit"] = 98,
["xor 2 bit"] = 99,
["xor 3 bit"] = 100,
["xor 4 bit"] = 101,
["xor 5 bit"] = 102,
["xor 6 bit"] = 103,
["xor 7 bit"] = 104,
["xor 8 bit"] = 105,
["nand 2 bit"] = 106,
["nand 3 bit"] = 107,
["nand 4 bit"] = 108,
["nand 5 bit"] = 109,
["nand 6 bit"] = 110,
["nand 7 bit"] = 111,
["nand 8 bit"] = 112,
["nor 2 bit"] = 113,
["nor 3 bit"] = 114,
["nor 4 bit"] = 115,
["nor 5 bit"] = 116,
["nor 6 bit"] = 117,
["nor 7 bit"] = 118,
["nor 8 bit"] = 119,
["xnor 2 bit"] = 120,
["xnor 3 bit"] = 121,
["xnor 4 bit"] = 122,
["xnor 5 bit"] = 123,
["xnor 6 bit"] = 124,
["xnor 7 bit"] = 125,
["xnor 8 bit"] = 126,
["rom 4x4"] = 127,
["rom 4x4x4"] = 128,
["rom 8x2x8"] = 129,
["rom 8x8"] = 130,
["rom 8x8x4"] = 131,
["rom 8x8x8"] = 132,
["rom 16x4x16"] = 133,
["rom 32x2x32"] = 134,
["rom 64x1x48"] = 135,
["rom 64x1x64"] = 136,
["rom 16x16"] = 137,
["rom 16x16x4"] = 138,
["rom 16x16x8"] = 139,
["rom 16x16x16"] = 140,
["rom 32x8x32"] = 141,
["rom 64x4x48"] = 142,
["rom 64x4x64"] = 143,
["rom 32x16"] = 144,
["rom 32x16x4"] = 145,
["rom 32x16x8"] = 146,
["rom 32x16x16"] = 147,
["rom 32x16x32"] = 148,
["rom 64x8x48"] = 149,
["rom 64x8x64"] = 150,
["rom 32x32x8"] = 151,
["rom 32x32x16"] = 152,
["rom 32x32x32"] = 153,
["rom 64x16x48"] = 154,
["rom 64x16x64"] = 155,
["rom 64x32x8"] = 156,
["rom 64x32x16"] = 157,
["rom 64x32x32"] = 158,
["rom 64x32x48"] = 159,
["rom 64x32x64"] = 160,
["rom 64x64x8"] = 161,
["rom 64x64x16"] = 162,
["rom 64x64x32"] = 163,
["rom 64x64x48"] = 164,
["rom 64x64x64"] = 165,
["ram 256 b"] = 166,
["ram 4 kb"] = 167,
["adder 2 bit"] = 79,
["adder 4 bit"] = 80,
["adder 8 bit"] = 81,
["adder 16 bit"] = 82,
["adder 32 bit"] = 83,
["incrementer 2 bit"] = 84,
["incrementer 4 bit"] = 85,
["incrementer 8 bit"] = 86,
["incrementer 16 bit"] = 87,
["incrementer 32 bit"] = 88,
["multiplier 2 bit"] = 89,
["multiplier 4 bit"] = 90,
["multiplier 8 bit"] = 91,
["multiplier 16 bit"] = 92,
["multiplier 32 bit"] = 93,
["divider 2 bit"] = 94,
["divider 4 bit"] = 95,
["divider 8 bit"] = 96,
["divider 16 bit"] = 97,
["divider 32 bit"] = 98,
["shifter left 2 bit"] = 99,
["shifter left 4 bit"] = 100,
["shifter left 8 bit"] = 101,
["shifter left 16 bit"] = 102,
["shifter left 32 bit"] = 103,
["shifter right 2 bit"] = 104,
["shifter right 4 bit"] = 105,
["shifter right 8 bit"] = 106,
["shifter right 16 bit"] = 107,
["shifter right 32 bit"] = 108,
["and 2 bit"] = 109,
["and 3 bit"] = 110,
["and 4 bit"] = 111,
["and 5 bit"] = 112,
["and 6 bit"] = 113,
["and 7 bit"] = 114,
["and 8 bit"] = 115,
["or 2 bit"] = 116,
["or 3 bit"] = 117,
["or 4 bit"] = 118,
["or 5 bit"] = 119,
["or 6 bit"] = 120,
["or 7 bit"] = 121,
["or 8 bit"] = 122,
["xor 2 bit"] = 123,
["xor 3 bit"] = 124,
["xor 4 bit"] = 125,
["xor 5 bit"] = 126,
["xor 6 bit"] = 127,
["xor 7 bit"] = 128,
["xor 8 bit"] = 129,
["nand 2 bit"] = 130,
["nand 3 bit"] = 131,
["nand 4 bit"] = 132,
["nand 5 bit"] = 133,
["nand 6 bit"] = 134,
["nand 7 bit"] = 135,
["nand 8 bit"] = 136,
["nor 2 bit"] = 137,
["nor 3 bit"] = 138,
["nor 4 bit"] = 139,
["nor 5 bit"] = 140,
["nor 6 bit"] = 141,
["nor 7 bit"] = 142,
["nor 8 bit"] = 143,
["xnor 2 bit"] = 144,
["xnor 3 bit"] = 145,
["xnor 4 bit"] = 146,
["xnor 5 bit"] = 147,
["xnor 6 bit"] = 148,
["xnor 7 bit"] = 149,
["xnor 8 bit"] = 150,
["rom 4x4"] = 151,
["rom 4x4x4"] = 152,
["rom 8x2x8"] = 153,
["rom 8x8"] = 154,
["rom 8x8x4"] = 155,
["rom 8x8x8"] = 156,
["rom 16x4x16"] = 157,
["rom 32x2x32"] = 158,
["rom 64x1x48"] = 159,
["rom 64x1x64"] = 160,
["rom 16x16"] = 161,
["rom 16x16x4"] = 162,
["rom 16x16x8"] = 163,
["rom 16x16x16"] = 164,
["rom 32x8x32"] = 165,
["rom 64x4x48"] = 166,
["rom 64x4x64"] = 167,
["rom 32x16"] = 168,
["rom 32x16x4"] = 169,
["rom 32x16x8"] = 170,
["rom 32x16x16"] = 171,
["rom 32x16x32"] = 172,
["rom 64x8x48"] = 173,
["rom 64x8x64"] = 174,
["rom 32x32x8"] = 175,
["rom 32x32x16"] = 176,
["rom 32x32x32"] = 177,
["rom 64x16x48"] = 178,
["rom 64x16x64"] = 179,
["rom 64x32x8"] = 180,
["rom 64x32x16"] = 181,
["rom 64x32x32"] = 182,
["rom 64x32x48"] = 183,
["rom 64x32x64"] = 184,
["rom 64x64x8"] = 185,
["rom 64x64x16"] = 186,
["rom 64x64x32"] = 187,
["rom 64x64x48"] = 188,
["rom 64x64x64"] = 189,
["ram 256 b"] = 190,
["ram 4 kb"] = 191,
}
cDataSizeByName = {