CORDIC Hyperbolic IP

Rotation Mode – Parameter Sensitivity & Accuracy Characterization


1. Configuration Under Test

Parameter Value
Internal Width (WIDTH) 32
Iterations (ITER) 16
Fraction Bits (FRAC) 30
Output Width 16
Output Shift 16
Input Range (z) −1.0 to +1.0

2. Error Metrics

  • Max Error: Maximum absolute deviation across input sweep
  • RMS Error: Root-mean-square error across input sweep
  • Reference values computed using double-precision sinh(), cosh(), tanh()

3. Iteration Count Sweep (Convergence Depth)

Iteration Sweep

ITER Sinh Max Err Sinh RMS Err Cosh Max Err Cosh RMS Err Tanh Max Err Tanh RMS Err
4 1.058350e-01 4.783335e-02 4.959315e-02 2.296880e-02 7.615942e-01 1.835182e-01
8 9.982298e-03 5.644306e-03 7.099161e-03 3.071683e-03 7.615942e-01 1.828861e-01
12 5.800564e-04 3.564579e-04 4.081628e-04 2.058761e-04 7.615942e-01 1.829530e-01
16 1.077946e-04 5.684623e-05 7.871949e-05 4.343332e-05 7.615942e-01 1.829425e-01
22 5.690246e-05 3.302970e-05 6.103516e-05 4.298331e-05 7.615942e-01 1.829418e-01

Observations

  • Sinh/Cosh error decreases exponentially with iteration depth
  • Beyond ~ITER = 16, improvement is limited by fixed-point quantization
  • Tanh error does not improve with additional iterations
  • Tanh error is dominated by implementation structure (division / saturation behavior)

4. Fraction Bits Sweep (Phase Quantization)

Fraction Bit Sweep

FRAC_BITS Sinh Max Err Sinh RMS Err Cosh Max Err Cosh RMS Err Tanh RMS Err
20 5.452029e-02 3.434209e-02 6.250000e-02 3.693332e-02 1.848091e-01
24 3.841082e-03 2.227577e-03 3.906250e-03 2.165185e-03 1.828822e-01
28 2.053607e-04 1.273071e-04 2.618250e-04 1.350281e-04 1.829399e-01
30 1.077946e-04 5.684623e-05 7.871949e-05 4.343332e-05 1.829425e-01

Observations

  • Sinh/Cosh error scales approximately with 2^(-FRAC_BITS)
  • Below ~24 bits, quantization dominates
  • Tanh accuracy is largely unaffected by additional fractional precision
  • Error floor for Tanh is structural, not precision-limited

5. Internal Width Sweep (Datapath Precision)

Internal Width Sweep

WIDTH ITER Sinh RMS Err Cosh RMS Err Tanh RMS Err
20 14 9.050661e-03 9.485111e-03 1.828877e-01
24 16 8.383837e-03 9.485111e-03 1.828877e-01
28 18 2.385101e-03 2.165185e-03 1.828822e-01
32 16 5.684623e-05 4.343332e-05 1.829425e-01
40 24 FAIL FAIL FAIL

Observations

  • WIDTH < 28 introduces noticeable amplitude distortion
  • WIDTH ≥ 32 provides stable convergence
  • Excessive width with mismatched scaling causes catastrophic numerical failure
  • Padding/pruning warnings correlate with instability

6. Output Width & Scaling

6.1 Correct Scaling (Reference)

Baseline Response

OUT_WIDTH OUT_SHIFT Sinh RMS Err Cosh RMS Err
16 16 5.684623e-05 4.343332e-05

6.2 Reduced Output Width (Quantization Noise)

Output Quantization

OUT_WIDTH OUT_SHIFT Sinh RMS Err Cosh RMS Err
14 14 7.112911e-01 1.205149e+00
12 12 6.758043e-01 1.206839e+00

6.3 Incorrect Scaling (Failure Region)

Failure Region

OUT_WIDTH OUT_SHIFT Sinh RMS Err Cosh RMS Err
16 14 FAIL FAIL
16 12 FAIL FAIL

Observations

  • Correct output scaling is mandatory
  • Underscaling causes amplitude collapse
  • Overscaling causes sign inversion and catastrophic distortion
  • RMS error saturates near ~0.7–1.2 in failure regions

7. Tanh Accuracy Summary

Configuration Tanh Max Err Tanh RMS Err
ITER ≥ 8, Correct Scaling 7.615942e-01 1.829425e-01
Low FRAC_BITS 7.615942e-01 1.848091e-01
Underscaled Outputs 8.022659e-01 5.183529e-01

Observations

  • Tanh error is dominated by structural implementation behavior
  • Large absolute deviation near ±1 persists
  • Tanh should be treated as best-effort output

8. Key Takeaways (Rotation Mode)

  • ITER = 16 sufficient for convergence
  • FRAC_BITS ≥ 28 recommended
  • WIDTH ≥ 32 ideal
  • Correct output scaling is mandatory
  • Tanh accuracy is structurally limited

CORDIC Hyperbolic IP

Vectoring Mode – Parameter Sensitivity & Accuracy Characterization


1. Configuration Under Test

Parameter Value
Internal Width 32
Iterations 16
Fraction Bits 30
Output Width 16
Output Shift 16 (LN) / 17 (EXP)
Input Range See below

Shift schedule (with required repeats): [1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 14]


2. Error Metrics

  • Max Error: Maximum absolute deviation
  • RMS Error: Root-mean-square deviation
  • Reference values computed using double-precision exp() and ln()

3. EXP Accuracy (Rotation Mode Result — Listed Here for Comparison)

EXP Baseline

Note: exp is implemented under Hyperbolic Rotation Mode. It is shown here only for comparison with LN, which uses vectoring.

Configuration

  • OUT_SHIFT = 17
  • Input range: −1.0 to +1.0

Results

Metric Value
Max Err 2.475492e-04
RMS Err 1.089214e-04

Observations

  • Stable and monotonic across full ±1.0 range
  • No overflow observed within test domain
  • Error consistent with fixed-point quantization limits
  • Correct repeat scheduling resolves prior instability

EXP rotation mode is now numerically stable in tested range.


4. LN Accuracy (Vectoring Mode)

LN Baseline

Configuration

  • OUT_SHIFT = 16
  • Input range: 0.2 to 1.9

Results

Metric Value
Max Err 1.521392e-04
RMS Err 8.087723e-05

Observations

  • Converges correctly across full tested domain
  • No collapse or constant-output behavior
  • Symmetric error distribution around reference
  • Residual error dominated by fixed-point truncation
  • Proper shift schedule resolves prior convergence defect

LN vectoring mode is now numerically stable in tested range.


5. Key Takeaways (Vectoring Mode)

  • Hyperbolic repeat scheduling is mandatory for stability
  • ITER = 16 sufficient for convergence at 30 fractional bits
  • WIDTH = 32 provides stable internal dynamic range
  • EXP (rotation mode) and LN (vectoring mode) both achieve ~1e−4 RMS accuracy
  • No structural instability observed within validated ranges
  • Current implementation is production-ready within defined domain