Two-Element Dot Product
Implement the arithmetic kernel for a 2x2 matrix result element.
Task
Compute `a0*b0 + a1*b1` using signed 16-bit operands and a wide signed result.
Examples
- [1,2]·[3,4] = 11.
- Negative operands retain signed behavior.
Constraints
- Use both products.
- Signed inputs.
- At least 32 output bits.
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
matrix multiply, dot product, datapath
Open Two-Element Dot Product 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