Lab & Production ATE Solution with Matlab

possehastyΜηχανική

5 Νοε 2013 (πριν από 3 χρόνια και 11 μήνες)

52 εμφανίσεις

Lab & Production ATE
Solution with
Matlab

BART’s True Story


David
Zisner


Founder, LeAndolini Solutions

Who Are We?


Automation professional services provider



Strong advocate of OO methodologies and
frameworks: .NET, Java, C++



Experienced in designing and developing
automation solutions for
SoC

An Unexpected Journey

Main Needs


Single environment to rule them all


Flexibility for future requirements


Various user types within R&D and
production (screening)


Enable sharing between engineers


Robust

We Added…


Must be orthogonal to the tests & product


Each engineer is independent and doesn’t
conflict with others


Flexible test scenarios


Organize results in an easily
-
collectible
manner


reduce time & errors


Easy deployment



One Last Emphasis

The Common Mistake

1.
Built a system and not an architecture



2.
Architecture ≠ Framework


The Architecture

Matlab GUI
Test Manager
UI
Logger
DB
External Devices
DUT
SQL
Excel
Access
Webpage
XML
Rev A
Rev B
New Test Chip
HTML
XML
Text
Test Cases
Session Configuration
And We’re Off!


Project nicknamed BART:
B
XX
A
utomated
R
F
T
ester


Team of
4


a winning combination:






4
WW from architecture to initial release


Eyes on the Ball!


The dilemmas:



Object oriented vs.



native MATLAB?



Java invocation?



Deployment: m
-
files or exe?

What MATLAB Gave Us


Loose typing + function handles


super
-
fast
v
-
table!


Vectoring actions


i.e. user inputs


Access & debug of advanced mathematics
inside the tests


Deployment options: as m
-
code via
svn

for
R&D, or
deploytool

for production


Defining Sessions & Scenarios


Scenarios are defined in XML


Each scenario contains multiple sessions


Several XMLs can be executed


Each XML produced its results, log, verdict


Why XML?

Code Snippet

========================================================

% Create the Log object as a regular
MATLAB
struct

Log = [];

========================================================

% Initialize log type based on user's requests

if
strcmp
(
logType
, 'Text')


Log.WriteLine

= @
Log_Text_WriteLine
;

else


Log.WriteLine

= @
Log_Html_WriteLine
;

endif

Log.Options

=
struct
('Detailed',
1
, 'Warning',
2
, 'Info',
3
,'Error',
4
,'Fatal' ,
5
);

========================================================

% Using the 'Log'
object inside a test

Log.WriteLine
(
Log.Options.Info
,
sprintf
('NF test is finished, NF: %f dB', Result), Log);

========================================================


User Perspective


Creating test cases with varying looping
combinations (i.e. PVT, registers) via XML
& GUI (MATLAB’s GUIDE)



Simple API for accessing system blocks:
DB, Log, equipment




Management Perspective


Complete separation between infra & tests


higher reliability in the results


Higher lab equipment utilization over night
/ weekends


Sharing environments and tests between
sites (IL / USA)


“free” R&D extension!




Life With BART


Full automation from system Excels to output pivot tables



More than
20
lab stations using the same code base for
various testing needs



Full equipment automation



For the next chip, the ATE was ready
two months
before the
chip’s arrival!



What About Us?

Want to Know More?


Participate in our free quarterly automation
workshops


Get our free guide



The
7
Mistakes Automation
Developers Must Not Make



How? SMS
auto

+
your

email

to

03
-
6161888

(i.e. auto
david@leandolini.com
) now!


Thank
You!