7,462
Views
6
CrossRef citations to date
0
Altmetric
Research Article

Machine Learning Based Power Estimation for CMOS VLSI Circuits

ORCID Icon & ORCID Icon
Pages 1043-1055 | Received 11 Jun 2021, Accepted 06 Aug 2021, Published online: 20 Aug 2021

ABSTRACT

Nowadays, machine learning (ML) algorithms are receiving massive attention in most of the engineering application since it has capability in complex systems modeling using historical data. Estimation of power for CMOS VLSI circuit using various circuit attributes is proposed using passive machine learning-based technique. The proposed method uses supervised learning method, which provides a fast and accurate estimation of power without affecting the accuracy of the system. Power estimation using random forest algorithm is relatively new. Accurate estimation of power of CMOS VLSI circuits is estimated by using random forest model which is optimized and tuned by using multiobjective NSGA-II algorithm. It is inferred from the experimental results testing error varies from 1.4% to 6.8% and in terms of and Mean Square Error is 1.46e-06 in random forest method when compared to BPNN. Statistical estimation like coefficient of determination (R) and Root Mean Square Error (RMSE) are done and it is proven that random Forest is best choice for power estimation of CMOS VLSI circuits with high coefficient of determination of 0.99938, and low RMSE of 0.000116.

Introduction

Due to recent development in VLSI technology million of transistors are fabricated in a single chip. Increase in number of transistor and operating speed in a chip and speed due which ultimately increase the power consumption and has become a crucial concern in submicron technology. In VLSI circuits, power estimation at an earlier stage is highly needed, because it has a major impact on the reliability of VLSI circuits. Under this condition, at the higher levels of design abstraction average power estimation before a chip manufacturing is very much essential to calculate power budget and to take necessary steps to reduce power consumption. The objective of the proposed work is to develop less complex and low cost power estimation technique, which can be alternative solution to the conventional techniques like SPICE circuit simulation which are based on the assumption of predefined empirical Equationequations.

Literature Overview

Power dissipation of the circuit depends on the inputs, frequency, and operating voltage. Simulation and nonsimulation-based method are two main categories to estimate average power. Amuru and Abbas (Citation2020) proposed an estimation technique for leakage power, delay in standard CMOS/FinFET digital cells. Bhanja and Ranganathan (Citation2003) explained about switching activity estimation using Bayesian Networks considering both in internal nodes and inputs. Burch et al. (Citation1993) and Saxena, Najm, and Hajj (Citation1997) proposed simulation-based method, which includes Monte Carlo approach. Estimate the power for combinational and sequential circuits was discussed by Buyuks and Najm (Citation2006) and Kozhaya and Najm (Citation2001). Adaptive neuro fuzzy application to power estimation was discussed by Govindaraj and Ramesh (Citation2018). Kirei and Topa (Citation2019) explained about estimation of power in CMOS integrated circuits with discrete time filters in which filter of various complexities are considered and power and area estimates are obtained. Ligang Hou, Zheng, and Wu (Citation2006) proposed a method using Levenberg-Marquardt function to estimate power using Neural Network. Murugavel et al. (Citation2002) proposed a method using Least square estimation to estimate average power which minimize MSE through each iteration when compared to Monte Carlo approach. Under Probabilistic class, Burch et al. (Citation1993) devised an algorithm to propagate of transition density values from the primary input to the primary output. BPNN and Radial Basis Function Neural Network (RBFNN)-based power estimation of ISCAS’89 sequential Benchmark circuits have been performed by Ramanathan, Surendiran, and Vanathi (Citation2013). Only two training functions Traingdm and Traingdx were used for analysis out of eleven different training algorithms available in MATLAB tool. Omnia et al. (Citation2016) discussed about estimation of dynamic power consumption using circuit nodes and logic picture for CMOS combinational logic circuits Shaw Halwai (Citation2020) proposed a method to estimate power dissipation of phase detector circuit. Nasser et al. (Citation2021) developed a model to estimate power of digital components, using Artificial Neural Networks (ANNs), the technology used as target technology is Application Specific Integrated Circuit (ASIC). Survey of various power estimation is summarized by Nasser et al. (Citation2020).

