
#S40
Q: How does the Pattern Generator RPEAT function work?
| When you need to do
pattern matching, or remain
on a vector until a failure occurs, HiLevel has the perfect command for
the
Pattern Generator: RPEAT. This command
tells the HiLevel high-speed command processor in the system to remain
at this
vector until either A) a failure occurs, or B) a given number of test
rate
clock cycles have occurred. If a
failure occurs, the test vector execution drops off of the RPEAT
function and
goes to the next vector, which would be a Conditional Jump (CJMP) to a
point
that is two vectors later. See the
example below: |

|
The
RPEAT command includes a numerical value. In
the case of the example, it is set to a value of 100. This
value is similar a “time out”; if no
failure is detected after 100 tester clock cycles, vector execution
continues. Since a failure did not
occur, the CJMP condition will not be true and the JMP at vector 5 will
be
executed so that you jump immediately to an error trap at vector 10,000. This vector 10,000 may contain a JMP 10000
(Jump to self) so that we know that no failure or pattern match
occurred. (Vector 10,000 would not be part
of our
normal vectors, and would only be executed by “unsatisfied” RPEAT
commands.)
In
the case of a failure being detected during RPEAT, vector execution
would
continue and the tester Condition latch would be True, so the CJMP
would be
executed. This causes the vector
sequence to jump over the JMP 10000 at vector 5 and continue
executing
normally. Additional RPEAT functions can appear later in the same
vector set if
desired.
The
maximum value for
RPEAT is 64K (65,535 decimal). |
| See also: Q'nApp #S7: Looping vectors Q'nApp #S8: Pattern Match |
QS40.zip is a zipped Word file of this Q'nApp.