# Modeling and Design of a Nano Scale CMOS Inverter for Symmetric Switching Characteristics

Authors: Joyjit Mukhopadhyay; Soumya Pandit
Journal: VLSI Design
 (2012)

---

## Abstract

This paper presents a technique for the modeling and design of a nano scale CMOS inverter circuit using artificial neural network and particle swarm optimization algorithm such that the switching characteristics of the circuit is symmetric, that is, has nearly equal rise and fall time and equal output high-to-low and low-to-high propagation delay. The channel width of the transistors and the load capacitor value are taken as design parameters. The designed circuit has been implemented at the transistor-level and simulated using TSPICE for 45 nm process technology. The PSO-generated results have been compared with SPICE results. A very good accuracy has been achieved. In addition, the advantage of the present approach over an existing approach for the same purpose has been demonstrated through simulation results.


---

## Body

## 1. Introduction

For digital integrated circuit design, CMOS inverter design is considered to be a fundamental procedure [1]. This is because of the fact that the procedure for designing other complex digital integrated circuits is primarily based on the design procedure of CMOS inverter [1]. In the nano scale regime, the task of manual design of an optimal integrated circuit is very difficult. The fundamental reason for this is that in the sub-90 nm domain, the short channel effects of MOS transistors play critical roles. The performance behaviours of a circuit in this regime depend on the transistor channel length and width through complex high orders of equations. Therefore, for correct design and simulation of nano scale digital integrated circuits, accurate models need to be constructed [2]. The construction of accurate performance model for CMOS inverter valid in the sub-90 nm domain is, therefore, an important problem to be solved. In addition, the design of an inverter circuit for optimized performance is considered as a nonlinear optimization problem.A number of approaches are available in the literature for modeling the switching characteristics of a CMOS inverter. Sakurai and Newton derived a simple closed-form delay expression for series-connected MOSFET circuits in [3], based on the α-power law MOSFET current model. In [4], an improved analytical propagation delay model has been presented. But it neglects the channel length modulation effect, which is important for modern deep submicron technologies. An analytical charge-based compact delay model for submicrometer CMOS inverters has been derived in [5]. An accurate analytical propagation delay model of nano-CMOS circuits has been derived in [6] based on modified α-power law current model. A look-up table approach for efficient delay characterization of nano scale VLSI logic circuits is presented in [7]. An approach for optimization of digital integrated circuits using geometric programming technique is described in [8]. A particle swarm optimization-based approach for inverter design considering transient performance is described in [9, 10]. Artificial neural network (ANN) has been used in [11] for deciding the MOSFET channel length and width for analog integrated circuits. A technique for technology independent neural network modeling for fundamental blocks of analog circuits has been discussed in [12]. ANN has been used in [13] for modeling and design of CMOS operational amplifier circuit.This paper presents an approach for the design of a nano scale CMOS inverter circuit with symmetric switching characteristics. The switching characteristics of the inverter circuit has been modeled using artificial neural network (ANN). The input design parameters of the ANN model are the widths of the PMOS and NMOS transistor, the load capacitor and the rise time of the input signal. The output performance parameters are the inverter switching point, the output rise time and fall time, the low-to-high and high-to-low output propagation delay times. The constructed ANN model is embedded within a particle swarm optimization (PSO) algorithm. This determines the channel widths of the transistors and the output load capacitor value such that the difference between the output rise time and fall time is minimized and the difference between the output high-to-low propagation delay and low-to-high propagation delay is also minimized. The PSO synthesized designs have been validated by implementing the designs at transistor-level using 45 nm CMOS technology and comparing the PSO predicted results with actual TSPICE simulated results. The advantage of our approach of designing the inverter circuit over an existing approach is also demonstrated through simulation results. This is for the first time to the best of the author’s knowledge that ANN-PSO combined approach has been used for modeling and optimal design of a nano scale CMOS digital circuit.The rest of the paper is organized as follows. The problem is formulated in Section2. The methodology is presented in details Section 3. Numerical results and the corresponding discussion are provided in Section 4, and finally conclusion is drawn in Section 5.


## 2. Problem Formulation

The basic circuit diagram of a CMOS inverter is shown in Figure1. Let X¯d be the vector containing the design parameters, that is, the channel width Wn of the NMOS transistor, the channel width Wp of the PMOS transistor, output load capacitor CL and X¯i be the vector containing the input signal parameters, that is, the rise/fall time of the input pulse signal, τin. A circuit design optimization problem consists of determining the values of the design parameters for given input signal parameter values, such that one or more performance parameters are optimized and certain imposed constraints are satisfied. The complete problem can be considered to be divided into two sub-problems. In the first part, the relationships between the design parameters and the performance parameters are constructed. In the second part, the constructed relationships are used to compute cost functions for the subsequent optimization problem.Figure 1
CMOS inverter.Letρ¯ be the vector containing the following performance parameters of the design, (i) output rise time (τR), (ii) fall time (τF), (iii) inverter switching point (VSP), (iv) output low-to-high propagation delay time (τPLH), and (v) output high-to-low propagation delay time (τPHL). Thus the inputs and outputs of the performance model are as follows:(1)X¯d=[Wn,Wp,CL],Xi=τin,ρ¯=[τR,τF,VSP,τPLH,τPHL].
The performance model of the inverter circuit is defined as(2)ρ¯=f(X¯d,Xi).
This relationship between the circuit design parameters and the performance parameter is generally strongly nonlinear and multidimensional. In the present work this is approximated through an ANN model as follows:(3)ρ̂¯=fANN(X¯d,Xi,w),
where fANN is a neural network, ρ̂¯ is a q dimensional output vector of neural model responses, X¯ is the ANN input vector, and w contains all the weight parameters required to construct the ANN structure. The first part of the work attempts to construct fANN such that it is a faithful approximation of the original function f.The second part is an optimization problem which is stated as follows:(4)MinimizeΦ¯(ρ̂¯),subjecttog¯(ρ̂¯)≤0,suchthat(X¯d)min⁡≤X¯d≤(X¯d)max⁡.
In (4), Φ¯(ρ̂¯) is referred to as the cost function, computed on the ANN predicted performance parameters, g¯(ρ̂¯) refers to the constraints. It may be noted that circuit optimization problems involve more than one objective.


## 3. Description of the Design Methodology

### 3.1. An Outline

An outline of the design methodology is illustrated in Figure2. The design procedure starts with a set of optimization objectives. The design parameters are initialized randomly by the PSO algorithm. For these design parameters, the performance parameters τR,τF,VSP,τPLH, and τPHL are calculated using the ANN model for a given value of τin. Cost functions are computed based on these performance parameter values and the input optimization objectives. The design parameter values are then updated through the PSO algorithm according to the minimum cost. This process continues until a desired cost function objective is achieved or the maximum number of iterations is executed. The final output is a set of synthesized values of the design parameters.Figure 2
Overview of the design methodology.


### 3.2. Construction of ANN Model

