|

Tru Test
Software has developed a unique approach to utilizing the
Talon BE64 test instrument. The BE64 is a versatile, high
performance VXI based digital I/O module that is primarily
designed for use in test systems that require bus emulation
capabilities. We have developed a set of drivers for the BE64
that can be customized to provide high performance and ease
of use in most Bus Emulation applications. Most older applications
use Word Serial Commands to control the BE64. Word Serial
Commands are a relatively slow method of controlling the instrument.
Our approach was to use A16 and A24 register based commands
whenever possible and cache word serial commands to provide
the fastest possible access to the instrument for both loading
vectors and instrument control.
The following
is a benchmark of a BE64 application that illustrates the
reduction in system development and application development
time, and enhanced performance of the instrument that was
achieved using this approach with high level drivers.
Benchmark
of the Talon BE64 using register commands and word serial
cache
BE64
Project Requirements
The project requirements were to develop a set of high level
bus emulation drivers to take advantage of all the resources
of the BE64, use A16 and A24 accesses whenever possible to
achieve fastest possible setup and execution times and structure
the drivers as a set of easy to use functions to be called
directly from the test application.
BE64
Results
The drivers provided performance for the BE64 that rivals
that of the SR192. For instance the drivers can create the
vector tables, write a 16K pattern to the UUT, read it back
and compare the results in about 6 seconds total. A test program
to achieve the above results could be written in about 15
minutes. This was done using the BE64 in conjunction with
the Talon 386 POD to write and read a block of RAM on the
UUT. Note that the table vectors (address and data) can now
be totally random and are not subject to the former restrictive
address and data patterns imposed by the BE64 hardware and
SCPI commands. Also note that there is absolutely no file
I/O involved with these drivers. All timing, stimulus, and
compare information is wholly contained within the application
calling the drivers. The compare function which exists for
the BE64 hardware using word serial commands, is now offloaded
to the software driver making it easier to use, faster and
more versatile.
BE64
Software Functionality
It takes 6 basic driver functions (create read table, create
write table, setup sequence, execute sequence, read table
data, and compare table data) to accomplish the above performance.
Some other minor driver functions may be needed to manipulate
the control bits depending on the application. The compare
table data function automatically finds and compares all read
tables in a sequence, even if they are non-contiguous and
contain random vectors. This function was written to duplicate
in software the real time hardware compare functionality of
the SR192.
Many onboard
functions of the BE64 such as memory management, table management,
byte and word alignment, and compare tables are now offloaded
to the software drivers. This vastly reduces the number of
word serial commands needed to control the instrument and
gives a major boost in versatility and performance while reducing
the complexity of use.
The BE64
drivers are exact duplicates of what was developed for the
SR192 in terms of functionality and parameters. So again,
the application programmer can rapidly develop tests for the
UUT with little or no knowledge of the BE64 once the drivers
are in place.
The BE64
timing sets and field memories are loaded using A24 commands,
and most of the states set by SCPI commands now use cache.
This results in fast initialization and low overhead during
execution.
BE64
Application structure
The applications were structured so that configuration of
the instrument, loading of stimulus/response vectors, and
loading of test sequences needed to only be done once. This
typically took about 130us per vector. Several sets of test
vectors and test sequences could all be loaded at once and
then be individually invoked by the application as needed.
Once invoked, application of the vectors was a factor of bus
cycle time. Typically this was about 2us per vector (bus cycle).
BE64
Evaluation of Test Results
Test results could be evaluated in 2 ways.
For results
where an exact match could not be guaranteed, response vectors
could be read back individually and then compared for maximums
and minimums through a test executive. This involved more
time because evaluation of individual results now became a
factor of the test executive.
The second
evaluation method involved loading the expected response vectors
so that the software drivers could seek out the response vectors
for all results in a sequence and deliver a pass/fail result
similar to the realtime compare function in the SR192. The
cumulative results for up to 32K response vectors could now
be done with a maximum of 2 test executive compares.
BE64
Application Development
Application development time was kept to a minimum by the
structure and ease of use of the drivers. The drivers were
set up so that the stimulus information was transferred to
the instrument at the same time through 1 invocation of the
function. The BE64 structure is such that only 1 subsequence
of write data or read data can be programmed at 1 time. However
up to 16 different subsequences can be strung together in
a sequence to achieve execution of any combination of bus
cycles desired. The drivers provide storage for a many sequences
as needed The drivers provided made the building of subsequences
and sequences relatively easy such that a large series of
read/write (or other) vectors could be built in a short amount
of time.
Another
benefit of the drivers was the fact that they removed the
need for the application developer to have any knowledge of
the inner workings of the BE64. The application developer
is able to concentrate on the task of providing the necessary
stimulus/response information for the application.
BE64
Summary
The BE64 proved to be an excellent choice for the bus emulation
project because of its powerful set of hardware resources
and configurability options. The BE64 can be software configured
to emulate almost any bus type structure. This in combination
with a set of high level bus emulation functions results in
a high performance bus emulation device that is easily programmable
in the application environment.
Some of
the items mentioned above are registered trademarks of Talon
Instruments.
For more
information on Talon Instruments contact www.taloninst.com
and for distributors of Talon Instruments contact www.dyteceast.com.
|