LGLite ATE 93C46
LGLite ATE 93C46
LGLite ATE 93C46
LGLite + 9346(SPI)
It’s common when designing a new device for a manufacturer to design multiple
versions of the device, each with a common set of core capabilities, but each
also with a unique serial communication variation (SPI, I2C, JTAG) intended to
broaden the market potential of the product. Subsequently, to perform tests on
the new design, a test system needs to be capable of interfacing with, and
controlling each of the similar, yet separate communication interfaces.
The AT93C46 is enabled through the Chip Select pin (CS) and accessed via a
three-wire serial interface consisting of Data Input (DI), Data Output (DO), and
Shift Clock (SK).
Upon receiving a Read instruction at DI, the address is decoded and the data is
clocked out serially on the DO pin. The Write cycle is completely self-timed, and
no separate Erase cycle is required before Write. The Write cycle is only enabled
when the part is in the Erase/Write Enable state. When CS is brought high
following the initiation of a Write cycle, the DO pin outputs the Ready/Busy status
of the part.
READ (READ):
The Read (READ) instruction contains the address code for the memory location
to be read. After the instruction and address are decoded, data from the selected
memory location is available at the serial output pin DO. Output data changes
are synchronized with the rising edges of serial clock SK. It should be noted that
a dummy bit (logic “0”) precedes the 8- or 16-bit data output string.
WRITE (WRITE):
The Write (WRITE) instruction contains the 8 or 16 bits of data to be written into
the specified memory location. The self-timed programming cycle starts after the
last bit of data is received at serial data input pin DI. The DO pin outputs the
Read/Busy status of the part if CS is brought high after being kept low for a
minimum of 250 ns. Logic “0” at DO indicates that programming is still in
progress.
LGLite Setup:
Power the LGLite and place 93C46 on the load board as shown below. Ensure to
ground the ORG pin. The device ground is not pin #4 but pin #5. Load LGLite
software with 93C46_Write.VCT and we can then use the LGLite to trigger and
check the ATE protocol working.
The 93C46 communication is enabled via the Chip Select pin (CS) and accessed
via a three-wire serial interface consisting of Data Input (DI), Data Output (DO),
and Shift Clock (SK). The 93C46 Read/Write protocol is shown below:
We use LGLite Channel Name Dialog box to name Drive and Response
Signal. Grouping of Drive channels and Response channel is done using the
LGLite Grouping Dialog box. We format the display radix to be used in the
LGLite trigger word dialog box. The last process would be load the 93C46
protocol test program. The program also contains pin mapping. It’s defined with
the first parameter defining LGLite channel number and next DUT pin info.
Note: LGLite has 32 channels and we are using only 3 Pattern (Drive)
channels and 1 Logic Analyser (Response) channel to test 93C46. Hence we
need to configure LGLite to use only 4 channels for ATE operations. Hence
we first select 2 groups as shown below in the LGLite Group Menu. Pattern
Driver Group with 3 channels and LA Response Group with only 1 channel.
We need to configure the LGLite first 8 channels as Drive channels while the
next 8 channels are configured to capture the DUT Response. Open the
Configuration menu and configure LGLite as shown below.
The config->Clear memory operation clears LGLite Drive Signal RAM. Now
we are ready to load the 93C46 Read/Write Protocol test program.
LgLite Test Plan:
To verify that the DUT will correctly perform its intended logical functions, test
vectors or truth tables must be created which can detect faults within the DUT.
The ability of truth table to detect faults can be measured and is referred to as
fault coverage.
Test Vectors:
Test vectors represents the input and output states which represents the logical
functions that the DUT has to perform.
1. Input Drive data are represented by character 0 / 1.
2. Test vectors are called as test patterns or truth tables.
3. Output Response data are represented by L / H / Z and X.
4. Test vectors are stored in LGLite Pattern Generator memory
Using LGLite test vector dialog box, engineer should try to automate the test
vector generation rather than manual.
Loading Test Program
Let us now try to understand the above test waveform. The 93C46 Write
start cycle is expanded in the waveform window and only when CS is driven
high and DI = 1 when SK clocks high defines the start state for the DUT.
The Waveform Generation Language has simple commands, the first being
#VEC which defines a group of waveform bit patterns and each bit pattern is
recorded in the memory using the #REC command. Hence #VEC is group of
bit patterns in a RAM. This named #VEC <name> with multiple #REC can be
placed anywhere in the RAM.
The first #VEC has a name 9346_START. This is group of three signals and
consumes 5 locations in the Waveform RAM. The first recorded location
#REC defines the 32 bit pattern at State 0x0000. The LSB on the 32-bit
pattern is the Chip Select CS while the next bits are SK, DI and DO bits.
Note when we have #REC = xx000 and #REC = xx001 indicating LSB bit CS
going high (generation of Start ) then the next record we bring the DI = 1 by
xx101 keeping CS high. We then go ahead to program the clock SK to be
strobbed high and then low xx111 and xxx101.
The next step is to ensure that this test waveform have a speed with which
we can output. The specification sheet indicates the speed of SPI protocol
and we run it at speed of 1Mhz. The data sheet allows a maximum speed of
2Mhz. This would mean that if we cycle the test program at 10Mhz, the DUT
would not give any response on the DO pin. We now set the test cycle speed
at 200Khz and study the operation of 93C46
The format in the trigger word is dependent on the way we group channels in
the Group dialog box. The grouping can be in Binary, Hex or any other
format. As of now we use XX as don’t care and allow LGLite ATE to collect
when the collection RAM is full. We just drive one set of pattern pulses
and capture the response of 93C46 device.
The Go button starts the LGLite DUT Drive and Response collection. The
collected waveform is shown below for a XX condition on the Trigger word.
We now go ahead to load a complete 93C46_Write.vct program and drive
the DUT using this vector. Before we start we need to understand the 93C46
protocol for the write cycle. Note the protocol expects the drive signals to
output the start bit followed by write enable command and then repeat the
new cycle with erase command followed by the write command, device
address followed by 8 bits of data.
The loaded 93C46 vector is shown above. Do not forget to change clock
speed to 200Khz. Run the LGLite vector once more and capture the
response. The captured 93C46 read protocol response (DO = 0x55) and
expanded view at 200khz is shown below.
Compute the Erase cycle time for 93C46. The shaded block is the time when
DO stays low and goes high when the erase cycle is over.
A real time complex protocol like 93C46 was successfully tested for both
Read and Write cycle using LGLite Waveform Generation Language and
LGLite at different vector speeds.