In this subsection, we will first provide the basic concept of multilayer perceptron ANN followed by a detailed description of the ANN model development procedure.


#### 3.2.1. MLP Structure

Multilayer perceptron (MLP) is a widely used ANN structure [14]. In this network, the neurons are grouped into layers. The first and the last layers are called the input and the output layers, respectively, and the remaining layers are called the hidden layers. The structure of a typical MLP network is shown in Figure 3. The layers in this network are interconnected by network links that are associated with weights that determine the effect on the information passing through them. In an MLP, each neuron processes the input received from other neurons through an activation function in the neuron and the processed information becomes the output of the neuron. The hidden neuron activation function that is used in the present work is tangent-sigmoid function. On the other hand, linear activation is used for the output neurons.Figure 3
MLP-ANN structure.Multilayered feed-forward neural network is trained by supervised learning using iterative back propagation algorithm. The basic flow chart illustrating the ANN-MLP training procedure is shown in Figure4. The procedure starts with generating a set of sample data. This is divided into two sets: training set and test set. The training set is used for training purpose and the test set for testing purpose. The MLP parameters are initialized randomly. Then the weight parameters are adjusted utilizing the training data set until the training goal is met.Figure 4
Illustration of ANN Training Procedure.


#### 3.2.2. Data Generation

In order to generate training and test data, CMOS inverters are constructed corresponding to the circuit design parameters and input signal parameter listed in Table1. The channel length of both the transistors is fixed at minimum of the process technology, that is, 45 nm. The other process technology parameters are taken from Berkeley Predictive Technology model file [15]. Based on Halton sequence generator [16], uniformly distributed samples are generated within the specified range. The training and test data corresponding to those sample points are generated through T-SPICE simulation using BSIM4 model. Transient analysis and DC transfer sweep analysis are performed in order to extract the performance parameters.Table 1
Range of circuit design parameters.
ParametersMinMaxWn(nm)451000Wp(nm)451000CL(pF)0.25τin500 ps10 ns


#### 3.2.3. Data Scaling

It is observed from Table1 that the input parameters vary over a wide range. Consequently the output performance parameters will also vary over a wide range. Therefore, a systematic preprocessing of training data, referred to as data scaling is required for efficient construction of the ANN model. In this work, we have used linear scaling of the data between 0 and 1, described by the following formula:(5)x̃=x̃min⁡+x-xmin⁡xmax⁡-xmin⁡(x̃max⁡-x̃min⁡),
and the corresponding de-scaling formula is given by(6)x=xmin⁡+x̃-x̃min⁡x̃max⁡-x̃min⁡(xmax⁡-xmin⁡),
where x,xmin,xmax represent the original data and x̃,x̃min,x̃max represent the scaled data.


#### 3.2.4. Data Organization

The generated data is divided into two sets, namely, training data set and test data set. The training data is used to guide the training procedure. A portion of the training data set is used for validating the training procedure. The test data is used to independently examine the final quality of the trained neural model in terms of accuracy and generalization capability.


#### 3.2.5. Neural Network Training

A standard 4-layer feedforward MLP architecture has been considered in order to construct the ANN model of the inverter. During the training procedure, the weight parameters and the bias values are adjusted in order to minimize the training error. For this purpose, we have used Levenberg-Marquardt (LM) back propagation method as the training algorithm. The training goal is set to10-7. The training algorithm of Matlab toolbox has been used.


#### 3.2.6. ANN Model Accuracy

In order to verify the accuracy of the constructed ANN model, statistical measures such as average relative error and correlation coefficient between the neural outputs and actual-SPICE generated values are calculated for each output parameter. These are defined as follows:(7)E=1nρ∑1n(ρ-ρ̂),R=n∑ρρ̂-∑ρ∑ρ̂[n∑ρ2-(∑ρ)2]-[n∑ρ̂2-(∑ρ̂)2].
Here, n, ρ̂, and ρ are the number of samples in the data set, ANN model output and corresponding SPICE-simulated value, respectively. The correlation coefficient is a measure of how closely the ANN outputs fit with the target values. It is a number between 0 and 1. If there is no linear relationship between the estimated values and the actual targets, then the correlation coefficient is 0. If the number is equal to 1.0, then there is a perfect fit between the targets and the outputs. Thus, higher the correlation coefficient, the better it is.


### 3.3. Optimization Using PSO Algorithm

In this subsection, we will first provide the basic concept of PSO algorithm, followed by the PSO-based design procedure.


#### 3.3.1. PSO Algorithm

Particle swarm optimization algorithm is a robust stochastic evolutionary computation technique inspired by social behavior, movement, and intelligence of swarms [17]. PSO works on a population of solution candidates referred to as particles. The size of the swarm is the total number of particles. At any particular instance, each particle has a position and a velocity. The movement of the particles are controlled by updating the position and velocity vectors in an effort to find an optimum solution. In a complete swarm, containing N number of particles, each particle is initialized with a random position value. The position vector of the ith particle with feature number D, is denoted as(8)Xi=[xi1,xi2,…,xiD],
and the velocity vector is defined as(9)Vi=[vi1,vi2,…,viD].
For each iteration, the velocity and position vector of the ith particle in the search space are updated as follows
(10)vidk+1=wvidk+c1×rand1k(pbestidk-xidk)+c2×rand1k(gbestidk-xidk),(11)xidk+1=xidk+vidk+1,
where d=1,2,…,D and i=1,2,…,N. D is the number of design parameters and k is the iteration count. The factors c1 and c2, referred to as the acceleration factors, indicate the relative attraction towards pbest and gbest, respectively. The particles keep track of two best values. The first one is the best fitness value obtained so far by the particle, the corresponding position being termed as personal best pbest. The global best value gbest is the location of the best fitness value achieved so far considering all the particles in the swarm. In (10), rand1 and rand2 are random numbers uniformly distributed between zero and unity. The inertia weight factor w controls the tradeoff between global and local search capabilities of the swarm. The value of the velocity v of a particle is clamped to the range [-vmax,vmax] to reduce the likelihood that a particle might leave the search space. The search space is defined by the bounds [xmin,xmax]. In this work, the value of vmax is set to vmax=k×xmax where 0.1≤k≤1. The flow chart of the PSO algorithm as used in this work is shown in Figure 5.Figure 5
Flow chart of the PSO Algorithm.


#### 3.3.2. PSO-Based Design

