1 Introduction

The serial production of analog or mixed-signal circuits yield verification as well as the condition of the final product inspection are necessary for their high-quality assuring. Generally, analog electronic circuit testing concepts may be classified into fault-driven and specification-driven groups [22, 23]. The first class consists of approaches which are dedicated to faulty elements detections and optionally their locations and identifications. In [11, 19, 35], there are the techniques that use support vector machines for faults detection. Heuristic computations and statistical analysis are used in [4, 6,7,8, 13, 18, 20] for catastrophic and global parametric faults detection as well as for optimal test points and testing signal shape searching, respectively. In [34], the entropy parameter is used to analog circuit soft faults detections. The authors of work [12] present the concept of circuit under test (CUT) with faulty elements detections by means of estimated transfer function coefficients testing. However, [15] describes the technique that tests the current position of transfer function poles. The parametric local and global faults of transistors of CMOS structure based on homotopy idea and the simplicial algorithm were proposed in [28]. Catastrophic fault detection method dedicated to nonlinear circuits was described in [29]; however, work [30] presents the technique dedicated to the diagnosis of spot defects. In works [24, 26, 27], the approaches based on sensitivity analysis for faulty element identification, test measurements ambiguity sets determination and optimal frequency of testing signal selection, respectively, may be found. The example solution for CUT functional correctness verifying by investigating voltage levels at specific time points of response of CUT excited by a specialized PWL testing stimulus was presented in [31]. In work [9], there is the technique of functional parameters estimation by means of FFT and correlation analysis. Besides, work [32] describes the approach of CUT selected performance parameters identification. This solution uses the multivariate adaptive regression splines tool for model of measured data to CUT performance parameters mapping determination.

During the production and postproduction life cycles of electronic circuits, the quick and cheap methods are the most desired ones for their performance parameters testing which allow to check their real functional correctness, i.e., methods specialized for the specifications of analog circuit under test verification without the necessity of the faulty elements locations and identifications. In particular, the electronic devices embedded in higher-risk area equipment (e.g., medical, automotive, industrial control) should be monitored all the time to guarantee their desired reliability. In this kind of appliances, the defects should be detected and reported immediately, i.e., not only on the production line but also during the end-user life cycle. Obviously, the CUT specification verification is a major task during these stages, the functional, higher-level test is desired then and the most neuralgic performance parameters actual levels compliance with these ones assumed at the design stage should be monitored permanently or periodically. Nowadays, the major part of electronic circuit of devices is the digital one, but the analog blocks are still present and necessary too. Exemplarily, the anti-aliasing filters on AD signal conversion paths, the charge pump section in PLL block or operational amplifiers in measuring equipment are working in analog mode. Due to analog nature of many signals, the analog blocks are embedded in mixed-signal systems and their functional correctness decides about the condition of the whole device. In case of frequency-dependent circuit performance parameters (such as a filter corner frequency, its bandwidth or maximal gain), the traditional measuring procedures involve the necessity of engaging the time-consuming and relatively costly approaches. It should be emphasized that the classical methods for this kind of frequency specifications measuring need chirp signal with the frequency changed within an assumed range. To determine the typically investigated specifications for which we do not know actual frequency location, the CUT frequency response has to be tested and analyzed in plenty singleton points with limited scanning speed (i.e., with sinusoidal steady state reached for each test). Chirp signal generating and the CUT point-to-point frequency response analyzing difficulty grows radically in case of large serial production or at postproduction testing stages when fully automated procedure of CUT specification validation is required with autonomic execution possibility, e.g., every time just after turning on the mixed-signal appliance [10]. Of course, the expensive laboratory equipment gives the possibility of very precise parameters measuring, but the well-estimated mathematical models may be enough to assure CUT fast diagnostic classification (respectively, to GO/NO GO general testing concept realization) and it is the goal of the proposed method.

This work presents the solution for analog block specification verification by means of approximating formulas optimized during the before-test stage. These equations are determined during the multiple linear regression procedure widely known and successfully used to the relationship between the interpreted parameter and explanatory variables determination, e.g., for the observed process prediction purpose [3, 25]. This statistical technique leads to the most precise linear model (estimator) creation that usually fulfills the minimal root square error criteria and it allows to determine the considered output variable for any combinations of explanatory ones lying in the assumed arguments ranges. For the presented concept, the most representative Walsh–Hadamard transform (WHT) components of CUT step response were delegated to be on the inputs of the modeling formulas mentioned above and they are selected optimally during the evolutionary computations. Besides, the input data initial recalculating by means of evolutionarily determined functions assures the huge improvement in the classical linear regression models accuracy by the possible best linearization of the respective relationships (data preprocessing).

The idea of the testing stage and basic information about WHT operation are given in Sect. 2. Section 3 contains the description of the before-test steps necessary to design the optimal modeling regression formulas. Section 4 presents detailed explanations of the genetic programming (GP) system [2, 17] engaged in the proposed approach at the before-test stage calculations. Finally, Sects. 5 and 6 are devoted to the discussion about the results of example analog circuit testing and about the possibility of the method alternative future modifications, respectively.

2 Idea of Specification Testing

As was mentioned in the introductory section, the proposed approach is dedicated to the delegated analog circuit performance parameter (specifications) estimation, and initially, they create the assumed set P of I observed (explained) variables:

$$\begin{aligned} \mathbf{P}=\left\{ {p_0 ,p_2 ,\ldots ,p_{\left( {I-1} \right) } } \right\} . \end{aligned}$$
(1)

The actual level of each specification from (1) is calculated from the equation (model) designed individually at the before-test stage. In the proposed approach, the mathematical formula specialized to the ith specification approximation (\(i=0,1,\ldots ,I-1\)) may be generally written as:

$$\begin{aligned} \hat{{p}}_i \left( {v_{i1} ,v_{i2} ,\ldots ,v_{iJ} } \right) =\beta _{i0} +\beta _{i1} \cdot v_{i1} +\cdots +\beta _{iJ} \cdot v_{iJ} ={\varvec{\upbeta }} _{i} \cdot \left[ {{\begin{array}{l} 1 \\ {\mathbf{V}_i^T } \\ \end{array} }} \right] , \end{aligned}$$
(2)

where coefficients \(v_{ij }\) and \(\beta _{ij}\) \((i=0,1,\ldots ,I-1, j=0,1,\ldots ,J)\) are, respectively, the function arguments and coefficients obtained from the multiple regression procedure. The arguments vector \(\mathbf V _{i}\) consists of WHT components from spectrum points \(\alpha _{ij}\) selected and modified in the way determined evolutionarily:

$$\begin{aligned} \mathbf{V}_i =\left[ {f_{i1} \left( {c_{\alpha _{i1} } } \right) ,\ldots ,f_{iJ} \left( {c_{\alpha _{iJ} } } \right) } \right] , \end{aligned}$$
(3)

where \(f_{i1}\)(),...,\(f_{iJ}\)() are one dimensional linearizing functions which allow to improve the preciseness of multiple explanatory variables classical formula (2). Finally, during the test stage the most suitable coefficients of model:

$$\begin{aligned} {\varvec{\upbeta }}_i= & {} \left[ {\beta _{i0} ,\beta _{i1} ,\ldots ,\beta _{iJ} } \right] ,\beta _{ij} \in \mathbf{R},\quad \hbox { }i=0,1,\ldots ,I-1, j=0,1,\ldots ,J, \end{aligned}$$
(4)
$$\begin{aligned} {\varvec{\upalpha }}_i= & {} \left[ {\alpha _{i1} ,\alpha _{i2} ,\ldots ,\alpha _{iJ} } \right] ,\alpha _{ij} \in \mathbf{N}_0,\quad i=0,1,\ldots ,I-1,j=1,2,\ldots ,J, \end{aligned}$$
(5)

