Chargement…
Chargement…
The module multiplies finite normalized float32 values or zero. The starter code waits several cycles before returning the result.
Challenge objective
i_valid='1' as the start of a transaction;o_valid='1' and the correct product in at most 5 cycles;i_reset='1' clears internal state.The goal is timing improvement: split the computation into shorter registered steps.
| Signal | Direction | Width | Description |
|---|---|---|---|
i_clk | Input | 1 bit | System clock |
i_reset | Input | 1 bit | Active-high synchronous reset |
i_valid | Input | 1 bit | Pulse starting a new multiplication |
i_a | Input | 32 bits | First float32 operand |
i_b | Input | 32 bits | Second float32 operand |
o_valid | Output | 1 bit | Pulse indicating that o_y is valid |
o_y | Output | 32 bits | Product in float32 format |