**3. MARSP for standard cell characterization**

This chapter employs MARSP to characterize a fitted function between response variables (gate delay or slew time) and the explanatory parameters (process-voltage-temperature parameters, aging parameters, and RC loads). MARSP uses piecewise polynomial segments to capture essential nonlinearities and interactions, and it is particularly suitable for highdimension problems. This piecewise nature allows MARSP models to split the whole parameter space into multiple subspaces, and each subspace can have a unique regression model. By using hinge functions, MARSP then inherently integrates the regression models of all the subspaces into a single general form.

A hinge function has the form of <sup>+</sup> (*x* − *t*) or <sup>+</sup> (*t* − *x*) which are shown in **Figure 3**. They are defined as:

$$(\mathbf{x} - t)\_{+} = \begin{cases} \mathbf{x} - t, \text{if} \mathbf{x} > t, \\ \mathbf{0}, otherwise, \end{cases} \tag{2}$$

prunes the model obtained from the previous forward addition phase. In this phase, the technique called generalized cross validation (GCV) is used to trade off goodness-of-fit against model complexity. The stepwise backward deletion phase repeatedly deletes the least important term (according GCV) at each step until the model again has only the intercept term left. At the end of the backward deletion phase, from among the "best" models of each size at each step, the model with the lowest GCV value is selected, and it is outputted as the final model. MARSP is a nonparametric regression method, so there are no predetermined forms of the model. Instead, the model is constructed adaptively according to the information extracted from the training data. It intelligently removes those negligible parameters that have limited impact on the to-be-modeled gate delays or output slew without manual intervention. Using MARSP for cell characterization can eliminate the need of clustering transistors into the categories of switching/non-switching devices and on-transition/off-transition/non-transition

Multivariate Adaptive Regression Splines in Standard Cell Characterization for Nanometer…

The MARSP model is piecewise in nature, so MARSP can split the whole parameter space (which is high-dimension in our application) into multiple subspaces, with each subspace getting its own model. Then the regression models of all the subspaces are integrated into one general expression using piecewise hinge functions. In this way, MARSP can characterize standard cells only once over the whole PVT space, without the need of splitting parameter

low. The nonlinear relationship can be easily handled by the following MARSP model:

, *X*2) = 15 + 0.015 ∗ (20 − *x*)

**Figure 5** shows the quadratic regression model which has poor accuracy in this example.

**Figure 4.** A nonlinear function *h*(*X* 1, *X* 2) which changes only when X1 is high and X2 is low. The MARSP model in (4)

, *<sup>X</sup>*2) change only when *X*<sup>1</sup>

is large and *X*<sup>2</sup>

<sup>+</sup> ∗ (*y* − 20)+ (5)

http://dx.doi.org/10.5772/intechopen.74854

is

55

devices, as proposed in [23, 24].