and set \(\mathbf{F}_{i }\) of functions specialized to data preprocessing:

$$\begin{aligned} \mathbf{F}_i =\left\{ {f_{i1} \left( \right) ,f_{i2} \left( \right) ,\ldots ,f_{iJ} \left( \right) } \right\} ,\quad i=0,1,\ldots ,I-1, \end{aligned}$$
(6)

are known (prepared earlier) and they are used to the real value of ith specification estimating based on the components selected from N point WHT of acquired CUT step response:

$$\begin{aligned} \hbox {WHT}(h(t))=\left[ {c_0 ,c_1 ,\ldots ,c_{\left( {N-1} \right) } } \right] . \end{aligned}$$
(7)
Fig. 1
figure 1

Operations scheme for the fast WHT calculated in 8 points

Fig. 2
figure 2

Walsh functions sequences determination in the exemplary Hadamard matrix

The WHT engaged in this concept is a time-effective algorithm which needs only \( N{ log}_{2}(N)\) of summing operations, i.e., it does not engage any multiplications as well as any divisions. The spectrum components are calculated just by the factors respective summation. The exemplary “butterfly scheme” for 8 points fast WHT is presented in Fig. 1 and it requires only 24 simple operations (additions and subtractions). This minimal complexity of the transformation is very attractive and desired in case of tester embedding into the mixed-signal systems with low-cost microcontroller implementation of built-in self-test (BIST) function [1, 33]. The spectrum obtained in this way has components whose positions are representing the number of sign changes (sequences) of unity amplitude bipolar square pulses of Walsh functions defined by Hadamard matrix with the respective order N:

$$\begin{aligned}&\mathbf{H}_1 =\left[ 1 \right] ,\,\mathbf{H}_2 =\left[ {{\begin{array}{ll} {+\,1}&{} {+\,1} \\ {+\,1}&{} {-\,1} \\ \end{array} }} \right] ,\ldots ,\mathbf{H}_N =\left[ {{\begin{array}{ll} {\mathbf{H}_{2^{\left( {m-1} \right) }} }&{} {\mathbf{H}_{2^{\left( {m-1} \right) }} } \\ {\mathbf{H}_{2^{\left( {m-1} \right) }} }&{} {-\mathbf{H}_{2^{\left( {m-1} \right) }} } \\ \end{array} }} \right] ,\nonumber \\&\quad m=0,1,\ldots ,{ log}_2 N. \end{aligned}$$
(8)

For example, Fig. 2 illustrates the Walsh functions and their sequences numbers SEQ extracted from Hadamard matrix \(\mathbf{H}_{8}\). As can be seen, the SEQ value interpretation is similar to the frequency of analyzed signal spectrum component, so this representation is especially useful for the frequency-related specifications of CUT identification with the minimal effort of computations necessity (much lower than for the alternative FFT approach).

Finally, after the tested performance parameters actual values estimation from formulas (2), the CUT condition may be easily evaluated by just determined performance parameters comparison to the assumed design requirements (specifications) and the diagnostic decision is made. Of course, the achieved approximation preciseness (mathematical model accuracy) is a crucial issue for this concept and the evolutionary optimization system allows for its significant improvement in contrast to the classical multiple regression procedure. Additionally, the evolutionary optimization process presented in the next sections allows to maximize the generalization of the testing signatures recognition, and finally, it assures higher correctness of the regression model for CUT diagnostic states not included to the set of random teaching patterns.

Fig. 3
figure 3

General diagram of functional test designing procedure

Table 1 Initially assumed parameters of optimization system

3 Before-Test Computations

The sketch of the optimal regression models (2) searching is illustrated in Fig. 3. Firstly, before starting the optimization system, all the necessary initial assumptions for variables listed in the first column of Table 1 have to be defined. Some of them implicate other values of the system and they are given in the third column of this table. During the next stage, the MC simulations of CUTs with nominal values of their elements constants (e.g., resistances, capacitances) and with randomly deviated (with uniform distribution) from the nominal ones in the assumed percentage range \(\pm \,\delta _\mathrm{DEV}\%\) are executed K times totally and .TRAN as well. AC analyses (with the assumed \({ TIM}_\mathrm{END}\), \({ FREQ}_\mathrm{END}\) and N from Table 1) are carried out for all the K teaching patterns. The frequency responses calculated in this way are used to the CUT actual performance parameters determinations (e.g., cutoff frequencies and maximal gains in assumed frequency band); however, related to their respective time step responses are transformed to the N points WHT spectra and they create the diagnostic signatures set (7). Now, the K random pairs of the considered CUT parameters set (1) patterns and the respective sequence spectra are ready and the evolutionary creation of the statistical model may be started. The GP system that supports the classical multiple regression procedure is used to the search for the optimal model in the proposed approach. The detailed information about the engaged evolutionary computations is given in the next section. Generally, this stage is repeated I times, i.e., independently for each diagnosed specification (\(i=0,1,\ldots ,I-1\)) from the set P and the statistical model (2) is determined every time during the individual fitness evaluation from the regression procedure with the minimal root square error criteria of statistical data approximation:

$$\begin{aligned} {\varvec{\upbeta }}_{i} =\left( {\mathbf{X}_{i}^{T} \mathbf{X}_{i} } \right) ^{-1}{} \mathbf{X}_i^T \mathbf{Y}_i , \end{aligned}$$
(9)

where matrix \(\mathbf{X}_{i}\) and vector Y \(_{i}\) contain the random patterns created with the selected WHT points (with indexes (5) from optimized vector \({\varvec{\upalpha }}_{i})\), preprocessed by functions delegated from (6) and the parameter \(p_{i}\) respective values gathered for K / 2 training set:

$$\begin{aligned} \mathbf{X}_i= & {} \left[ {{\begin{array}{cccc} 1&{} {f_{i1} \left( {c_{\alpha _{i1} ,1} } \right) }&{} \cdots &{} {f_{iJ} \left( {c_{\alpha _{iJ} ,1} } \right) } \\ 1&{} {f_{i1} \left( {c_{\alpha _{i1} ,2} } \right) }&{} \cdots &{} {f_{i1} \left( {c_{\alpha _{i1} ,2} } \right) } \\ \vdots &{} \vdots &{} &{} \vdots \\ 1&{} {f_{i1} \left( {c_{\alpha _{i1} ,K/2} } \right) }&{} \cdots &{} {f_{iJ} \left( {c_{\alpha _{iJ} ,K/2} } \right) } \\ \end{array} }} \right] , \end{aligned}$$
(10)
$$\begin{aligned} \mathbf{Y}_i= & {} \left[ {{\begin{array}{l} {p_i^1 } \\ \vdots \\ {p_i^{\left( {K/2} \right) } } \\ \end{array} }} \right] . \end{aligned}$$
(11)

As the above figures present, only the first half part of teaching set signatures is used to the model coefficients (9) calculation; however, the remaining patterns are examined during its accuracy evaluation, too, and it impacts on the final \(Q_\mathrm{ERR}\) fitness value (14) of genotype (phenotype quality coefficient). This solution allows to maximize the generalization effectiveness (i.e., it verifies signatures not included to set \(\mathbf{X}_{i}\) engaged at regression analysis stage) and search for formula (2) possibly best suitable to the whole simulation patterns (i.e., for upper half part of independently generated examining set, too).

