phanerozoic commited on
Commit
00b2b81
Β·
verified Β·
1 Parent(s): a4e28a5

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. 16bitupgrade.md +0 -905
  2. todo.md +173 -173
16bitupgrade.md DELETED
@@ -1,905 +0,0 @@
1
- 16-BIT TENSOR MANIFEST
2
-
3
- ---
4
- ARITHMETIC
5
-
6
- ripplecarry16bit
7
- arithmetic.ripplecarry16bit.fa0.carry_or.bias [1]
8
- arithmetic.ripplecarry16bit.fa0.carry_or.weight [2]
9
- arithmetic.ripplecarry16bit.fa0.ha1.carry.bias [1]
10
- arithmetic.ripplecarry16bit.fa0.ha1.carry.weight [2]
11
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer1.nand.bias [1]
12
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer1.nand.weight [2]
13
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer1.or.bias [1]
14
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer1.or.weight [2]
15
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer2.bias [1]
16
- arithmetic.ripplecarry16bit.fa0.ha1.sum.layer2.weight [2]
17
- arithmetic.ripplecarry16bit.fa0.ha2.carry.bias [1]
18
- arithmetic.ripplecarry16bit.fa0.ha2.carry.weight [2]
19
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer1.nand.bias [1]
20
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer1.nand.weight [2]
21
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer1.or.bias [1]
22
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer1.or.weight [2]
23
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer2.bias [1]
24
- arithmetic.ripplecarry16bit.fa0.ha2.sum.layer2.weight [2]
25
- arithmetic.ripplecarry16bit.fa1.carry_or.bias [1]
26
- arithmetic.ripplecarry16bit.fa1.carry_or.weight [2]
27
- arithmetic.ripplecarry16bit.fa1.ha1.carry.bias [1]
28
- arithmetic.ripplecarry16bit.fa1.ha1.carry.weight [2]
29
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer1.nand.bias [1]
30
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer1.nand.weight [2]
31
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer1.or.bias [1]
32
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer1.or.weight [2]
33
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer2.bias [1]
34
- arithmetic.ripplecarry16bit.fa1.ha1.sum.layer2.weight [2]
35
- arithmetic.ripplecarry16bit.fa1.ha2.carry.bias [1]
36
- arithmetic.ripplecarry16bit.fa1.ha2.carry.weight [2]
37
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer1.nand.bias [1]
38
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer1.nand.weight [2]
39
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer1.or.bias [1]
40
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer1.or.weight [2]
41
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer2.bias [1]
42
- arithmetic.ripplecarry16bit.fa1.ha2.sum.layer2.weight [2]
43
- arithmetic.ripplecarry16bit.fa2.carry_or.bias [1]
44
- arithmetic.ripplecarry16bit.fa2.carry_or.weight [2]
45
- arithmetic.ripplecarry16bit.fa2.ha1.carry.bias [1]
46
- arithmetic.ripplecarry16bit.fa2.ha1.carry.weight [2]
47
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer1.nand.bias [1]
48
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer1.nand.weight [2]
49
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer1.or.bias [1]
50
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer1.or.weight [2]
51
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer2.bias [1]
52
- arithmetic.ripplecarry16bit.fa2.ha1.sum.layer2.weight [2]
53
- arithmetic.ripplecarry16bit.fa2.ha2.carry.bias [1]
54
- arithmetic.ripplecarry16bit.fa2.ha2.carry.weight [2]
55
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer1.nand.bias [1]
56
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer1.nand.weight [2]
57
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer1.or.bias [1]
58
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer1.or.weight [2]
59
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer2.bias [1]
60
- arithmetic.ripplecarry16bit.fa2.ha2.sum.layer2.weight [2]
61
- arithmetic.ripplecarry16bit.fa3.carry_or.bias [1]
62
- arithmetic.ripplecarry16bit.fa3.carry_or.weight [2]
63
- arithmetic.ripplecarry16bit.fa3.ha1.carry.bias [1]
64
- arithmetic.ripplecarry16bit.fa3.ha1.carry.weight [2]
65
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer1.nand.bias [1]
66
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer1.nand.weight [2]
67
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer1.or.bias [1]
68
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer1.or.weight [2]
69
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer2.bias [1]
70
- arithmetic.ripplecarry16bit.fa3.ha1.sum.layer2.weight [2]
71
- arithmetic.ripplecarry16bit.fa3.ha2.carry.bias [1]
72
- arithmetic.ripplecarry16bit.fa3.ha2.carry.weight [2]
73
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer1.nand.bias [1]
74
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer1.nand.weight [2]
75
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer1.or.bias [1]
76
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer1.or.weight [2]
77
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer2.bias [1]
78
- arithmetic.ripplecarry16bit.fa3.ha2.sum.layer2.weight [2]
79
- arithmetic.ripplecarry16bit.fa4.carry_or.bias [1]
80
- arithmetic.ripplecarry16bit.fa4.carry_or.weight [2]
81
- arithmetic.ripplecarry16bit.fa4.ha1.carry.bias [1]
82
- arithmetic.ripplecarry16bit.fa4.ha1.carry.weight [2]
83
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer1.nand.bias [1]
84
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer1.nand.weight [2]
85
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer1.or.bias [1]
86
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer1.or.weight [2]
87
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer2.bias [1]
88
- arithmetic.ripplecarry16bit.fa4.ha1.sum.layer2.weight [2]
89
- arithmetic.ripplecarry16bit.fa4.ha2.carry.bias [1]
90
- arithmetic.ripplecarry16bit.fa4.ha2.carry.weight [2]
91
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer1.nand.bias [1]
92
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer1.nand.weight [2]
93
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer1.or.bias [1]
94
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer1.or.weight [2]
95
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer2.bias [1]
96
- arithmetic.ripplecarry16bit.fa4.ha2.sum.layer2.weight [2]
97
- arithmetic.ripplecarry16bit.fa5.carry_or.bias [1]
98
- arithmetic.ripplecarry16bit.fa5.carry_or.weight [2]
99
- arithmetic.ripplecarry16bit.fa5.ha1.carry.bias [1]
100
- arithmetic.ripplecarry16bit.fa5.ha1.carry.weight [2]
101
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer1.nand.bias [1]
102
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer1.nand.weight [2]
103
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer1.or.bias [1]
104
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer1.or.weight [2]
105
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer2.bias [1]
106
- arithmetic.ripplecarry16bit.fa5.ha1.sum.layer2.weight [2]
107
- arithmetic.ripplecarry16bit.fa5.ha2.carry.bias [1]
108
- arithmetic.ripplecarry16bit.fa5.ha2.carry.weight [2]
109
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer1.nand.bias [1]
110
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer1.nand.weight [2]
111
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer1.or.bias [1]
112
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer1.or.weight [2]
113
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer2.bias [1]
114
- arithmetic.ripplecarry16bit.fa5.ha2.sum.layer2.weight [2]
115
- arithmetic.ripplecarry16bit.fa6.carry_or.bias [1]
116
- arithmetic.ripplecarry16bit.fa6.carry_or.weight [2]
117
- arithmetic.ripplecarry16bit.fa6.ha1.carry.bias [1]
118
- arithmetic.ripplecarry16bit.fa6.ha1.carry.weight [2]
119
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer1.nand.bias [1]
120
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer1.nand.weight [2]
121
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer1.or.bias [1]
122
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer1.or.weight [2]
123
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer2.bias [1]
124
- arithmetic.ripplecarry16bit.fa6.ha1.sum.layer2.weight [2]
125
- arithmetic.ripplecarry16bit.fa6.ha2.carry.bias [1]
126
- arithmetic.ripplecarry16bit.fa6.ha2.carry.weight [2]
127
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer1.nand.bias [1]
128
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer1.nand.weight [2]
129
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer1.or.bias [1]
130
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer1.or.weight [2]
131
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer2.bias [1]
132
- arithmetic.ripplecarry16bit.fa6.ha2.sum.layer2.weight [2]
133
- arithmetic.ripplecarry16bit.fa7.carry_or.bias [1]
134
- arithmetic.ripplecarry16bit.fa7.carry_or.weight [2]
135
- arithmetic.ripplecarry16bit.fa7.ha1.carry.bias [1]
136
- arithmetic.ripplecarry16bit.fa7.ha1.carry.weight [2]
137
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer1.nand.bias [1]
138
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer1.nand.weight [2]
139
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer1.or.bias [1]
140
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer1.or.weight [2]
141
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer2.bias [1]
142
- arithmetic.ripplecarry16bit.fa7.ha1.sum.layer2.weight [2]
143
- arithmetic.ripplecarry16bit.fa7.ha2.carry.bias [1]
144
- arithmetic.ripplecarry16bit.fa7.ha2.carry.weight [2]
145
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer1.nand.bias [1]
146
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer1.nand.weight [2]
147
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer1.or.bias [1]
148
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer1.or.weight [2]
149
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer2.bias [1]
150
- arithmetic.ripplecarry16bit.fa7.ha2.sum.layer2.weight [2]
151
- arithmetic.ripplecarry16bit.fa8.carry_or.bias [1]
152
- arithmetic.ripplecarry16bit.fa8.carry_or.weight [2]
153
- arithmetic.ripplecarry16bit.fa8.ha1.carry.bias [1]
154
- arithmetic.ripplecarry16bit.fa8.ha1.carry.weight [2]
155
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer1.nand.bias [1]
156
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer1.nand.weight [2]
157
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer1.or.bias [1]
158
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer1.or.weight [2]
159
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer2.bias [1]
160
- arithmetic.ripplecarry16bit.fa8.ha1.sum.layer2.weight [2]
161
- arithmetic.ripplecarry16bit.fa8.ha2.carry.bias [1]
162
- arithmetic.ripplecarry16bit.fa8.ha2.carry.weight [2]
163
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer1.nand.bias [1]
164
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer1.nand.weight [2]
165
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer1.or.bias [1]
166
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer1.or.weight [2]
167
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer2.bias [1]
168
- arithmetic.ripplecarry16bit.fa8.ha2.sum.layer2.weight [2]
169
- arithmetic.ripplecarry16bit.fa9.carry_or.bias [1]
170
- arithmetic.ripplecarry16bit.fa9.carry_or.weight [2]
171
- arithmetic.ripplecarry16bit.fa9.ha1.carry.bias [1]
172
- arithmetic.ripplecarry16bit.fa9.ha1.carry.weight [2]
173
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer1.nand.bias [1]
174
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer1.nand.weight [2]
175
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer1.or.bias [1]
176
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer1.or.weight [2]
177
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer2.bias [1]
178
- arithmetic.ripplecarry16bit.fa9.ha1.sum.layer2.weight [2]
179
- arithmetic.ripplecarry16bit.fa9.ha2.carry.bias [1]
180
- arithmetic.ripplecarry16bit.fa9.ha2.carry.weight [2]
181
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer1.nand.bias [1]
182
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer1.nand.weight [2]
183
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer1.or.bias [1]
184
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer1.or.weight [2]
185
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer2.bias [1]
186
- arithmetic.ripplecarry16bit.fa9.ha2.sum.layer2.weight [2]
187
- arithmetic.ripplecarry16bit.fa10.carry_or.bias [1]
188
- arithmetic.ripplecarry16bit.fa10.carry_or.weight [2]
189
- arithmetic.ripplecarry16bit.fa10.ha1.carry.bias [1]
190
- arithmetic.ripplecarry16bit.fa10.ha1.carry.weight [2]
191
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer1.nand.bias [1]
192
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer1.nand.weight [2]
193
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer1.or.bias [1]
194
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer1.or.weight [2]
195
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer2.bias [1]
196
- arithmetic.ripplecarry16bit.fa10.ha1.sum.layer2.weight [2]
197
- arithmetic.ripplecarry16bit.fa10.ha2.carry.bias [1]
198
- arithmetic.ripplecarry16bit.fa10.ha2.carry.weight [2]
199
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer1.nand.bias [1]
200
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer1.nand.weight [2]
201
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer1.or.bias [1]
202
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer1.or.weight [2]
203
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer2.bias [1]
204
- arithmetic.ripplecarry16bit.fa10.ha2.sum.layer2.weight [2]
205
- arithmetic.ripplecarry16bit.fa11.carry_or.bias [1]
206
- arithmetic.ripplecarry16bit.fa11.carry_or.weight [2]
207
- arithmetic.ripplecarry16bit.fa11.ha1.carry.bias [1]
208
- arithmetic.ripplecarry16bit.fa11.ha1.carry.weight [2]
209
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer1.nand.bias [1]
210
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer1.nand.weight [2]
211
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer1.or.bias [1]
212
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer1.or.weight [2]
213
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer2.bias [1]
214
- arithmetic.ripplecarry16bit.fa11.ha1.sum.layer2.weight [2]
215
- arithmetic.ripplecarry16bit.fa11.ha2.carry.bias [1]
216
- arithmetic.ripplecarry16bit.fa11.ha2.carry.weight [2]
217
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer1.nand.bias [1]
218
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer1.nand.weight [2]
219
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer1.or.bias [1]
220
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer1.or.weight [2]
221
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer2.bias [1]
222
- arithmetic.ripplecarry16bit.fa11.ha2.sum.layer2.weight [2]
223
- arithmetic.ripplecarry16bit.fa12.carry_or.bias [1]
224
- arithmetic.ripplecarry16bit.fa12.carry_or.weight [2]
225
- arithmetic.ripplecarry16bit.fa12.ha1.carry.bias [1]
226
- arithmetic.ripplecarry16bit.fa12.ha1.carry.weight [2]
227
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer1.nand.bias [1]
228
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer1.nand.weight [2]
229
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer1.or.bias [1]
230
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer1.or.weight [2]
231
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer2.bias [1]
232
- arithmetic.ripplecarry16bit.fa12.ha1.sum.layer2.weight [2]
233
- arithmetic.ripplecarry16bit.fa12.ha2.carry.bias [1]
234
- arithmetic.ripplecarry16bit.fa12.ha2.carry.weight [2]
235
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer1.nand.bias [1]
236
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer1.nand.weight [2]
237
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer1.or.bias [1]
238
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer1.or.weight [2]
239
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer2.bias [1]
240
- arithmetic.ripplecarry16bit.fa12.ha2.sum.layer2.weight [2]
241
- arithmetic.ripplecarry16bit.fa13.carry_or.bias [1]
242
- arithmetic.ripplecarry16bit.fa13.carry_or.weight [2]
243
- arithmetic.ripplecarry16bit.fa13.ha1.carry.bias [1]
244
- arithmetic.ripplecarry16bit.fa13.ha1.carry.weight [2]
245
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer1.nand.bias [1]
246
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer1.nand.weight [2]
247
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer1.or.bias [1]
248
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer1.or.weight [2]
249
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer2.bias [1]
250
- arithmetic.ripplecarry16bit.fa13.ha1.sum.layer2.weight [2]
251
- arithmetic.ripplecarry16bit.fa13.ha2.carry.bias [1]
252
- arithmetic.ripplecarry16bit.fa13.ha2.carry.weight [2]
253
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer1.nand.bias [1]
254
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer1.nand.weight [2]
255
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer1.or.bias [1]
256
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer1.or.weight [2]
257
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer2.bias [1]
258
- arithmetic.ripplecarry16bit.fa13.ha2.sum.layer2.weight [2]
259
- arithmetic.ripplecarry16bit.fa14.carry_or.bias [1]
260
- arithmetic.ripplecarry16bit.fa14.carry_or.weight [2]
261
- arithmetic.ripplecarry16bit.fa14.ha1.carry.bias [1]
262
- arithmetic.ripplecarry16bit.fa14.ha1.carry.weight [2]
263
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer1.nand.bias [1]
264
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer1.nand.weight [2]
265
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer1.or.bias [1]
266
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer1.or.weight [2]
267
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer2.bias [1]
268
- arithmetic.ripplecarry16bit.fa14.ha1.sum.layer2.weight [2]
269
- arithmetic.ripplecarry16bit.fa14.ha2.carry.bias [1]
270
- arithmetic.ripplecarry16bit.fa14.ha2.carry.weight [2]
271
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer1.nand.bias [1]
272
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer1.nand.weight [2]
273
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer1.or.bias [1]
274
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer1.or.weight [2]
275
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer2.bias [1]
276
- arithmetic.ripplecarry16bit.fa14.ha2.sum.layer2.weight [2]
277
- arithmetic.ripplecarry16bit.fa15.carry_or.bias [1]
278
- arithmetic.ripplecarry16bit.fa15.carry_or.weight [2]
279
- arithmetic.ripplecarry16bit.fa15.ha1.carry.bias [1]
280
- arithmetic.ripplecarry16bit.fa15.ha1.carry.weight [2]
281
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer1.nand.bias [1]
282
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer1.nand.weight [2]
283
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer1.or.bias [1]
284
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer1.or.weight [2]
285
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer2.bias [1]
286
- arithmetic.ripplecarry16bit.fa15.ha1.sum.layer2.weight [2]
287
- arithmetic.ripplecarry16bit.fa15.ha2.carry.bias [1]
288
- arithmetic.ripplecarry16bit.fa15.ha2.carry.weight [2]
289
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer1.nand.bias [1]
290
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer1.nand.weight [2]
291
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer1.or.bias [1]
292
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer1.or.weight [2]
293
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer2.bias [1]
294
- arithmetic.ripplecarry16bit.fa15.ha2.sum.layer2.weight [2]
295
-
296
- 16-bit comparators
297
- arithmetic.greaterthan16bit.comparator [16]
298
- arithmetic.lessthan16bit.comparator [16]
299
-
300
- 16x16 multiplier (14 stages, bits 0-30 per stage where applicable)
301
-
302
- Stage 0: bits 0-16
303
- Stage 1: bits 0-17
304
- Stage 2: bits 0-18
305
- ...
306
- Stage 13: bits 0-30
307
-
308
- Each bit position has the same full adder structure. Total enumeration:
309
-
310
- arithmetic.multiplier16x16.stage0.bit0.carry_or.bias [1]
311
- arithmetic.multiplier16x16.stage0.bit0.carry_or.weight [2]
312
- arithmetic.multiplier16x16.stage0.bit0.ha1.carry.bias [1]
313
- arithmetic.multiplier16x16.stage0.bit0.ha1.carry.weight [2]
314
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer1.nand.bias [1]
315
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer1.nand.weight [2]
316
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer1.or.bias [1]
317
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer1.or.weight [2]
318
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer2.bias [1]
319
- arithmetic.multiplier16x16.stage0.bit0.ha1.sum.layer2.weight [2]
320
- arithmetic.multiplier16x16.stage0.bit0.ha2.carry.bias [1]
321
- arithmetic.multiplier16x16.stage0.bit0.ha2.carry.weight [2]
322
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer1.nand.bias [1]
323
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer1.nand.weight [2]
324
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer1.or.bias [1]
325
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer1.or.weight [2]
326
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer2.bias [1]
327
- arithmetic.multiplier16x16.stage0.bit0.ha2.sum.layer2.weight [2]
328
-
329
- Pattern repeats for:
330
- - stage0: bit0-bit16 (17 bits)
331
- - stage1: bit0-bit17 (18 bits)
332
- - stage2: bit0-bit18 (19 bits)
333
- - stage3: bit0-bit19 (20 bits)
334
- - stage4: bit0-bit20 (21 bits)
335
- - stage5: bit0-bit21 (22 bits)
336
- - stage6: bit0-bit22 (23 bits)
337
- - stage7: bit0-bit23 (24 bits)
338
- - stage8: bit0-bit24 (25 bits)
339
- - stage9: bit0-bit25 (26 bits)
340
- - stage10: bit0-bit26 (27 bits)
341
- - stage11: bit0-bit27 (28 bits)
342
- - stage12: bit0-bit28 (29 bits)
343
- - stage13: bit0-bit29 (30 bits)
344
-
345
- 18 tensors per bit Γ— (17+18+19+20+21+22+23+24+25+26+27+28+29+30) = 18 Γ— 329 = 5922 tensors for multiplier stages.
346
-
347
- Plus 256 AND gates for partial products (16Γ—16):
348
- arithmetic.multiplier16x16.partial.r0c0.bias [1]
349
- arithmetic.multiplier16x16.partial.r0c0.weight [2]
350
- ...through...
351
- arithmetic.multiplier16x16.partial.r15c15.bias [1]
352
- arithmetic.multiplier16x16.partial.r15c15.weight [2]
353
- 256 Γ— 2 = 512 tensors for partial products.
354
-
355
- ---
356
- COMBINATIONAL
357
-
358
- Barrel shifter 16-bit
359
- combinational.barrelshifter16bit.shift [20]
360
-
361
- Decoder 4-to-16
362
- combinational.decoder4to16.out0.bias [1]
363
- combinational.decoder4to16.out0.weight [4]
364
- combinational.decoder4to16.out1.bias [1]
365
- combinational.decoder4to16.out1.weight [4]
366
- combinational.decoder4to16.out2.bias [1]
367
- combinational.decoder4to16.out2.weight [4]
368
- combinational.decoder4to16.out3.bias [1]
369
- combinational.decoder4to16.out3.weight [4]
370
- combinational.decoder4to16.out4.bias [1]
371
- combinational.decoder4to16.out4.weight [4]
372
- combinational.decoder4to16.out5.bias [1]
373
- combinational.decoder4to16.out5.weight [4]
374
- combinational.decoder4to16.out6.bias [1]
375
- combinational.decoder4to16.out6.weight [4]
376
- combinational.decoder4to16.out7.bias [1]
377
- combinational.decoder4to16.out7.weight [4]
378
- combinational.decoder4to16.out8.bias [1]
379
- combinational.decoder4to16.out8.weight [4]
380
- combinational.decoder4to16.out9.bias [1]
381
- combinational.decoder4to16.out9.weight [4]
382
- combinational.decoder4to16.out10.bias [1]
383
- combinational.decoder4to16.out10.weight [4]
384
- combinational.decoder4to16.out11.bias [1]
385
- combinational.decoder4to16.out11.weight [4]
386
- combinational.decoder4to16.out12.bias [1]
387
- combinational.decoder4to16.out12.weight [4]
388
- combinational.decoder4to16.out13.bias [1]
389
- combinational.decoder4to16.out13.weight [4]
390
- combinational.decoder4to16.out14.bias [1]
391
- combinational.decoder4to16.out14.weight [4]
392
- combinational.decoder4to16.out15.bias [1]
393
- combinational.decoder4to16.out15.weight [4]
394
-
395
- Encoder 16-to-4
396
- combinational.encoder16to4.bit0.bias [1]
397
- combinational.encoder16to4.bit0.weight [16]
398
- combinational.encoder16to4.bit1.bias [1]
399
- combinational.encoder16to4.bit1.weight [16]
400
- combinational.encoder16to4.bit2.bias [1]
401
- combinational.encoder16to4.bit2.weight [16]
402
- combinational.encoder16to4.bit3.bias [1]
403
- combinational.encoder16to4.bit3.weight [16]
404
-
405
- Multiplexer 16-to-1
406
- combinational.multiplexer16to1.select [20]
407
-
408
- Demultiplexer 1-to-16
409
- combinational.demultiplexer1to16.decode [5]
410
-
411
- Priority encoder 16-bit
412
- combinational.priorityencoder16bit.priority [16]
413
-
414
- ---
415
- CONTROL
416
-
417
- Unconditional jump 16-bit
418
- control.jump.bit0.bias [1]
419
- control.jump.bit0.weight [1]
420
- control.jump.bit1.bias [1]
421
- control.jump.bit1.weight [1]
422
- control.jump.bit2.bias [1]
423
- control.jump.bit2.weight [1]
424
- control.jump.bit3.bias [1]
425
- control.jump.bit3.weight [1]
426
- control.jump.bit4.bias [1]
427
- control.jump.bit4.weight [1]
428
- control.jump.bit5.bias [1]
429
- control.jump.bit5.weight [1]
430
- control.jump.bit6.bias [1]
431
- control.jump.bit6.weight [1]
432
- control.jump.bit7.bias [1]
433
- control.jump.bit7.weight [1]
434
- control.jump.bit8.bias [1]
435
- control.jump.bit8.weight [1]
436
- control.jump.bit9.bias [1]
437
- control.jump.bit9.weight [1]
438
- control.jump.bit10.bias [1]
439
- control.jump.bit10.weight [1]
440
- control.jump.bit11.bias [1]
441
- control.jump.bit11.weight [1]
442
- control.jump.bit12.bias [1]
443
- control.jump.bit12.weight [1]
444
- control.jump.bit13.bias [1]
445
- control.jump.bit13.weight [1]
446
- control.jump.bit14.bias [1]
447
- control.jump.bit14.weight [1]
448
- control.jump.bit15.bias [1]
449
- control.jump.bit15.weight [1]
450
-
451
- Conditional jump 16-bit (template for JZ, JNZ, JC, JNC, JN, JP, JV, JNV, and generic conditionaljump)
452
-
453
- Each conditional jump type follows this pattern for bits 0-15:
454
- control.{jtype}.bit{N}.and_a.bias [1]
455
- control.{jtype}.bit{N}.and_a.weight [2]
456
- control.{jtype}.bit{N}.and_b.bias [1]
457
- control.{jtype}.bit{N}.and_b.weight [2]
458
- control.{jtype}.bit{N}.not_sel.bias [1]
459
- control.{jtype}.bit{N}.not_sel.weight [1]
460
- control.{jtype}.bit{N}.or.bias [1]
461
- control.{jtype}.bit{N}.or.weight [2]
462
-
463
- Where {jtype} ∈ {conditionaljump, jz, jnz, jc, jnc, jn, jp, jv, jnv} and N ∈ {0..15}
464
-
465
- Full expansion for control.jz (others follow same pattern):
466
- control.jz.bit0.and_a.bias [1]
467
- control.jz.bit0.and_a.weight [2]
468
- control.jz.bit0.and_b.bias [1]
469
- control.jz.bit0.and_b.weight [2]
470
- control.jz.bit0.not_sel.bias [1]
471
- control.jz.bit0.not_sel.weight [1]
472
- control.jz.bit0.or.bias [1]
473
- control.jz.bit0.or.weight [2]
474
- control.jz.bit1.and_a.bias [1]
475
- control.jz.bit1.and_a.weight [2]
476
- control.jz.bit1.and_b.bias [1]
477
- control.jz.bit1.and_b.weight [2]
478
- control.jz.bit1.not_sel.bias [1]
479
- control.jz.bit1.not_sel.weight [1]
480
- control.jz.bit1.or.bias [1]
481
- control.jz.bit1.or.weight [2]
482
- control.jz.bit2.and_a.bias [1]
483
- control.jz.bit2.and_a.weight [2]
484
- control.jz.bit2.and_b.bias [1]
485
- control.jz.bit2.and_b.weight [2]
486
- control.jz.bit2.not_sel.bias [1]
487
- control.jz.bit2.not_sel.weight [1]
488
- control.jz.bit2.or.bias [1]
489
- control.jz.bit2.or.weight [2]
490
- control.jz.bit3.and_a.bias [1]
491
- control.jz.bit3.and_a.weight [2]
492
- control.jz.bit3.and_b.bias [1]
493
- control.jz.bit3.and_b.weight [2]
494
- control.jz.bit3.not_sel.bias [1]
495
- control.jz.bit3.not_sel.weight [1]
496
- control.jz.bit3.or.bias [1]
497
- control.jz.bit3.or.weight [2]
498
- control.jz.bit4.and_a.bias [1]
499
- control.jz.bit4.and_a.weight [2]
500
- control.jz.bit4.and_b.bias [1]
501
- control.jz.bit4.and_b.weight [2]
502
- control.jz.bit4.not_sel.bias [1]
503
- control.jz.bit4.not_sel.weight [1]
504
- control.jz.bit4.or.bias [1]
505
- control.jz.bit4.or.weight [2]
506
- control.jz.bit5.and_a.bias [1]
507
- control.jz.bit5.and_a.weight [2]
508
- control.jz.bit5.and_b.bias [1]
509
- control.jz.bit5.and_b.weight [2]
510
- control.jz.bit5.not_sel.bias [1]
511
- control.jz.bit5.not_sel.weight [1]
512
- control.jz.bit5.or.bias [1]
513
- control.jz.bit5.or.weight [2]
514
- control.jz.bit6.and_a.bias [1]
515
- control.jz.bit6.and_a.weight [2]
516
- control.jz.bit6.and_b.bias [1]
517
- control.jz.bit6.and_b.weight [2]
518
- control.jz.bit6.not_sel.bias [1]
519
- control.jz.bit6.not_sel.weight [1]
520
- control.jz.bit6.or.bias [1]
521
- control.jz.bit6.or.weight [2]
522
- control.jz.bit7.and_a.bias [1]
523
- control.jz.bit7.and_a.weight [2]
524
- control.jz.bit7.and_b.bias [1]
525
- control.jz.bit7.and_b.weight [2]
526
- control.jz.bit7.not_sel.bias [1]
527
- control.jz.bit7.not_sel.weight [1]
528
- control.jz.bit7.or.bias [1]
529
- control.jz.bit7.or.weight [2]
530
- control.jz.bit8.and_a.bias [1]
531
- control.jz.bit8.and_a.weight [2]
532
- control.jz.bit8.and_b.bias [1]
533
- control.jz.bit8.and_b.weight [2]
534
- control.jz.bit8.not_sel.bias [1]
535
- control.jz.bit8.not_sel.weight [1]
536
- control.jz.bit8.or.bias [1]
537
- control.jz.bit8.or.weight [2]
538
- control.jz.bit9.and_a.bias [1]
539
- control.jz.bit9.and_a.weight [2]
540
- control.jz.bit9.and_b.bias [1]
541
- control.jz.bit9.and_b.weight [2]
542
- control.jz.bit9.not_sel.bias [1]
543
- control.jz.bit9.not_sel.weight [1]
544
- control.jz.bit9.or.bias [1]
545
- control.jz.bit9.or.weight [2]
546
- control.jz.bit10.and_a.bias [1]
547
- control.jz.bit10.and_a.weight [2]
548
- control.jz.bit10.and_b.bias [1]
549
- control.jz.bit10.and_b.weight [2]
550
- control.jz.bit10.not_sel.bias [1]
551
- control.jz.bit10.not_sel.weight [1]
552
- control.jz.bit10.or.bias [1]
553
- control.jz.bit10.or.weight [2]
554
- control.jz.bit11.and_a.bias [1]
555
- control.jz.bit11.and_a.weight [2]
556
- control.jz.bit11.and_b.bias [1]
557
- control.jz.bit11.and_b.weight [2]
558
- control.jz.bit11.not_sel.bias [1]
559
- control.jz.bit11.not_sel.weight [1]
560
- control.jz.bit11.or.bias [1]
561
- control.jz.bit11.or.weight [2]
562
- control.jz.bit12.and_a.bias [1]
563
- control.jz.bit12.and_a.weight [2]
564
- control.jz.bit12.and_b.bias [1]
565
- control.jz.bit12.and_b.weight [2]
566
- control.jz.bit12.not_sel.bias [1]
567
- control.jz.bit12.not_sel.weight [1]
568
- control.jz.bit12.or.bias [1]
569
- control.jz.bit12.or.weight [2]
570
- control.jz.bit13.and_a.bias [1]
571
- control.jz.bit13.and_a.weight [2]
572
- control.jz.bit13.and_b.bias [1]
573
- control.jz.bit13.and_b.weight [2]
574
- control.jz.bit13.not_sel.bias [1]
575
- control.jz.bit13.not_sel.weight [1]
576
- control.jz.bit13.or.bias [1]
577
- control.jz.bit13.or.weight [2]
578
- control.jz.bit14.and_a.bias [1]
579
- control.jz.bit14.and_a.weight [2]
580
- control.jz.bit14.and_b.bias [1]
581
- control.jz.bit14.and_b.weight [2]
582
- control.jz.bit14.not_sel.bias [1]
583
- control.jz.bit14.not_sel.weight [1]
584
- control.jz.bit14.or.bias [1]
585
- control.jz.bit14.or.weight [2]
586
- control.jz.bit15.and_a.bias [1]
587
- control.jz.bit15.and_a.weight [2]
588
- control.jz.bit15.and_b.bias [1]
589
- control.jz.bit15.and_b.weight [2]
590
- control.jz.bit15.not_sel.bias [1]
591
- control.jz.bit15.not_sel.weight [1]
592
- control.jz.bit15.or.bias [1]
593
- control.jz.bit15.or.weight [2]
594
-
595
- Repeat above for: jnz, jc, jnc, jn, jp, jv, jnv, conditionaljump (9 types Γ— 16 bits Γ— 8 tensors = 1152 tensors)
596
-
597
- Stack operations (unchanged)
598
- control.call.jump [1]
599
- control.call.push [1]
600
- control.pop.load [1]
601
- control.pop.sp_inc [1]
602
- control.push.sp_dec [1]
603
- control.push.store [1]
604
- control.ret.jump [1]
605
- control.ret.pop [1]
606
- control.sp_dec.uses [1]
607
- control.sp_inc.uses [1]
608
-
609
- ---
610
- ERROR DETECTION
611
-
612
- Checksum 16-bit
613
- error_detection.checksum16bit.sum.bias [1]
614
- error_detection.checksum16bit.sum.weight [16]
615
-
616
- Parity 16-bit
617
- error_detection.evenparitychecker16bit.bias [1]
618
- error_detection.evenparitychecker16bit.weight [16]
619
- error_detection.oddparitychecker16bit.not.bias [1]
620
- error_detection.oddparitychecker16bit.not.weight [1]
621
- error_detection.oddparitychecker16bit.parity.bias [1]
622
- error_detection.oddparitychecker16bit.parity.weight [16]
623
-
624
- Parity checker/generator 16-bit (4 XOR stages instead of 3)
625
- error_detection.paritychecker16bit.output.not.bias [1]
626
- error_detection.paritychecker16bit.output.not.weight [1]
627
- error_detection.paritychecker16bit.stage1.xor0.layer1.nand.bias [1]
628
- error_detection.paritychecker16bit.stage1.xor0.layer1.nand.weight [2]
629
- error_detection.paritychecker16bit.stage1.xor0.layer1.or.bias [1]
630
- error_detection.paritychecker16bit.stage1.xor0.layer1.or.weight [2]
631
- error_detection.paritychecker16bit.stage1.xor0.layer2.bias [1]
632
- error_detection.paritychecker16bit.stage1.xor0.layer2.weight [2]
633
- error_detection.paritychecker16bit.stage1.xor1.layer1.nand.bias [1]
634
- error_detection.paritychecker16bit.stage1.xor1.layer1.nand.weight [2]
635
- error_detection.paritychecker16bit.stage1.xor1.layer1.or.bias [1]
636
- error_detection.paritychecker16bit.stage1.xor1.layer1.or.weight [2]
637
- error_detection.paritychecker16bit.stage1.xor1.layer2.bias [1]
638
- error_detection.paritychecker16bit.stage1.xor1.layer2.weight [2]
639
- error_detection.paritychecker16bit.stage1.xor2.layer1.nand.bias [1]
640
- error_detection.paritychecker16bit.stage1.xor2.layer1.nand.weight [2]
641
- error_detection.paritychecker16bit.stage1.xor2.layer1.or.bias [1]
642
- error_detection.paritychecker16bit.stage1.xor2.layer1.or.weight [2]
643
- error_detection.paritychecker16bit.stage1.xor2.layer2.bias [1]
644
- error_detection.paritychecker16bit.stage1.xor2.layer2.weight [2]
645
- error_detection.paritychecker16bit.stage1.xor3.layer1.nand.bias [1]
646
- error_detection.paritychecker16bit.stage1.xor3.layer1.nand.weight [2]
647
- error_detection.paritychecker16bit.stage1.xor3.layer1.or.bias [1]
648
- error_detection.paritychecker16bit.stage1.xor3.layer1.or.weight [2]
649
- error_detection.paritychecker16bit.stage1.xor3.layer2.bias [1]
650
- error_detection.paritychecker16bit.stage1.xor3.layer2.weight [2]
651
- error_detection.paritychecker16bit.stage1.xor4.layer1.nand.bias [1]
652
- error_detection.paritychecker16bit.stage1.xor4.layer1.nand.weight [2]
653
- error_detection.paritychecker16bit.stage1.xor4.layer1.or.bias [1]
654
- error_detection.paritychecker16bit.stage1.xor4.layer1.or.weight [2]
655
- error_detection.paritychecker16bit.stage1.xor4.layer2.bias [1]
656
- error_detection.paritychecker16bit.stage1.xor4.layer2.weight [2]
657
- error_detection.paritychecker16bit.stage1.xor5.layer1.nand.bias [1]
658
- error_detection.paritychecker16bit.stage1.xor5.layer1.nand.weight [2]
659
- error_detection.paritychecker16bit.stage1.xor5.layer1.or.bias [1]
660
- error_detection.paritychecker16bit.stage1.xor5.layer1.or.weight [2]
661
- error_detection.paritychecker16bit.stage1.xor5.layer2.bias [1]
662
- error_detection.paritychecker16bit.stage1.xor5.layer2.weight [2]
663
- error_detection.paritychecker16bit.stage1.xor6.layer1.nand.bias [1]
664
- error_detection.paritychecker16bit.stage1.xor6.layer1.nand.weight [2]
665
- error_detection.paritychecker16bit.stage1.xor6.layer1.or.bias [1]
666
- error_detection.paritychecker16bit.stage1.xor6.layer1.or.weight [2]
667
- error_detection.paritychecker16bit.stage1.xor6.layer2.bias [1]
668
- error_detection.paritychecker16bit.stage1.xor6.layer2.weight [2]
669
- error_detection.paritychecker16bit.stage1.xor7.layer1.nand.bias [1]
670
- error_detection.paritychecker16bit.stage1.xor7.layer1.nand.weight [2]
671
- error_detection.paritychecker16bit.stage1.xor7.layer1.or.bias [1]
672
- error_detection.paritychecker16bit.stage1.xor7.layer1.or.weight [2]
673
- error_detection.paritychecker16bit.stage1.xor7.layer2.bias [1]
674
- error_detection.paritychecker16bit.stage1.xor7.layer2.weight [2]
675
- error_detection.paritychecker16bit.stage2.xor0.layer1.nand.bias [1]
676
- error_detection.paritychecker16bit.stage2.xor0.layer1.nand.weight [2]
677
- error_detection.paritychecker16bit.stage2.xor0.layer1.or.bias [1]
678
- error_detection.paritychecker16bit.stage2.xor0.layer1.or.weight [2]
679
- error_detection.paritychecker16bit.stage2.xor0.layer2.bias [1]
680
- error_detection.paritychecker16bit.stage2.xor0.layer2.weight [2]
681
- error_detection.paritychecker16bit.stage2.xor1.layer1.nand.bias [1]
682
- error_detection.paritychecker16bit.stage2.xor1.layer1.nand.weight [2]
683
- error_detection.paritychecker16bit.stage2.xor1.layer1.or.bias [1]
684
- error_detection.paritychecker16bit.stage2.xor1.layer1.or.weight [2]
685
- error_detection.paritychecker16bit.stage2.xor1.layer2.bias [1]
686
- error_detection.paritychecker16bit.stage2.xor1.layer2.weight [2]
687
- error_detection.paritychecker16bit.stage2.xor2.layer1.nand.bias [1]
688
- error_detection.paritychecker16bit.stage2.xor2.layer1.nand.weight [2]
689
- error_detection.paritychecker16bit.stage2.xor2.layer1.or.bias [1]
690
- error_detection.paritychecker16bit.stage2.xor2.layer1.or.weight [2]
691
- error_detection.paritychecker16bit.stage2.xor2.layer2.bias [1]
692
- error_detection.paritychecker16bit.stage2.xor2.layer2.weight [2]
693
- error_detection.paritychecker16bit.stage2.xor3.layer1.nand.bias [1]
694
- error_detection.paritychecker16bit.stage2.xor3.layer1.nand.weight [2]
695
- error_detection.paritychecker16bit.stage2.xor3.layer1.or.bias [1]
696
- error_detection.paritychecker16bit.stage2.xor3.layer1.or.weight [2]
697
- error_detection.paritychecker16bit.stage2.xor3.layer2.bias [1]
698
- error_detection.paritychecker16bit.stage2.xor3.layer2.weight [2]
699
- error_detection.paritychecker16bit.stage3.xor0.layer1.nand.bias [1]
700
- error_detection.paritychecker16bit.stage3.xor0.layer1.nand.weight [2]
701
- error_detection.paritychecker16bit.stage3.xor0.layer1.or.bias [1]
702
- error_detection.paritychecker16bit.stage3.xor0.layer1.or.weight [2]
703
- error_detection.paritychecker16bit.stage3.xor0.layer2.bias [1]
704
- error_detection.paritychecker16bit.stage3.xor0.layer2.weight [2]
705
- error_detection.paritychecker16bit.stage3.xor1.layer1.nand.bias [1]
706
- error_detection.paritychecker16bit.stage3.xor1.layer1.nand.weight [2]
707
- error_detection.paritychecker16bit.stage3.xor1.layer1.or.bias [1]
708
- error_detection.paritychecker16bit.stage3.xor1.layer1.or.weight [2]
709
- error_detection.paritychecker16bit.stage3.xor1.layer2.bias [1]
710
- error_detection.paritychecker16bit.stage3.xor1.layer2.weight [2]
711
- error_detection.paritychecker16bit.stage4.xor0.layer1.nand.bias [1]
712
- error_detection.paritychecker16bit.stage4.xor0.layer1.nand.weight [2]
713
- error_detection.paritychecker16bit.stage4.xor0.layer1.or.bias [1]
714
- error_detection.paritychecker16bit.stage4.xor0.layer1.or.weight [2]
715
- error_detection.paritychecker16bit.stage4.xor0.layer2.bias [1]
716
- error_detection.paritychecker16bit.stage4.xor0.layer2.weight [2]
717
-
718
- Identical structure for paritygenerator16bit.
719
-
720
- CRC-16
721
- error_detection.crc16.divisor [17]
722
-
723
- Hamming (15,11) - 11 data bits, 4 parity bits
724
- error_detection.hammingencode11bit.p0.weight [11]
725
- error_detection.hammingencode11bit.p1.bias [1]
726
- error_detection.hammingencode11bit.p1.weight [11]
727
- error_detection.hammingencode11bit.p2.bias [1]
728
- error_detection.hammingencode11bit.p2.weight [11]
729
- error_detection.hammingencode11bit.p3.bias [1]
730
- error_detection.hammingencode11bit.p3.weight [11]
731
- error_detection.hammingencode11bit.p4.bias [1]
732
- error_detection.hammingencode11bit.p4.weight [11]
733
- error_detection.hammingdecode15bit.s1.bias [1]
734
- error_detection.hammingdecode15bit.s1.weight [8]
735
- error_detection.hammingdecode15bit.s2.bias [1]
736
- error_detection.hammingdecode15bit.s2.weight [8]
737
- error_detection.hammingdecode15bit.s3.bias [1]
738
- error_detection.hammingdecode15bit.s3.weight [8]
739
- error_detection.hammingdecode15bit.s4.bias [1]
740
- error_detection.hammingdecode15bit.s4.weight [8]
741
- error_detection.hammingsyndrome15bit.s1.weight [8]
742
- error_detection.hammingsyndrome15bit.s2.weight [8]
743
- error_detection.hammingsyndrome15bit.s3.weight [8]
744
- error_detection.hammingsyndrome15bit.s4.weight [8]
745
-
746
- Longitudinal parity 16-bit
747
- error_detection.longitudinalparity16bit.col_parity [16]
748
- error_detection.longitudinalparity16bit.row_parity [16]
749
-
750
- ---
751
- MODULAR
752
-
753
- For 16-bit inputs, modular arithmetic requires detecting which of ceil(65536/N) ranges the input falls into. Structure per modulus:
754
-
755
- mod2 (simple - just check LSB)
756
- modular.mod2_16bit.bias [1]
757
- modular.mod2_16bit.weight [16]
758
-
759
- mod4 (check 2 LSBs)
760
- modular.mod4_16bit.bias [1]
761
- modular.mod4_16bit.weight [16]
762
-
763
- mod8 (check 3 LSBs)
764
- modular.mod8_16bit.bias [1]
765
- modular.mod8_16bit.weight [16]
766
-
767
- mod16 (check 4 LSBs)
768
- modular.mod16_16bit.bias [1]
769
- modular.mod16_16bit.weight [16]
770
-
771
- For non-power-of-2 moduli (3, 5, 6, 7, 9, 10, 11, 12), use iterative subtraction circuit referencing the 16-bit subtractor and comparator, or expand the range-check approach:
772
-
773
- mod3, mod5, mod6, mod7, mod9, mod10, mod11, mod12 (range-check approach, pattern):
774
- modular.mod{N}_16bit.layer1.geq{K}.bias [1]
775
- modular.mod{N}_16bit.layer1.geq{K}.weight [16]
776
- modular.mod{N}_16bit.layer1.leq{K}.bias [1]
777
- modular.mod{N}_16bit.layer1.leq{K}.weight [16]
778
- modular.mod{N}_16bit.layer2.eq{K}.bias [1]
779
- modular.mod{N}_16bit.layer2.eq{K}.weight [2]
780
- modular.mod{N}_16bit.layer3.or.bias [1]
781
- modular.mod{N}_16bit.layer3.or.weight [R]
782
-
783
- Where R = number of ranges = ceil(65536/N).
784
-
785
- ---
786
- PATTERN RECOGNITION
787
-
788
- pattern_recognition.popcount16bit.bias [1]
789
- pattern_recognition.popcount16bit.weight [16]
790
- pattern_recognition.allones16bit.bias [1]
791
- pattern_recognition.allones16bit.weight [16]
792
- pattern_recognition.allzeros16bit.bias [1]
793
- pattern_recognition.allzeros16bit.weight [16]
794
- pattern_recognition.alternating16bit.pattern1.weight [16]
795
- pattern_recognition.alternating16bit.pattern2.weight [16]
796
- pattern_recognition.hammingdistance16bit.popcount.weight [16]
797
- pattern_recognition.hammingdistance16bit.xor.weight [32]
798
- pattern_recognition.leadingones16bit.weight [16]
799
- pattern_recognition.trailingones16bit.weight [16]
800
- pattern_recognition.runlength16bit.weight [16]
801
- pattern_recognition.onehotdetector16bit.and.bias [1]
802
- pattern_recognition.onehotdetector16bit.and.weight [2]
803
- pattern_recognition.onehotdetector16bit.atleast1.bias [1]
804
- pattern_recognition.onehotdetector16bit.atleast1.weight [16]
805
- pattern_recognition.onehotdetector16bit.atmost1.bias [1]
806
- pattern_recognition.onehotdetector16bit.atmost1.weight [16]
807
- pattern_recognition.symmetry16bit.and.bias [1]
808
- pattern_recognition.symmetry16bit.and.weight [8]
809
- pattern_recognition.symmetry16bit.xnor0.weight [2]
810
- pattern_recognition.symmetry16bit.xnor1.weight [2]
811
- pattern_recognition.symmetry16bit.xnor2.weight [2]
812
- pattern_recognition.symmetry16bit.xnor3.weight [2]
813
- pattern_recognition.symmetry16bit.xnor4.weight [2]
814
- pattern_recognition.symmetry16bit.xnor5.weight [2]
815
- pattern_recognition.symmetry16bit.xnor6.weight [2]
816
- pattern_recognition.symmetry16bit.xnor7.weight [2]
817
-
818
- ---
819
- THRESHOLD
820
-
821
- threshold.alloutof16.bias [1]
822
- threshold.alloutof16.weight [16]
823
- threshold.oneoutof16.bias [1]
824
- threshold.oneoutof16.weight [16]
825
- threshold.twooutof16.bias [1]
826
- threshold.twooutof16.weight [16]
827
- threshold.threeoutof16.bias [1]
828
- threshold.threeoutof16.weight [16]
829
- threshold.fouroutof16.bias [1]
830
- threshold.fouroutof16.weight [16]
831
- threshold.fiveoutof16.bias [1]
832
- threshold.fiveoutof16.weight [16]
833
- threshold.sixoutof16.bias [1]
834
- threshold.sixoutof16.weight [16]
835
- threshold.sevenoutof16.bias [1]
836
- threshold.sevenoutof16.weight [16]
837
- threshold.eightoutof16.bias [1]
838
- threshold.eightoutof16.weight [16]
839
- threshold.nineoutof16.bias [1]
840
- threshold.nineoutof16.weight [16]
841
- threshold.tenoutof16.bias [1]
842
- threshold.tenoutof16.weight [16]
843
- threshold.elevenoutof16.bias [1]
844
- threshold.elevenoutof16.weight [16]
845
- threshold.twelveoutof16.bias [1]
846
- threshold.twelveoutof16.weight [16]
847
- threshold.thirteenoutof16.bias [1]
848
- threshold.thirteenoutof16.weight [16]
849
- threshold.fourteenoutof16.bias [1]
850
- threshold.fourteenoutof16.weight [16]
851
- threshold.fifteenoutof16.bias [1]
852
- threshold.fifteenoutof16.weight [16]
853
- threshold.sixteenoutof16.bias [1]
854
- threshold.sixteenoutof16.weight [16]
855
- threshold.majority16.bias [1]
856
- threshold.majority16.weight [16]
857
- threshold.minority16.bias [1]
858
- threshold.minority16.weight [16]
859
- threshold.atleastk_8_16bit.bias [1]
860
- threshold.atleastk_8_16bit.weight [16]
861
- threshold.atmostk_8_16bit.bias [1]
862
- threshold.atmostk_8_16bit.weight [16]
863
- threshold.exactlyk_8_16bit.and.bias [1]
864
- threshold.exactlyk_8_16bit.and.weight [2]
865
- threshold.exactlyk_8_16bit.atleast.bias [1]
866
- threshold.exactlyk_8_16bit.atleast.weight [16]
867
- threshold.exactlyk_8_16bit.atmost.bias [1]
868
- threshold.exactlyk_8_16bit.atmost.weight [16]
869
-
870
- ---
871
- MANIFEST
872
-
873
- manifest.alu_operations [1]
874
- manifest.flags [1]
875
- manifest.instruction_width [1]
876
- manifest.memory_bytes [1]
877
- manifest.pc_width [1]
878
- manifest.register_width [1]
879
- manifest.registers [1]
880
- manifest.turing_complete [1]
881
- manifest.version [1]
882
-
883
- Values change:
884
- - register_width: 8 β†’ 16
885
- - pc_width: 8 β†’ 16
886
- - memory_bytes: 256 β†’ 65536
887
-
888
- ---
889
- TOTAL NEW TENSOR COUNT
890
-
891
- | Category | Count |
892
- |-------------------------------|-------------------|
893
- | ripplecarry16bit | 288 |
894
- | 16-bit comparators | 2 |
895
- | multiplier16x16 | ~6500 |
896
- | combinational | 45 |
897
- | control (jump + conditionals) | 1184 |
898
- | error_detection | ~200 |
899
- | modular | ~600 |
900
- | pattern_recognition | 45 |
901
- | threshold | 60 |
902
- | manifest | 9 |
903
- | TOTAL | ~8900 new tensors |
904
-
905
- Combined with existing 8-bit tensors retained for backwards compatibility or removed: final 16-bit model ~9000-17000 tensors depending on whether 8-bit components are kept.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
todo.md CHANGED
@@ -1,173 +1,173 @@
1
- # Threshold Logic Neural Turing Machine
2
-
3
- ## Core Vision
4
-
5
- A self-contained, autonomous computational machine:
6
- - **Pure tensor computation**: State in, state out
7
- - **Frozen verified circuits**: Exhaustively tested, can't compute wrong
8
- - **ACT execution**: Internal loop until HALT
9
- - **No external orchestration**: One forward pass = complete program execution
10
-
11
- The machine runs. Callers just provide initial state and collect results.
12
-
13
- ## Architecture
14
-
15
- ```
16
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
17
- β”‚ Initial State β”‚
18
- β”‚ [PC|Regs|Flags|Memory...] β”‚
19
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
20
- β–Ό
21
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
22
- β”‚ β”‚
23
- β”‚ Threshold Circuit Layer β”‚
24
- β”‚ β”‚
25
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
26
- β”‚ β”‚ Fetch: PC β†’ Instr β”‚ β”‚
27
- β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
28
- β”‚ β”‚ Decode: Opcode/Ops β”‚ β”‚
29
- β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
30
- β”‚ β”‚ Execute: ALU/Mem β”‚ β”‚
31
- β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
32
- β”‚ β”‚ Writeback: Results β”‚ β”‚
33
- β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
34
- β”‚ β”‚ PC Update β”‚ β”‚
35
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
36
- β”‚ β”‚ β”‚
37
- β”‚ β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”‚
38
- β”‚ β”‚ HALTED? β”‚ β”‚
39
- β”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β”‚
40
- β”‚ β”‚ β”‚
41
- β”‚ no ──┴── yes β”‚
42
- β”‚ β”‚ β”‚ β”‚
43
- β”‚ β–Ό β–Ό β”‚
44
- β”‚ [loop] [exit] β”‚
45
- β”‚ β”‚
46
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
47
- β–Ό
48
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
49
- β”‚ Final State β”‚
50
- β”‚ [PC|Regs|Flags|Memory...] β”‚
51
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
52
- ```
53
-
54
- ## Memory Architecture
55
-
56
- ### State Tensor Layout
57
- ```
58
- β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
59
- β”‚ PC [8] β”‚ Regs[32] β”‚Flags[4β”‚Ctrl[4] β”‚ Memory [N Γ— 8] β”‚
60
- β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
61
- 8 + 32 + 4 + 4 + N Γ— 8 bits
62
- ```
63
-
64
- ### Memory Hierarchy
65
- | Level | Size | Tensors | Access |
66
- |-------|------|---------|--------|
67
- | Registers | 4 Γ— 8-bit | Direct wiring | Immediate |
68
- | Hot cache | 256 bytes | ~6,400 | 8-bit addressed |
69
- | Cold bank | 64KB | ~1.6M | 16-bit addressed |
70
-
71
- ### Full 64KB Configuration
72
- - Address space: 0x0000 - 0xFFFF
73
- - Routing circuits: ~1.64M tensors
74
- - State tensor: 48 + 524,288 = 524,336 bits per instance
75
-
76
- ## Phase 1: Memory Infrastructure
77
-
78
- | Component | Description | Tensors | Status |
79
- |-----------|-------------|---------|--------|
80
- | Address Decoder 8-bit | 8-bit β†’ 256 one-hot | ~520 | Pending |
81
- | Address Decoder 16-bit | 16-bit β†’ 65536 one-hot | ~65,600 | Pending |
82
- | Memory Read MUX 256 | 256-to-1 Γ— 8 bits | ~2,048 | Pending |
83
- | Memory Read MUX 64K | 65536-to-1 Γ— 8 bits | ~524,288 | Pending |
84
- | Memory Write Demux | Route write to address | ~524,288 | Pending |
85
- | Memory Cell Logic | Conditional update | ~524,288 | Pending |
86
-
87
- ## Phase 2: Execution Engine
88
-
89
- | Component | Description | Status |
90
- |-----------|-------------|--------|
91
- | Instruction Fetch | PC β†’ Memory β†’ IR | Pending |
92
- | Operand Fetch | Decode β†’ Register/Memory Read | Pending |
93
- | ALU Dispatch | Opcode β†’ Operation Select | Pending |
94
- | Result Writeback | Route to destination | Pending |
95
- | Flag Update | Compute Z/N/C/V | Partial |
96
- | PC Advance | Increment or Jump | Done |
97
- | Halt Detection | HALT opcode β†’ stop | Done |
98
-
99
- ## Phase 3: ACT Integration
100
-
101
- | Component | Description | Status |
102
- |-----------|-------------|--------|
103
- | Cycle Block | All Phase 2 as single layer | Pending |
104
- | Recurrence Wrapper | Loop until halt signal | Pending |
105
- | Max Cycles Guard | Prevent infinite loops | Pending |
106
- | State I/O | Pack/unpack state tensor | Pending |
107
-
108
- ## Instruction Set
109
-
110
- | Opcode | Mnemonic | Operation | Status |
111
- |--------|----------|-----------|--------|
112
- | 0x0 | ADD | R[d] = R[a] + R[b] | Done |
113
- | 0x1 | SUB | R[d] = R[a] - R[b] | Done |
114
- | 0x2 | AND | R[d] = R[a] & R[b] | Done |
115
- | 0x3 | OR | R[d] = R[a] \| R[b] | Done |
116
- | 0x4 | XOR | R[d] = R[a] ^ R[b] | Done |
117
- | 0x5 | SHL | R[d] = R[a] << 1 | Done |
118
- | 0x6 | SHR | R[d] = R[a] >> 1 | Done |
119
- | 0x7 | MUL | R[d] = R[a] * R[b] | Done |
120
- | 0x8 | DIV | R[d] = R[a] / R[b] | Done |
121
- | 0x9 | CMP | flags = R[a] - R[b] | Done |
122
- | 0xA | LOAD | R[d] = M[addr] | Pending |
123
- | 0xB | STORE | M[addr] = R[s] | Pending |
124
- | 0xC | JMP | PC = addr | Partial |
125
- | 0xD | JZ/JNZ | PC = addr if flag | Done |
126
- | 0xE | CALL | push PC; PC = addr | Partial |
127
- | 0xF | HALT | stop execution | Done |
128
-
129
- ## Completed Circuits
130
-
131
- ### Arithmetic (2,756 tensors)
132
- - ADD, SUB, MUL, DIV, NEG
133
- - ADC, SBC (with carry)
134
- - CMP (compare, sets flags)
135
-
136
- ### Bit Operations (62 tensors)
137
- - ASR (arithmetic shift right)
138
- - ROL, ROR (rotate through carry)
139
- - SHL, SHR (from original)
140
-
141
- ### Control (306 tensors)
142
- - NOP, HALT
143
- - PC Increment, PC Load MUX
144
- - Register MUX 4-to-1
145
- - Instruction Decoder 4-to-16
146
-
147
- ### Original Model (~3,100 tensors)
148
- - Boolean gates (AND, OR, XOR, NOT, NAND, NOR)
149
- - Ripple carry adders (2/4/8-bit)
150
- - 8Γ—8 multiplier
151
- - Comparators, threshold gates
152
- - Conditional jumps
153
-
154
- **Current: 6,184 tensors**
155
- **Projected: ~1.65M tensors (with 64KB memory)**
156
-
157
- ## Applications
158
-
159
- The machine is general-purpose. Possible callers:
160
-
161
- 1. **Direct invocation**: Load state, call forward(), read result
162
- 2. **LLM coprocessor**: Embedded layer for exact computation
163
- 3. **Neuromorphic deployment**: Map to spiking hardware
164
- 4. **Verified computation**: Provably correct execution
165
- 5. **Educational**: Transparent, inspectable CPU
166
-
167
- ## Design Principles
168
-
169
- 1. **Autonomy**: Machine runs without external logic
170
- 2. **Purity**: forward(state) β†’ state', no side effects
171
- 3. **Verification**: Every circuit exhaustively tested
172
- 4. **Transparency**: All weights inspectable, all operations traceable
173
- 5. **Universality**: Turing complete, runs arbitrary programs
 