In the present work our aim is to design an inverter such that the output switching characteristics of the circuit is symmetric. This means that (i) the difference between the output rise time(τR) and fall time (τF) and (ii) the difference between the output propagation delay times τPHL and τPLH should be minimum.The transistor channel widthsWn, Wp, and the load capacitor CL are the design parameters. The load capacitor as used here represents lumped capacitance consisting of two broad types of capacitances: (i) intrinsic and (ii) extrinsic. The intrinsic capacitance is composed of diffusion and overlap capacitances. On the other hand, the extrinsic capacitance is contributed by interconnect and fan-out gate. The intrinsic components depend upon the transistor dimensions. However, the extrinsic components are usually independent of transistor dimensions of the inverter under consideration. Using efficient layout techniques, it is possible to make the drain diffusion areas as small as possible. Thus the standard design practice is to assume that the external load capacitor mainly consists of extrinsic components such that the problem of inverter design can be done conveniently using inverter delay models constructed earlier.The values of these design parameters should be obtained such that symmetry of the output switching characteristics can be achieved. The design problem can thus be summarized as follows. The value of the rise/fall time of the input signal will be taken from the user:(12)Minimize|τF-τR|τF+|τPHL-τPLH|τPHL,subjectto(τF)min⁡≤τF≤(τF)max⁡(τR)min⁡≤τR≤(τR)max⁡(τPHL)min⁡≤τPHL≤(τPHL)max⁡(τPLH)min⁡≤τPLH≤(τPLH)max⁡0.45×VDD≤VSP≤0.55×VDD,where(Wn)min⁡≤Wn≤(Wn)max⁡(Wp)min⁡≤Wp≤(Wp)max⁡(CL)min⁡≤CL≤(CL)max⁡.
Thus the PSO algorithm would result in exact values of the design parameters which minimize the cost function value and satisfy the specified constraints. The supply voltage VDD is taken to be 1.0 V. The swarm size is taken to be 30. It has been reported in the literature [10] that the choice of PSO parameters c1=c2=1.49618 and w=0.7298 ensure good convergence of the PSO algorithm. The maximum number of iterations that has been considered in this work is 1000.It may be noted that symmetric static and switching characteristics of a CMOS inverter is an important requirement. In traditional manual design procedure this is achieved by adjusting the ratio of the PMOS and NMOS transistor width assuming equal channel length. The same is also done for symmetric switching characteristics so as to make the drain-source ON resistance of the transistors same. Symmetric characteristics make the noise margin wide. However, this often comes at the cost of speed. In addition, the short channel effects of MOS transistors, which play significant role in nano scale domain make the design problem more difficult. Therefore, an optimization strategy is required such that symmetry is achieved without failing to attain the speed constraint. Thus the justification of the optimization problem lies not only in optimizing the single design objective but also in attaining design solution within a desired design specification space.


## 3.1. An Outline

An outline of the design methodology is illustrated in Figure2. The design procedure starts with a set of optimization objectives. The design parameters are initialized randomly by the PSO algorithm. For these design parameters, the performance parameters τR,τF,VSP,τPLH, and τPHL are calculated using the ANN model for a given value of τin. Cost functions are computed based on these performance parameter values and the input optimization objectives. The design parameter values are then updated through the PSO algorithm according to the minimum cost. This process continues until a desired cost function objective is achieved or the maximum number of iterations is executed. The final output is a set of synthesized values of the design parameters.Figure 2
Overview of the design methodology.


## 3.2. Construction of ANN Model

In this subsection, we will first provide the basic concept of multilayer perceptron ANN followed by a detailed description of the ANN model development procedure.


### 3.2.1. MLP Structure

Multilayer perceptron (MLP) is a widely used ANN structure [14]. In this network, the neurons are grouped into layers. The first and the last layers are called the input and the output layers, respectively, and the remaining layers are called the hidden layers. The structure of a typical MLP network is shown in Figure 3. The layers in this network are interconnected by network links that are associated with weights that determine the effect on the information passing through them. In an MLP, each neuron processes the input received from other neurons through an activation function in the neuron and the processed information becomes the output of the neuron. The hidden neuron activation function that is used in the present work is tangent-sigmoid function. On the other hand, linear activation is used for the output neurons.Figure 3
MLP-ANN structure.Multilayered feed-forward neural network is trained by supervised learning using iterative back propagation algorithm. The basic flow chart illustrating the ANN-MLP training procedure is shown in Figure4. The procedure starts with generating a set of sample data. This is divided into two sets: training set and test set. The training set is used for training purpose and the test set for testing purpose. The MLP parameters are initialized randomly. Then the weight parameters are adjusted utilizing the training data set until the training goal is met.Figure 4
Illustration of ANN Training Procedure.


### 3.2.2. Data Generation

In order to generate training and test data, CMOS inverters are constructed corresponding to the circuit design parameters and input signal parameter listed in Table1. The channel length of both the transistors is fixed at minimum of the process technology, that is, 45 nm. The other process technology parameters are taken from Berkeley Predictive Technology model file [15]. Based on Halton sequence generator [16], uniformly distributed samples are generated within the specified range. The training and test data corresponding to those sample points are generated through T-SPICE simulation using BSIM4 model. Transient analysis and DC transfer sweep analysis are performed in order to extract the performance parameters.Table 1
Range of circuit design parameters.
ParametersMinMaxWn(nm)451000Wp(nm)451000CL(pF)0.25τin500 ps10 ns


### 3.2.3. Data Scaling

It is observed from Table1 that the input parameters vary over a wide range. Consequently the output performance parameters will also vary over a wide range. Therefore, a systematic preprocessing of training data, referred to as data scaling is required for efficient construction of the ANN model. In this work, we have used linear scaling of the data between 0 and 1, described by the following formula:(5)x̃=x̃min⁡+x-xmin⁡xmax⁡-xmin⁡(x̃max⁡-x̃min⁡),
and the corresponding de-scaling formula is given by(6)x=xmin⁡+x̃-x̃min⁡x̃max⁡-x̃min⁡(xmax⁡-xmin⁡),
where x,xmin,xmax represent the original data and x̃,x̃min,x̃max represent the scaled data.


### 3.2.4. Data Organization

The generated data is divided into two sets, namely, training data set and test data set. The training data is used to guide the training procedure. A portion of the training data set is used for validating the training procedure. The test data is used to independently examine the final quality of the trained neural model in terms of accuracy and generalization capability.


### 3.2.5. Neural Network Training

A standard 4-layer feedforward MLP architecture has been considered in order to construct the ANN model of the inverter. During the training procedure, the weight parameters and the bias values are adjusted in order to minimize the training error. For this purpose, we have used Levenberg-Marquardt (LM) back propagation method as the training algorithm. The training goal is set to10-7. The training algorithm of Matlab toolbox has been used.


### 3.2.6. ANN Model Accuracy

In order to verify the accuracy of the constructed ANN model, statistical measures such as average relative error and correlation coefficient between the neural outputs and actual-SPICE generated values are calculated for each output parameter. These are defined as follows:(7)E=1nρ∑1n(ρ-ρ̂),R=n∑ρρ̂-∑ρ∑ρ̂[n∑ρ2-(∑ρ)2]-[n∑ρ̂2-(∑ρ̂)2].
Here, n, ρ̂, and ρ are the number of samples in the data set, ANN model output and corresponding SPICE-simulated value, respectively. The correlation coefficient is a measure of how closely the ANN outputs fit with the target values. It is a number between 0 and 1. If there is no linear relationship between the estimated values and the actual targets, then the correlation coefficient is 0. If the number is equal to 1.0, then there is a perfect fit between the targets and the outputs. Thus, higher the correlation coefficient, the better it is.