Chao Chen et al. (Citation2020) discussed about classification of neural activities, brain–computer interfaces, classification of finger gestures during motor execution and imagery. Estimation of Cumulative Pollution Index of Insulator Strings Leakage using random forest was proposed by De Santos and Sanz-Bobi (Citation2020). Metal Oxide Surge Arrester-based surface condition identification using random forest is done by Das, Dalai, and Chatterjee (Citation2020). Impedance estimation in power system using machine learning is proposed by Liang and Zheng (Citation2019). Pilarski et al. (Citation2012), Seyedzadeh, Glesk, and Roper (Citation2018) Peng, Lima, and Teakles (Citation2017) developed human and robot integration, Monitoring of electric power grid and building energy management systems using machine learning. Air pollution measurement using Machine Learning Techniques was discussed by Srivastava and Singh (Citation2018). A perspective on machine learning in turbulent flows was discussed by Sandeep Pandey, Schumacher, and Sreenivasan (Citation2020) similarly Pradhan and Chawla (Citation2020) proposed Medical Internet of things using machine learning algorithms for lung cancer detection.

Machine Learning models will discover the relationship between input variables and outputs of interest from the system being studied or learn from measured data or simulated data that represents the physical problem. Nowadays, machine learning (ML) models are receiving enormous attention in most of the fields due to their capability in modeling complex systems using historical data. The use of data-driven models have been successfully demonstrated in applications demanding for real-time estimation of the targets values. The proposed work employs an Random forest algorithm which has the ability to estimate the power of CMOS VLSI circuits, without the knowledge on actual circuit structure and interconnections. The Random forest algorithm results are compared with BPNN results. Error percentage for BPNN and Random Forest is calculated to find the deviation from actual power to predicted power in which Random Forest outperforms BPNN.

Experimental Setup

Training and Testing Data

The database used for training and testing the BPNN and random forest network is obtained from the literature (Hou, Zheng, and Wu Citation2006) which is shown in . BPNN network is trained by using database of 20 Benchmark ISCAS’89 sequential circuits and 5 the same circuits are used for testing purpose. The training and testing consists of attributes such as considered for sequential circuits are number of inputs, outputs, D flip-flops, inverters, total number of gates, AND gates, NAND gates, OR gates, and NOR gates. The database for training and testing has been taken from reference (Hou, Zheng, and Wu Citation2006; Murugavel et al. Citation2002) in that the power dissipated corresponding to a set of input patterns was observed in SIS (SIS is an interactive tool for synthesis and optimization of sequential circuits) by (i) sampling, (ii) zero delay, (iii) uniform distribution for switching at the nodes, and (iv) clock frequency of 20 MHz and power supply of 5. The results of the database (Hou, Zheng, and Wu Citation2006; Murugavel et al. Citation2002) are compared with the Monte Carlo method .

Table 1. ISCAS’89 benchmark circuit data set for training BPNN/RF (Hou, Zheng, and Wu Citation2006)

Table 2. ISCAS’89 benchmark circuit data set for testing BPNN/RF (Hou, Zheng, and Wu Citation2006)

Proposed Random Forest-Based Power Estimation

In the proposed method, a Random Forest (RF) model is preferred due to its ability to predict multiple output values Simultaneously. Until one record remain as subset RF divide the records in to smaller and smaller subset since RF is an ensemble of randomized decision trees. The nodes and leaf nodes are called as inner and final sets. RF needs a number of numbers of hyper-parameters to be set and to achieve maximum accuracy, these parameters are tuned as per simulated data to get accurate power estimation of CMOS VLSI Circuits . The constructed model is trained and tested using 10-fold cross-validation. Implementation is done using Python programming language, and the proposed work is carried out on a Computer with Intel Core i7-6700 3.4 GHz CPU, 16GB RAM.

