From: lkcl Date: Sat, 15 Apr 2023 13:43:39 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls009_v1~75 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d115188e8ab065f990e3101a114e86427990dc08;p=libreriscv.git --- diff --git a/openpower/sv/rfc/ls009.mdwn b/openpower/sv/rfc/ls009.mdwn index 5370bf1e5..ee0a94b59 100644 --- a/openpower/sv/rfc/ls009.mdwn +++ b/openpower/sv/rfc/ls009.mdwn @@ -2259,5 +2259,29 @@ def iterate_dct_outer_butterfly_indices(SVSHAPE): ``` +## REMAP selector + +Selecting which REMAP Schedule to use is shown by the pseudocode below. +Each SVSHAPE 0-3 goes through this selection process. + +``` + if self.mode == 0b00: + iterate_fn = iterate_indices + elif self.mode == 0b10: + iterate_fn = iterate_preduce_indices + elif self.mode in [0b01, 0b11]: + # further sub-selection + if self.ydimsz == 1: + iterate_fn = iterate_butterfly_indices + elif self.ydimsz == 2: + iterate_fn = iterate_dct_inner_butterfly_indices + elif self.ydimsz == 3: + iterate_fn = iterate_dct_outer_butterfly_indices + elif self.ydimsz in [5, 13]: + iterate_fn = iterate_dct_inner_costable_indices + elif self.ydimsz in [6, 14, 15]: + iterate_fn = iterate_dct_inner_halfswap_loadstore +``` + [[!tag opf_rfc]]