From: Luke Kenneth Casson Leighton Date: Fri, 23 Jul 2021 13:16:23 +0000 (+0100) Subject: add DCT butterfly mode into svremap X-Git-Tag: xlen-bcd~229 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a28c9f54375966035594d7597bc98687585784f4;p=openpower-isa.git add DCT butterfly mode into svremap --- diff --git a/openpower/isa/simplev.mdwn b/openpower/isa/simplev.mdwn index d76d823a..c4eb7711 100644 --- a/openpower/isa/simplev.mdwn +++ b/openpower/isa/simplev.mdwn @@ -97,7 +97,7 @@ Pseudo-code: # FRC SVSHAPE2[18:20] <- 0b001 # permute x,z,y SVSHAPE2[28:29] <- 0b11 # skip y - # set schedule up for butterfly + # set schedule up for FFT butterfly if (SVRM = 0b0001) then # calculate O(N log2 N) n <- [0] * 3 @@ -118,6 +118,25 @@ Pseudo-code: SVSHAPE1[28:29] <- 0b01 # j+halfstep schedule # FRC (coefficients) SVSHAPE2[28:29] <- 0b10 # k schedule + # set schedule up for DCT Inner butterfly + if (SVRM = 0b0010) then + # calculate O(N log2 N) + n <- [0] * 3 + do while n < 5 + if SVxd[4-n] = 0 then + leave + n <- n + 1 + n <- ((0b0 || SVxd) + 1) * n + vlen[0:6] <- n[1:7] + # set up template in SVSHAPE0, then copy to 1-3 + # for FRA and FRT + SVSHAPE0[0:5] <- (0b0 || SVxd) # xdim + SVSHAPE0[30:31] <- 0b01 # Butterfly mode + SVSHAPE0[18:20] <- 0b001 # DCT Inner Butterfly sub-mode + # copy + SVSHAPE1[0:31] <- SVSHAPE0[0:31] + # set up FRB and FRS + SVSHAPE1[28:29] <- 0b01 # j+halfstep schedule # set VL, MVL and Vertical-First SVSTATE[0:6] <- vlen SVSTATE[7:13] <- vlen