JAJSP65A June 2021 – September 2022 LP876242-Q1
PRODUCTION DATA
Description: Wait upon a condition of a given type. Execution is paused until the specified type of the condition is met or timed out
Assembly command: WAIT [COND=]<Condition> [TYPE=]<Type> [TIMEOUT=]<Timeout> [DEST=]<Destination>
Alternative assembly command: JUMP [DEST=]<Destination>
'COND=', 'TYPE=', 'TIMEOUT=', and 'DEST=' are options. When included, the parameters can be in any order.
Condition are listed in Table 7-9. Examples: GPIO1, BUCK1_PG, I2C_1
Type = LOW, HIGH, RISE, or FALL
Timeout = timeout value in ns, µs, ms, or s. If no unit is entered, this field must be an integer value between 0-63. Timeout value is be rounded to the nearest achievable time based on the current step size. Current step size is based on the default NVM setting or a SET_DELAY value from a previous command in the same sequence. Assembler reports an error if the step size is too large or too small to meet the delay.
Destination = Label to jump to if when timeout occurs. Destination must be after the WAIT statement in memory.
Memory space can be either '0' or '1'. '0' indicates the destination address is in the PFSM memory space. '1' indicates the destination address is external and represents a FSM state ID.
When using the jump command, the PFSM performs an unconditional jump. The command is be compiled as "WAIT COND=63 TYPE=LOW TIMEOUT=0 DEST=<Destination>". Condition 63 is a hardcoded 1, so the condition is never satisfied and hence always times out. Therefore this command always jumps to the destination.
Examples:
COND_SEL | Condition Name | COND_SEL | Condition Name | COND_SEL | Condition Name | COND_SEL | Condition Name |
---|---|---|---|---|---|---|---|
0 | GPIO1 | 16 | N/A | 32 | I2C_0 | 48 | LP_STANDBY_SEL |
1 | GPIO2 | 17 | N/A | 33 | I2C_1 | 49 | N/A |
2 | GPIO3 | 18 | N/A | 34 | I2C_2 | 50 | N/A |
3 | GPIO4 | 19 | N/A | 35 | I2C_3 | 51 | N/A |
4 | GPIO5 | 20 | PGOOD | 36 | I2C_4 | 52 | N/A |
5 | GPIO6 | 21 | TWARN_EVENT | 37 | I2C_5 | 53 | N/A |
6 | GPIO7 | 22 | INTERRUPT_PIN | 38 | I2C_6 | 54 | N/A |
7 | GPIO8 | 23 | N/A | 39 | I2C_7 | 55 | N/A |
8 | GPIO9 | 24 | N/A | 40 | SREG0_0 | 56 | N/A |
9 | GPIO10 | 25 | N/A | 41 | SREG0_1 | 57 | N/A |
10 | N/A | 26 | N/A | 42 | SREG0_2 | 58 | N/A |
11 | BUCK1_PG | 27 | N/A | 43 | SREG0_3 | 59 | N/A |
12 | BUCK2_PG | 28 | N/A | 44 | SREG0_4 | 60 | N/A |
13 | BUCK3_PG | 29 | N/A | 45 | SREG0_5 | 61 | N/A |
14 | BUCK4_PG | 30 | N/A | 46 | SREG0_6 | 62 | 0 |
15 | N/A | 31 | N/A | 47 | SREG0_7 | 63 | 1 |