From: lkcl Date: Sat, 4 Jun 2022 17:50:06 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1976 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=46463f359d995d204ab7787d2950007ab31bacc9;p=libreriscv.git --- diff --git a/openpower/sv/shape_table_format.mdwn b/openpower/sv/shape_table_format.mdwn index 9def0fc8a..364dcb5ed 100644 --- a/openpower/sv/shape_table_format.mdwn +++ b/openpower/sv/shape_table_format.mdwn @@ -5,7 +5,7 @@ disabled: the register's elements are a linear (1D) vector. | ------ | ------ | ------ | ------ | ------- | ------- | ------- | ------- | | 0b00 | skip | offset | invxyz | permute | zdimsz | ydimsz | xdimsz | | 0b01 | submode| offset | invxyz | submode2| rsvd | rsvd | xdimsz | -| 0b00 | elwidth| offset | invxyz |0b110/0b111| SVGPR | ydimsz | xdimsz | +| 0b00 | elwidth| offset |skip/invxy|0b110/0b111|SVGPR| ydimsz | xdimsz | mode sets different behaviours (straight matrix multiply, FFT, DCT). @@ -106,13 +106,17 @@ described below* ## Indexed Mode Indexed Mode activates reading of the element indices from the GPR. -In its simplest form (without elwidth overrides): +In its simplest form (without elwidth overrides or other modes): ``` def index_remap(i): - return GPR(SVSHAPE.SVGPR+i) + return GPR((SVSHAPE.SVGPR<<1)+i) for i in 0..VL-1: GPR(RT + indexed_remap(i) + SVSHAPE.offset) = .... ``` +Matrix-style reordering still applies to the indices, except limited +to up to 2 Dimensions (X,Y). Ordering is therefore limited to (X,Y) or +(Y,X). Only one dimension may optionally be skipped. Inversion of either +X or Y or both is possible.