1
+ # Threshold Logic Neural Turing Machine
2
+
3
+ ## Core Vision
4
+
5
+ A self-contained, autonomous computational machine:
6
+ - **Pure tensor computation**: State in, state out
7
+ - **Frozen verified circuits**: Exhaustively tested, can't compute wrong
8
+ - **ACT execution**: Internal loop until HALT
9
+ - **No external orchestration**: One forward pass = complete program execution
10
+
11
+ The machine runs. Callers just provide initial state and collect results.
12
+
13
+ ## Architecture
14
+
15
+ ```
16
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
17
+ β”‚ Initial State β”‚
18
+ β”‚ [PC|Regs|Flags|Memory...] β”‚
19
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
20
+ β–Ό
21
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
22
+ β”‚ β”‚
23
+ β”‚ Threshold Circuit Layer β”‚
24
+ β”‚ β”‚
25
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
26
+ β”‚ β”‚ Fetch: PC β†’ Instr β”‚ β”‚
27
+ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
28
+ β”‚ β”‚ Decode: Opcode/Ops β”‚ β”‚
29
+ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
30
+ β”‚ β”‚ Execute: ALU/Mem β”‚ β”‚
31
+ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
32
+ β”‚ β”‚ Writeback: Results β”‚ β”‚
33
+ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
34
+ β”‚ β”‚ PC Update β”‚ β”‚
35
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
36
+ β”‚ β”‚ β”‚
37
+ β”‚ β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β” β”‚
38
+ β”‚ β”‚ HALTED? β”‚ β”‚
39
+ β”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β”‚
40
+ β”‚ β”‚ β”‚
41
+ β”‚ no ──┴── yes β”‚
42
+ β”‚ β”‚ β”‚ β”‚
43
+ β”‚ β–Ό β–Ό β”‚
44
+ β”‚ [loop] [exit] β”‚
45
+ β”‚ β”‚
46
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
47
+ β–Ό
48
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
49
+ β”‚ Final State β”‚
50
+ β”‚ [PC|Regs|Flags|Memory...] β”‚
51
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
52
+ ```
53
+
54
+ ## Memory Architecture
55
+
56
+ ### State Tensor Layout
57
+ ```
58
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
59
+ β”‚ PC [8] β”‚ Regs[32] β”‚Flags[4β”‚Ctrl[4] β”‚ Memory [N Γ— 8] β”‚
60
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
61
+ 8 + 32 + 4 + 4 + N Γ— 8 bits
62
+ ```
63
+
64
+ ### Memory Hierarchy
65
+ | Level | Size | Tensors | Access |
66
+ |-------|------|---------|--------|
67
+ | Registers | 4 Γ— 8-bit | Direct wiring | Immediate |
68
+ | Hot cache | 256 bytes | ~6,400 | 8-bit addressed |
69
+ | Cold bank | 64KB | ~1.6M | 16-bit addressed |
70
+
71
+ ### Full 64KB Configuration
72
+ - Address space: 0x0000 - 0xFFFF
73
+ - Routing circuits: ~1.64M tensors
74
+ - State tensor: 48 + 524,288 = 524,336 bits per instance
75
+
76
+ ## Phase 1: Memory Infrastructure
77
+
78
+ | Component | Description | Tensors | Status |
79
+ |-----------|-------------|---------|--------|
80
+ | Address Decoder 8-bit | 8-bit β†’ 256 one-hot | ~520 | Pending |
81
+ | Address Decoder 16-bit | 16-bit β†’ 65536 one-hot | ~65,600 | Pending |
82
+ | Memory Read MUX 256 | 256-to-1 Γ— 8 bits | ~2,048 | Pending |
83
+ | Memory Read MUX 64K | 65536-to-1 Γ— 8 bits | ~524,288 | Pending |
84
+ | Memory Write Demux | Route write to address | ~524,288 | Pending |
85
+ | Memory Cell Logic | Conditional update | ~524,288 | Pending |
86
+
87
+ ## Phase 2: Execution Engine
88
+
89
+ | Component | Description | Status |
90
+ |-----------|-------------|--------|
91
+ | Instruction Fetch | PC β†’ Memory β†’ IR | Pending |
92
+ | Operand Fetch | Decode β†’ Register/Memory Read | Pending |
93
+ | ALU Dispatch | Opcode β†’ Operation Select | Pending |
94
+ | Result Writeback | Route to destination | Pending |
95
+ | Flag Update | Compute Z/N/C/V | Partial |
96
+ | PC Advance | Increment or Jump | Done |
97
+ | Halt Detection | HALT opcode β†’ stop | Done |
98
+
99
+ ## Phase 3: ACT Integration
100
+
101
+ | Component | Description | Status |
102
+ |-----------|-------------|--------|
103
+ | Cycle Block | All Phase 2 as single layer | Pending |
104
+ | Recurrence Wrapper | Loop until halt signal | Pending |
105
+ | Max Cycles Guard | Prevent infinite loops | Pending |
106
+ | State I/O | Pack/unpack state tensor | Pending |
107
+
108
+ ## Instruction Set
109
+
110
+ | Opcode | Mnemonic | Operation | Status |
111
+ |--------|----------|-----------|--------|
112
+ | 0x0 | ADD | R[d] = R[a] + R[b] | Done |
113
+ | 0x1 | SUB | R[d] = R[a] - R[b] | Done |
114
+ | 0x2 | AND | R[d] = R[a] & R[b] | Done |
115
+ | 0x3 | OR | R[d] = R[a] \| R[b] | Done |
116
+ | 0x4 | XOR | R[d] = R[a] ^ R[b] | Done |
117
+ | 0x5 | SHL | R[d] = R[a] << 1 | Done |
118
+ | 0x6 | SHR | R[d] = R[a] >> 1 | Done |
119
+ | 0x7 | MUL | R[d] = R[a] * R[b] | Done |
120
+ | 0x8 | DIV | R[d] = R[a] / R[b] | Done |
121
+ | 0x9 | CMP | flags = R[a] - R[b] | Done |
122
+ | 0xA | LOAD | R[d] = M[addr] | Pending |
123
+ | 0xB | STORE | M[addr] = R[s] | Pending |
124
+ | 0xC | JMP | PC = addr | Partial |
125
+ | 0xD | JZ/JNZ | PC = addr if flag | Done |
126
+ | 0xE | CALL | push PC; PC = addr | Partial |
127
+ | 0xF | HALT | stop execution | Done |
128
+
129
+ ## Completed Circuits
130
+
131
+ ### Arithmetic (2,756 tensors)
132
+ - ADD, SUB, MUL, DIV, NEG
133
+ - ADC, SBC (with carry)
134
+ - CMP (compare, sets flags)
135
+
136
+ ### Bit Operations (62 tensors)
137
+ - ASR (arithmetic shift right)
138
+ - ROL, ROR (rotate through carry)
139
+ - SHL, SHR (from original)
140
+
141
+ ### Control (306 tensors)
142
+ - NOP, HALT
143
+ - PC Increment, PC Load MUX
144
+ - Register MUX 4-to-1
145
+ - Instruction Decoder 4-to-16
146
+
147
+ ### Original Model (~3,100 tensors)
148
+ - Boolean gates (AND, OR, XOR, NOT, NAND, NOR)
149
+ - Ripple carry adders (2/4/8-bit)
150
+ - 8Γ—8 multiplier
151
+ - Comparators, threshold gates
152
+ - Conditional jumps
153
+
154
+ **Current: 6,184 tensors**
155
+ **Projected: ~1.65M tensors (with 64KB memory)**
156
+
157
+ ## Applications
158
+
159
+ The machine is general-purpose. Possible callers:
160
+
161
+ 1. **Direct invocation**: Load state, call forward(), read result
162
+ 2. **LLM coprocessor**: Embedded layer for exact computation
163
+ 3. **Neuromorphic deployment**: Map to spiking hardware
164
+ 4. **Verified computation**: Provably correct execution
165
+ 5. **Educational**: Transparent, inspectable CPU
166
+
167
+ ## Design Principles
168
+
169
+ 1. **Autonomy**: Machine runs without external logic
170
+ 2. **Purity**: forward(state) β†’ state', no side effects
171
+ 3. **Verification**: Every circuit exhaustively tested
172
+ 4. **Transparency**: All weights inspectable, all operations traceable
173
+ 5. **Universality**: Turing complete, runs arbitrary programs