SPRUJB6B November 2024 – May 2025 AM2612
Since there are three state machines running somewhat asynchronously, the table below gives a summary of the possible combinations of the states and what they mean.
|
Command FIFO Status |
MCG Status | MAU Core | Overall Status | Description |
|---|---|---|---|---|
| FIFO_EMPTY | MCG_IDLE | MAU_READY | IDLE | This state is entered at reset and when the FIFO has been emptied and all outstanding commands have completed. |
| FIFO_NOT_EMPTY, FIFO_FULL | MCG_IDLE | MAU_READY | BUSY | Something has been written to the FIFO, but no commands have been dequeued yet. |
| FIFO_FULL | MCG_BUSY | MAU_READY | BUSY |
MCG has dequeued something from the FIFO, but it has not yet been issued to the MAU. |
| FIFO_FULL, | MCG_BUSY | MAU_BUSY | BUSY | Command(s) have been issued to the MAU core and there are more to come. |
| FIFO_EMPTY | MCG_IDLE | MAU_BUSY | BUSY | All the commands have been dequeued and accepted by MAU Core, but MAU core is still executing some. |
| FIFO_NOT_EMPTY, FIFO_FULL | MCG_IDLE | MAU_BUSY | BUSY |
All the earlier commands have been dequeued and accepted by MAU Core, MAU core is still executing some. And there are new ones written to the Command FIFO which MCG has not dequeued yet. |
|
FIFO_EMPTY, FIFO_NOT_EMPTY, FIFO_FULL |
* |
MAU_ERROR , MAU_PANIC |
MAU ERROR | MAU core has encountered an error and will not accept any more commands. In this state it is best to flush PKE by writing to PKE_RESET_CTRL in case of ERROR or to issue reset in case of PANIC |
| ERROR | * | * |
FIFO ERROR |
Encountered when an attempt is made to write to a full FIFO. Can issue a flush to bring to IDLE state. |
| * | MCG_ERROR, MCG_PANIC | * | MCG ERROR | Encountered if MCG has any problem decoding an instruction. Can issue FLUSH in case of ERROR. In case of panic issue reset. |