Add Register File MUX - 84 tensors, 1036/1036 tests pass
Browse files- neural_computer.safetensors +2 -2
- tensors.txt +85 -1
- todo.md +1 -1
neural_computer.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:311454049f55ce50e7fb59c9fb8f02c36a939b589cd829a28804feadc1601489
|
| 3 |
+
size 668428
|
tensors.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
# Tensor Manifest
|
| 2 |
-
# Total:
|
| 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]
|
|
@@ -4871,6 +4871,90 @@ combinational.multiplexer2to1.or.weight: shape=[2], values=[1.0, 1.0]
|
|
| 4871 |
combinational.multiplexer4to1.select: shape=[6], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
| 4872 |
combinational.multiplexer8to1.select: shape=[11], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
| 4873 |
combinational.priorityencoder8bit.priority: shape=[8], values=[128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4874 |
control.call.jump: shape=[1], values=[1.0]
|
| 4875 |
control.call.push: shape=[1], values=[1.0]
|
| 4876 |
control.conditionaljump.bit0.and_a.bias: shape=[1], values=[-2.0]
|
|
|
|
| 1 |
# Tensor Manifest
|
| 2 |
+
# Total: 6028 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]
|
|
|
|
| 4871 |
combinational.multiplexer4to1.select: shape=[6], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
| 4872 |
combinational.multiplexer8to1.select: shape=[11], values=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
| 4873 |
combinational.priorityencoder8bit.priority: shape=[8], values=[128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0]
|
| 4874 |
+
combinational.regmux4to1.bit0.and0.bias: shape=[1], values=[-3.0]
|
| 4875 |
+
combinational.regmux4to1.bit0.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4876 |
+
combinational.regmux4to1.bit0.and1.bias: shape=[1], values=[-3.0]
|
| 4877 |
+
combinational.regmux4to1.bit0.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4878 |
+
combinational.regmux4to1.bit0.and2.bias: shape=[1], values=[-3.0]
|
| 4879 |
+
combinational.regmux4to1.bit0.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4880 |
+
combinational.regmux4to1.bit0.and3.bias: shape=[1], values=[-3.0]
|
| 4881 |
+
combinational.regmux4to1.bit0.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4882 |
+
combinational.regmux4to1.bit0.or.bias: shape=[1], values=[-1.0]
|
| 4883 |
+
combinational.regmux4to1.bit0.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4884 |
+
combinational.regmux4to1.bit1.and0.bias: shape=[1], values=[-3.0]
|
| 4885 |
+
combinational.regmux4to1.bit1.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4886 |
+
combinational.regmux4to1.bit1.and1.bias: shape=[1], values=[-3.0]
|
| 4887 |
+
combinational.regmux4to1.bit1.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4888 |
+
combinational.regmux4to1.bit1.and2.bias: shape=[1], values=[-3.0]
|
| 4889 |
+
combinational.regmux4to1.bit1.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4890 |
+
combinational.regmux4to1.bit1.and3.bias: shape=[1], values=[-3.0]
|
| 4891 |
+
combinational.regmux4to1.bit1.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4892 |
+
combinational.regmux4to1.bit1.or.bias: shape=[1], values=[-1.0]
|
| 4893 |
+
combinational.regmux4to1.bit1.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4894 |
+
combinational.regmux4to1.bit2.and0.bias: shape=[1], values=[-3.0]
|
| 4895 |
+
combinational.regmux4to1.bit2.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4896 |
+
combinational.regmux4to1.bit2.and1.bias: shape=[1], values=[-3.0]
|
| 4897 |
+
combinational.regmux4to1.bit2.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4898 |
+
combinational.regmux4to1.bit2.and2.bias: shape=[1], values=[-3.0]
|
| 4899 |
+
combinational.regmux4to1.bit2.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4900 |
+
combinational.regmux4to1.bit2.and3.bias: shape=[1], values=[-3.0]
|
| 4901 |
+
combinational.regmux4to1.bit2.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4902 |
+
combinational.regmux4to1.bit2.or.bias: shape=[1], values=[-1.0]
|
| 4903 |
+
combinational.regmux4to1.bit2.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4904 |
+
combinational.regmux4to1.bit3.and0.bias: shape=[1], values=[-3.0]
|
| 4905 |
+
combinational.regmux4to1.bit3.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4906 |
+
combinational.regmux4to1.bit3.and1.bias: shape=[1], values=[-3.0]
|
| 4907 |
+
combinational.regmux4to1.bit3.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4908 |
+
combinational.regmux4to1.bit3.and2.bias: shape=[1], values=[-3.0]
|
| 4909 |
+
combinational.regmux4to1.bit3.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4910 |
+
combinational.regmux4to1.bit3.and3.bias: shape=[1], values=[-3.0]
|
| 4911 |
+
combinational.regmux4to1.bit3.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4912 |
+
combinational.regmux4to1.bit3.or.bias: shape=[1], values=[-1.0]
|
| 4913 |
+
combinational.regmux4to1.bit3.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4914 |
+
combinational.regmux4to1.bit4.and0.bias: shape=[1], values=[-3.0]
|
| 4915 |
+
combinational.regmux4to1.bit4.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4916 |
+
combinational.regmux4to1.bit4.and1.bias: shape=[1], values=[-3.0]
|
| 4917 |
+
combinational.regmux4to1.bit4.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4918 |
+
combinational.regmux4to1.bit4.and2.bias: shape=[1], values=[-3.0]
|
| 4919 |
+
combinational.regmux4to1.bit4.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4920 |
+
combinational.regmux4to1.bit4.and3.bias: shape=[1], values=[-3.0]
|
| 4921 |
+
combinational.regmux4to1.bit4.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4922 |
+
combinational.regmux4to1.bit4.or.bias: shape=[1], values=[-1.0]
|
| 4923 |
+
combinational.regmux4to1.bit4.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4924 |
+
combinational.regmux4to1.bit5.and0.bias: shape=[1], values=[-3.0]
|
| 4925 |
+
combinational.regmux4to1.bit5.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4926 |
+
combinational.regmux4to1.bit5.and1.bias: shape=[1], values=[-3.0]
|
| 4927 |
+
combinational.regmux4to1.bit5.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4928 |
+
combinational.regmux4to1.bit5.and2.bias: shape=[1], values=[-3.0]
|
| 4929 |
+
combinational.regmux4to1.bit5.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4930 |
+
combinational.regmux4to1.bit5.and3.bias: shape=[1], values=[-3.0]
|
| 4931 |
+
combinational.regmux4to1.bit5.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4932 |
+
combinational.regmux4to1.bit5.or.bias: shape=[1], values=[-1.0]
|
| 4933 |
+
combinational.regmux4to1.bit5.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4934 |
+
combinational.regmux4to1.bit6.and0.bias: shape=[1], values=[-3.0]
|
| 4935 |
+
combinational.regmux4to1.bit6.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4936 |
+
combinational.regmux4to1.bit6.and1.bias: shape=[1], values=[-3.0]
|
| 4937 |
+
combinational.regmux4to1.bit6.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4938 |
+
combinational.regmux4to1.bit6.and2.bias: shape=[1], values=[-3.0]
|
| 4939 |
+
combinational.regmux4to1.bit6.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4940 |
+
combinational.regmux4to1.bit6.and3.bias: shape=[1], values=[-3.0]
|
| 4941 |
+
combinational.regmux4to1.bit6.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4942 |
+
combinational.regmux4to1.bit6.or.bias: shape=[1], values=[-1.0]
|
| 4943 |
+
combinational.regmux4to1.bit6.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4944 |
+
combinational.regmux4to1.bit7.and0.bias: shape=[1], values=[-3.0]
|
| 4945 |
+
combinational.regmux4to1.bit7.and0.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4946 |
+
combinational.regmux4to1.bit7.and1.bias: shape=[1], values=[-3.0]
|
| 4947 |
+
combinational.regmux4to1.bit7.and1.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4948 |
+
combinational.regmux4to1.bit7.and2.bias: shape=[1], values=[-3.0]
|
| 4949 |
+
combinational.regmux4to1.bit7.and2.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4950 |
+
combinational.regmux4to1.bit7.and3.bias: shape=[1], values=[-3.0]
|
| 4951 |
+
combinational.regmux4to1.bit7.and3.weight: shape=[3], values=[1.0, 1.0, 1.0]
|
| 4952 |
+
combinational.regmux4to1.bit7.or.bias: shape=[1], values=[-1.0]
|
| 4953 |
+
combinational.regmux4to1.bit7.or.weight: shape=[4], values=[1.0, 1.0, 1.0, 1.0]
|
| 4954 |
+
combinational.regmux4to1.not_s0.bias: shape=[1], values=[0.0]
|
| 4955 |
+
combinational.regmux4to1.not_s0.weight: shape=[1], values=[-1.0]
|
| 4956 |
+
combinational.regmux4to1.not_s1.bias: shape=[1], values=[0.0]
|
| 4957 |
+
combinational.regmux4to1.not_s1.weight: shape=[1], values=[-1.0]
|
| 4958 |
control.call.jump: shape=[1], values=[1.0]
|
| 4959 |
control.call.push: shape=[1], values=[1.0]
|
| 4960 |
control.conditionaljump.bit0.and_a.bias: shape=[1], values=[-2.0]
|
todo.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
| NEG | Two's complement negate | DONE - 76 tensors, 256/256 tests pass |
|
| 10 |
| Program Counter | PC register + increment | Missing |
|
| 11 |
| PC Load | Load PC from jump target | Missing |
|
| 12 |
-
| Register File MUX | Select 1-of-4 GPRs |
|
| 13 |
| Register Write Enable | Write back to register | Missing |
|
| 14 |
| Memory Address Register | MAR latch | Missing |
|
| 15 |
| Memory Data Register | MDR latch | Missing |
|
|
|
|
| 9 |
| NEG | Two's complement negate | DONE - 76 tensors, 256/256 tests pass |
|
| 10 |
| Program Counter | PC register + increment | Missing |
|
| 11 |
| PC Load | Load PC from jump target | Missing |
|
| 12 |
+
| Register File MUX | Select 1-of-4 GPRs | DONE - 84 tensors, 1036/1036 tests pass |
|
| 13 |
| Register Write Enable | Write back to register | Missing |
|
| 14 |
| Memory Address Register | MAR latch | Missing |
|
| 15 |
| Memory Data Register | MDR latch | Missing |
|