## 3.2.1. MLP Structure

Multilayer perceptron (MLP) is a widely used ANN structure [14]. In this network, the neurons are grouped into layers. The first and the last layers are called the input and the output layers, respectively, and the remaining layers are called the hidden layers. The structure of a typical MLP network is shown in Figure 3. The layers in this network are interconnected by network links that are associated with weights that determine the effect on the information passing through them. In an MLP, each neuron processes the input received from other neurons through an activation function in the neuron and the processed information becomes the output of the neuron. The hidden neuron activation function that is used in the present work is tangent-sigmoid function. On the other hand, linear activation is used for the output neurons.Figure 3
MLP-ANN structure.Multilayered feed-forward neural network is trained by supervised learning using iterative back propagation algorithm. The basic flow chart illustrating the ANN-MLP training procedure is shown in Figure4. The procedure starts with generating a set of sample data. This is divided into two sets: training set and test set. The training set is used for training purpose and the test set for testing purpose. The MLP parameters are initialized randomly. Then the weight parameters are adjusted utilizing the training data set until the training goal is met.Figure 4
Illustration of ANN Training Procedure.


## 3.2.2. Data Generation

In order to generate training and test data, CMOS inverters are constructed corresponding to the circuit design parameters and input signal parameter listed in Table1. The channel length of both the transistors is fixed at minimum of the process technology, that is, 45 nm. The other process technology parameters are taken from Berkeley Predictive Technology model file [15]. Based on Halton sequence generator [16], uniformly distributed samples are generated within the specified range. The training and test data corresponding to those sample points are generated through T-SPICE simulation using BSIM4 model. Transient analysis and DC transfer sweep analysis are performed in order to extract the performance parameters.Table 1
Range of circuit design parameters.
ParametersMinMaxWn(nm)451000Wp(nm)451000CL(pF)0.25τin500 ps10 ns


## 3.2.3. Data Scaling

It is observed from Table1 that the input parameters vary over a wide range. Consequently the output performance parameters will also vary over a wide range. Therefore, a systematic preprocessing of training data, referred to as data scaling is required for efficient construction of the ANN model. In this work, we have used linear scaling of the data between 0 and 1, described by the following formula:(5)x̃=x̃min⁡+x-xmin⁡xmax⁡-xmin⁡(x̃max⁡-x̃min⁡),
and the corresponding de-scaling formula is given by(6)x=xmin⁡+x̃-x̃min⁡x̃max⁡-x̃min⁡(xmax⁡-xmin⁡),
where x,xmin,xmax represent the original data and x̃,x̃min,x̃max represent the scaled data.


## 3.2.4. Data Organization

The generated data is divided into two sets, namely, training data set and test data set. The training data is used to guide the training procedure. A portion of the training data set is used for validating the training procedure. The test data is used to independently examine the final quality of the trained neural model in terms of accuracy and generalization capability.


## 3.2.5. Neural Network Training

A standard 4-layer feedforward MLP architecture has been considered in order to construct the ANN model of the inverter. During the training procedure, the weight parameters and the bias values are adjusted in order to minimize the training error. For this purpose, we have used Levenberg-Marquardt (LM) back propagation method as the training algorithm. The training goal is set to10-7. The training algorithm of Matlab toolbox has been used.


## 3.2.6. ANN Model Accuracy

In order to verify the accuracy of the constructed ANN model, statistical measures such as average relative error and correlation coefficient between the neural outputs and actual-SPICE generated values are calculated for each output parameter. These are defined as follows:(7)E=1nρ∑1n(ρ-ρ̂),R=n∑ρρ̂-∑ρ∑ρ̂[n∑ρ2-(∑ρ)2]-[n∑ρ̂2-(∑ρ̂)2].
Here, n, ρ̂, and ρ are the number of samples in the data set, ANN model output and corresponding SPICE-simulated value, respectively. The correlation coefficient is a measure of how closely the ANN outputs fit with the target values. It is a number between 0 and 1. If there is no linear relationship between the estimated values and the actual targets, then the correlation coefficient is 0. If the number is equal to 1.0, then there is a perfect fit between the targets and the outputs. Thus, higher the correlation coefficient, the better it is.


## 3.3. Optimization Using PSO Algorithm

In this subsection, we will first provide the basic concept of PSO algorithm, followed by the PSO-based design procedure.


### 3.3.1. PSO Algorithm

Particle swarm optimization algorithm is a robust stochastic evolutionary computation technique inspired by social behavior, movement, and intelligence of swarms [17]. PSO works on a population of solution candidates referred to as particles. The size of the swarm is the total number of particles. At any particular instance, each particle has a position and a velocity. The movement of the particles are controlled by updating the position and velocity vectors in an effort to find an optimum solution. In a complete swarm, containing N number of particles, each particle is initialized with a random position value. The position vector of the ith particle with feature number D, is denoted as(8)Xi=[xi1,xi2,…,xiD],
and the velocity vector is defined as(9)Vi=[vi1,vi2,…,viD].
For each iteration, the velocity and position vector of the ith particle in the search space are updated as follows
(10)vidk+1=wvidk+c1×rand1k(pbestidk-xidk)+c2×rand1k(gbestidk-xidk),(11)xidk+1=xidk+vidk+1,
where d=1,2,…,D and i=1,2,…,N. D is the number of design parameters and k is the iteration count. The factors c1 and c2, referred to as the acceleration factors, indicate the relative attraction towards pbest and gbest, respectively. The particles keep track of two best values. The first one is the best fitness value obtained so far by the particle, the corresponding position being termed as personal best pbest. The global best value gbest is the location of the best fitness value achieved so far considering all the particles in the swarm. In (10), rand1 and rand2 are random numbers uniformly distributed between zero and unity. The inertia weight factor w controls the tradeoff between global and local search capabilities of the swarm. The value of the velocity v of a particle is clamped to the range [-vmax,vmax] to reduce the likelihood that a particle might leave the search space. The search space is defined by the bounds [xmin,xmax]. In this work, the value of vmax is set to vmax=k×xmax where 0.1≤k≤1. The flow chart of the PSO algorithm as used in this work is shown in Figure 5.Figure 5
Flow chart of the PSO Algorithm.


### 3.3.2. PSO-Based Design

