← All checks
07 / 08 · What we check

Arithmetic that's correct at the bit level, not just in theory.

Fixed-point precision, rounding, and overflow bugs are quiet until they aren't. They show up as subtle accuracy loss or, worse, silent wraparound. We check the numeric behavior of your arithmetic-heavy paths in detail.

  • 01
    Bit-width tracking. Growth of integer and fractional bits verified through each arithmetic stage.
  • 02
    Rounding strategy. Consistent, intentional rounding (not silent truncation) at each precision reduction.
  • 03
    Overflow handling. Saturation or explicit guard bits where a computation could exceed its range.
  • 04
    DSP block inference. Multiply-accumulate structures written so they map cleanly to hardware DSP slices.
  • 05
    Scaling consistency. Fixed-point scale factors tracked consistently across module boundaries.
Sample findingDSP & Fixed-Point
// Q1.15 x Q1.15 multiply, truncated back to 16 bits assign product = a_q15 * b_q15; // 32-bit result assign result = product[30:15]; // silent truncation, no rounding
Multiply result truncated without rounding or overflow checkMajor
Dropping the lower bits without rounding introduces a consistent negative bias, and the top bit isn't checked for overflow.
Why it matters

What this check protects you from.

Numeric correctness

Fixed-point bugs often pass simulation with random data yet fail with real-world signals.

DSP efficiency

Correctly structured arithmetic maps cleanly to hardware multiplier blocks instead of general fabric.

Predictable accuracy

Explicit rounding and saturation make your error budget something you can actually reason about.

All categories

Every review covers all 8.

DSP & Fixed-Point is one of eight categories in every FPGAStudio review. Explore the rest below.

Get your RTL reviewed by an expert.

No setup, no commitment. Just send us your project and we'll take it from there.

Request a Review →