phanerozoic commited on
Commit
701e4d2
·
verified ·
1 Parent(s): 775d314

Add ADC circuit (add with carry) - 144 tensors, 131072/131072 tests pass

Browse files
Files changed (3) hide show
  1. neural_computer.safetensors +2 -2
  2. tensors.txt +145 -1
  3. todo.md +1 -1
neural_computer.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:df8eff4c1e0100e587cb723bb22597954bf2f1f511ddbf4d68d5fe159ba06c61
3
- size 375640
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1b659d80e24aada592a634cbdc34dbe4ba2ae716f7deb4a8b9d4221af90c16cd
3
+ size 390888
tensors.txt CHANGED
@@ -1,5 +1,5 @@
1
  # Tensor Manifest
2
- # Total: 3360 tensors
3
 
4
  alu.alu8bit.add.bias: shape=[1], values=[0.0]
5
  alu.alu8bit.add.weight: shape=[16], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
@@ -59,6 +59,150 @@ alu.aluflags.overflow.weight: shape=[3], values=[1.0, 1.0, -1.0]
59
  alu.aluflags.zero.bias: shape=[1], values=[0.0]
60
  alu.aluflags.zero.weight: shape=[8], values=[-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0]
61
  arithmetic.absolutedifference8bit.diff: shape=[16], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  arithmetic.decrementer8bit.adder: shape=[8], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
63
  arithmetic.decrementer8bit.neg_one: shape=[8], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
64
  arithmetic.equality8bit.final_and.bias: shape=[1], values=[-8.0]
 
1
  # Tensor Manifest
2
+ # Total: 3504 tensors
3
 
4
  alu.alu8bit.add.bias: shape=[1], values=[0.0]
5
  alu.alu8bit.add.weight: shape=[16], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
 
59
  alu.aluflags.zero.bias: shape=[1], values=[0.0]
60
  alu.aluflags.zero.weight: shape=[8], values=[-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0]
61
  arithmetic.absolutedifference8bit.diff: shape=[16], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
