SPRUJB6B November 2024 – May 2025 AM2612
The PKE takes extra inputs related to the size of memory and scratchpad. These must be constant because they are broadcast rather than flopped across clock domains. The signals are as follows:
input [9:0] mauWcMemMinAddrConst input [9:0] mauWcMemMaxAddrConst input [6:0] mauRfMaxAddrConst These give the minimum and maximum legal SRAM addresses, and maximum scratchpad address, respectively. The minimum scratchpad address is always 0. The minima and maxima are all inclusive. The signals have slightly different names by the time they reach the MAU.
The MAU uses these to bound legal addresses for operations. If it receives a command that requires reading or writing outside these bounds, it will instead raise an error. Specifically, for commands other than ECC_ROM_SETUP, the MCG will issue the following MAU commands:
SET_RAM_SLOTS
If params are in ROM, SET_ROM_SLOTS
SET_MAND (lowest slot to be used)
SET_MAND (highest slot to be used)
If these slots are out of bounds, MAU will raise an error and MCG will abort. If the slots are valid but the length is not, MCG will instead abort on the first command that uses the scratchpad.
The MAU determines MAU_MAX_LENGTH as mauRfMaxAddrConst+1.