Table Of Contents

Scan Pattern File Syntax

Version:
Last Modified: November 23, 2020

  1. Scan input pins declaration
  2. Scan output pins declaration
  3. Scan vector statement
  4. Scan vector template row
  5. Scan vector data

Scan Input Declaration

The scan input declaration specifies the list of scan input pins in the pattern using the following syntax:

scan_in scanInPin0, scanInPin1, …;

where scanInPin<n> is a valid DUT pin in the pattern.

Conditions

The following conditions apply to the scan input declaration:

  • A pin cannot be defined as both a scan input and a scan output pin.
  • You cannot duplicate items in a scan input declaration.
  • The pin must be a valid pin used in this pattern.
  • Scan input pins must use 0, or 1 when defining pin state behavior in the scan data block.
  • Scan input pins can use any normally usable pin state on parallel vectors.

Scan Out Declaration

The scan output declaration specifies the list of scan output pins in the pattern using the following syntax:

scan_out scanOutPin0, scanOutPin1, …;

where scanOutPin<n> is a valid DUT pin in the pattern.

Conditions

The following conditions apply to the scan output declaration:

  • A pin cannot be defined as both a scan input and a scan output pin.
  • You cannot duplicate items in a scan output declaration.
  • The pin must be a valid pin used in this pattern.
  • Scan output pins must use L, H, or X when defining pin state behavior in the scan data block.
  • Scan output pins can use any normally usable pin state on parallel vectors.

Scan Vector Statement

The scan vector statement specifies the label for the vector, the scan opcode, the timeset that contains the timing information, and the data to drive to or compare from the DUT pins separated into two sections, the scan vector template row and the scan data block using the following syntax:

[label:] [scan opcode] timeset pin1_state pin2_state …; [// comment]

where the required timeset is a valid identifier the time set declaration defines or a single dash (-) to indicate to repeat the previous time set and pin<n>_state represents the pin states.

Scan Vector Statement Conditions

The conditions for standard vector statements apply to scan vector statements. The following additional conditions apply to scan vectors:

  • You must use the scan opcode.
  • The number of scan cycles, as defined by the scan opcode, must be greater than zero.

Scan Vector Template Row Conditions

The following additional conditions apply to the scan vector template row:

  • Scan pins must use underscore (_) as a placeholder as their pin state data for the scan data template row. Scan data cannot be defined in the scan vector template row. To define behavior for scan pins, use the scan vector scan data block.
  • Parallel pins define their pin state behavior in the scan vector template row. You must edit the pin state values of parallel pins in scan vector template rows.

Scan Vector Scan Data Block Conditions

The following additional conditions apply to the scan vector scan data block:

  • Parallel pins cannot be defined in the scan vector scan data block. To define behavior for parallel pins, use the scan vector template row.
  • Pins that define scan data must be scan pins used in the pattern.
  • Scan data is defined and executed horizontally on a per pin basis.
  • Pins cannot be duplicated in the scan vector scan data block.

Recently Viewed Topics