Threshold Logic Circuits
Collection
Boolean gates, voting functions, modular arithmetic, and adders as threshold networks.
β’
269 items
β’
Updated
β’
1
T flip-flop (toggle) next-state logic as threshold circuit.
T ββββββββ
Q_prev βββ΄βββΊ T-FF βββ¬βββΊ Q
ββββΊ Qn
| T | Q_prev | Q | Qn | Mode |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | Hold |
| 0 | 1 | 1 | 0 | Hold |
| 1 | 0 | 1 | 0 | Toggle |
| 1 | 1 | 0 | 1 | Toggle |
Q = T XOR Q_prev
Qn = T XNOR Q_prev
XOR is not linearly separable (the classic Minsky/Papert result), requiring 2 layers.
T Q_prev
β β
ββββββ¬ββββ€
β β β
βΌ βΌ βΌ
ββββββ¬βββββ¬βββββ¬βββββ
β OR βNANDβNOR βAND β Layer 1
ββββββ΄βββββ΄βββββ΄βββββ
β β β β
βββ¬βββ βββ¬βββ
β β
βΌ βΌ
βββββββ βββββββ
β AND β β OR β Layer 2
βββββββ βββββββ
β β
βΌ βΌ
Q Qn
| Inputs | 2 |
| Outputs | 2 |
| Neurons | 6 |
| Layers | 2 |
| Parameters | 18 |
| Magnitude | 19 |
T flip-flops with T=1 create divide-by-2 counters:
q = 0
for _ in range(8):
q = t_flipflop(1, q) # toggles: 0,1,0,1,0,1,0,1
Chain multiple T flip-flops for multi-bit counters.
from safetensors.torch import load_file
w = load_file('model.safetensors')
# Toggle mode creates oscillation
q = 0
for _ in range(4):
q_next = compute(t=1, q_prev=q, w)
q = q_next # 0 -> 1 -> 0 -> 1
MIT