The GP system is searching for the best points of WHT indexes \({\varvec{\upalpha }}_{i}\), i.e., which are the most adequate components for explanatory variables of the observed parameter \(p_{i}\). Besides, it decides about its individual preprocessing functions \(f_{i1}\)(),...,\(f_{iJ}\)() selection from the assumed candidates set Fu. It should be emphasized that the classical multiple regression analysis assumes the high and strong linear correlations between explanatory and explained variables. Additionally, all the input variables should be independent. Unfortunately, these conditions are often not fulfilled in practice and the proposed evolutionary assisting significantly improves the final regression model accuracy. Standard multiple regression model represents linear operation between explanatory and explained variables but the nonlinear preprocessing functions engaged in the proposed solution reduce this disadvantage. In effect, the set of these functions optimally selected in GP system allows to obtain a nonlinear mathematical model which represents the relation between WHT sequences and tested specification in the most suitable way, i.e., the respective nonlinear preprocessing is possible, too. The individuals selection pressure in population is set for promoting the solutions which assure the best precision of approximation, minimal number of observed points and high generalization capability (by the appropriate structure of the fitness function presented in the next section).

Fig. 4
figure 4

Stages of evolutionary computations

4 Evolutionary System Description

The GP algorithm is executed I times, i.e., independently for each tested parameter from (1), and its steps are illustrated in Fig. 4. The optimal sets of WHT points \({\varvec{\upalpha }}_{i}\) and preprocessing functions \(\mathbf{F}_{i}\) are searched in population \(\mathbf{G}_{i}\) of \(G_\mathrm{MX}\) individuals (genotypes which code the set of potential solutions):

$$\begin{aligned} \mathbf{G}_i =\left\{ {\varvec{\Lambda }}_{i0} ,{\varvec{\Lambda }}_{i1} ,\ldots ,{\varvec{\Lambda }}_{i\left( {G_\mathrm{MX}-1} \right) } \right\} . \end{aligned}$$
(12)

Each genotype \({\varvec{\Lambda }}_{ig}\) (\(g=0,\ldots ,G_\mathrm{MX }-1)\) has the binary tree structure for that nodes keep identifiers of the explanatory variables linearization functions selected from the set Fu of available ones (candidates):

$$\begin{aligned} \mathbf{Fu}=\left\{ {fu_1 \left( \right) ,fu_2 \left( \right) ,\ldots ,fu_{U_\mathrm{MX} } \left( \right) } \right\} . \end{aligned}$$
(13)

The above set (13) may be defined in the way most suitable for the final tester specific implementation, e.g., it may keep only the functions simply implemented to the target microcontroller dedicated to built-in self-testing procedure realization (such as a \({ log}_{2}\)() binary logarithm) or it may contain some more complex ones if they are finally acceptable. In particular, the transparent tr() and eliminating el() functions should be added there to make the unchanged value of variable or its rejection achievable for coding in genotype tree.

Fig. 5
figure 5

Illustration of genotype and mapping trees structures

Generally two kinds of tree data structures are interpreted in the proposed GP system. The first one is a genotype stored in the population of individuals, and the second one creates the map coding the selected WHT points indexes for current generation. An exemplary genotype and mapping structures are presented in Fig. 5. Each individual \({\varvec{\Lambda }} _{ig}\) from the population keeps the selected functions identifiers (from the set Fu of candidates) which are placed in tree nodes and leaves. However, its shape (the elements locations in the binary tree area) defines the components selected from the actual mapping tree \(\mathbf{M}_{i}\). For an incomplete example genotype tree from Fig. 5 (denoted by a solid line), the \(J=7\) specific functions are chosen which are linked to the elements of actual mapping tree \(\mathbf{M}_{i}\), respectively (i.e., by their positions). The shape and content of the genotype tree are modified during evolution cycles. However, the mapping tree always has the full structure (i.e., it consists of all inner nodes and terminating leaves), but the contents are rebuilt every evolutionary cycle in the manner explained in Sect. 4.2. The numbers stored in it represent the indexes (in hexadecimal codes) of sequence components currently available to selection as arguments of preprocessing functions (and explaining the observed variable).

4.1 Phenotype Quality Checking

The fitness value of solution is calculated from the specialized formula \(Q_\mathrm{ERR}\) which is minimized during evolutionary computations (quality weakness factor):

$$\begin{aligned} Q_\mathrm{ERR} =\left( {1-R_\mathrm{TR}^2 } \right) +\left( {1-R_\mathrm{EX}^2 } \right) ^{2}+\left( {R_\mathrm{TR}^2 -R_\mathrm{EX}^2 } \right) ^{2}+w_\mathrm{SIZE} \cdot \frac{J}{J_\mathrm{MX} }, \end{aligned}$$
(14)

where \(R_\mathrm{EX}^{2}\) and \(R_\mathrm{TR}^{2}\) are coefficients of determination for the training (the first half of MC signatures used during regression analysis) and the examining (the second part set of signatures delegated to the regression model generalization verifying) patterns, respectively, \(w_\mathrm{SIZE}\) is the weight for defining the priority of the number of observed WHT points (target phenotype size) minimization, J and \(J_\mathrm{MX}\) are the numbers of explanatory variables delegated by the evaluated genotype and their possible maximal quantity (limited by the tree structure capacity, Table 1). The coefficient of determination (R squared) is the statistical measure of regression model fitting to probes of patterns, and in the proposed algorithm, it evaluates the preciseness quality of the prediction model for training and examining parts of patterns, respectively:

$$\begin{aligned} R_\mathrm{TR}^{2}= & {} 1-\frac{\hbox {SSE}_\mathrm{TR} }{\hbox {SST}_\mathrm{TR} }=1-\frac{\sum \nolimits _{k=0}^{K/2-1} {\left( {p_{ik} -\hat{{p}}_{ik} } \right) ^{2}} }{\sum \nolimits _{k=0}^{K/2-1} {\left( {p_{ik} -\bar{{p}}_i } \right) ^{2}} }, \end{aligned}$$
(15)
$$\begin{aligned} R_\mathrm{EX}^2= & {} 1-\frac{\hbox {SSE}_\mathrm{EX} }{\hbox {SST}_\mathrm{EX} }=1-\frac{\sum \nolimits _{k=K/2}^{K-1} {\left( {p_{ik} -\hat{{p}}_{ik} } \right) ^{2}} }{\sum \nolimits _{k=K/2}^{K-1} {\left( {p_{ik} -\bar{{p}}_i } \right) ^{2}} }, \end{aligned}$$
(16)

where SSE and SST are the sum of squared errors and total sum of squares, \(p_{ik}\) and \(\hat{{p}}_{ik} \) are kth accurate and estimated values of specification and \(\bar{{p}}_{i} \) means its average level determined on the respective sort of signatures. The measures (15, 16) reach the unity value for the best results of approximation, i.e., for the SSE numerator zeroed there. So, the first two sections of the proposed fitness function (14) are responsible for the evaluation of mathematical model preciseness using the training and the examining parts of teaching patterns set, the third one determines the generalization level (by the model correctness comparing for the two independent sections of the patterns set, i.e., training and examining ones) and the last part of this figure generates the coefficient proportional to the number of selected explanatory variables (the observed WHT points). The value \(Q_\mathrm{ERR}\) is minimized during evolutionary cycles, so the solutions with the most precise and general models which engage only the optimal arguments are promoted and they reach the highest marks (i.e., minimal value \(Q_\mathrm{ERR})\). Firstly, before (14) determination, the regression model is calculated on training patterns statistical data, so, respectively, to (15) it guarantees \(R_\mathrm{TR}^2 \le 1\).

4.2 Genotype and Mapping Trees Cyclic Rebuilding

Initially the mapping tree \(\mathbf{M}_{0}\) consists of indexes of WHT components dispersed in the whole considered spectrum band area uniformly with the maximal available resolution (limited by the allowed size of trees):

$$\begin{aligned} \Delta M=\frac{N}{2^{\left( {D_\mathrm{MX} +1} \right) }-1}, \end{aligned}$$
(17)

where N and \(D_\mathrm{MX}\) are the number of WHT points and the maximal allowed depth for binary trees assumed before the evolutionary system starting. Such a start structure of the mapping tree gives high spread of the preliminary observed points searching space that assures its wide initial probing and a chance for general boundary model creation. The content of the mapping tree is redefined every evolution period, respectively, to currently determine the best-evaluated leader genotype \({\varvec{\Lambda }}_{\mathrm{BEST}}\) in the way explained in Fig. 6.

