The match opcode evaluates comparisons without impacting pass/fail results. The opcode produces a matched or !matched condition after 80 cycles. You can use this condition with conditional branch or loop-exit opcodes.

Syntax Reference

Table 5. Syntax Description for the Match Opcode
Syntax Description
match Evaluates comparisons (H, L, M, or V) on the vector without changing the fail count or the pass/fail results.

This opcode generates a matched (or !matched) condition after exactly 80 cycles. You can use the matched condition only on the 80th cycle with the jump_if opcode or the exit_loop_if opcode. On vectors with the match opcode, the system evaluates all comparisons to determine the state of the matched condition.

Use a repeat opcode to implement an 80-cycle delay. To wait for a DUT response, use a match pipeline. Create the match pipeline by using the match opcode multiple times within a loop. This action allows you to poll for a specific condition.

Special Considerations

Additional steps are necessary when using the following opcodes or the following parameters.
  • match opcode
  • matched parameter of the jump_if opcode or the exit_loop_if opcode in burst patterns
  • failed parameter of the jump_if opcode or the exit_loop_if opcode in burst patterns

Synchronization Requirements for Comparison Results

If a pattern bursts across multiple synchronized digital pattern instruments, enable each instrument to process comparison results. Use Enable Match… for each synchronized instrument to process comparison results. Use one of the following options to enable comparison result processing for synchronized instruments.
  • niDigital Enable Match Fail Combination VI
  • EnableMatchFailCombination .NET method
  • niDigital_EnableMatchFailCombination C function
You must also use the NI-Sync driver and a PXIe-6674T timing and synchronization instrument. These tools combine comparison results across instruments that are synchronized with NI-TClk.
Note See Pattern Responses to Comparisons for more information about synchronizing multiple instruments and about parameters on vectors that span more than one instrument or more than one site.

Branching on matched After an 80‑Cycle Match Pipeline Delay

// Indicates a match occured in the current vector.
match                  sample_timeset L;

repeat(79)             sample_timeset X;

// Pipeline delay must be exactly 80 cycles after the match opcode.
jump_if(matched, end)  sample_timeset X;

jump(error)            sample_timeset X;

end: halt              sample_timeset X;