[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