Fig. 6
figure 6

Example of a genotype and b mapping trees obtained after every cycle structure rebuilding procedure

This figure presents the resultant tree structures created from the example ones illustrated in Fig. 5 under the assumption that \({\varvec{\Lambda }} _{ig}\) codes the best phenotype. For the best solution \({\varvec{\Lambda }}_{\mathrm{BEST}}\) special protection purpose, the \({\varvec{\Lambda }} _{\mathrm{BEST}}\) tree depth minimization was applied in the way explained in Fig. 6a. The elements of genotype tree from Fig. 5 are moved to positions which guarantee the one with the possible minimal depth (for this example case \(D=2\) was obtained finally) and the regular form, respectively. Of course, the mapping tree is modified in the same way and it assures that the phenotype vector \(\mathbf{V}_{i}\) stays unchanged finally. However, the newly constructed tree spread is limited as much as possible. This proposed rebuilding procedure maximizes the best solution surviving probability after the recombination process (by the span of well-promising genotype schemes minimization) and it promotes the genetic material preserving in the currently determined best form. The set of indexes of WHT points actually selected by it is preserved too and it goes unchanged to the next evolution cycle (in the new positions denoted in solid line circles of nodes from genotype in Fig. 6b). However, the remaining ones (i.e., indexes not delegated to \({\varvec{\upalpha }}_{i}\) vector during last iteration) are replaced to the randomly chosen integer values from the set of waiting candidates (i.e., representing potentially available WHT components, not engaged now). This mechanism assured efficient searching for the optimal set of explanatory variables that is specialized to the ith specification estimating by means of regression formula (2) coded by tree structures with a reasonable size (i.e., with elements quantity smaller than the number of all discrete WHT components) and it significantly speeds up the optimization process.

4.3 Genetic Operations

The new population for the currently started evolutionary cycle is created from the mating pool that collects copies (reproductions) of the genotypes selected randomly from the previous one. The reproduction process is made with the respective probabilities \(P_\mathrm{RE}\) which are proportional to the individuals ranks \(\gamma \):

$$\begin{aligned} P_\mathrm{RE} =P_\mathrm{REM} +\left( {1-P_\mathrm{REM} } \right) \cdot \frac{\gamma }{G_\mathrm{MX} -1}, \end{aligned}$$
(18)

where \(P_\mathrm{REM}\) denotes the minimal probability of reproduction process and \(G_\mathrm{MX}\) is the generation quantity. The individual value \(\gamma \) means its position in series of genotypes sorted with decreasing order of fitness value \(Q_\mathrm{ERR}\), i.e., the worst and the best ones obtain the minimal (\(\gamma =0\)) and the maximal (\(\gamma =G_\mathrm{MX}-1\)) ranks, respectively. This technique is assuring an advantageous pressure of selection to the parent pool for that the worst genotype gets the minimal probability \(P_\mathrm{REM}\) for its recombination but it is not totally eliminated. Generally, all candidates obtain the reproduction chance proportional to rank \(\gamma \) (i.e., not calculated as straightforward proportion of quality factor \(Q_\mathrm{ERR}\) as for the classical “roulette concept” [5, 21]), and in effect, the evolutionary system probing area is wider and it is more resistant for collapsing in local minimum. After finishing the above reproduction procedure, the parent genotypes are paired by selecting from mating pool with a uniform chance and the offspring individuals are created by the respective recombination of their genes.

Fig. 7
figure 7

Crossover operation: a parent genotypes and b offspring ones

The illustration of genotypes recombination process is presented in Fig. 7. Firstly, the two crossover points CP1 and CP2 are selected randomly in the way that assures the final trees depths not greater than assumed \(D_\mathrm{MX}\). Next, the cut sub-trees are exchanged and it creates the offspring trees which inherit part of genetic material.

Apart from the genetic reproduction, the two kinds of mutation were implemented to the GP system. The first one modifies selected nodes and terminals with probability \(P_{\mathrm{MU}1}\); however, the second version starting with the probability \(P_{\mathrm{MU}2}\) causes the total tree reconstruction by its replacing to the random one newly generated. Additionally, before the newly created population succession to the next generation, the weakest genotype (i.e., with the maximal \(Q_\mathrm{ERR})\) is exchanged to the currently determined as the best one (i.e., with the minimal \(Q_\mathrm{ERR}\) determined during all previous cycles). This operation allows for surviving of well-evaluated solution (elitist model of succession) and its genetic information is inherited among the next individuals.

5 Computational Examples

The GP system described was implemented in the MATLAB environment. The simulations of CUTs were executed in the PSpice software. For all experiments presented below, the results of \(K=200\) Monte Carlo analyses were engaged during the test design stage (i.e., 100 patterns of training and examining parts, respectively). The uniform distribution of random generator was applied during the teaching patterns (training and examining parts) creation and the Gaussian one for the testing set. The assumed parameters \(\varGamma _r^\mathrm{NOM} \) of nominal circuit elements (\(r=1,\ldots ,R)\) are changed with deviation selected randomly from the range \(\varDelta _{\mathrm{DEV}}\):

$$\begin{aligned} \varDelta _\mathrm{DEV} =\varGamma _r^\mathrm{NOM} \left( {1\pm \frac{\delta _\mathrm{DEV}}{100\%}} \right) , \end{aligned}$$
(19)

where \(\delta _\mathrm{DEV}\) is the initially defined absolute maximal relative variation.

All the considered exemplary CUTs were excited by step voltage testing signal with TTL 5 V amplitude for the firstly presented ones and 2.5 V for the lastly tested CMOS operational amplifier. The acquired response (determined in time points \(n=0,\ldots ,N-1\)) was quantized to discrete samples which represent 10 bits AD conversion and reach about 80% of scale value, respectively:

$$\begin{aligned} h\left( {t_n } \right) =\hbox {round}\left[ {\frac{h_\mathrm{OUT} \left( {t_{n} } \right) }{H_\mathrm{MX} }\cdot \left( {2^{10}-1} \right) \cdot 0.8} \right] , \end{aligned}$$
(20)

where \(H_\mathrm{MX}\) is the maximal voltage level of nominal output waveform and \(h_\mathrm{OUT}(t_n )\) denotes the original voltage value at time \(t_{n}\) of simulation. Next, the signal samples obtained after the quantization are transformed to discrete WHT sequences domain. Besides, all the arithmetic operations are calculated on numbers defined with 32 bits resolution preciseness, respectively. Fulfilling these additional data processing restrictions allows to obtain the final testing patterns including effects caused by practical limitations of performances of average quality microcontroller that nowadays is embedded into many appliances.

The major sort of initial constants of the before-test stage optimization system is the same for all the tested exemplary circuits and they are given in Table 2. The six functions Fu are available for preprocessing purpose (candidates for selection): eliminating el(), transparent tr() ones and with square pow2(), cubic pow3(), square root sqrt(), binary logarithm \({ log}_2\)(). The respective definitions of all the proposed relationships are presented in the table above, where \(c_{n}\) is nth component of WHT spectrum. Generally, the proposed set of recalculations allows to eliminate, leave unchanged or nonlinearly reshaped distribution of the WHT components with expansive or defensive tendency, respectively. It gives the chance for its relationships to the explained variable possible best linearization before multiple regression analysis starting.

Table 2 Initially assumed constants for all the exemplary tests
Fig. 8
figure 8

Biquadratic low-pass filter

Finally, after the coefficients (4) of modeling formulas determination and the sets of explanatory variables indexes (5) as well as linearizing functions (6) evolutionary selection, the system for specification testing is ready. Next, its efficiency was checked on the new independently created testing sets of diagnostic patterns and the obtained results, discussions and the comparison analysis to the referenced approaches are given in the next subsections.

