HAL Id: hal-00783154
https://hal.univ-brest.fr/hal-00783154
Submitted on 31 Jan 2013
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Validation of a Mixed-Signal Board ATPG Method
Valérie-Anne Nicolas, Bertrand Gilles, Laurent Tchamnda Nana
To cite this version:
Valérie-Anne Nicolas, Bertrand Gilles, Laurent Tchamnda Nana. Validation of a Mixed-Signal Board
ATPG Method. 6th IEEE EAST-WEST DESIGN & TEST SYMPOSIUM EWDTS’08, Oct 2008,
Lviv, Ukraine. �hal-00783154�
Validation of a Mixed-Signal Board ATPG Method
Val´erie-Anne Nicolas Bertrand Gilles Laurent Nana Universit´e Europ´enne de Bretagne
Universit´e de Brest
Laboratoire d’Informatique des SYst`emes Complexes (LISYC - EA3883) Dpt Informatique - 20 avenue Le Gorgeu - CS 93837 - 29238 Brest Cedex 3 - France
{vnicolas|gilles|nana}@univ-brest.fr
Abstract
We present the validation protocol of a mixed-signal board ATPG method [6, 7]. First results confirm the method fitting well with maintenance test, board modeling stage ad- equacy and test data generation reliability. The essential need for user-defined dedicated test strategies is highlighted in order to ensure meaningful test process and full black- box test.
1 Introduction
During maintenance stage, board test is still in need of semi-automatic, robust and complete tools. This is quite different from the design or production stages for which a large panel of methods and tools exists [3]. This state of things is mainly due to the maintenance context itself, for at least two reasons. First of all, the late location of main- tenance stage in product life-cycle. In many cases, this im- plies reduced knowledge about the board for maintenance people: no designer direct knowledge, partial documenta- tion, confidentiality restrictions. Moreover, in the case of long life systems, even if some test information is available, it may be unusable on aged components whose caracteris- tics have evolved. The presence of mixed-signal compo- nents reinforce the overall complexity of this kind of test.
Secondly, decreasing cost of electronic components induce a consumerist inclination: why test, diagnose and repair when replacing is cheaper and quicker? Although replac- ing faulty boards or entire systems is sensible and interest- ing for large distribution products, it is less suited for large long-life systems.
Nowadays, due to the wide variety of board maintenance situations encountered, test, diagnosis and repair at mainte- nance stage are often realized in an empirical way. Clearly, dedicated methods and specialized tools are needed to guide
or automate at least a part of the work involved in the main- tenance stage.
Our work is in keeping with this maintenance context and focuses more particularly on mixed-signal board test.
We have proposed a method to help maintenance testing, providing a functional ATPG for mixed-signal boards [6, 7].
The aim of this paper is to sketch a validation proto- col for this method and to discuss first results concern- ing board modeling choices suitability, signal representa- tion pertinency, test strategies quality.
The second section briefly recalls our method and ATPG.
The third section introduces the validation protocol. The application of the validation protocol on an example is de- tailed in the next section. Trends for future work conclude the paper.
2 The mixed-signal board ATPG method
As mentioned in the previous section, maintenance test lacks of specific methods and tools. We have proposed a method dedicated to maintenance test of mixed-signal boards [6, 7]. Its aim is to check a board behavior and to help determine faulty components in case of defective func- tionality. This method provides some guidelines for mod- eling and testing mixed-signal boards. It has been imple- mented in a semi-automatic prototype tool called ”Coperni- cia”. This tool also includes an automatic test pattern gen- erator (ATPG). The non-automatic part of the method is the modeling of the board and its components (a library is pro- vided by Copernicia with the most common components).
The test of the board and its components is fully automated
using some standard test strategies and test models for the
different components. One may add some more specific or
detailled test strategies from its own. Whereas the definition
and use of such strategies are not automated (they have to
be carried on by the test engineer), the test data generation
process remains automatic.
Our method is intrinsically based on functional model- ing and testing. Since they only make use of the exter- nal behavior of the components, functional-based models may address a wide spectrum of situations concerning board maintenance test: they may be adapted to the amount of in- formation available (component specification levels), to the nature of the components (digital, mixed-signal, or analog) and to the goal of the test (go-nogo, fine-grain diagnosis ori- ented testing). Functional testing of component is not used during design or production stages because test software de- velopment is costly. It is mainly achieved at the system level in order to test the interactions between components and to check if the global system meets its specification require- ments. Thus, there is no predefined functional tests avail- able at the board level.
The method uses an only generic uniform formalism for modeling and testing: finite state machines (FSM). FSM has been chosen because it allows intuitive modeling of compo- nent behaviors (it is especially true for digital components), it is well suited to express test strategies and well known to test practitioners [5, 9]. ATPG is implemented using constraint logic programming (CLP [13]) with the Eclipse tool [4].
One may refer to [6] to have a look at the way a simple case study is modeled in Copernicia and [7, 8] to have an idea of the testing process.
3 The validation protocol
We have proposed a method to help board test in main- tenance. Now, we have to determine how this method fits maintenance testing requirements, process and objec- tives. For this purpose, we outline a protocol to validate the method, helped by a simulation tool.
On the one hand, in applying our method, we model a given board and then generate some test data for it. On the other hand, using a simulation tool, we model the board and next, simulate its behavior on the obtained test data. This process has to be iterated on a selected set of representative examples.
The main objectives are:
• evaluation of the adequacy of our modeling,
• verification that outputs obtained by simulation are consistent with the outputs predicted by the method (reliability of test data generation),
• evaluation of our test package (global test method, test levels, test models, test strategies, standard or user- defined facilities...) with respect to maintenance test requirements, process and objectives.
Several tools are available for modeling, simulating and analyzing dynamic systems. Among them, some are well adapted for systems such as boards, including mixed sig- nal ones, and provide graphical editors which can be used
to build complex models by interconnecting blocks which are either predefined basic functions (signal generators, fil- ters...) or user defined functions. Without being exhaus- tive, we can highlight well known commercial tools such as Simulink which is part of the MATLAB Toolset [10], Sys- temBuild which is part of the MATRIXx Toolset [2], Lab- view toolkits for simulation [1] and a public domain tool such as Scicos which is part of the Scilab Toolset [12]. Sci- cos functionalities are similar to Simulink’s. Actually, the Scilab Toolset developed by INRIA in France is known as the public domain version of the MATLAB Toolset. Most of the functionalities offered by Simulink are also available in SystemBuild.
In order to validate our test data generation approach, we have chosen Simulink for the modeling and simulation of boards. This choice is made because we already use it for teaching and already have some experience of it.
The detailed validation protocol is:
• defining a set of representative examples of boards to be tested ;
• chosing adapted test strategies for each board ;
• applying the method on each board: i.e. board mod- eling, test strategies definition, test data (and predicted results) generation ;
• board modeling with Simulink ;
• then for each test data: simulating board behavior with the test data as input, and next verifying the consis- tency of the output obtained with respect to the output predicted by the method and the test objective.
We present in the next section the experiment on the Test Case Board (TCB) introduced in the Section 4 of [6].
4 Protocol application on the TCB
The modeling of the Test Case Board (TCB) with our method is studied in the Section 4 of [6] and recalled in Figure 1. First of all, we present the TCB modeling using Simulink. Next, we expose the chosen test strategies and the test data generated by our ATPG algorithms. Then, we present the simulation with these test data and the results we obtained. A discussion on this experiment concludes the section.
S F C D
Clk
M em M P
Figure 1. TCB Copernicia modeling
2
4.1 TCB Simulink modeling
The hierachical Simulink modeling of the board is shown in Figures 2 and 3. Figure 2 shows the top level of the mod- eling. The central rectangle represents the board. The board primary input (PI) is connected to an analog sine wave gen- erator. The board primary output (PO) is connected to the po block that models the measurement point for the values of the data written into the memory. These values are stored into the MATLAB workspace with their time stamp. Scopes display signals during the simulation. In particular, scopes connected respectively to the filter output, the sampler out- put, and the comparator output make it possible to observe internal signals of the board. The threshold box sets the threshold’s value of the comparator.
Figure 2. TCB Simulink modeling: Top level Figure 3 shows the second level of modeling. At this level, the modeling of the TCB as a set of interconnected block diagrams looks like the board level modeling we pro- posed in [6] which is shown in Figure 1 (the TCB is delim- ited by the dashed rectangle). Each block at the board level matches with a Simulink diagram block:
• the filter (F) is modeled by the built-in transfer func- tion block that implements the transfer function of the analog high-pass filter expressed by
H (s) = s s + 1000 . 2π
where 1000 (Hz) is the value of the cutoff frequency of the filter,
• the comparator (C) is modeled by a customized block using the S-Functions API [11],
• the digital controller (D) is modeled by the built-in zero-order hold block with a sampling rate of 500 Hz,
• the memory (Mem) is modeled by the general expres- sion block expressed by u(1), meaning that the block output is the same as its input (identity function).
The threshold of the the Simulink comparator is an in- put of the block whereas the threshold of the block C is a parameter of the block description [6]. In order to make it possible to refine the Simulink model of the comparator, we have added an input for setting the threshold’s value rather
than using a hard-wired value in the S-function code. So, we do not need to recompile the S-function code of the block each time the value of the threshold changes.
Figure 3. TCB Simulink modeling: Level 2 Comparing this Simulink modeling with the one ob- tained by our method, we note that both approaches rely on two hierarchical levels of specification. For Simulink modeling, first level is used to model the board inputs and outputs. Second level is the specification of the components of the board and of their in-between links.
In our method, first level defines the board inputs and outputs, but also the way components are linked. Second level is dedicated to the specification of component behav- ior.
Both approaches are thus quite similar. The only real difference is the internal representation of components:
Simulink’s ordinary differential equations (with MATLAB ode45 solver) vs our method FSM.
4.2 Testing process
The black-box board test data set generated with our method is T DS = {T D 1 , T D 2 , T D 3 , T D 4 , T D 5 }, made of:
T DS f ilter = {T D 1 , T D 2 } using S f ilter1 and S f ilter2
test strategies which are recalled below, T DS comparator = {T D 3 , T D 4 } and
T DS digital = {T D 5 } using a test strategy S digital1 that assumes synchronization between analog input sine signal and digital part.
This test data set follows directly from the application of test models and strategies described in Section 4.4 of [6].
This test data set is the same as the one presented in Sec- tion 4.5 of [6] without the two first test data, which had unfortunately been added.
A test data (TD) is made of an input couple and an output singleton. The input couple has the form (S, Clk) and the output singleton has the form (M P ) where S is the analog source, Clk the clock signal and M P the digital measure- ment point (memory state).
For memory, here are the formal test data:
T D 1 = (In = (sig(sine, V IN , 10 f c , 0), top(z)),
Out = ([v, z]))
with z = T e and V IN −δ 1 ≥ S (S f ilter1 test strategy) where δ 1 is a filter tolerance characteristic and S is the threshold of the comparator. The value v is the value of the signal sig(rw, ∆T 1 , T 0 , t 0 ) at time z.
T D 2 = (In = (sig(sine, V IN , f c , 0), top(z)), Out = ([v, z]))
with z = T e and √ 2 2 V IN − δ 3 ≥ S (S f ilter2 test strategy).
The value v is the value of the signal sig(rw, ∆T 1 , T 0 , t 0 ) at time z.
T D 3 = (In = (sig(sine, S − δ, F IN , φ IN ), top(z)), Out = ([0, z]))
with z = T e . The tolerance δ is the tolerance used in the test model of the comparator.
T D 4 = (In = (sig(sine, S + δ, F IN , φ IN ), top(z)), Out = ([v, z]))
with z = T e . The value v is the value of the signal sig(rw, ∆T 1 , T 0 , t 0 ) at time z.
T D 5 = (In = (sig(sine, V IN , T 1
e