[Libre-soc-dev] [RFC] Matrix and DCT/FFT SVP64 REMAP

Luke Kenneth Casson Leighton lkcl at lkcl.net
Tue Jul 6 01:18:08 BST 2021

On 7/6/21, Jacob Lifshay <programmerjake at gmail.com> wrote:

> vector or a scalar. I think we should definitely have a version where
> we always mul-add and don't just-mul-at-the-first-step, since it is
> more consistent with SV semantics,


the basic idea is: REMAP is an abstract independent concept, (which i
originally got from the Aspex Microelectronics ASP's DMA Engine).

it just so happens that when dropped on top of

* madd it creates integer matrix multiply,
* on fmadds, FP matrix multiply,
* on ternaryi with & and | it creates the Wilson algorithm Hendrik mentioned,
* on GF(2^8) it creates Rijndael MixColumns

a ton more things which are likely to take years to emerge.

the point is, you don't *have* to use 3-operand scalar ops, it is
possible to use fmv to perform matrix transposition, or extsw, or
anything: there's no limitation.

the only thing to watch out for is that multi-issue scheduling could
potentially be quite tricky to implement, but i am sure that with some
care and thought, generating multiple REMAP schedules in a single
clock cycle is achievable: none of the arithmetic exceeds 7 bits.


More information about the Libre-soc-dev mailing list