5.1 Examples of Low-Pass Filters Testing

The first exemplary CUT is presented in Fig. 8 and it is a low-pass second-order biquadratic filter analyzed previously in work [31]. The filter DC, at frequency point 150 Hz, and maximal gains as well as − 3 dB corner frequency and impulse response fall time are delegated to be the tested performance parameters (\(I=5\)):

$$\begin{aligned} \mathbf{P}=\left\{ {\left| {K_\mathrm{DC} } \right| ,\left| {K_{150\,\mathrm{Hz}} } \right| ,\left| {K_\mathrm{MX} } \right| ,f_{-\,3\,\mathrm{{dB}}} ,t{ }_f} \right\} . \end{aligned}$$
(21)

All the parameters proposed above are the same as tested by means of the cited alternative method which is using a specialized stimulus with complex PWL shape. The random step responses for training, examining and finally validated testing sets were calculated to \({ TIM}_\mathrm{END}=15.36\,\hbox {ms}\) with resolution \(\Delta \hbox {TIM}_\mathrm{TRAN}=30\,\upmu \hbox {s}\) (i.e., at N = 512 points) for the filter resistances and capacitances of all discrete elements (\(R=8\)) deviated randomly with the assumed maximal dispersion \(\delta _\mathrm{DEV}=\pm \,10\%\) from the nominal value (19). The example absolute waveforms of responses selected from training set are illustrated in Fig. 9. The nominal responses are denoted by solid line, respectively; however, the next two cases are randomly generated during MC analysis. The values on h(n) axe are obtained after the output signal \(h_\mathrm{OUT}(t_{n})\) quantization from (20) with 10 bits precision assumed. Both responses are presented in relationship to the number of point of the respective analysis. The optimization system was started independently for each estimated performance parameters from (21) with the system initial constants presented in Table 2 and the genotype tree depths limited to \(D_\mathrm{MX}=6\) level (i.e., each one may consist of \(J_\mathrm{MX}=127\) leaves maximally). The values of times taken to the particular parameters models optimization as well as the sizes of finally found best phenotypes are presented in Table 3. The evolutionary computation time on a typical PC with 3.2 GHz clocking is less than 20 min per each parameter and it does not depend on the kind of analyzed specification too much, i.e., generally each one needs the calculations on the similar portion of data and only the change profiles of population trees sizes during evolutionary cycles may proceed in different ways.

Fig. 9
figure 9

Exemplary training patterns of a step and b frequency responses of biquadratic filter

Table 3 Before-test stage evolutionary optimization time cost and the finally found phenotypes sizes
Fig. 10
figure 10

Best genotypes found for a \({\vert }K_\mathrm{DC}{\vert }\), b \({\vert }K_{150\,\mathrm{Hz}}{\vert }\), c \({\vert }K_\mathrm{MX}{\vert }\) respective gains, d corner frequency \(f_{-\,3\,\mathrm{dB}}\) and e fall time \(t_\mathrm{f}\) of biquadrate filter testing

The best pairs of genotype trees and WHT points maps found for the considered parameters (21) are illustrated in Fig. 10. Finally, the preprocessing formulas obtained for the selected WHT components and regression coefficients \({\varvec{\beta }}_{i}\) (floating point 32 bits, single precision) are given below, respectively:

