Chargement…
Chargement…
The module performs the unsigned multiplication i_a * i_b, with two 5-bit operands and a 10-bit output.
Behaviour:
i_rst='1' clears all internal registers and o_y.The read-only file mult5_non_pipeline.vhd shows the starting combinational version. Your goal is to code mult5_pipeline.vhd with pipeline registers.
| Signal | Direction | Width | Description |
|---|---|---|---|
i_clk | Input | 1 bit | System clock |
i_rst | Input | 1 bit | Synchronous active-high reset |
i_a | Input | 5 bits | Unsigned operand A |
i_b | Input | 5 bits | Unsigned operand B |
o_y | Output | 10 bits | Pipelined product i_a * i_b |
The expected structure is a 4-stage pipeline:
i_b(0) and i_b(1), then register the partial sum;b(2);b(3);b(4) and register o_y.Delayed versions of i_a and i_b must move with the partial sums. Without this alignment, the result mixes several multiplications.