In the present work our aim is to design an inverter such that the output switching characteristics of the circuit is symmetric. This means that (i) the difference between the output rise time(τR) and fall time (τF) and (ii) the difference between the output propagation delay times τPHL and τPLH should be minimum.The transistor channel widthsWn, Wp, and the load capacitor CL are the design parameters. The load capacitor as used here represents lumped capacitance consisting of two broad types of capacitances: (i) intrinsic and (ii) extrinsic. The intrinsic capacitance is composed of diffusion and overlap capacitances. On the other hand, the extrinsic capacitance is contributed by interconnect and fan-out gate. The intrinsic components depend upon the transistor dimensions. However, the extrinsic components are usually independent of transistor dimensions of the inverter under consideration. Using efficient layout techniques, it is possible to make the drain diffusion areas as small as possible. Thus the standard design practice is to assume that the external load capacitor mainly consists of extrinsic components such that the problem of inverter design can be done conveniently using inverter delay models constructed earlier.The values of these design parameters should be obtained such that symmetry of the output switching characteristics can be achieved. The design problem can thus be summarized as follows. The value of the rise/fall time of the input signal will be taken from the user:(12)Minimize|τF-τR|τF+|τPHL-τPLH|τPHL,subjectto(τF)min⁡≤τF≤(τF)max⁡(τR)min⁡≤τR≤(τR)max⁡(τPHL)min⁡≤τPHL≤(τPHL)max⁡(τPLH)min⁡≤τPLH≤(τPLH)max⁡0.45×VDD≤VSP≤0.55×VDD,where(Wn)min⁡≤Wn≤(Wn)max⁡(Wp)min⁡≤Wp≤(Wp)max⁡(CL)min⁡≤CL≤(CL)max⁡.
Thus the PSO algorithm would result in exact values of the design parameters which minimize the cost function value and satisfy the specified constraints. The supply voltage VDD is taken to be 1.0 V. The swarm size is taken to be 30. It has been reported in the literature [10] that the choice of PSO parameters c1=c2=1.49618 and w=0.7298 ensure good convergence of the PSO algorithm. The maximum number of iterations that has been considered in this work is 1000.It may be noted that symmetric static and switching characteristics of a CMOS inverter is an important requirement. In traditional manual design procedure this is achieved by adjusting the ratio of the PMOS and NMOS transistor width assuming equal channel length. The same is also done for symmetric switching characteristics so as to make the drain-source ON resistance of the transistors same. Symmetric characteristics make the noise margin wide. However, this often comes at the cost of speed. In addition, the short channel effects of MOS transistors, which play significant role in nano scale domain make the design problem more difficult. Therefore, an optimization strategy is required such that symmetry is achieved without failing to attain the speed constraint. Thus the justification of the optimization problem lies not only in optimizing the single design objective but also in attaining design solution within a desired design specification space.


## 3.3.1. PSO Algorithm

Particle swarm optimization algorithm is a robust stochastic evolutionary computation technique inspired by social behavior, movement, and intelligence of swarms [17]. PSO works on a population of solution candidates referred to as particles. The size of the swarm is the total number of particles. At any particular instance, each particle has a position and a velocity. The movement of the particles are controlled by updating the position and velocity vectors in an effort to find an optimum solution. In a complete swarm, containing N number of particles, each particle is initialized with a random position value. The position vector of the ith particle with feature number D, is denoted as(8)Xi=[xi1,xi2,…,xiD],
and the velocity vector is defined as(9)Vi=[vi1,vi2,…,viD].
For each iteration, the velocity and position vector of the ith particle in the search space are updated as follows
(10)vidk+1=wvidk+c1×rand1k(pbestidk-xidk)+c2×rand1k(gbestidk-xidk),(11)xidk+1=xidk+vidk+1,
where d=1,2,…,D and i=1,2,…,N. D is the number of design parameters and k is the iteration count. The factors c1 and c2, referred to as the acceleration factors, indicate the relative attraction towards pbest and gbest, respectively. The particles keep track of two best values. The first one is the best fitness value obtained so far by the particle, the corresponding position being termed as personal best pbest. The global best value gbest is the location of the best fitness value achieved so far considering all the particles in the swarm. In (10), rand1 and rand2 are random numbers uniformly distributed between zero and unity. The inertia weight factor w controls the tradeoff between global and local search capabilities of the swarm. The value of the velocity v of a particle is clamped to the range [-vmax,vmax] to reduce the likelihood that a particle might leave the search space. The search space is defined by the bounds [xmin,xmax]. In this work, the value of vmax is set to vmax=k×xmax where 0.1≤k≤1. The flow chart of the PSO algorithm as used in this work is shown in Figure 5.Figure 5
Flow chart of the PSO Algorithm.


## 3.3.2. PSO-Based Design

In the present work our aim is to design an inverter such that the output switching characteristics of the circuit is symmetric. This means that (i) the difference between the output rise time(τR) and fall time (τF) and (ii) the difference between the output propagation delay times τPHL and τPLH should be minimum.The transistor channel widthsWn, Wp, and the load capacitor CL are the design parameters. The load capacitor as used here represents lumped capacitance consisting of two broad types of capacitances: (i) intrinsic and (ii) extrinsic. The intrinsic capacitance is composed of diffusion and overlap capacitances. On the other hand, the extrinsic capacitance is contributed by interconnect and fan-out gate. The intrinsic components depend upon the transistor dimensions. However, the extrinsic components are usually independent of transistor dimensions of the inverter under consideration. Using efficient layout techniques, it is possible to make the drain diffusion areas as small as possible. Thus the standard design practice is to assume that the external load capacitor mainly consists of extrinsic components such that the problem of inverter design can be done conveniently using inverter delay models constructed earlier.The values of these design parameters should be obtained such that symmetry of the output switching characteristics can be achieved. The design problem can thus be summarized as follows. The value of the rise/fall time of the input signal will be taken from the user:(12)Minimize|τF-τR|τF+|τPHL-τPLH|τPHL,subjectto(τF)min⁡≤τF≤(τF)max⁡(τR)min⁡≤τR≤(τR)max⁡(τPHL)min⁡≤τPHL≤(τPHL)max⁡(τPLH)min⁡≤τPLH≤(τPLH)max⁡0.45×VDD≤VSP≤0.55×VDD,where(Wn)min⁡≤Wn≤(Wn)max⁡(Wp)min⁡≤Wp≤(Wp)max⁡(CL)min⁡≤CL≤(CL)max⁡.
Thus the PSO algorithm would result in exact values of the design parameters which minimize the cost function value and satisfy the specified constraints. The supply voltage VDD is taken to be 1.0 V. The swarm size is taken to be 30. It has been reported in the literature [10] that the choice of PSO parameters c1=c2=1.49618 and w=0.7298 ensure good convergence of the PSO algorithm. The maximum number of iterations that has been considered in this work is 1000.It may be noted that symmetric static and switching characteristics of a CMOS inverter is an important requirement. In traditional manual design procedure this is achieved by adjusting the ratio of the PMOS and NMOS transistor width assuming equal channel length. The same is also done for symmetric switching characteristics so as to make the drain-source ON resistance of the transistors same. Symmetric characteristics make the noise margin wide. However, this often comes at the cost of speed. In addition, the short channel effects of MOS transistors, which play significant role in nano scale domain make the design problem more difficult. Therefore, an optimization strategy is required such that symmetry is achieved without failing to attain the speed constraint. Thus the justification of the optimization problem lies not only in optimizing the single design objective but also in attaining design solution within a desired design specification space.


