This section describes the test vectors that are used throughout the design process and physical testing. Before going further, it is necessary to define a few terms. A test vector is the combination of stimulus and response patterns and timing information. The timing information consists of information such as time periods, the time instant when stimulus should be output to the device, the time instant when a response should be read from the device, and details about control outputs such as clocks. A pattern is an element of a test vector such as the stimulus for a particular port of a device. A test consists of a series of vectors called a sequence. The terminology described is used by the D20 Test Development Software.
As mentioned in the last section, there are three different sets of test vectors:
Functional test vectors verify the functionality of the design to ensure that the device does what it was designed to do. Since only the designer knows the design, these vectors must be generated manually by writing a program in a high-level programming language such as C. The generated vectors can be stored in a text file in a format that can be read by the VHDL test bench to perform functional and gate-level simulations. The same set of functional test vectors can be used as physical test vectors. Alternatively, a more exhaustive set of physical test vectors can be generated since the time required to perform simulations in software is much longer than testing in hardware. The test vectors for physical testing must be in HP PCF (Pattern Capture Format) format. Vectors used in functional and gate-level simulations can be converted to HP PCF format with a simple C program or a Perl script. The examples later will discuss how this is done. The PCF file can then be imported into the HP Test Development Software to create a set of SCPI commands to load into the tester hardware.
Both Automatic Test Pattern Generation (ATPG) and scan check test vectors are generated by Synopsys in the WGL format. CMC provides an AWK script to convert WGL files to HP PCF format (wgl2pcf.awk). The resultant PCF file can be loaded into the tester hardware in the same manner as functional test vectors.
The following is an example of a PCF file:
pcf order is A, B, Output pcf ! A B Output use timing set TIMING_SET1 "0010 1010 HLHL" "1000 1100 HHLL" use timing set TIMING_SET2 "0010 ZZZZ XXXX" "1000 1100 HHLL" end pcf
The example above contains 4 sets of vectors. Each vector has three patterns for input ports A and B and output port output. As shown, the inputs patterns are represented by 0s, 1s, and Zs (Z = high impedance) and the output patterns are represented by Ls, Hs, and Xs (L = 0, H = 1, X = Don't Care). In comparison mode, the response of a don't care will be ignored by D20. A comment is preceded by an exclamation mark.
The next section describes the HP Test Development Software.