Four-Lane SIMD Execution Unit
Integrate four arithmetic lanes with per-lane masking and a registered output.
Task
Accept two 128-bit vectors, a 2-bit operation and 4-bit mask. Compute add/sub/min/max per lane, preserve masked-off lanes from src_a, and register the result when in_valid.
Examples
- Implement the required behavior and preserve it under the stated control conditions.
Constraints
- Use synthesizable SystemVerilog unless this stage is verification-only.
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
SIMD, CPU, vector unit
Open Four-Lane SIMD Execution Unit 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