VexRiscv
VexRiscv copied to clipboard
Mul/Div don't work if withWriteBackStage or withMemoryStage is false
The MulPlugin, DivPlugin, and MulDivIterativePlugin all require that withWriteBackStage = true
and withMemoryStage = true
. This can make it difficult to shrink the core, especially since the MulPlugin ought to be inferred to a DSP block.
Is it difficult to adapt plugins to work with shorter pipelines?
Right,
It is mainly due to the fact that they were implemented before the withWriteBackStage and withMemoryStage options existed. So both exploited as much stages as possible to improve timings.
For both MulPlugin and MulDivIterativePlugin, it would not be an big issue to fix that. Todo :D