*h*(*X*<sup>1</sup>

perfectly matches the original relationship.

space and characterizing every subspace.

**Figure 4** shows an example where the values of *h*(*X*<sup>1</sup>

$$(t - x)\_{+} = \begin{cases} t - x, \text{ if } \mathbf{x} < t\_{\star} \\ 0, otherwise\_{\star} \end{cases} \tag{3}$$

where *t* is a constant called the knot. MARSP forms a collection of hinge-function pairs for each explanatory parameter *Xj* with knots at *xj*<sup>1</sup> , *xj*<sup>2</sup> , …,*xjM*, where *M* is the number of experiments.

MARSP models have the following form:

$$f(\vec{\mathbf{X}}) = \beta\_0 + \sum\_{l=1}^{r} \beta\_l \hbar\_l \{\vec{\mathbf{X}}\} \tag{4}$$

where *ht* (*X* <sup>→</sup>) is a basis function. There are two phases in the process of constructing a MARSP model: the forward stepwise addition and the backward stepwise deletion.

The first phase is the forward stepwise addition, where MARSP starts with a model consisting of an intercept term. It then repeatedly adds basis functions in pairs to the model step by step. At each step, MARSP finds the pair of basis functions which maximized the reduction in the residue sum-of-squares error. The two basis functions in the pair are identical except that the hinge functions used for each basis function are mirrored. The newly added basis function is constructed by a term that is already in the model (a constant 1 is also considered as an existing term) multiplied by a new hinge function. The process of forward addition phase continues until the residual error difference in two adjacent steps is smaller than a predefined threshold or until the number of terms in the model reaches the maximum.

The model from the forward addition phase usually overfits the data. If a model overfits, it means the model fits well to the training data that are used to build the model, but usually it does not fit to new test data. The second phase of MARSP, namely the backward stepwise deletion, is to build models that can generalize better to new data. Backward deletion phase

**Figure 3.** The solid line denotes the form of the hinge function (x − t) + while the dashed line denotes the hinge function (t − x) + .

prunes the model obtained from the previous forward addition phase. In this phase, the technique called generalized cross validation (GCV) is used to trade off goodness-of-fit against model complexity. The stepwise backward deletion phase repeatedly deletes the least important term (according GCV) at each step until the model again has only the intercept term left. At the end of the backward deletion phase, from among the "best" models of each size at each step, the model with the lowest GCV value is selected, and it is outputted as the final model.

A hinge function has the form of <sup>+</sup>

54 Topics in Splines and Applications

(*<sup>x</sup>* <sup>−</sup> *<sup>t</sup>*)

(*<sup>t</sup>* <sup>−</sup> *<sup>x</sup>*)

MARSP models have the following form:

*f*(*X*

each explanatory parameter *Xj*

as:

where *ht*

(t − x) + .

(*X*

(*x* − *t*)

 or <sup>+</sup> (*t* − *x*)

<sup>+</sup> <sup>=</sup> {

<sup>+</sup> <sup>=</sup> {

with knots at *xj*<sup>1</sup>

model: the forward stepwise addition and the backward stepwise deletion.

threshold or until the number of terms in the model reaches the maximum.

where *t* is a constant called the knot. MARSP forms a collection of hinge-function pairs for

, *xj*<sup>2</sup>

The first phase is the forward stepwise addition, where MARSP starts with a model consisting of an intercept term. It then repeatedly adds basis functions in pairs to the model step by step. At each step, MARSP finds the pair of basis functions which maximized the reduction in the residue sum-of-squares error. The two basis functions in the pair are identical except that the hinge functions used for each basis function are mirrored. The newly added basis function is constructed by a term that is already in the model (a constant 1 is also considered as an existing term) multiplied by a new hinge function. The process of forward addition phase continues until the residual error difference in two adjacent steps is smaller than a predefined

The model from the forward addition phase usually overfits the data. If a model overfits, it means the model fits well to the training data that are used to build the model, but usually it does not fit to new test data. The second phase of MARSP, namely the backward stepwise deletion, is to build models that can generalize better to new data. Backward deletion phase

**Figure 3.** The solid line denotes the form of the hinge function (x − t) + while the dashed line denotes the hinge function

<sup>→</sup>) <sup>=</sup> *<sup>β</sup>*<sup>0</sup> <sup>+</sup> <sup>∑</sup>*<sup>t</sup>*=1

*x* − *t*, *ifx* > *t*,

*t* − *x*, *ifx* < *t*,

*<sup>T</sup> β<sup>t</sup> ht* (*X*

<sup>→</sup>) is a basis function. There are two phases in the process of constructing a MARSP

which are shown in **Figure 3**. They are defined

0, *otherwise*, (2)

0, *otherwise*, (3)

, …,*xjM*, where *M* is the number of experiments.

<sup>→</sup>) (4)

MARSP is a nonparametric regression method, so there are no predetermined forms of the model. Instead, the model is constructed adaptively according to the information extracted from the training data. It intelligently removes those negligible parameters that have limited impact on the to-be-modeled gate delays or output slew without manual intervention. Using MARSP for cell characterization can eliminate the need of clustering transistors into the categories of switching/non-switching devices and on-transition/off-transition/non-transition devices, as proposed in [23, 24].

The MARSP model is piecewise in nature, so MARSP can split the whole parameter space (which is high-dimension in our application) into multiple subspaces, with each subspace getting its own model. Then the regression models of all the subspaces are integrated into one general expression using piecewise hinge functions. In this way, MARSP can characterize standard cells only once over the whole PVT space, without the need of splitting parameter space and characterizing every subspace.

**Figure 4** shows an example where the values of *h*(*X*<sup>1</sup> , *<sup>X</sup>*2) change only when *<sup>X</sup>*<sup>1</sup> is large and *X*<sup>2</sup> is low. The nonlinear relationship can be easily handled by the following MARSP model:

$$h(X\_{\nu}, X\_{\text{2}}) = 15 + 0.015 \ast (20 - x)\_{+} \ast (y - 20)\_{+} \tag{5}$$

**Figure 5** shows the quadratic regression model which has poor accuracy in this example.

**Figure 4.** A nonlinear function *h*(*X* 1, *X* 2) which changes only when X1 is high and X2 is low. The MARSP model in (4) perfectly matches the original relationship.

**4.1. Validation using test paths**

value from hSpice [26], using Eq. (6).

*Erroreach*\_*sample*

*D* denotes gate delay, *Xi*

and *bi*

and *ai*

Our framework was implemented with C++ and Perl, and the experiments were run on a Linux platform with a 2.27 GHz CPU and 1GB memory without using multi-threading.

Our experiments are based on ISCAS85 benchmark circuits where temperature and supply voltage are considered as global parameters, meaning that all the transistors across the circuit have the same values of temperature and voltage. However, it is worth noting that our methodology can support a temperature profile from a thermal simulator and a voltage profile from an IR-drop simulator. For process variation, as mentioned earlier, we have considered inter-die, intra-die, and intra-gate variations. For channel lengths, we have considered interdie and intra-die variation, and for threshold voltage, intra-gate variation is considered. This is because channel length is mostly impacted by lithography and etching which exhibit strong spatial correlations, while threshold voltage is strongly affected by random dopant fluctuations. Again, please note that our methodology can work with any inter- and intra-die varia-

We have shown our MARSP models are perfectly accurate individually. Here we construct a framework to integrate our models and then verify its accuracy using test paths. We refer to our framework as GTSSTA hereafter. Two thousand Monte Carlo samples were run for 10 randomly selected test paths from ISCAS85 benchmark. As shown in the framework above, path delay is calculated for each sample. This obtained delay value is compared to the delay

<sup>=</sup> *DELAYGTSSTA* <sup>−</sup> *DELAYSPICE* \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ *DELAYSPICE*

<sup>2</sup> + ∑*<sup>i</sup>*≠*<sup>k</sup> bi*,*<sup>k</sup> Xi Xk*

A quadratic delay model was also implemented and tested to give a comparison. The qua-

denotes the explanatory parameters, *d0*

denote coefficients of first-order and second-order terms, respectively.

× 100% (6)

**Mean (%) S.D. (%)**

http://dx.doi.org/10.5772/intechopen.74854

57

Multivariate Adaptive Regression Splines in Standard Cell Characterization for Nanometer…

. (7)

denotes the constant term,

tion model and with any distributions and any correlation profiles.

**Cell (4\****N* **+ 6) Time(s) Error**

**Table 2.** MARSP characterization results on representative standard cells.

INVX1 14 861 0.41 2.54 NOR2X1 22 1281 0.23 2.67 CLKBUF3 134 6577 0.17 2.86 XOR2X1 54 3112 0.20 2.32 Interconnect 5 22 0.01 0.12

dratic first generates a quadratic regression model as follows:

*D* = *d*<sup>0</sup> + ∑*ai Xi* + ∑*bi Xi*

**Figure 5.** A quadratic model is regressed from *h*(*X* 1, *X* 2) and it has poor accuracy compared to MARSP model.
