2x2 Matrix-Multiply Accelerator
Integrate the complete parallel 2x2 matrix-multiplication datapath with input and output handshakes.
Task
Accept a 2x2 A and B tile on `in_valid && in_ready`, compute all four dot products, register the four C elements, and hold `out_valid` until `out_ready`.
Examples
- C00=A00*B00+A01*B10.
- C01=A00*B01+A01*B11.
- C10/C11 use the second row of A.
Constraints
- Do not accept new input while output is pending.
- Compute all four result elements.
- Hold output valid during backpressure.
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, accelerator, integration
Open 2x2 Matrix-Multiply Accelerator 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