Signed Fixed-Point MAC
Build the arithmetic primitive used by the FIR datapath.
Task
Multiply two signed 16-bit inputs and accumulate into a signed 40-bit register when `enable` is asserted.
Examples
- enable=1 → acc += a*b.
- clear=1 → accumulator returns to zero.
Constraints
- Signed arithmetic.
- Synchronous clear.
- 40-bit accumulator to reduce overflow risk.
Accelerator verification checklist
- Exercise zero, maximum positive and negative operands where signed data is used.
- Check exact bit growth and make overflow or saturation behavior intentional.
- Verify reset, enable, valid and pipeline alignment cycle by cycle.
- Send back-to-back data to confirm the advertised throughput.
Concepts to review
DSP, MAC, fixed point
Open Signed Fixed-Point MAC in the HDLForge interactive editor.
Related problems
- Signed INT8 Multiply-Accumulate — Easy
- Four-Lane INT8 Dot Product — Medium
- Eight-Lane Reduction Adder — Medium
- ReLU with 8-bit Saturation — Medium
- Systolic Array Processing Element — Hard