The work flow of BPNN and RF Algorithm is shown in in which training is done by using two third of system dataset and testing is done using one-third of system data set (Harris Citation1994), training algorithm and training parameters are properly chosen to estimate power.

Figure 1. Workflow of BPNN and RF algorithm

Figure 1. Workflow of BPNN and RF algorithm

Maximum depth in RF model is varied from 10 to 15, number of trees from 150 to 750, neighbor order is 1. The parameter neighbor order gives the relationship between adjacent subcells. The neighbor condition can be measured by the neighbor-order parameter.

Steps Involved in RF Algorithm

  1. From the training dataset k data points are pick in random.

  2. Using the k data points a decision tree associated with data points is constructed.

  3. Step 1 and 2 are repeated to build N number N of trees .

  4. By using each one of tree in N – tree, output value Y corresponding to a new data point is determined and average of all predicted Y values is calculated and final Y value is identified.

Power Estimation Using BPNN

The method consists of the following steps:

  • Construction of neural network

  • Training phase

  • Testing phase

Construction of Neural Network

A back-propagation neural network is constructed with four-layer feed-forward. First layer is set with ‘linear’ transfer function and ‘tansig’ function is chosen for remaining layers. BPNN network Parameters such as learning rate, epoch, hidden layer and momentum constant are varied for different training algorithms such as Traingd, Trainscg, Traingda, Trainbfg, Trainrp, Trainoss, Traingdx, Trainsgf, Traingdm, Traincgp, and Traincgb. The data base of sequential circuits consists of nine attributes, therefore number of inputs for the network is considered as nine. The generalized architecture of BPNN is shown in .

Figure 2. Architecture of BPNN

Figure 2. Architecture of BPNN

Training Phase

1: Two-third of the input vectors from ISCAS’89 benchmark circuits database are extracted and to train the BPNN (Harris Citation1994).

2: Normalization is done for input vectors and their corresponding target vectors. Since the the hidden layers has tan-sigmoidal activation function normalization is done between the −1 to +1.

3: The BPNN network is trained with the normalized input vectors and their corresponding normalized target vectors.

Testing Phase

1: One-third of the input vectors from ISCAS’89 benchmark circuits database are used for testing (Harris Citation1994).

2: Before testing, the parameters used for input test vectors are normalized.

3:Outputs vectors are generated for these normalized test input vectors by the BPNN network.

4: Original value is obtained from reverse normalization process.

Results and Discussion

Number of neurons at the input side is based on the number of input attributes used for training the neural network. The number of attributes is varied from 9 to 7 by eliminating OR gates and AND gates in the input. In few cases reducing the attributes gave best result, for example traincgf and traincgp training functions with 7 input attributes perform better than 9 input. BPNN is a feed-forward back propagation type neural network consists of Learning rate, Momentum constant, activation function and training algorithm as four important parameter. Momentum constant is varied between 0.1 and 0.9, number of epochs is varied between 150 and 2700, hidden layer neurons are selected between 10 and 17, 0.3 and 0.8 is the range of variation for learning rate for 11 different training algorithm and activation functions are chosen as tansig and logsig The stopping criteria are selected using extensive MATLAB simulation as shown in . gives Regression results comparison of ISCAS’89 benchmark circuits using BPNN for 11 different training functions.

Table 3. Stopping criteria for BPNN

Table 4. Regression results comparison of ISCAS’89 benchmark circuits using BPNN

Trainscg training function which is based on conjugate gradient algorithm provides better results for sequential circuits when compared to other training algorithms. From the regression analysis it is found that the results for ISCAS’89 sequential benchmark circuits deviates from ideal power by 0.01%–0.8%. The trainscg training function gives the minimum regression value among other 11 training algorithms. Trainscg under conjugate gradient category is best suited for power estimation for sequential circuits for a layer size of 9:15:15:1 with 9 inputs and 253 epochs. Regression results comparison of ISCAS ’89 circuits with the previous literature using BPNN is shown in . Since the existing method uses ISCAS’89 circuits we have chosen the same circuit as indicated in . From the , it is inferred that trainscg predicts power very close to power estimator tool than remaining training algorithm.