## 4. Results and Discussion

### 4.1. ANN Construction

In the present paper, two ANN models have been constructed. In the first ANN model, the four inputs areWn,Wp,CL, and τin and the four outputs are τR,τF,τPHL, and τPLH. For the second ANN, the two inputs are Wn and Wp and the single output is VSP. For constructing the first ANN, 3000 samples have been considered. Out of these, 80% are considered as the training sample and the rest as the test sample. For constructing the second ANN, a set of 1000 samples have been considered. The structure of the first ANN is described in Table 2. The neural network optimization technique is conducted for maximum 1000 iterations. However, after 725 epochs on an average the neural network model has reached the desired training goal. The neuron numbers in the first and second hidden layer is selected through trial and error method. The architecture is shown in Figure 6. For the second ANN architecture, a single hidden layer with 8 neurons has been considered.Table 2
Architecture of the 1st ANN.
ParametersOptimized ValuesArchitectureFeed forward MLPTraining AlgorithmBack propagationHidden layer2No. of neurons in the first hidden layer16No. of neurons in the second hidden layer20Hidden layer transfer functionTan-sigmoidOutput layer transfer functionLinearMaximum epoch1000Figure 6
Architecture of the 1st ANN.


### 4.2. ANN Modeling Accuracy

The accuracy is measured by comparing the results predicted from ANN and the actual SPICE simulation results. Figures7(a) and 7(b) show the comparison between ANN predicted results and SPICE simulation results for the variations of the rise time and the fall time with Wp and Wn, respectively for various values of the load capacitors. Similarly Figures 8(b) and 8(a) shows the corresponding results for the low-to-high, and high-to-low propagation delay times. We observe that the two results closely match. The average relative error E and the correlation coefficient R are summarized in Table 3. We achieve very good accuracy in terms of both E and R.Table 3
Accuracy of the 1st ANN model.
ErrorOutputTrainingTestτR1.211.36EτF1.821.95τPHL1.030.86τPLH0.650.61τR0.99930.9995RτF0.99930.9995τPHL0.99930.9995τPLH0.99930.9995Comparison between ANN results and SPICE results for the rise time and fall time.
(a)
Rise time(b)
Fall timeComparison between ANN results and SPICE results for the high-to-low and low-to-high delay.
(a)
High-to-low propagation delay(b)
Low-to-high propagation delayThe scatter plots between the ANN predicted results and SPICE simulations are shown in Figures9(a)–9(d). We observe nearly perfect diagram with very close to unity correlation coefficient. These demonstrate the accuracy of the constructed ANN model. Similar levels of accuracy have been obtained for the second ANN also.Correlation diagram for the various outputs of the 1st ANN.
(a)
Rise time(b)
Fall time(c)
Low-to-high propagation delay(d)
High-to-low propagation delay


### 4.3. PSO-Based Design

In the present work, we have chosen seven case studies. For each case, the desired rise time, fall time, low-to-high, and high-to-low output propagation delay times are kept within a certain constraint, defined by an upper limit and a lower limit. Similarly the design parameters are also kept within a specified bound. These are tabulated in Table4. The value of τis is assumed to be 1 ns. The synthesized values of the design parameters corresponding to which the cost function is minimized and the constraints are satified for all the case studies are shown in Table 5. It also contains the corresponding values of the performance parameters. We observe from Tables 4 and 5 that the synthesized parameters satisfy the design constraints.Table 4
Delay constraints and design parameter bounds.
Case StudyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)10.5–2.545–13590–9400.1–150.1–150.05–8.00.05–8.020.5–2.545–11090–6200.1–150.1–150.05–8.00.05–8.030.5–1.545–13590–9400.1–150.1–150.05–8.00.05–8.041.0–3.060–160160–9450.1–150.1–150.05–8.00.05–8.051.5–3.560–135135–8400.1–150.1–150.05–8.00.05–8.060.3–2.045–9090–5400.1–8.00.1–8.00.05–6.00.05–6.070.6–1.960–160135–9100.1–7.50.1–7.50.05–5.50.05–5.5Table 5
Synthesis results—τin=1ns.
Case studyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)VSP(V)10.83128.37221.935.15465.13632.52772.46480.489020.7669.44100.0810.513110.58204.81274.80250.486130.81125.82217.535.02445.11462.68542.67310.487941.02157.91273.015.21385.20152.58122.56370.485151.66134.70232.888.82798.85884.69774.67850.480060.4265.42113.105.44715.42332.58052.53320.488770.6195.52165.145.38675.36782.72192.75810.4876The PSO algorithm has been implemented under Matlab 6.5 platform. The reduction in cost function value with number of iterations for two case studies are shown in Figures10(a), and 10(b). We observe from these two figures, that the cost function value reduces drastically within first few iterations. Then the reduction is not significant. It takes several numbers of iterations to reach the ultimate goal. This is a characteristic of any global search algorithm. A possible way to avoid some unnecessary iterations is to judiciously combine some local optimization algorithms with the PSO.Reduction of cost function value with iterations.
(a)
Case study 3(b)
Case study 5The performance of the algorithm is measured by three factors: number of iterations, number of function evaluation, and time complexity (CPU time consumed). These are summarized in Table6. The number of iterations is moderate. Consequently, the algorithm produces acceptable results in moderate CPU time. The measured time is w.r.t CPU of PIV processor and 1 GB RAM. The reported time includes the time taken to evaluate the ANN model during each function evaluation.Table 6
Performances of the PSO Algorithm.
Case StudyNo. of iterationsNo. of function evaluationsCPU time (≈min)125617680846.52222576768241.37330439127555.28427718310350.80531399416553.07623467035542.62721896565339.76In order to validate the results obtained through PSO optimization, we select some case studies and implement them at the transistor level. The PSO-synthesized transistor widths and output load capacitor values have been considered. The channel length is taken as 45 nm with 1.0 V supply. We then perform transient simulation using T-SPICE. A comparison between the PSO-generated results and SPICE results is provided in Tables7 and 8. We observe that the PSO generated designs yield very good results even when simulated at the SPICE level as far the symmetry of the switching characteristics is considered.Table 7
Comparison between PSO results and SPICE results—τR and τF.
Case studyPSO resultsSPICE resultsτR(ns)τF(ns)Difference (ns)τR(ns)τF(ns)Difference (ns)15.13635.15460.01835.06745.25320.1858210.582010.51310.068910.62009.83510.784935.11465.02440.090125.05355.33560.282145.20155.21380.01235.03985.40250.362758.85888.82790.03098.64858.56990.078665.42335.44710.02385.21715.65510.43875.36785.38670.01895.26495.67410.4092Table 8
Comparison between PSO results and SPICE results—τPHL and τPLH.
Case studyPSO resultsSPICE resultsτPHL(ns)τPLH(ns)Difference (ns)τR(PHL)τF(LH)Difference (ns)12.52272.46480.05792.64552.43670.208824.82174.80250.01924.94174.92560.016132.68542.67310.01232.83662.42920.407442.58122.56370.01752.51572.42100.094754.69774.67850.01924.78614.52640.259762.58052.53320.04732.57712.49570.081472.72192.75810.03622.86292.63670.2262We now compare the present approach of designing an inverter for optimizing the switching characteristics with the existing approach of [10] for the same purpose. The same analytical equations as used in [10] have been used in the present work for comparison purpose. The synthesized results are provided in Table 9. With these synthesized values of the design parameters, the circuits are implemented and simulated using TSPICE. Tables 10 and 11 present the comparison results w.r.t the accuracy of the two approaches. It can clearly be observed that our approach outperforms the analytical approach of [10]. This is because the analytical models used in [10] are simplified and approximate. These are not valid for nano scale CMOS circuit designs. For nano scale circuits more advanced compact models need to be used [2]. However, these models are often very difficult to handle in an optimization-based design approach. Thus, the present approach of using ANN for modeling purpose and embedding the constructed ANN within a global search algorithm is the most useful technique for designing any nano scale logic circuits.Table 9
Synthesis results using approach of [10].
Case studyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)VSP(V)11.190121.45589.806.93696.91683.27973.27960.486120.86676.33370.707.94247.91933.75493.84830.486130.983102.52497.906.78336.76373.20703.28660.486141.87151.78737.108.53648.51164.03584.13610.486151.528125.26608.338.92478.89884.21934.32420.486160.37977.80377.853.38733.37751.60141.64120.486170.873151.12733.913.97673.96531.88021.92690.4861Table 10
Comparison between our approach and approach of [10]—τR and τF.
Case studyOur approachApproach of [10]τR(ns)τF(ns)Difference (ns)τR(ns)τF(ns)Difference (ns)15.06745.25320.18582.70838.98906.2807210.6209.83510.78493.158310.7497.590735.05355.33560.28212.65738.87276.215445.03985.40250.36273.397811.14747.749658.64858.56990.07863.492011.8638.37165.21715.65510.4381.48414.73083.246775.26495.67410.40921.71705.08633.3693Table 11
Comparison between our approach and approach of [10]—τPHL and τPLH.
Case studyOur approachApproach of [10]τPHL(ns)τPLH(ns)Difference (ns)τPHL(ns)τPLH(ns)Difference (ns)12.64552.43670.20884.63791.37583.262124.94174.92560.01615.54821.57273.975532.83662.42920.40744.58411.35353.230642.51572.42100.09475.76781.67124.096654.78614.52640.25975.96671.71144.255362.57712.49570.08142.26570.75831.507472.86292.63670.22622.68390.85581.8281


