SPRUJB6B November 2024 – May 2025 AM2612
This section details the commands available in the MAU. MAU commands are 32-bit words, with the following format:
| Signal | Size in Bits | Position in Command |
|---|---|---|
| cmdOpcode | 7 | command[31:25] |
| cmdAddr | 15 | command[24:10] |
| cmdLen | 10 | command[9:0] |
Some commands ignore the length field, and implicitly use a length equal to 1 or equal to the length of the current modulus. Certain other commands use the address or length field to mean something different; the command description says how this is done.
The value “operand” refers to the number formed by reading a number of words equal to the length, starting at the given address, whether that memory is SRAM, ROM, the RNG, or generated constants. If the address is a RAM slot, then this also includes a sign bit.
Values manipulated by the MAU are always little-endian, meaning that the words are stored in increasing significance (so the first word is the least significant, and the last word is the most significant).
The MAU_MAX_LENGTH parameter is constrained primarily by the scratchpad size, and the MAU_MIN_LENGTH by the pipeline depth. As a result, certain commands support a length which is greater than MAU_MAX_LENGTH or less than MAU_MIN_LENGTH. These commands still require a length that is more than 0 and fits in the same number of bits as MAU_MAX_LENGTH (i.e., is less than twice MAU_MAX_LENGTH).