62
+ arithmetic.adc8bit.fa0.and1.bias: shape=[1], values=[-2.0]
63
+ arithmetic.adc8bit.fa0.and1.weight: shape=[2], values=[1.0, 1.0]
64
+ arithmetic.adc8bit.fa0.and2.bias: shape=[1], values=[-2.0]
65
+ arithmetic.adc8bit.fa0.and2.weight: shape=[2], values=[1.0, 1.0]
66
+ arithmetic.adc8bit.fa0.or_carry.bias: shape=[1], values=[-1.0]
67
+ arithmetic.adc8bit.fa0.or_carry.weight: shape=[2], values=[1.0, 1.0]
68
+ arithmetic.adc8bit.fa0.xor1.layer1.nand.bias: shape=[1], values=[1.0]
69
+ arithmetic.adc8bit.fa0.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
70
+ arithmetic.adc8bit.fa0.xor1.layer1.or.bias: shape=[1], values=[-1.0]
71
+ arithmetic.adc8bit.fa0.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
72
+ arithmetic.adc8bit.fa0.xor1.layer2.bias: shape=[1], values=[-2.0]
73
+ arithmetic.adc8bit.fa0.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
74
+ arithmetic.adc8bit.fa0.xor2.layer1.nand.bias: shape=[1], values=[1.0]
75
+ arithmetic.adc8bit.fa0.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
76
+ arithmetic.adc8bit.fa0.xor2.layer1.or.bias: shape=[1], values=[-1.0]
77
+ arithmetic.adc8bit.fa0.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
78
+ arithmetic.adc8bit.fa0.xor2.layer2.bias: shape=[1], values=[-2.0]
79
+ arithmetic.adc8bit.fa0.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
80
+ arithmetic.adc8bit.fa1.and1.bias: shape=[1], values=[-2.0]
81
+ arithmetic.adc8bit.fa1.and1.weight: shape=[2], values=[1.0, 1.0]
82
+ arithmetic.adc8bit.fa1.and2.bias: shape=[1], values=[-2.0]
83
+ arithmetic.adc8bit.fa1.and2.weight: shape=[2], values=[1.0, 1.0]
84
+ arithmetic.adc8bit.fa1.or_carry.bias: shape=[1], values=[-1.0]
85
+ arithmetic.adc8bit.fa1.or_carry.weight: shape=[2], values=[1.0, 1.0]
86
+ arithmetic.adc8bit.fa1.xor1.layer1.nand.bias: shape=[1], values=[1.0]
87
+ arithmetic.adc8bit.fa1.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
88
+ arithmetic.adc8bit.fa1.xor1.layer1.or.bias: shape=[1], values=[-1.0]
89
+ arithmetic.adc8bit.fa1.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
90
+ arithmetic.adc8bit.fa1.xor1.layer2.bias: shape=[1], values=[-2.0]
91
+ arithmetic.adc8bit.fa1.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
92
+ arithmetic.adc8bit.fa1.xor2.layer1.nand.bias: shape=[1], values=[1.0]
93
+ arithmetic.adc8bit.fa1.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
94
+ arithmetic.adc8bit.fa1.xor2.layer1.or.bias: shape=[1], values=[-1.0]
95
+ arithmetic.adc8bit.fa1.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
96
+ arithmetic.adc8bit.fa1.xor2.layer2.bias: shape=[1], values=[-2.0]
97
+ arithmetic.adc8bit.fa1.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
98
+ arithmetic.adc8bit.fa2.and1.bias: shape=[1], values=[-2.0]
99
+ arithmetic.adc8bit.fa2.and1.weight: shape=[2], values=[1.0, 1.0]
100
+ arithmetic.adc8bit.fa2.and2.bias: shape=[1], values=[-2.0]
101
+ arithmetic.adc8bit.fa2.and2.weight: shape=[2], values=[1.0, 1.0]
102
+ arithmetic.adc8bit.fa2.or_carry.bias: shape=[1], values=[-1.0]
103
+ arithmetic.adc8bit.fa2.or_carry.weight: shape=[2], values=[1.0, 1.0]
104
+ arithmetic.adc8bit.fa2.xor1.layer1.nand.bias: shape=[1], values=[1.0]
105
+ arithmetic.adc8bit.fa2.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
106
+ arithmetic.adc8bit.fa2.xor1.layer1.or.bias: shape=[1], values=[-1.0]
107
+ arithmetic.adc8bit.fa2.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
108
+ arithmetic.adc8bit.fa2.xor1.layer2.bias: shape=[1], values=[-2.0]
109
+ arithmetic.adc8bit.fa2.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
110
+ arithmetic.adc8bit.fa2.xor2.layer1.nand.bias: shape=[1], values=[1.0]
111
+ arithmetic.adc8bit.fa2.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
112
+ arithmetic.adc8bit.fa2.xor2.layer1.or.bias: shape=[1], values=[-1.0]
113
+ arithmetic.adc8bit.fa2.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
114
+ arithmetic.adc8bit.fa2.xor2.layer2.bias: shape=[1], values=[-2.0]
115
+ arithmetic.adc8bit.fa2.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
116
+ arithmetic.adc8bit.fa3.and1.bias: shape=[1], values=[-2.0]
117
+ arithmetic.adc8bit.fa3.and1.weight: shape=[2], values=[1.0, 1.0]
118
+ arithmetic.adc8bit.fa3.and2.bias: shape=[1], values=[-2.0]
119
+ arithmetic.adc8bit.fa3.and2.weight: shape=[2], values=[1.0, 1.0]
120
+ arithmetic.adc8bit.fa3.or_carry.bias: shape=[1], values=[-1.0]
121
+ arithmetic.adc8bit.fa3.or_carry.weight: shape=[2], values=[1.0, 1.0]
122
+ arithmetic.adc8bit.fa3.xor1.layer1.nand.bias: shape=[1], values=[1.0]
123
+ arithmetic.adc8bit.fa3.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
124
+ arithmetic.adc8bit.fa3.xor1.layer1.or.bias: shape=[1], values=[-1.0]
125
+ arithmetic.adc8bit.fa3.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
126
+ arithmetic.adc8bit.fa3.xor1.layer2.bias: shape=[1], values=[-2.0]
127
+ arithmetic.adc8bit.fa3.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
128
+ arithmetic.adc8bit.fa3.xor2.layer1.nand.bias: shape=[1], values=[1.0]
129
+ arithmetic.adc8bit.fa3.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
130
+ arithmetic.adc8bit.fa3.xor2.layer1.or.bias: shape=[1], values=[-1.0]
131
+ arithmetic.adc8bit.fa3.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
132
+ arithmetic.adc8bit.fa3.xor2.layer2.bias: shape=[1], values=[-2.0]
133
+ arithmetic.adc8bit.fa3.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
134
+ arithmetic.adc8bit.fa4.and1.bias: shape=[1], values=[-2.0]
135
+ arithmetic.adc8bit.fa4.and1.weight: shape=[2], values=[1.0, 1.0]
136
+ arithmetic.adc8bit.fa4.and2.bias: shape=[1], values=[-2.0]
137
+ arithmetic.adc8bit.fa4.and2.weight: shape=[2], values=[1.0, 1.0]
138
+ arithmetic.adc8bit.fa4.or_carry.bias: shape=[1], values=[-1.0]
139
+ arithmetic.adc8bit.fa4.or_carry.weight: shape=[2], values=[1.0, 1.0]
140
+ arithmetic.adc8bit.fa4.xor1.layer1.nand.bias: shape=[1], values=[1.0]
141
+ arithmetic.adc8bit.fa4.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
142
+ arithmetic.adc8bit.fa4.xor1.layer1.or.bias: shape=[1], values=[-1.0]
143
+ arithmetic.adc8bit.fa4.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
144
+ arithmetic.adc8bit.fa4.xor1.layer2.bias: shape=[1], values=[-2.0]
145
+ arithmetic.adc8bit.fa4.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
146
+ arithmetic.adc8bit.fa4.xor2.layer1.nand.bias: shape=[1], values=[1.0]
147
+ arithmetic.adc8bit.fa4.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
148
+ arithmetic.adc8bit.fa4.xor2.layer1.or.bias: shape=[1], values=[-1.0]
149
+ arithmetic.adc8bit.fa4.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
150
+ arithmetic.adc8bit.fa4.xor2.layer2.bias: shape=[1], values=[-2.0]
151
+ arithmetic.adc8bit.fa4.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
152
+ arithmetic.adc8bit.fa5.and1.bias: shape=[1], values=[-2.0]
153
+ arithmetic.adc8bit.fa5.and1.weight: shape=[2], values=[1.0, 1.0]
154
+ arithmetic.adc8bit.fa5.and2.bias: shape=[1], values=[-2.0]
155
+ arithmetic.adc8bit.fa5.and2.weight: shape=[2], values=[1.0, 1.0]
156
+ arithmetic.adc8bit.fa5.or_carry.bias: shape=[1], values=[-1.0]
157
+ arithmetic.adc8bit.fa5.or_carry.weight: shape=[2], values=[1.0, 1.0]
158
+ arithmetic.adc8bit.fa5.xor1.layer1.nand.bias: shape=[1], values=[1.0]
159
+ arithmetic.adc8bit.fa5.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
160
+ arithmetic.adc8bit.fa5.xor1.layer1.or.bias: shape=[1], values=[-1.0]
161
+ arithmetic.adc8bit.fa5.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
162
+ arithmetic.adc8bit.fa5.xor1.layer2.bias: shape=[1], values=[-2.0]
163
+ arithmetic.adc8bit.fa5.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
164
+ arithmetic.adc8bit.fa5.xor2.layer1.nand.bias: shape=[1], values=[1.0]
165
+ arithmetic.adc8bit.fa5.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
166
+ arithmetic.adc8bit.fa5.xor2.layer1.or.bias: shape=[1], values=[-1.0]
167
+ arithmetic.adc8bit.fa5.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
168
+ arithmetic.adc8bit.fa5.xor2.layer2.bias: shape=[1], values=[-2.0]
169
+ arithmetic.adc8bit.fa5.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
170
+ arithmetic.adc8bit.fa6.and1.bias: shape=[1], values=[-2.0]
171
+ arithmetic.adc8bit.fa6.and1.weight: shape=[2], values=[1.0, 1.0]
172
+ arithmetic.adc8bit.fa6.and2.bias: shape=[1], values=[-2.0]
173
+ arithmetic.adc8bit.fa6.and2.weight: shape=[2], values=[1.0, 1.0]
174
+ arithmetic.adc8bit.fa6.or_carry.bias: shape=[1], values=[-1.0]
175
+ arithmetic.adc8bit.fa6.or_carry.weight: shape=[2], values=[1.0, 1.0]
176
+ arithmetic.adc8bit.fa6.xor1.layer1.nand.bias: shape=[1], values=[1.0]
177
+ arithmetic.adc8bit.fa6.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
178
+ arithmetic.adc8bit.fa6.xor1.layer1.or.bias: shape=[1], values=[-1.0]
179
+ arithmetic.adc8bit.fa6.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
180
+ arithmetic.adc8bit.fa6.xor1.layer2.bias: shape=[1], values=[-2.0]
181
+ arithmetic.adc8bit.fa6.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
182
+ arithmetic.adc8bit.fa6.xor2.layer1.nand.bias: shape=[1], values=[1.0]
183
+ arithmetic.adc8bit.fa6.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
184
+ arithmetic.adc8bit.fa6.xor2.layer1.or.bias: shape=[1], values=[-1.0]
185
+ arithmetic.adc8bit.fa6.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
186
+ arithmetic.adc8bit.fa6.xor2.layer2.bias: shape=[1], values=[-2.0]
187
+ arithmetic.adc8bit.fa6.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
188
+ arithmetic.adc8bit.fa7.and1.bias: shape=[1], values=[-2.0]
189
+ arithmetic.adc8bit.fa7.and1.weight: shape=[2], values=[1.0, 1.0]
190
+ arithmetic.adc8bit.fa7.and2.bias: shape=[1], values=[-2.0]
191
+ arithmetic.adc8bit.fa7.and2.weight: shape=[2], values=[1.0, 1.0]
192
+ arithmetic.adc8bit.fa7.or_carry.bias: shape=[1], values=[-1.0]
193
+ arithmetic.adc8bit.fa7.or_carry.weight: shape=[2], values=[1.0, 1.0]
194
+ arithmetic.adc8bit.fa7.xor1.layer1.nand.bias: shape=[1], values=[1.0]
195
+ arithmetic.adc8bit.fa7.xor1.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
196
+ arithmetic.adc8bit.fa7.xor1.layer1.or.bias: shape=[1], values=[-1.0]
197
+ arithmetic.adc8bit.fa7.xor1.layer1.or.weight: shape=[2], values=[1.0, 1.0]
198
+ arithmetic.adc8bit.fa7.xor1.layer2.bias: shape=[1], values=[-2.0]
199
+ arithmetic.adc8bit.fa7.xor1.layer2.weight: shape=[2], values=[1.0, 1.0]
200
+ arithmetic.adc8bit.fa7.xor2.layer1.nand.bias: shape=[1], values=[1.0]
201
+ arithmetic.adc8bit.fa7.xor2.layer1.nand.weight: shape=[2], values=[-1.0, -1.0]
202
+ arithmetic.adc8bit.fa7.xor2.layer1.or.bias: shape=[1], values=[-1.0]
203
+ arithmetic.adc8bit.fa7.xor2.layer1.or.weight: shape=[2], values=[1.0, 1.0]
204
+ arithmetic.adc8bit.fa7.xor2.layer2.bias: shape=[1], values=[-2.0]
205
+ arithmetic.adc8bit.fa7.xor2.layer2.weight: shape=[2], values=[1.0, 1.0]
206
  arithmetic.decrementer8bit.adder: shape=[8], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
207
  arithmetic.decrementer8bit.neg_one: shape=[8], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
208
  arithmetic.equality8bit.final_and.bias: shape=[1], values=[-8.0]
todo.md CHANGED
@@ -25,7 +25,7 @@
25
  | ROL | Rotate left through carry | Missing |
26
  | ROR | Rotate right through carry | Missing |
27
  | ASR | Arithmetic shift right (sign-extend) | Missing |
28
- | ADC | Add with carry input | Missing |
29
  | SBC | Subtract with borrow | Missing |
30
  | CMP | Compare (SUB without writeback) | Missing (comparators exist but not via subtraction) |
31
 
 
25
  | ROL | Rotate left through carry | Missing |
26
  | ROR | Rotate right through carry | Missing |
27
  | ASR | Arithmetic shift right (sign-extend) | Missing |
28
+ | ADC | Add with carry input | DONE - 144 tensors, 131072/131072 tests pass |
29
  | SBC | Subtract with borrow | Missing |
30
  | CMP | Compare (SUB without writeback) | Missing (comparators exist but not via subtraction) |
31