## 4.1. ANN Construction

In the present paper, two ANN models have been constructed. In the first ANN model, the four inputs areWn,Wp,CL, and τin and the four outputs are τR,τF,τPHL, and τPLH. For the second ANN, the two inputs are Wn and Wp and the single output is VSP. For constructing the first ANN, 3000 samples have been considered. Out of these, 80% are considered as the training sample and the rest as the test sample. For constructing the second ANN, a set of 1000 samples have been considered. The structure of the first ANN is described in Table 2. The neural network optimization technique is conducted for maximum 1000 iterations. However, after 725 epochs on an average the neural network model has reached the desired training goal. The neuron numbers in the first and second hidden layer is selected through trial and error method. The architecture is shown in Figure 6. For the second ANN architecture, a single hidden layer with 8 neurons has been considered.Table 2
Architecture of the 1st ANN.
ParametersOptimized ValuesArchitectureFeed forward MLPTraining AlgorithmBack propagationHidden layer2No. of neurons in the first hidden layer16No. of neurons in the second hidden layer20Hidden layer transfer functionTan-sigmoidOutput layer transfer functionLinearMaximum epoch1000Figure 6
Architecture of the 1st ANN.


## 4.2. ANN Modeling Accuracy

The accuracy is measured by comparing the results predicted from ANN and the actual SPICE simulation results. Figures7(a) and 7(b) show the comparison between ANN predicted results and SPICE simulation results for the variations of the rise time and the fall time with Wp and Wn, respectively for various values of the load capacitors. Similarly Figures 8(b) and 8(a) shows the corresponding results for the low-to-high, and high-to-low propagation delay times. We observe that the two results closely match. The average relative error E and the correlation coefficient R are summarized in Table 3. We achieve very good accuracy in terms of both E and R.Table 3
Accuracy of the 1st ANN model.
ErrorOutputTrainingTestτR1.211.36EτF1.821.95τPHL1.030.86τPLH0.650.61τR0.99930.9995RτF0.99930.9995τPHL0.99930.9995τPLH0.99930.9995Comparison between ANN results and SPICE results for the rise time and fall time.
(a)
Rise time(b)
Fall timeComparison between ANN results and SPICE results for the high-to-low and low-to-high delay.
(a)
High-to-low propagation delay(b)
Low-to-high propagation delayThe scatter plots between the ANN predicted results and SPICE simulations are shown in Figures9(a)–9(d). We observe nearly perfect diagram with very close to unity correlation coefficient. These demonstrate the accuracy of the constructed ANN model. Similar levels of accuracy have been obtained for the second ANN also.Correlation diagram for the various outputs of the 1st ANN.
(a)
Rise time(b)
Fall time(c)
Low-to-high propagation delay(d)
High-to-low propagation delay


## 4.3. PSO-Based Design

