Test DSP's and uProcessors

New ATV Enhancements

for testing

DSP, MCU & uProcessors

ATV has been enhanced so that a processor’s assembly level “instruction set” can be placed directly in the ATV programming environment.  ATV will then compile and construct binary test vectors based on the user’s assembly code to test the processor.   Now it is substantially easier for the test designer to implement a test, and he can more readily produce changes real time during test. 

·        An instruction set for any general DSP, MCU or microprocessor can be added to a project as an include file. 

 

 

·        Programs can be created by typing processor assembly code directly in the ATV source file.  An instruction set for any DSP or microprocessor can be simply built, modified and/or extended by the ATV user.

 

ATV Technology Enhancement for Direct Test

To understand the ATV IC tester ‘direct test’ approach, consider the sample opcode of a processor instruction shown below.  This instruction loads an integer value from a source to a destination register.  The opcode is 32 bits long and the upper bit pattern in 31:23 identifies it uniquely as a load command.  The destination can be any register which are numbered in the architecture from 0 to 15.  Bits 20:16 specify which register (0 to 15) is the destination for the integer.

The source of the integer can be another register, an immediate value or from some memory location depending upon steering bits G = bits (22:21).  And the source value or address is placed in bits 15:0.

Consequently forming a completed load command is the process of packing appropriate bit values into the lower three quarters of the instruction.  This is what an assembler accomplishes for a statement such as

LDI @0x3F00,R2

In this case, the assembler configures the lower bits of the instruction with the immediate value of 0x3F00 (0011 1111 0000 0000 in binary), and specifies register R2 as the target.  The resultant opcode is

000 01000 11 0010  0011111100000000

New pConst Type

This process of packing binary opcodes with the appropriate operand bits has been implemented in the ATV compiler language with the addition of a new data type called the “pConst”, which stands for pattern constant.  The pConst can be thought of as macro identifiers that expand into ATV Tester code when compiled. 

·        The pConst macros construct the opcode and expand into timing diagram commands for excitation of the part.

These macros have the same appearance to the ATV programmer as processor assembly code, as seen in this ATV project source code snippet.

The last line shown here in an ATV program is assembly code (MVKH) for the TI C6727 DSP. 

(Here MVKH moves an integer value 0x90000000 into a register B14 in the S2 operational group).

 

 

MVKH is defined in an include file for the C6727 instruction set, a portion of which is shown below.

As can be seen in this include file, the pConst identifier named MVKH defines the string

 

tdg WRITE(OUT(DATA=%);OUT(ADDR=ax));            ax+=4;

which contains two valid ATV statements, the first being a timing diagram output , and the second incrementing the address counter by 4.  The pConst also defines several integers, the fourth of which is the binary opcode for the C6272 MVKH instruction.  When expanded this opcode will be placed in the string where the ‘%’ character occurs.  As seen in the tdg statement, the opcode will form a pattern for a DATA pin group to the part.  Also several other constants are placed in this pConst ATV statement (in this case constants “.S2”, “0x90000000” and “B14” – also defined in the processor instruction set include file) are “OR’ed” with the opcode to produce the fully constructed DSP Instruction to be asserted through the DATA pin Group. 

Note: Also, the tdg statement asserts the processor program address through the ADDR pin group.

This line of code in the ATV project source file expands, when compiled, as shown below in the ATV mixed source assembly listing.

 

So the pConst macro creates the DSP opcode from an assembly command seamlessly in the background and asserts it, along with an address, to the appropriate processor pins.

This allows the ATV programmer to program the DSP in its native assembly – directly in the ATV environment.

Instruction Sets

Creating DSP instruction sets consists of making pConst identifiers that implement the opcodes and constants for the operands that can modify the pConst opcodes.  These are specific to the DSP or microprocessor being programmed, so are implemented in separate include files.

Copyright © 2007 JD Instruments, LLC
Privacy Policy