| --- |
| license: mit |
| tags: |
| - pytorch |
| - safetensors |
| - threshold-logic |
| - neuromorphic |
| - arithmetic |
| - dsp |
| --- |
| |
| # threshold-saturating-adder |
|
|
| 4-bit unsigned saturating adder. Clamps to maximum value on overflow instead of wrapping around. |
|
|
| ## Circuit |
|
|
| ``` |
| A[3:0] βββ |
| ββββΊ Sat Add βββ¬βββΊ S[3:0] (result) |
| B[3:0] βββ ββββΊ saturated (overflow flag) |
| ``` |
|
|
| ## Behavior |
|
|
| | A + B | Result | Saturated | |
| |-------|--------|-----------| |
| | β€ 15 | A + B | 0 | |
| | > 15 | 15 | 1 | |
|
|
| ## Examples |
|
|
| ``` |
| 7 + 5 = 12, saturated=0 |
| 10 + 10 = 15, saturated=1 (true sum: 20) |
| 15 + 15 = 15, saturated=1 (true sum: 30) |
| 8 + 7 = 15, saturated=0 |
| 8 + 8 = 15, saturated=1 (true sum: 16) |
| ``` |
|
|
| ## Wrapping vs Saturating |
|
|
| ``` |
| Wrapping: 15 + 1 = 0 (modulo 16) |
| Saturating: 15 + 1 = 15 (clamped) |
| ``` |
|
|
| ## Architecture |
|
|
| | Component | Count | Neurons | |
| |-----------|-------|---------| |
| | Full Adders | 4 | 28 | |
| | Saturation MUXes | 4 | 12 | |
|
|
| **Total: 40 neurons, 124 parameters, 4 layers** |
|
|
| ## How It Works |
|
|
| ``` |
| 1. Compute A + B with standard 4-bit adder |
| 2. If carry out = 1: |
| - Output 1111 (15) |
| - Set saturated = 1 |
| 3. Else: |
| - Output sum bits |
| - Set saturated = 0 |
| ``` |
|
|
| ## Applications |
|
|
| - **Audio DSP**: Prevents clipping distortion |
| - **Image processing**: Pixel value saturation |
| - **Neural networks**: Activation clamping |
| - **Control systems**: Prevents actuator overshoot |
| - **Fixed-point arithmetic**: Overflow protection |
|
|
| ## Usage |
|
|
| ```python |
| from safetensors.torch import load_file |
| |
| w = load_file('model.safetensors') |
| |
| # All 256 test cases verified |
| # Saturates 120 cases (where A+B > 15) |
| ``` |
|
|
| ## Files |
|
|
| ``` |
| threshold-saturating-adder/ |
| βββ model.safetensors |
| βββ create_safetensors.py |
| βββ config.json |
| βββ README.md |
| ``` |
|
|
| ## License |
|
|
| MIT |
|
|