Table 5. Regression results comparison of ISCAS ’89 circuits with the existing methods using BPNN

Figure 3. ISCAS’89 benchmark circuits regression result comparison using BPNN for 11 training algorithms

Figure 3. ISCAS’89 benchmark circuits regression result comparison using BPNN for 11 training algorithms

Predicted power output and Mean square error of ISCAS’89 Bench mark circuit is shown in , which is obtained by comparing actual circuit output with neural network, and random forest predicted output. MSE is calculated for both BPNN and RF. MSE of RF is 1.46E-06 whereas BPNN is 3.842E-05 this shows ML models discover relationships between input variables and outputs of interest from the system being studied, learn from measured or simulated data. Comparison of ISCAS’89 benchmark circuits Actual output with RF and BPNN predicted output.

Table 6. Mean square error of ISCAS’89 benchmark circuits using BPNN/RF

Figure 4. Comparison of ISCAS’89 benchmark circuits actual output with RF and BPNN-predicted output

Figure 4. Comparison of ISCAS’89 benchmark circuits actual output with RF and BPNN-predicted output

Performance Analysis of BPNN and RF

Training and testing prediction error is calculated using Equationequation (1)

(1) Error%=ABX100A(1)

where A is the actual value and B is the predicted output value by testing the network.

Prediction error comparison of BPNN with RF is reported in . It is infer that RF prediction error is varying from 1.4% to 6.8% but BPNN prediction error is varying from 4.5% to 68.2% . RF prediction error is less than BPNN because it can deal with regression and classification problems of multiclass, small sample data, and without data pre processing procedures.

Table 7. Error calculation for BPNN and RF

gives comparison of Prediction error of RF and BPNN in which RF outperforms BPNN.

Figure 5. Comparison of prediction error of RF and BPNN

Figure 5. Comparison of prediction error of RF and BPNN

Performance of RF and BPNN network can be determined by doing statistical analysis such Root Mean Square Error (RMSE) and Coefficient of determination (R) which is given below in EquationEquation (2) – (Equation3).

(2) RMSE=I=1NYIOYIC2N(2)
(3) R=I=1NYIOYOYICYCI=1NYIOYO2I=1NYICYC2(3)

where YO is the mean of observed value, YIO is the observed value YC is the mean of calculated value, and YIC is the calculated value. RMSE is used as a measure to find the difference between predicted values and measured values. RMSE can be used as an indicator of model accuracy or precision. A good network /model should has RMSE value low, or as close to zero.

The coefficient of determination R determines a linear correlation between measured values and values simulated by the model, optimal value is 1. RMSE and R for BPNN and ANFIS is shown in , from the table we infer that RMSE of RF is less when compared to BPNN and R value of RF is very close to 1. Considering these measures, the RF model achieves high accuracy for power estimation.

Table 8. Statistical analysis test on BPNN and RF

Conclusion

In this paper, a supervised learning method to estimate the Power of CMOS VLSI circuits is presented. The proposed RF model is an alternative approach to the conventional techniques like SPICE circuit simulation, which are based on the assumption of predefined empirical equations and arbitrary parameters. The results of RF are highly accurate and the details of circuit structure and interconnections are not required. Random Forest is less computationally than BPNN. A random forest for a decision tree will give a different interpretation but with better performance on the other hand BPNN requires much more data for the result to be effective. Hence, RF with exclusive characteristics appears as a better choice for estimation of power in CMOS VLSI circuits. It is proven that by using statistical estimation like coefficient of determination and Root Mean Square Error (RMSE), RF performs well for power estimation application with high coefficient of determination of 0.99938 and low RMSE of 0.000116.

Disclosure Statement

Author don’t have any conflict of interest in submitting the paper to this journal.

References