[Libre-soc-bugs] [Bug 1155] O(n^2) multiplication REMAP mode(s)
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sat Sep 9 12:38:39 BST 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1155
--- Comment #4 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
svshape SVxd,SVyd,SVzd,SVRM,vf
0:5 6:10 11:15 16:20 21:24 25 26:31 name
PO SVxd SVyd SVzd SVRM vf XO svshape
Fields:
SVxd - SV REMAP "xdim" (X-dimension)
SVyd - SV REMAP "ydim" (Y-dimension, sometimes used for sub-mode selection)
SVzd - SV REMAP "zdim" (Z-dimension)
SVRM - SV REMAP Mode (0b00000 for Matrix, 0b00001 for FFT etc.)
ok so SVyd is the de-facto selector for sub-modes: SVyd "bit 0" can
be used for selecting bigmul/prefix, under SVRM=0b0111, whereupon
bits 1-2 can be used for inversion and 2-3 for mirror...
damn damn damn 5 bits are needed: one for long-mul, one for carrysave
ah hang on i know: "/mrr" performs a full reverse, which in combination
with inverting either x or y order *back* again (single bit) you get
the full complement. i think.
so:
* bit 0 select bigmul or Prefx
* bit 1 select carrysave or longmul
* bit 2 select invert x (or y?)
* bit 3 mirror x (5 45 345 2345 12345 012345 instead of 0 01 012 ...)
* bit 4 mirror y (ditto)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list