$$\begin{aligned}&\mathbf{V}_0 =\left[ {tr\left( {c_{000} } \right) ,\sqrt{\left| {c_{004} } \right| },\sqrt{\left| {c_{1B1} } \right| },tr\left( {c_{100} } \right) ,tr\left( {c_{0C8} } \right) } \right] , \end{aligned}$$
(22)
$$\begin{aligned}&{\varvec{\upbeta } }_0 =\left[ 0,005660501,-\,3.002171\hbox {e}{-}06,-\,0.0003106225,9.688964\hbox {e}{-}05, \right. \nonumber \\&\quad ~~~~~\left. 2.479335 \hbox {e}{-}06,-\,4.728725\hbox {e}{-}06 \right] \end{aligned}$$
(23)
$$\begin{aligned}&\mathbf{V}_1 \left\{ {\begin{array}{l} \left( {1:15} \right) =\left[ \left( {c_{0F8} } \right) ^{2}, \sqrt{\left| {c_{0AC} } \right| },\left( {c_{0DC} } \right) ^{3}, lb\left| {c_{1C0} } \right| ,\left( {c_{0D4} } \right) ^{3}, \left( {c_{0E0} } \right) ^{2},\left( {c_{0C8} } \right) ^{2},\right. \\ \left. \qquad \quad \qquad lb\left| {c_{060} } \right| ,\left( {c_{0E8} } \right) ^{2}, lb\left| {c_{148} } \right| ,\left( {c_{05C} } \right) ^{2}, \left( {c_{00C} } \right) ^{3},\left( {c_{0A6} } \right) ^{3}, tr\left( {c_{12D} } \right) ,lb\left( {c_{188} } \right) \right] \\ \left( {16:22} \right) =\left[ {tr\left( {c_{0C4} } \right) , tr\left( {c_{084} } \right) ,tr\left( {c_{098} } \right) ,\left( {c_{1F8} } \right) ^{3},\sqrt{\left| {c_{1AC} } \right| },lb\left| {c_{100} } \right| ,\left( {c_{030} } \right) ^{3}} \right] \\ \end{array}} \right. \nonumber \end{aligned}$$
(24)
$$\begin{aligned}&{\varvec{\upbeta }}_1 \left\{ \begin{array}{l} \left( {0:5} \right) =\left[ -\,4.522189,-\,1.674245\hbox {e}{-}08, -\,0.001490369,3.097131\hbox {e}{-}09,\right. \\ \qquad \quad \qquad \left. 0.4313922,-\,1.078538\hbox {e}{-}10 \right] \\ \left( {6:11} \right) =\left[ 1.640088\hbox {e}{-}09,3.549338\hbox {e}{-}09, 0.1684739,\right. \\ ~~~~~~~~~~~~~~~~\left. 6.609648\hbox {e}{-}08,-\,0.06026428,9.126173\hbox {e}{-}07 \right] \\ \left( {12:17} \right) =\left[ 1.291948\hbox {e}{-}07,7.829213\hbox {e}{-}09, -\,8.520759\right. \\ ~~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}05,-\,0.1530937,-\,4.801322\hbox {e}{-}05,0.0001279204 \right] \\ \left( {18:22} \right) =\left[ 4.188453\hbox {e}{-}06,3.865009\right. \\ ~~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}11, -\,0.0006034895,-\,0.06832422,-\,7.084801\hbox {e}{-}11 \right] \end{array} \right. , \nonumber \end{aligned}$$
(25)
$$\begin{aligned}&\mathbf{V}_2 \left\{ \begin{array}{l} \left( {1:15} \right) =\left[ lb\left| {c_{004} } \right| , tr\left( {c_{1C4} } \right) ,tr\left( {c_{090} } \right) , \left( {c_{11F} } \right) ^{3},\left( {c_{128} } \right) ^{3}, \left( {c_{0A8} } \right) ^{3},lb\left| {c_{0E0} } \right| ,\right. \\ ~~~~~~~~~~~~~~~~~\left. lb \left| {c_{064} } \right| ,\sqrt{\left| {c_{1F7} } \right| }, \left( {c_{07C} } \right) ^{2},\left( {c_{130} } \right) ^{2},lb \left| {c_{0C4} } \right| ,tr\left( {c_{12C} } \right) ,lb \left| {c_{058} } \right| ,tr\left( {c_{110} } \right) \right] \\ \left( {16:27} \right) =\left[ tr\left( {c_{148} } \right) , \left( {c_{195} } \right) ^{3},\left( {c_{034} } \right) ^{3}, \sqrt{\left| {c_{020} } \right| },\sqrt{\left| {c_{1D0} } \right| }, tr\left( {c_{100} } \right) ,lb\left| {c_{180} } \right| ,\right. \\ ~~~~~~~~~~~~~~~~~\left. \sqrt{\left| {c_{088} } \right| },\left( {c_{154} } \right) ^{3}, lb\left( {c_{1E8} } \right) ,lb\left( {c_{190} } \right) ,lb \left( {c_{0B4} } \right) \right] \\ \end{array} \right. , \nonumber \end{aligned}$$
(26)
$$\begin{aligned}&{\varvec{\upbeta }}_2 \left\{ \begin{array}{l} \left( {0:5} \right) =\left[ 2.756210,0.08897445,7.510811\hbox {e}{-}06, 9.246117\right. \\ ~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}05,-\,1.343037\hbox {e}{-}06,3.606279\hbox {e}{-}10 \right] \\ \left( {6:11} \right) =\left[ 3.365634\hbox {e}{-}10,-\,0.02961145, 0.001698855,0.0004118048,\right. \\ ~~~~~~~~~~~~~~~~~\left. -\,1.639420\hbox {e}{-}06,-\,5.727071\hbox {e}{-}08 \right] \\ \left( {12:17} \right) =\left[ -\,0.007494747,-\,2.209968\hbox {e}{-}05, -\,0.005227156,-\,5.664529\right. \\ ~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}05,-\,6.466729\hbox {e}{-}06,-\,2.471376\hbox {e}{-}07 \right] \\ \left( {18:23} \right) =\left[ 8.212961\hbox {e}{-}10,0.01587043, -\,0.004270680,8.018930\right. \\ ~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}06,-\,0.2993714,0.006545035 \right] \\ (24:26)=\left[ {-\,2.196547\hbox {e}{-}10,-\,0.007879765,-\,8.216066\hbox {e}{-}05, 0.003508808} \right] \end{array} \right. ,\end{aligned}$$
(27)
$$\begin{aligned}&\mathbf{V}_3 =\left[ \sqrt{\left| {c_{000} } \right| },\sqrt{\left| {c_{088} } \right| },\sqrt{\left| {c_{1C0} } \right| },tr\left( {c_{0D8} } \right) , lb\left| {c_{1C4} } \right| ,lb\left| {c_{0AC} } \right| ,\left( {c_{0E4} } \right) ^{2},\left( {c_{18C} } \right) ^{3}, \right. \nonumber \\&~~~~~~~~\left. \sqrt{\left| {c_{160} } \right| },\left( {c_{170} } \right) ^{3},lb\left| {c_{15C} } \right| ,lb\left| {c_{008} } \right| ,lb\left| {c_{124} } \right| ,\sqrt{\left| {c_{180} } \right| },\sqrt{\left| {c_{00C} } \right| } \right] , \end{aligned}$$
(28)
$$\begin{aligned}&{\varvec{\upbeta }}_3 \left\{ \begin{array}{l} \left( {0:5} \right) =\left[ 452.2959,-\,0.01486735, -\,2.797786,2.096427,\right. \\ ~~~~~~~~~~~~~~~~~\left. \quad 0.003705769,-\,6.286750 \right] \\ \left( {6:11} \right) =\left[ 0.7026060,2.083601\hbox {e}{-}05,1.552963\hbox {e}{-}06,1.270486,\right. \\ ~~~~~~~~~~~~~~~~~\left. 1.111858\hbox {e}{-}09,-\,0.08410950 \right] \\ \left( {12:15} \right) =\left[ {-\,27.13602,0.1650869, -\,1.094900,-\,0.1943679} \right] \\ \end{array} \right. , \end{aligned}$$
(29)
$$\begin{aligned}&\mathbf{V}_4 \left\{ \begin{array}{l} \left( {1:15} \right) =\left[ \sqrt{\left| {c_{02C} } \right| }, \sqrt{\left| {c_{0E0} } \right| },\left( {c_{030} } \right) ^{3}, tr\left( {c_{064} } \right) ,\sqrt{\left| {c_{074} } \right| }, \sqrt{\left| {c_{024} } \right| },lb\left| {c_{108} } \right| ,\right. \\ ~~~~~~~~~~~~~~~~~\left. \left( {c_{0EC} } \right) ^{3},\left( {c_{1C4} } \right) ^{2}, lb\left| {c_{11C} } \right| ,tr\left( {c_{058} } \right) , \sqrt{\left| {c_{100} } \right| },tr\left( {c_{128} } \right) , lb\left| {c_{160} } \right| ,tr\left( {c_{17A} } \right) \right] \\ \left( {16:23} \right) \!=\!\left[ {tr\left( {c_{0DC} } \right) , tr\left( {c_{0CC} } \right) ,\left( {c_{0D8} } \right) ^{2}, \left( {c_{1C8} } \right) ^{2},\left( {c_{0B0} } \right) ^{2}, lb\left| {c_{040} } \right| ,\left( {c_{104} } \right) ^{3}, lb\left| {c_{1EC} } \right| } \right] \\ \end{array} \right. \!\!\!, \end{aligned}$$
(30)
$$\begin{aligned}&{\varvec{\upbeta }}_4 \left\{ \begin{array}{l} \left( {0:5} \right) =\left[ 0.008335048,-\,1.137755\hbox {e}{-}06, -\,2.927654\right. \\ ~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}06,-\,2.446083\hbox {e}{-}13,1.243986\hbox {e}{-}07,1.021718\hbox {e}{-}06 \right] \\ \left( {6:11} \right) =\left[ 1.170990\hbox {e}{-}06,-\,8.475858\hbox {e}{-}05, 6.307075\hbox {e}{-}13,3.046218\right. \\ ~~~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}11,-\,4.409402\hbox {e}{-}08,-\,2.650003\hbox {e}{-}08 \right] \\ \left( {12:17} \right) =\left[ 1.455491\hbox {e}{-}05,-\,4.250740\hbox {e}{-}09, -\,0.0001576398,-\,2.148559\right. \\ ~~~~~~~~~~~~~~~~~~~\left. \hbox {e}{-}08,2.540204\hbox {e}{-}08,8.949726\hbox {e}{-}08 \right] \\ \left( {18:23} \right) =\left[ 1.348358\hbox {e}{-}10,3.286213\hbox {e}{-}11, -\,2.953725\hbox {e}{-}11,\right. \\ ~~~~~~~~~~~~~~~~~~~\left. -\,0.0003840307,-\,3.701510\hbox {e}{-}14,-\,4.738368\hbox {e}{-}06 \right] \\ \end{array} \right. . \end{aligned}$$
(31)

The absolute average, absolute maximal estimation errors and their standard deviations of the finally designed regression models defined by the above sets, respectively, and obtained for all tested patterns of the biquadrate filter are given in Table 4. As can be seen, the maximal error is less than 3%; however, the maximal average one is below 0.3% for all the signatures and it proves a high reliability of the test and high preciseness of the designed relations. Besides, all achieved standard deviations are very low and it means a well-balanced dispersion of estimated values around the precise ones with the error level of most of them very close to the average one.

Table 4 CUT performance parameters estimation errors and their standard deviations
Table 5 Nominal levels of tested parameters and their absolute deviations allowed
Table 6 Results obtained for validation tests

Next, to check the designed models effectiveness, the obtained testing results are compared to these ones achieved for the method [31]. To assure the equivalent conditions of evaluation between the concepts, all the considered validation tests are defined as in the mentioned work. The 100 patterns for the CUT discrete elements parameters dispersed randomly in their tolerance regions \(\delta _\mathrm{DEV}=\pm \,5\%\) (set I) and for eight assumed special cases with the one selected element value shifted from the nominal point and randomly determined other ones (set II) were tested during this experiment. The filter circuit performance parameters were calculated basing on the regression models found evolutionarily (22–31). Finally, identically as in [31], the CUT pattern is classified into the good ones if all the tested performance parameters do not exceed the allowed tolerance absolute deviation \(\pm \,{\vert }\Delta p_{i}{\vert }\) from the nominal level specified and to the faulty ones otherwise (Table 5). The statistical effects of functional testing are presented in Table 6. The achieved detection effectiveness of CUT good as well as faulty pattern classification exceeds 98% and it means better results than for the compared approach. All the wrongly classified patterns detailed descriptions are given in columns containing the estimated and the precise values of deviations of observed parameters, respectively (14 cases totally). It should be emphasized that all the incorrect values of identifications lie very close to the allowed boundary ones and it causes difficulties and misclassifications. In contrast to [31], the method proposed in this work engages a simple TTL step testing excitation, so it does not need C/A peripheral usage and is easily implementable to mixed-signal systems solution. Only a very quick CUT step response signal acquiring and uncomplicated calculations (2) are necessary at the testing stage. Besides, for the described example biquadrate filter testing the mathematical models definitions require storing only 97 real numbered coefficients, 92 integer indexes of WHT components and codes of their respective preprocessing functions. Totally, for the assumed 32 bits and 16 bits precisions of real and integer numbers coding, respectively, it needs just 756B of FLASH memory. The total testing time necessary for the proposed method may be calculated practically as the sum of durations of periods necessary to the step response data acquiring and its digital processing. The analog response is recorded during the time period which depends on frequency band of the tested analog system (i.e., usually until the steady state is reached there) and it is less than 16 ms for this example CUT. Testing response recalculation to the sequence spectra needs just 4608 summing operations for \(N=512\) points assumed above. This arithmetic operation is a basic one for microcontroller systems and it usually needs just one clock cycle for realization. The most absorbing preprocessing function used here is the root square operation. Of course, the execution time of this operation depends on the structure of its implementation algorithm, but for integer numbered data of acquired samples (considered resolution of AD conversion was limited to 10 bits) it should not be more than 200 microcontroller machine cycles. Lastly, the regression formula engages floating point multiplications and additions for that 200 cycles per argument plus 100 cycles for constant term summation may be assumed, respectively. Finally, the data processing for the mentioned conditions with 27 points delegated from WHT (the worst case from Table 3) and all preprocessed by root square function (the assumed most complex one from Fu) needs less than 20,000 clock cycles. So, the total data computation time for microcontroller with 20 MHz clocking will take less than 1ms per specification and it means that the total testing time of this example CUT will be less than 21 ms (i.e., for 5 considered specifications and sampling time included).

The second considered exemplary low-pass filter has leapfrog fourth-order structure and is presented in Fig. 11 [14]. Most of the parameters of evolutionary optimization system are given in Table 2. The before-test stage simulations are run for \({ TIM}_\mathrm{END}=2.56\) ms with resolution \(\Delta \) \(\hbox {TIM}_\mathrm{TRAN}=5\,\upmu \)s (\(N=512\) points) for all resistances and capacitances (\(R= 17\)) dispersed in the region defined by (19). The filter specifications selected to the testing set are: DC as well as maximal gains, frequency for 3 and 20 dB attenuations as well as phase shifting at both these points and rise time of output signal. Nominal values of all the observed parameters are given in Table 7 together with their assumed deviation for an unfaulty CUT.

Fig. 11
figure 11

Leapfrog low-pass filter

Table 7 Nominal levels of tested parameters and their absolute deviations allowed

The second example CUT was previously analyzed as a benchmark in many works [9, 12, 15, 19], but typically they considered the concept of fault-driven testing which classifies it into a set of circuits with all correct values of elements (i.e., located in allowed tolerance region) or to faulty ones otherwise (GO/NO GO detection). However, the proposed approach is specialized to specification-driven testing and their boundary levels had to be defined. So, in this simulation experiment, the allowed deviations presented in Table 7 are defined by the worst cases found in a pack of 100 patterns of set generated randomly for 5% tolerance of all discrete elements values and uniform distribution of probability. Identically as in the previously analyzed example, the evolutionary computations have been started independently for each diagnosed parameter, and finally, the optimal phenotypes have been found. The time costs, the sizes and the maximal errors of estimation together with their standard deviations (for the newly created testing patterns package set) of designed solutions specialized to the particular performance parameters identifications are given in Table 8. The achieved estimation accuracy is better than 3.5% for each tested parameter, and they use from 5 to 60 explanatory arguments. Coefficients of testing sets determinations are very high which proves that models are very well fitted to patterns.

Table 8 Before-test stage time cost and the finally found phenotypes sizes
Table 9 Unfaulty and with single parametric fault cases detections levels for leapfrog filter

Next, the effectiveness of the estimation formulas found has been verified during the CUT testing for the analogical conditions as described in [19]. The 100 testing patterns have been created for each from 36 diagnostic states (F0,..., F35) of the analyzed CUT. Firstly, the unfaulty CUTs (F0) as well as single parametric faulty ones (F1,..., F15) detection coverage have been determined statistically, and Table 9 shows the detailed information about detection results achieved. Additionally, for the 15 cases defined in the second column of this table the value of one selected element is especially shifted to the point proposed in the referenced work. However, Table 10 presents test results assured for circuits with catastrophically (hard) faulty element (states F16,..., F25). Finally, Table 11 presents the recognition effectiveness of cases with two parametrically faulted components (F26,..., F35).

All the considered signatures (i.e., output step responses calculated respective to the assumed conditions F0,..., F35) are newly created (i.e., independently for the training stage) and they are obtained from MC randomization with 5% tolerance and Gauss distribution of probability used during the determination of all unfaulty elements values.

Table 10 Catastrophic faults presence detections rates
Table 11 Double parametric faults presence detections rates

As can be seen, the overall effectiveness of the technique described in this paper is very close to the compared one, i.e., it assures only 2.6 and 0.7% smaller coverage rates during single and double parametric faults detection, but it guarantees the correct recognitions of all patterns of catastrophically damaged CUTs. Of course, the proposed method is especially specialized to the actual performance parameters estimations for the good and faulted parametrically (softly) CUTs for which their actual values are determined finally with high accuracy. However, catastrophic (hard) faults presence effects with the radical disturbance of WHT components and it causes an estimated value changed drastically too, i.e., lying far from the acceptable region and it should result in faulty CUT detection. The estimation preciseness of tested specification obtained for such hugely degraded CUT is typically less than the one achieved for parametrically faulty one, but its localization outside the acceptable (tolerance) region is enough then and it guarantees the catastrophic fault detection. The results obtained above prove full efficiency of their detections, i.e., all 1600 patterns of catastrophically faulty CUTs with parameters of other elements dispersed in their tolerance regions have been classified correctly as faulty ones. Besides, it should be emphasized that the proposed approach is capable of identifying the current value of the observed performance parameters. This specific ability makes it possible to classify the circuits diagnosed on production line into the groups ordered by the obtained preciseness of the design specifications of the final product (the quality class).

5.2 Example of Band-Pass Filter Testing

The third tested CUT is presented in Fig. 12. It is band-pass Deliyannis–Friend sixth-order filter and it is a circuit taken from [31]. The filter performance parameters delegated to investigation and their absolute tolerances are given in Table 12 and they are the same as in the cited work.

Fig. 12
figure 12

Deliyannis–Friend band-pass filter

Table 12 Nominal levels of tested parameters and their absolute deviations allowed
Table 13 Before-test stage time cost and the finally found phenotypes sizes
Table 14 Results obtained for band-pass filter validation tests

In contrast to the last experiments, here the allowed depths of data trees were limited to smaller level \(D_\mathrm{MX}=5\) (i.e., each individual from population cannot have more elements than \(J_\mathrm{MX}=63\)). This modification of initializing constant results with an obvious effect shown in Table 13, i.e., the mean computational effort decreases to level 499.0 s and it is smaller than for the two previous examples for which they were 807.8 and 1296.2 s, respectively. This table presents the statistical achievements of the assumed parameter identifications, too. The maximal estimation error is below 6%; however, the average ones do not exceed 1.5%. Besides, a low level of standard deviation proves that the modeling error is statistically close to the average one. The minimal coefficient of determination was reached for equation optimized to CUT bandwidth estimation, but it is above 85% and it still means a quite well suitable model. The testing set used to the modeling formulas effectiveness validation was created independently from training stage and it consists of 100 MC cases obtained for Gaussian distribution with \(\delta _\mathrm{DEV}=\pm \,2\%\) of values of all discrete elements dispersion.

Figure 13 illustrates decompositions of all the identified cases of performance parameters ordered increasingly by value. Generally, most of recognitions are quite close to the target reference positions (interpolating line) and it allows to conclude that the evolutionarily designed formulas assure correct generalization for all diagnosed parameters.

Additionally, to check the guaranteed identification accuracy more deeply, the serial test defined in Table 14 and proposed in [31] has been made. The CUT should be classified as unfaulty only if all the observed parameters fit to specification limits from Table 12 and it should be classified into the faulty group otherwise. Similarly as previously, during the first attempt, the correctness of diagnostic detections has been checked without drastically drifted value of any element (testing set I), and the next one from them is deviated additionally (set II). The number of correctly and wrongly recognized cases (with the detailed lists of incorrectly estimated values) are given in Table 14. The final effectiveness overall rate of the proposed approach reached 96.4% and it is 1.8% better than assures the referenced one.

Fig. 13
figure 13

Identified values decomposition (stars) and the target position (line) ordered increasingly

Fig. 14
figure 14

CMOS operational amplifier: a transistor structure, b testing circuit

5.3 Example CMOS Operational Amplifier Performance Parameters Identification

Fig. 15
figure 15

Exemplary output waveforms of CMOS operational amplifier obtained for the proposed testing circuit

The last experiment presents the usefulness of the described concept to the exemplary CMOS operational amplifier [14, 16] performance parameters testing. This kind of verification may be started on the integrated circuit production line for the final product quality checking as well as production yield controlling. The electric circuit diagram of the tested amplifier and the proposed connections used at the testing stage (i.e., voltage follower with grounded input) are shown in Fig. 14, respectively. In this case, the step voltage stimulus with rise time \(t_\mathrm{rs}=10\) ns (may be easily generated on TTL-ALS gate output) is driven to the positive power supply terminal of the tested integrated circuit instead of the CUT signal input. This solution allows to observe the output transient state signal of circuit perturbed at the power supply pin and it gives the possibility of the inner nonlinearity effects (appeared during the power voltage ramping) and an inner parasitic inertia (caused e.g., by MOSFET capacitances) engaging at the testing stage. The CUT diagnostic signatures acquired in the proposed way are strongly dependent on the real condition of the circuit structure. The exemplary output signal waveforms obtained for the CUTs with nominal parameters of the all element models (solid line) and for the selected two random cases are illustrated in Fig. 15. The CUT responses h(n) have been simulated for \(N_\mathrm{TRAN}=512\) points, respectively, and the output values calculated in volts are shown in the figure.

During MC analyses, the MOSFET channel dimensions, their \(C_\mathrm{GSO}\) and \(C_\mathrm{GDO}\) modeling capacitances as well as circuit resistances \(R_{1}\), \(R_{2}\) and capacitance \(C_{1}\) have been modified and it impacts on the observed signatures and the current levels of performance parameters of the tested circuit. The training and examining sets of 100 patterns for each one have been created with a random uniform dispersion in \(\delta _\mathrm{DEV}=10\%\) area; however, the testing set consists of 100 signatures obtained for Gauss distribution of probability and \(\delta _\mathrm{DEV}=5\%\) dispersion. The considered operational amplifier specifications assumed to identification are: DC gain \({\vert }K_\mathrm{DC}{\vert }\), 3 dB cutoff drop and 0 dB point (unity gain) frequencies (\(f_{-3\,\mathrm{dB}}\) and, respectively, \(f_{0\,\mathrm{dB}})\) for open-loop configuration, and their nominal values are presented in Table 15.

Table 15 Nominal levels of tested parameters
Table 16 Before-test stage time cost and the finally found phenotypes sizes

All the initialization parameters of evolutionary system are the same as for the last example and after the optimization stage, the phenotype formulas with the sizes and accuracies described in Table 16 have been found. The final estimating formulas have been tested on packages newly created with Gaussian distribution and standard deviation 5% of random values of CUT elements parameters mentioned above.

Fig. 16
figure 16

Identifications results for testing set: a DC gain, b cutoff frequency, c unity gain frequency point

Generally, all the obtained values are identified with the precision better than 1.5%, low levels of mean and standard deviation values as well as high coefficients of determinations that means good predisposition of the method to the efficient and fast production control of the considered CMOS amplifier. It is worth noticing that this circuit was tested with step stimulus derived to the positive power supply pin and although the bias points of nonlinearly modeled MOSFETs have widely varied, the found models well estimate the observed performance parameters.

Additionally, Fig. 16 illustrates decompositions of randomly generated 100 identified levels of the diagnosed performance parameters places versus the reference precise ones, respectively. For the most accurate estimations, this distribution should be a linear function and, as can be seen, it is fulfilled quite well for the proposed technique. All the located points lie quite near to the reference line and they are well balanced (i.e., with mean square error near to the minimal one for the random group of signatures) and it proves good generalization capability of mathematical models optimized evolutionarily.

6 Conclusions

The specification-driven testing approach was proposed in this paper. The multiple regression supported by evolutionary computations is used to the selected performance parameters estimating formulas determinations. The current level of investigated functional parameter of analog CUT is calculated from the WHT components selected and preprocessed in the way defined evolutionarily. The mathematical models are designed during the before-test stage; however, the test stage calculations are quick, not time-consuming, and the values of investigated specifications may be easily obtained from analyses of the acquired CUT step response. The optional classical techniques of measure are usually significantly more difficult and cost-consuming for realization than just a simple step excitation engaging and minimized number of WHT sequence components testing for which locations are defined during the before-test stage. Besides, for testing specifications from different domains (e.g., frequency, time, DC ones) the specific and independent tests are required. However, the proposed approach is allowing for the testing methodology unification, i.e., WHT of CUT step response is calculated only once during the test stage and its respective components are used for all kinds of assumed performance parameters evaluation. Of course, they have to be correlated with sequence spectra, but exemplary CUT signal frequency bandwidth as well as step response rise time or its maximal voltage level may be estimated easily without additional specialized measurements. This concept guarantees minimal methodology cost and simplicity of its practical implementation.

The efficiency of the technique has been checked statistically on the series of signatures generated independently from the teaching evolutionary stage for the example circuits proposed previously in papers from analog circuit testing area as benchmarks. The results obtained have proved high fault coverage guaranteed by the method described in this paper and very good preciseness of the estimated parameter. This technique is suitable for production as well as postproduction (user) live cycles of analog circuits. The set of candidates for preprocessing functions may be defined in the flexible way and it may contain more complex ones for the testing routine finally implemented to PC (i.e., to machine which assures high-speed calculations) or only the selected simple recalculations in case of embedded into mixed-signal system with BIST testing realization.

The proposed concept may be developed additionally, e.g., it may engage more complex testing stimulus with the shape optimized in the evolutionary way or specialized methodology of the response time signature features extracting may be used instead of WHT calculations. Besides, additional, easily accessible signals (e.g., CUT supply current) may be included to the group of observed ones and it will allow to extend the set of candidates to representative explanatory variables of verified specification.