In the present work, we have chosen seven case studies. For each case, the desired rise time, fall time, low-to-high, and high-to-low output propagation delay times are kept within a certain constraint, defined by an upper limit and a lower limit. Similarly the design parameters are also kept within a specified bound. These are tabulated in Table4. The value of τis is assumed to be 1 ns. The synthesized values of the design parameters corresponding to which the cost function is minimized and the constraints are satified for all the case studies are shown in Table 5. It also contains the corresponding values of the performance parameters. We observe from Tables 4 and 5 that the synthesized parameters satisfy the design constraints.Table 4
Delay constraints and design parameter bounds.
Case StudyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)10.5–2.545–13590–9400.1–150.1–150.05–8.00.05–8.020.5–2.545–11090–6200.1–150.1–150.05–8.00.05–8.030.5–1.545–13590–9400.1–150.1–150.05–8.00.05–8.041.0–3.060–160160–9450.1–150.1–150.05–8.00.05–8.051.5–3.560–135135–8400.1–150.1–150.05–8.00.05–8.060.3–2.045–9090–5400.1–8.00.1–8.00.05–6.00.05–6.070.6–1.960–160135–9100.1–7.50.1–7.50.05–5.50.05–5.5Table 5
Synthesis results—τin=1ns.
Case studyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)VSP(V)10.83128.37221.935.15465.13632.52772.46480.489020.7669.44100.0810.513110.58204.81274.80250.486130.81125.82217.535.02445.11462.68542.67310.487941.02157.91273.015.21385.20152.58122.56370.485151.66134.70232.888.82798.85884.69774.67850.480060.4265.42113.105.44715.42332.58052.53320.488770.6195.52165.145.38675.36782.72192.75810.4876The PSO algorithm has been implemented under Matlab 6.5 platform. The reduction in cost function value with number of iterations for two case studies are shown in Figures10(a), and 10(b). We observe from these two figures, that the cost function value reduces drastically within first few iterations. Then the reduction is not significant. It takes several numbers of iterations to reach the ultimate goal. This is a characteristic of any global search algorithm. A possible way to avoid some unnecessary iterations is to judiciously combine some local optimization algorithms with the PSO.Reduction of cost function value with iterations.
(a)
Case study 3(b)
Case study 5The performance of the algorithm is measured by three factors: number of iterations, number of function evaluation, and time complexity (CPU time consumed). These are summarized in Table6. The number of iterations is moderate. Consequently, the algorithm produces acceptable results in moderate CPU time. The measured time is w.r.t CPU of PIV processor and 1 GB RAM. The reported time includes the time taken to evaluate the ANN model during each function evaluation.Table 6
Performances of the PSO Algorithm.
Case StudyNo. of iterationsNo. of function evaluationsCPU time (≈min)125617680846.52222576768241.37330439127555.28427718310350.80531399416553.07623467035542.62721896565339.76In order to validate the results obtained through PSO optimization, we select some case studies and implement them at the transistor level. The PSO-synthesized transistor widths and output load capacitor values have been considered. The channel length is taken as 45 nm with 1.0 V supply. We then perform transient simulation using T-SPICE. A comparison between the PSO-generated results and SPICE results is provided in Tables7 and 8. We observe that the PSO generated designs yield very good results even when simulated at the SPICE level as far the symmetry of the switching characteristics is considered.Table 7
Comparison between PSO results and SPICE results—τR and τF.
Case studyPSO resultsSPICE resultsτR(ns)τF(ns)Difference (ns)τR(ns)τF(ns)Difference (ns)15.13635.15460.01835.06745.25320.1858210.582010.51310.068910.62009.83510.784935.11465.02440.090125.05355.33560.282145.20155.21380.01235.03985.40250.362758.85888.82790.03098.64858.56990.078665.42335.44710.02385.21715.65510.43875.36785.38670.01895.26495.67410.4092Table 8
Comparison between PSO results and SPICE results—τPHL and τPLH.
Case studyPSO resultsSPICE resultsτPHL(ns)τPLH(ns)Difference (ns)τR(PHL)τF(LH)Difference (ns)12.52272.46480.05792.64552.43670.208824.82174.80250.01924.94174.92560.016132.68542.67310.01232.83662.42920.407442.58122.56370.01752.51572.42100.094754.69774.67850.01924.78614.52640.259762.58052.53320.04732.57712.49570.081472.72192.75810.03622.86292.63670.2262We now compare the present approach of designing an inverter for optimizing the switching characteristics with the existing approach of [10] for the same purpose. The same analytical equations as used in [10] have been used in the present work for comparison purpose. The synthesized results are provided in Table 9. With these synthesized values of the design parameters, the circuits are implemented and simulated using TSPICE. Tables 10 and 11 present the comparison results w.r.t the accuracy of the two approaches. It can clearly be observed that our approach outperforms the analytical approach of [10]. This is because the analytical models used in [10] are simplified and approximate. These are not valid for nano scale CMOS circuit designs. For nano scale circuits more advanced compact models need to be used [2]. However, these models are often very difficult to handle in an optimization-based design approach. Thus, the present approach of using ANN for modeling purpose and embedding the constructed ANN within a global search algorithm is the most useful technique for designing any nano scale logic circuits.Table 9
Synthesis results using approach of [10].
Case studyCL(pF)Wn(nm)Wp(nm)τF(ns)τR(ns)τPHL(ns)τPLH(ns)VSP(V)11.190121.45589.806.93696.91683.27973.27960.486120.86676.33370.707.94247.91933.75493.84830.486130.983102.52497.906.78336.76373.20703.28660.486141.87151.78737.108.53648.51164.03584.13610.486151.528125.26608.338.92478.89884.21934.32420.486160.37977.80377.853.38733.37751.60141.64120.486170.873151.12733.913.97673.96531.88021.92690.4861Table 10
Comparison between our approach and approach of [10]—τR and τF.
Case studyOur approachApproach of [10]τR(ns)τF(ns)Difference (ns)τR(ns)τF(ns)Difference (ns)15.06745.25320.18582.70838.98906.2807210.6209.83510.78493.158310.7497.590735.05355.33560.28212.65738.87276.215445.03985.40250.36273.397811.14747.749658.64858.56990.07863.492011.8638.37165.21715.65510.4381.48414.73083.246775.26495.67410.40921.71705.08633.3693Table 11
Comparison between our approach and approach of [10]—τPHL and τPLH.
Case studyOur approachApproach of [10]τPHL(ns)τPLH(ns)Difference (ns)τPHL(ns)τPLH(ns)Difference (ns)12.64552.43670.20884.63791.37583.262124.94174.92560.01615.54821.57273.975532.83662.42920.40744.58411.35353.230642.51572.42100.09475.76781.67124.096654.78614.52640.25975.96671.71144.255362.57712.49570.08142.26570.75831.507472.86292.63670.22622.68390.85581.8281


## 5. Conclusion

This paper presents an approach for the design of a nano scale CMOS inverter using artificial neural network and particle swarm optimization techniques. The compact models used to describe MOS transistors in the nano scale domain are often very complicated and difficult to handle within an optimization-based design approach. In addition, the accuracies of such models are questionable. In this approach, ANN has been used for modeling purpose. The input design parameters of the ANN model are the widths of the PMOS and NMOS transistor, the load capacitor and the rise/fall time of the input signal. The output performance parameters are the inverter switching point, the output rise time and fall time, the output low-to-high, and high-to-low propagation delay times. It has been found that the ANN results are quite good compared to actual SPICE-level simulation results. The ANN results are used for constructing the cost functions of the PSO-based optimization procedure. The PSO-synthesized designs are actually implemented using 45 nm CMOS technology and are simulated using TSPICE. It has been observed that the ANN predicted results and actual SPICE results match very closely. The present approach of designing an inverter has been compared to an existing approach [10] and the advantage of our approach has been demonstrated through simulation results.In addition, to achieving symmetry in switching response, optimizing delay and power consumption are important in digital CMOS circuit design. In addition, the effects of gate-level parameter variations on these performances and optimization of the same are some other challenging issues. In the next phase of our research these will be taken up. However, the general framework for modeling the performances through ANN and optimization of the design parameters through PSO will remain same.



---

*Source: 505983-2012-04-22.xml*