Threshold Logic Circuits
Collection
Boolean gates, voting functions, modular arithmetic, and adders as threshold networks.
β’
248 items
β’
Updated
β’
1
2Γ2 binary multiplier. Multiplies two 2-bit numbers to produce a 4-bit product.
a1 a0
Γ b1 b0
βββββββββ
a1b0 a0b0 (partial products row 0)
a1b1 a0b1 (partial products row 1)
βββββββββββββββββ
p3 p2 p1 p0
a0βββ¬ββββββββ¬ββββββββββββββββββββββββββββββββββββΊ p0 = a0b0
β β
b0βββΌββββ¬ββββΌββββ¬ββββββββββββββββββββββββββββββββ
β β β β β
βΌ β βΌ β β
ββββββββββββββββ β
βa0b0 βββa1b0 ββ β
ββββββββββββββββ β
β β β β
a1βββββββ΄ββββΌββββ΄ββββ¬ββββββββββββββββββββββββββββ€
β β β
b1βββββββββββ΄ββββ¬ββββ΄ββββββββββββββββββββββββββββ€
β β β
βΌ βΌ β
ββββββββββββββ β
βa0b1 ββa1b1 β β
ββββββββββββββ β
β β β
β β β
a1b0βββββββββΌβββββββΌβββββ β
β β β β
a0b1βββββββββ΄βββββββΌβββββΌβββββ β
β β β β
β βΌ βΌ β
β ββββββββββ β
β β HA β β
β β p1, c1 β β
β ββββββββββ β
β β β β
β β β β
a1b1ββββββββββββββββ΄βββββΌβββββΌβββββ β
β β β β
c1 ββββββββββββββββββββββ΄βββββΌβββββΌβββββ β
β β β β
β βΌ βΌ β
β ββββββββββ β
β β HA β β
β β p2, p3 β β
β ββββββββββ β
β β β β
βΌ βΌ βΌ βΌ
p1 p2 p3 p0
| a | b | a Γ b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 2 | 0 |
| 0 | 3 | 0 |
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 1 | 3 | 3 |
| 2 | 2 | 4 |
| 2 | 3 | 6 |
| 3 | 3 | 9 |
Maximum: 3 Γ 3 = 9 (binary 1001)
Standard pencil-and-paper multiplication:
Compute partial products (4 AND gates):
Add column 1 (half adder):
Add column 2 (half adder):
Assemble result:
| Component | Neurons | Parameters |
|---|---|---|
| AND Γ 4 | 4 | 12 |
| HA (p1) | 4 | 12 |
| HA (p2) | 4 | 12 |
| Total | 12 | 36 |
Layers: 5 (AND β XOR L1 β XOR L2 β XOR L1 β XOR L2)
from safetensors.torch import load_file
w = load_file('model.safetensors')
def multiply_2x2(a, b):
"""a, b: 2-bit integers (0-3)
Returns: 4-bit product"""
a0, a1 = a & 1, (a >> 1) & 1
b0, b1 = b & 1, (b >> 1) & 1
# See model.py for full implementation
pass
result = multiply_2x2(3, 3) # Returns 9
threshold-multiplier2x2/
βββ model.safetensors
βββ model.py
βββ config.json
βββ README.md
MIT