phanerozoic commited on
Commit
e5723bf
·
verified ·
1 Parent(s): 375792f

Add Register File MUX - 84 tensors, 1036/1036 tests pass

Browse files
Files changed (3) hide show
  1. neural_computer.safetensors +2 -2
  2. tensors.txt +85 -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:7c1a8b089563359bb305ebb5586620f0ea128ae2efbb6fab60b0de049fbb0144
3
- size 659380
 
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: 5944 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,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 | Missing |
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 |