Next Article in Journal
An Efficient Radio Access Control Mechanism for Wireless Network-On-Chip Architectures
Previous Article in Journal
Untrimmed Low-Power Thermal Sensor for SoC in 22 nm Digital Fabrication Technology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Stochastically Estimating Modular Criticality in Large-Scale Logic Circuits Using Sparsity Regularization and Compressive Sensing

Department of Electrical and Computer Engineering, University of Central Florida, Orlando, FL 32816, USA
*
Author to whom correspondence should be addressed.
J. Low Power Electron. Appl. 2015, 5(1), 3-37; https://doi.org/10.3390/jlpea5010003
Submission received: 29 October 2014 / Revised: 21 January 2015 / Accepted: 3 March 2015 / Published: 13 March 2015

Abstract

:
This paper considers the problem of how to efficiently measure a large and complex information field with optimally few observations. Specifically, we investigate how to stochastically estimate modular criticality values in a large-scale digital circuit with a very limited number of measurements in order to minimize the total measurement efforts and time. We prove that, through sparsity-promoting transform domain regularization and by strategically integrating compressive sensing with Bayesian learning, more than 98% of the overall measurement accuracy can be achieved with fewer than 10% of measurements as required in a conventional approach that uses exhaustive measurements. Furthermore, we illustrate that the obtained criticality results can be utilized to selectively fortify large-scale digital circuits for operation with narrow voltage headrooms and in the presence of soft-errors rising at near threshold voltage levels, without excessive hardware overheads. Our numerical simulation results have shown that, by optimally allocating only 10% circuit redundancy, for some large-scale benchmark circuits, we can achieve more than a three-times reduction in its overall error probability, whereas if randomly distributing such 10% hardware resource, less than 2% improvements in the target circuit’s overall robustness will be observed. Finally, we conjecture that our proposed approach can be readily applied to estimate other essential properties of digital circuits that are critical to designing and analyzing them, such as the observability measure in reliability analysis and the path delay estimation in stochastic timing analysis. The only key requirement of our proposed methodology is that these global information fields exhibit a certain degree of smoothness, which is universally true for almost any physical phenomenon.

1. Introduction

As electronic device technology aggressively scales, there will likely be a sharp increase in manufacturing defect levels and transient fault rates at lower operating voltages e.g., [1,2,3,4,5], which will undoubtedly degrade the performance and limit the reliability of emerging VLSI circuit systems. To overcome these challenges, digital circuit designers frequently conduct the tasks of measuring electrical parameters, discovering logic patterns and analyzing structures within a very large-scale gate network [6,7,8]. Unfortunately, given the exponential increase in both the size and complexity of modern VLSI digital circuits, the total computational cost and effort of an exhaustive measurement approach can be prohibitive, especially considering the more pronounced delay variations for minimum transistor sizes caused by statistical deviations of the doping concentration [9,10]. For example, because the yield of low-voltage digital circuits is found to be sensitive to local gate delay variations due to uncorrelated intra-die and inter-die parameter deviations [11,12], extensive path delay measurements, which typically take days of completion time, have to be made in order to evaluate the influence of process variations on path delays in VLSI digital circuits. Such a long latency in measurements has been shown to seriously impede fast design space explorations in VLSI digital circuit design [13,14], sometimes even forcing circuit designers to resort to suboptimal design solutions. As such, we believe that it is imperative to find an accurate, robust, scalable and computationally-efficient method to minimize the total measuring efforts for VLSI digital circuit design.
On the other hand, the area of stochastic signal estimation and learning has developed many paradigm-shifting techniques that focus on maximizing computational efficiency in numerical analysis [15]. For example, compressive sensing, a novel sensing paradigm that goes against the common wisdom in data acquisition, has recently developed a series of powerful results about exactly recovering a finite signal x 0 R N from a very limited number of observations [16,17,18,19]. In particular, suppose we are interested in completely recovering an unknown sparse 1D signal x = { x 1 , x 2 , x 3 , , x N } R N ; if X’s support T ( x ) = { t i : x i 0 } , i [ 1 , N ] , has small cardinality, and we have K linear measurements of X in the form of y k = x k , a k , k = 1 , 2 , , K or:
y = A x
where the a k = ( a 1 , k , a 2 , k , , a N , k ) are pre-determined test vectors, we can achieve extremely high estimation accuracy with very computationally-efficient l1 minimization algorithms [20].
We believe that there is a strong linkage between stochastic signal processing techniques and parameter measurements in logic design. In order to bridge the conceptual gap between them, we make the key observation that many interesting property of logic circuits can be treated mathematically as a 2D random field of stochastic signal distributions. As a direct result, measuring or recovering physical parameters in VLSI digital circuits allows extremely accurate methods, provided that these parameters possess certain forms of smoothness priors, which is almost universally true for any physics-based phenomena. In this paper, we attempt to develop an efficient method to stochastically estimate the modular criticality of a very large-scale digital circuit. The importance of estimating modular criticality stems from three facts. First, with the advent of next-generation CMOS technology, the reliability of logic circuits emerges as a major concern. Therefore, the value distribution of modular criticality within a modern VLSI circuit can provide invaluable guidance in robust circuit design. Second, because some logic gates within a digital circuit may be more critical than others, intuitively, more hardware resources should be allocated to these more critical gates, i.e., stronger computing “fortification”, in order to achieve higher overall error resilience of the digital circuit under consideration. Third, as CMOS technology scales and digital circuit speed improves, power has become a first-order design constraint in all aspects of circuit design. In fact, many innovative low-power circuit design methods have been developed to exploit the concept of logic criticality. For example, dual supplies [21] are used for many low-power applications and need level-shifters between the low VDD and high VDD critical path. However, when VDD is lowered, the reliability and circuit performance become challenging issues. Our study can provide an effective method to systematically identify the most critical gates, whose VDD should be kept high. More importantly, although in our study, we have used the reliability as the metric to compute modular criticality, we can easily adopt other metrics, such as delay performance or energy consumption, to calculate modular criticality. As such, our proposed method for criticality estimation can facilitate other widely-studied low-power design schemes, such as tunable body biasing [22] and sleep transistor sizing [23], as well.
Unfortunately, despite the theoretic elegance of the compressive sensing principle, directly applying it to estimate modular criticality in a digital circuit proves to be difficult for several reasons. Specifically, unlike most signal measurements that are uniformly distributed in a 1D or 2D lattice system, the netlist of digital circuits typically exhibits the interconnect structure of a random graph. Intuitively, to apply compressive sensing, we need to somehow map our circuit structure G to a 2D regular grid system, such that the planarity of G is maximized and all of the neighboring systems of each gate are largely conserved. Secondly, we normally can only measure the modular criticality value of each gate one by one. It is not obvious how to make linear measurements of all gates in a conventional way. Thirdly, how we choose the measurement locations is essential to the final performance, because our objective is to accurately estimate the modular criticality of each gate while minimizing the total number of measurements. Finally, how we choose the transforming basis A in Equation (1) is also important. Not surprisingly, we desire it to be efficiently computable and, yet, still observe the uniform uncertainty principle required by compressive sensing, which requires that every set of columns in A with cardinality less than s approximately behaves like an orthonormal system [16].

1.1. Contributions and Outline

To the best of our knowledge, there has not been any systematic study on accurately measuring modular criticality values within a large-scale VLSI digital circuit. The most related works to this paper are several recent studies that explored various analytical ways of computing the overall logic reliability of VLSI logic circuits [6,7,8,24,25,26,27,28,29,30,31]. Reliability analysis of logic circuits refers to the problem of evaluating the effects of errors due to noise at individual transistors, gates or logic blocks on the outputs of the circuit, which become magnified when operating at low supply voltage. The models for noise range from highly specific decomposition of the sources, e.g., single-event upsets, to highly abstract models that combine the effects of different failure mechanisms [32,33,34,35,36]. For example, in [37], the authors developed an observability-based approach that can compute a closed-form expression for circuit reliability as a function of the failure probabilities and observability of the gates. Unfortunately, all of these analytical studies, although mathematically concise, have to make some key assumptions, therefore seriously limiting their applicability and accuracy. For example, the method in [37] needs to approximate the multi-gate correlations in order to handle reconvergent fan-out. In addition, it is not clear how the existing analytical approaches can handle some unspecified probabilistic input vector distributions or more complicated correlation patterns within a VLSI logic circuit.
To overcome the limitations due to the analytical approaches, digital circuit designers have to resort to other standard techniques for reliability analysis, such as using fault injection and simulation in a Monte Carlo framework. Although parallelizable, these brute-force techniques are too inefficient for use on large-scale circuits. In this paper, we aim at strategically integrating both empirical and analytical means by applying a newly-developed compressive sensing principle. Our main objective is to improve the measurement accuracy of modular criticality values in large-scale digital circuits while minimizing the overall computational efforts and time. Most importantly, we attempt to develop an accurate measurement approach that is general in its applicability, i.e., it can not only handle any input distribution, but also deal with any kind of gate correlation pattern. Our ultimate goal is to provide a general framework that can also be used to tackle other engineering problem with a similar nature, i.e., accurately extracting global information using a very small number of local measurements.
We first show that there are several technical obstacles if directly applying the classic compressive sensing technique. Specifically, how does one promote the signal sparsity of the value distribution of modular criticality? How does one effectively acquire linear measurements across the whole circuit? Additionally, how does one optimally determine the best measurement locations? In this paper, we inversely estimate discrete cosine transform (DCT) transform coefficients of modular criticality values using two techniques of domain regularization in order to promote signal sparsity. More importantly, we develop a new adaptive strategy based on Bayesian learning to select optimal locations for additional measurements, which provides us with both the confidence level and termination criteria of our estimation scheme. Our adaptive algorithm greatly enhances the capability of the classic compressive sensing technique, which only considers measurement locations that are pre-chosen, therefore working statically. Finally, to illustrate the value of knowing the modular criticality values in a VLSI digital circuit, we propose a new concept of discriminative circuit fortification that can significantly improve the overall circuit robustness with very limited hardware resource overhead. We show that the obtained modular criticality values can greatly help the designer to decide where to optimally allocate extra hardware resources in order to improve the overall robustness of the target circuit.
The rest of the paper is organized as follows. Section 3 states our target problem in a mathematically formal way, and Section 4 overviews our proposed estimation framework. We then delve into more detailed descriptions of the stochastic-based criticality analysis procedure. Specifically, in Section 5, we describe the specific techniques we utilized to promote signal sparsity through transform domain regularization. In Section 6 and Section 7, we outline the detailed algorithmic steps of our basic estimation strategy and the more advanced adaptive version based on Bayesian learning, respectively. Subsequently, Section 8 describes some estimation results that we obtained using benchmarks from the ISCAS89 suite. In these results, we aim to illustrate both the effectiveness and the computational efficiency of our proposed approach. Afterwards, we present and analyze the usefulness of modular criticality values by applying discriminative logic fortification to several circuits (Section 9). As we will show, the knowledge of modular criticality values for a given circuit can significantly increase the cost-effectiveness of hardware redundancy. Finally, Section 10 concludes the paper.

2. Related Work

Criticality analysis has been extensively studied in software [38], but is quite rare in error-resilient computing device research. Only recently, the general area of criticality analysis (CA), which provides relative measures of significance for the effects of individual components on the overall correctness of system operation, has been investigated in digital circuit design. For example, in [39], a novel approach to optimize digital integrated circuit yield with regards to speed and area/power for aggressive scaling technologies is presented. The technique is intended to reduce the effects of intra-die variations using redundancy applied only on critical parts of the circuit. In [40], we have explored the idea of discriminatively fortifying a large H.264 circuit design with FPGA fabric. We recognize that: (1) different system components contribute differently to the overall correctness of a target application and, therefore, should be treated distinctively; and (2) abundant error resilience exists inherently in many practical algorithms, such as signal processing, visual perception and artificial learning. Such error resilience can be significantly improved with effective hardware support. However, in [40], we used Monte Carlo-based fault injection, and therefore, the resulting algorithm cannot be applied efficiently to large-scale circuit. Furthermore, the definition of modular criticality employed there was relatively primitive.
Low-voltage designs operating at the near-threshold voltage (NTV) region can offer benefits to balance delay versus energy consumption for applications with power constraints [41], such as high-performance computing [42]; on the downside, this may exacerbate reliability implications. In particular, single event upsets (SEUs), which are radiation-induced soft errors, have been forecast to increase at this supply voltage region [43,44]. These errors may manifest as a random bit flip in a memory element or a transient charge within a logic path, which is ultimately latched by a flip-flop. While soft errors in memory elements are feasible to detect and correct using error correcting codes [42], their resolution in logic paths typically involves the use of spatial or temporal redundancy, which allow area versus performance tradeoffs [45].
Specific to our study, the work in [46] introduced a logic-level soft error mitigation methodology for combinational circuits. Their key idea is to exploit the existence of logic implications in a design and to selectively add pertinent functionally-redundant wires to the circuit. They have demonstrated that the addition of functionally-redundant wires reduces the probability that a single-event transient (SET) error will reach a primary output and, by extension, the soft error rate (SEP) of the circuit. Obviously, the proposed circuit techniques can be readily applied using our proposed criticality estimation method, especially in a large-scale circuit case. Although, more importantly, the method used in [46] to determine circuit criticality is mostly done by assessing the SET sensitization probability reduction achieved by candidate functionally-redundant wires and selects an appropriate subset that, when added to the design, minimizes its SER. Consequently, their overall method of criticality analysis is rather heuristic and utilizes largely “local” information. In addition, it is not very clear how this method can scale with very large-scale circuits.
The work in [47] also targets hardening combinational circuits, but focused on mapping digital designs onto Xilinx Virtex FPGAs against single event upsets (SEUs). However, they perform a detailed criticality analysis. Instead, their method uses the signal probabilities of the lines to detect SEU-sensitive subcircuits of a given combinational circuit. Afterwards, the circuit components deemed to be sensitive are hardened against SEUs by selectively applying triple modular redundancy (STMR) to these sensitive subcircuits. More recently, in [48], a new methodology to insert selective TMR automatically for SEU mitigation has been presented. Again, the criticality was determined based on empirical data. Because the overall method is cast as a multi-variable optimization problem, it is not clear how this method can scale with circuit size, and few insights will be provided as to which part of circuit is more critical than others and by how much.
Unlike all of these studies, we aim at ranking the significance of each potential failure for each gate in the target VLSI digital circuit’s design based on a failure rate and a severity ranking. The main focus of our study is to accurately perform such criticality analysis for very large-scale circuits. The key insight underlying our approach is that criticality analysis can be re-cast as a combined problem of uncertainty analysis and sensitivity analysis. Although our methodology to conduct sensitivity analysis on spatial models is based on computationally-expensive Monte Carlo simulation, we take advantage of the latest developments in stochastic signal processing, therefore being able to significantly reduce the overall measurement methods. Fundamentally, we believe that our method of assessing the criticality of logic circuits, although complex at the algorithmic level, can be much more robust when considering the exponential number of inputs, combinations and correlations in gate failures.

3. Problem Statement

Given a digital circuit G consisting of N gates, we define G ’s output reliability R ( G , { e i } i = 1 N ) as its probability of being correct in all of its output ports when a large ensemble of identically and independently distributed (i.i.d.) random inputs are applied. Here, { e i } i = 1 N denotes the vector of error probability of all N gates. We then define the modular criticality Φi of gate i as:
Φ i ( e ) = R ( G , { e i } i = 1 N ) e i | e 1 , e 2 , , e i 1 , e i + 1 , , e N = 0
Intuitively, the larger the Φi is, the more critical the gate i is to the correctness of the whole circuit G . Note that the input vector distribution needs not be uniform i.i.d. Instead, it can be any general form. Figure 1 sketches the idea of defining Φi. Basically, we define the modular criticality value of any gate i to be the slope of its output error probability over the error probability of gate i. Intuitively, the larger the modular criticality (or the error slope) is, the more sensitive the overall output reliability is towards gate i’s error.
Figure 1. Definition of modular criticality Φi.
Figure 1. Definition of modular criticality Φi.
Jlpea 05 00003 g001
Note that, for any given gate in a logic circuit, as shown in Figure 2, there exists a strong relationship between error probability Ri and gate error probability ei. Therefore, according to our definition in Equation (2), the modular criticality of any given gate i will be the specific slope for its error probability Ri vs. gate error probability ei. Fortunately, we observed that, for all benchmark circuits that we used, the dependency between the modular criticality Φi(e) and the gate error probability ei is fairly weak. As a result, in this paper, we perform the linear regression between error probability Ri and gate error probability ei and use the resulting value of Φi(e) as the final modular criticality of the gate i. As an inherent property of the digital circuit under our consideration, Φi only depends on the target circuit’s topology and logic function. In order to show the weak relationship between Φi and ei, we choose a benchmark circuit c7552.bench form ISCAS89 benchmark suite as an example. It consists of 3,512 logic gates. We randomly picked two gates, G5723 and G776, and use Monte Carlo simulations to obtain various Φi values at different eis. As shown in Figure 2, for each gate, the average criticality value can be computed through the well-known least squares fitting method.
Figure 2. Experimental results of two gates’ Φi in c7552.bench.
Figure 2. Experimental results of two gates’ Φi in c7552.bench.
Jlpea 05 00003 g002
Using our definition of modular criticality in Equation (2), we have performed extensive numerical measurements on all 11 benchmarks circuits. For the c7552.bench in ISCAS89 benchmark suite, we plotted its criticality distribution at various gate error probability values in Figure 3. We make two interesting observations. First, the locations of all critical gates, “hot spots”, do not change in a noticeable way as the gate error probability δ changes from 0.05 to 0.5, which again validates the point above that the modular criticality is an inherent circuit property depending only on circuit topology and gate functions (see Figure 2). Second, there are very large variations in modular criticality values for different gates in the same digital circuit. As shown in Figure 3e, for all 11 benchmark circuits, the modular criticality values can differ by more than 17-fold.
Unfortunately, despite the simplicity of our definition for modular criticality, accurately measuring them within a large-scale digital circuit turns out to be very computationally intensive. It should be clear that, according to our definition of modular criticality in Equation (2), measuring the reliability of a given logic circuit is an essential step to obtain the modular criticality values for its logic gates. Although there are both analytical and empirical ways to obtain reliability values for a given circuit, unfortunately, reliability analysis of logic circuits is computationally complex, because of the exponential number of inputs, combinations and correlations in gate failures. For large-scale logic circuits, analytical solutions are challenging to derive. Despite some successes in recent work, most of these analytical techniques need to make some key assumptions, therefore compromising their accuracy.
Given a digital circuit G consisting of N gates, suppose we need T seconds in order to evaluate G ’s reliability for a fixed e configuration. According to our definition of modular criticality in Equation (2), we need the total execution of N × T × k in order to obtain all modular criticality values within G , where k denotes the number of ek required for computing the error slope. Note that the runtime of Monte Carlo simulation for a single round of reliability analysis grows exponentially with the circuit size N. As a result, for very large N, the straightforward Monte Carlo-based strategy for modular criticality is extremely time-consuming. The key objective of this paper is to develop a highly robust and scalable approach to accurately estimate the modular criticality of a target digital circuit.
Figure 3. Key observations: (ad) Φ(δ) measurements of the benchmark circuit c7552 at different δ values; (e) at δ = 0.2, there are large variances of Φ values among all 11 benchmark circuits. (a) δ = 0.05; (b) δ = 0.25; (c) δ = 0.35; (d) δ = 0.50; (e) variations of modular criticality of eleven benchmark circuits.
Figure 3. Key observations: (ad) Φ(δ) measurements of the benchmark circuit c7552 at different δ values; (e) at δ = 0.2, there are large variances of Φ values among all 11 benchmark circuits. (a) δ = 0.05; (b) δ = 0.25; (c) δ = 0.35; (d) δ = 0.50; (e) variations of modular criticality of eleven benchmark circuits.
Jlpea 05 00003 g003

4. Outline of Our Approach

The backbone of our proposed methodology is the well-developed compressive sensing theory that exploits two principles: sparsity and incoherence [16,20]. While sparsity pertains to the signals of interest, incoherence has to do with sensing modality. Sparsity expresses the fact that many natural signals are sparse or compressible in the sense that they have concise representations when expressed in the proper basis. Incoherence extends the duality between time and frequency and expresses the idea that objects having a sparse representation in one domain must be spread out in the domain in which they are acquired, just as a Dirac or a spike in the time domain is spread out in the frequency domain. Put differently, incoherence says that unlike the signal of interest, the sampling/sensing waveforms have an extremely dense representation.
Figure 4 illustrates our overall methodology. Given a VLSI digital circuit consisting of N logic gates, we first convert it into a netlist graph, in which each node represents one logic gate, and all edges represent the interconnects between gates (Step 1). To facilitate our estimation approach, we need to first map this circuit graph to a 2D regular grid system according to the procedure defined in Section 5 (Step 2). As will be shown in Section 5.2, random circuit mapping to a 2D grid will produce a 2D signal field with very little sparsity, therefore unsuitable for compressive sensing. To enable the application of compressive sensing to our criticality estimation problem, we developed two techniques—graph mapping and spectral transform—to enhance and expose the hidden sparsity in the information field in which we are interested. Finally, we developed an adaptive strategy to optimally select our compressive sensing measurements for both increasing our estimation accuracy and reducing the total number of measurements required.
Figure 4. Diagram of the overall approach.
Figure 4. Diagram of the overall approach.
Jlpea 05 00003 g004

5. Sparsity-Promoting Domain Regularization

For compressive sensing to be effective, two requirements have to be met. First, the target information field must allow efficient measurements in a sparse signal form. Second, there must exist a numerically-efficient optimization method to reconstruct the full-length signal from the small amount of collected data. Mathematically, this means that by projecting the signal X R M × N to a new M × N coordinate system, the resulting signal Y R M × N will contain relatively very few non-zero terms. Under such constraints, the worst signal example would be a 2D independent random variable, where there is no stochastic prior information to be utilized. Fortunately, almost all physically realistic signals will possess a certain degree of sparsity, which is especially true when the signal under consideration is transformed with some domain regularization [49,50]. To illustrate this, we accurately measured the modular criticality distribution of a real-world digital circuit c7552.bench consisting of 3,512 gates. Figure 5a,b show its ϕ distribution in 2D and its corresponding 1D representation. As can be clearly seen, its signal energy projected by DCT concentrates on very few terms, while the rest of its DCT terms are relatively small. The significant term value of the DCT is (21.4), as shown in Figure 5c.
Figure 5. (a) Φ measurements of the circuit c7552.bench at δ = 0.2; (b) Φ distribution in the original domain; (c) Φ distribution in the discrete cosine transform (DCT) frequency domain.
Figure 5. (a) Φ measurements of the circuit c7552.bench at δ = 0.2; (b) Φ distribution in the original domain; (c) Φ distribution in the discrete cosine transform (DCT) frequency domain.
Jlpea 05 00003 g005
Because the sparsity of signal field is so critical to the effectiveness of compressive sensing, we borrow the idea of domain regularization from stochastic optimization to promote or enhance the signal sparsity of modular critical values under our consideration [51,52]. Conceptually, regularization involves introducing additional prior knowledge in order to enhance or expose the inherent sparsity of a target signal field, which facilitates solving an ill-posed problem and prevents overfitting. Such additional constraints often penalize complexity and promote smoothness or sparsity (bounds on the vector space norm). Theoretically, regularization is justified by the principle underlying Occam’s razor on the solution (Occam’s razor states that among equivalent competing hypotheses, the one that requires the fewest assumptions can be preferred). From a Bayesian point of view, many regularization techniques correspond to imposing certain prior distributions on model parameters. The complexity of regularization varies greatly, ranging from the least-squares method to much more sophisticated statistical learning methods, such as ridge regression, lasso and L2-norm in support vector machines.
Intuitively, the choice of regularization techniques ultimately depends on the generated physics behind the observed quantities. In other words, the form of the regularization constraint should be consistent with and promote the expected properties of the physical system under investigation. In this study, we exploit the fact that logic gates located closely exhibit stronger correlations between their logic values. Such strong correlations between neighboring logic gates have been both experimentally and analytically proven in numerous recent studies [53,54]. Specifically, we propose (1) using graph mapping to regularize the spatial information of the target logic circuit and (2) using DCT to encode modular criticality information into a compressive form.

5.1. DCT Transform

The classic compressive sensing methodology requires acquiring multiple linear measurements of all signals. This is clearly infeasible to do in our modular criticality measurements. Therefore, in this work, instead of directly computing the target Φ field x R M × N , we estimate its DCT transform terms y R M × N ; therefore, the limited number of Φ measurements can be looked at as linear measurements of y. This indirection is important, because the essence of compressive sensing is: instead of measuring a lot of information at each location, compressive sensing measures a bit of information from all locations during each measurement. Obviously, once y is accurately estimated, the 2D signal x can be obtained through 2D DCT.
The discrete cosine transform (DCT) is a linear transform that is widely used for image coding and spectral analysis because of its compression power for smooth and correlated data. Mathematically, a DCT is a Fourier-related transform similar to the discrete Fourier transform (DFT), but using only real numbers. A DCT transform expresses a sequence of finitely many data points in terms of a sum of cosine functions oscillating at different frequencies. The use of cosine rather than sine functions is critical in these applications: for compression, it turns out that cosine functions are much more efficient, whereas for differential equations, the cosines express a particular choice of boundary conditions. The DCT basis that we have used in this paper, the Type-II DCT, is the most commonly-used form. Multidimensional variants of the various DCT types follow straightforwardly from the one-dimensional definitions: they are simply a separable product (equivalently, a composition) of DCTs along each dimension. For example, a two-dimensional DCT-II of an image or a matrix is simply the one-dimensional DCT-II, from above, performed along the rows and then along the columns (or vice versa). That is, the 2D DCT-II is given by the following formula:
y p q = a p a q m = 0 M 1 n = 0 N 1 x m n cos π ( 2 m + 1 ) p 2 M cos π ( 2 n + 1 ) q 2 N
Inversely, we have:
x m n = p = 0 M 1 q = 0 N 1 a p a q y p q cos π ( 2 m + 1 ) p 2 M cos π ( 2 n + 1 ) q 2 N
In both Equations (3) and (4),
a p = 1 / M if p = 0 ; 2 / M if 1 p M 1 .
and:
a q = 1 / N if q = 0 ; 2 / N if 1 q M 1 .
We now select K measurements of x. Let K pairs of (m, n) denote their corresponding x and y index in x and y p , q their measurement values. Now, the standard compressive sensing formulation can be written as y = A x , where the transform matrix A can be defined as:
a i , j = a p a q cos π ( 2 m + 1 ) p 2 M cos π ( 2 n + 1 ) q 2 N
where 0 i K 1 and its location determines two constants m and n. In addition, 0 j M N 1 , n = j mod M , and m = ( j n ) / M . Therefore, we now have K linear equations defined by Equation (7). Obviously, because we have M · N > K unknowns, these linear equations are under-determined. We will discuss in more detail how to solve them in Section 6.

5.2. Graph Mapping

The netlist of a typical digital circuit exhibits a random graph-like interconnect structure. However, compressive sensing is mostly designed to process 2D signals uniformly distributed on a regular grid system. Therefore, before applying the compressive sensing technique, we need to first map the digital circuit under consideration to a 2D grid system. The main criterion for such mapping is to promote the hidden sparsity originally residing inside our target circuit. Figure 6 illustrates the significant difference in sparsity between a random graph embedding and an optimized one for the same set of measured modular criticality values.
In Figure 6a, we plotted the 2D modular criticality distribution for a random placement. As Figure 6b shows, its 2D DCT transform has very poor signal sparsity. In other words, its DCT terms have a wide range of values. For the same distribution of modular criticality values, we tried another technique of placement method. Specifically, we tried to obtain a new placement where high magnitude terms concentrate on a small corner. To achieve this, we use the concentration ratio of DCT values for the resulting mapping as our cost function. Because the solution space of possible placements is huge, we choose the well-known simulated annealing algorithm to obtain the best mapping solution for both methods. Specifically, we define the simulated annealing cost c as c = ( i = 1 γ M j = 1 γ N | D C T ( i , j ) | ) / ( i = 1 M j = 1 N | D C T ( i , j ) | ) , where D C T ( i , j ) denotes the DCT transform results at index i and j. Because the simulated annealing methods have been widely used in FPGA placements [55], we omit all implementation details of the simulated annealing. Instead, we focus on the choice of cost functions for both methods. In Figure 6c,d, we plotted the resulting placement and its DCT transform results. Obviously, the new placement has much better signal sparsity than the randomized placement in Figure 6a. Unfortunately, this simulated annealing-based approach is quite time-consuming. In practice, we found that a simple sorting method can achieve similar sparsity-promoting effects. To illustrate such a phenomenon, we sorted the same criticality value distribution and its corresponding DCT transform in Figure 6e,f. The most interesting observation is that, by just sorting the criticality values, the resulting DCT transform terms are confined in a quite narrow range.
Figure 6. (a) Random placement; (b) DCT of random placement; (c) optimized placement; (d) DCT of optimized placement; (e) placement based on sorting; (f) DCT of placement with sorting.
Figure 6. (a) Random placement; (b) DCT of random placement; (c) optimized placement; (d) DCT of optimized placement; (e) placement based on sorting; (f) DCT of placement with sorting.
Jlpea 05 00003 g006
Unfortunately, before our estimation phase, we do not know the final modular criticality values. As such, we do not have prior information to guide our placement. We have tried two heuristic methods. In the first method, we use the intuition to maintain the often assumed smoothness prior. Consequently, it is necessary that the chosen mapping keeps the original spatial neighboring system. In other words, if in the original digital circuit, two gates are closely connected, they should be located closely in the resulting mapped circuit. In the second method, we first conduct a brief survey of modular criticality by performing a very small number of Monte Carlo simulations (e.g., number of iterations = 100). We then use these roughly-estimated criticality values as the starting point to iteratively improve our graph mapping. The basic idea is that, after each estimation round, we use the obtained estimation results to regularize the underlying modular criticality field and iteratively improve the estimate (see Algorithm 1 for more details).

6. Estimation with Static Compressive Sensing

Let y = { y i , j } i = 1 , j = 1 M , N be the field of modular criticality values that we would like to estimate; if we make K accurate y measurements, according to Equation (7), we obtain K linear equations. Because K N , we have seriously under-determined linear equations, i.e., y = A x . Following [20], we convert the compressive sensing problem in Equation (7) into a standard Min-l1 problem with quadratic constraints, which finds the vector with the minimum l1 norm that comes close to explaining the observations:
min x 1   subject   to   A x y 2 ϵ
where ϵ is a user-specified parameter. In this study, we typically chose 10−4, i.e., 0.1%, to be the value of ϵ. This approach was first discovered as basis pursuit in [56] and recently recast as the core of compressive sensing methodology.
Fortunately, many studies have found that the basic recovery procedure based on compressive sensing is quite computationally efficient even for large-scale problems, where the number of data points is in the millions [20]. In this study, we focus on the problem sizes that can be recast as linear programs (LPs). Should the benchmark circuit sizes exceed millions of gates, the same recovery problem can be solved as second-order cone programs (SOCPs), where more sophisticated numerical methods need to be employed. For all of our test cases, we solved the LPs using a standard primal-dual method outlined in Chapter 11 of [57].
The standard form of primal-dual method can be readily solved by interior-point methods widely used in convex optimization problems that include inequality constraints,
minimize f 0 ( x ) subject   to f i ( x ) 0 , i = 1 , , m A x = b ,
where f 0 , , f m : R n R are convex and twice continuously differentiable and A R p × n with rank ( A ) = p < n . We assume that the problem is solvable, i.e., an optimal x* exists. We denote the optimal value f 0 ( x * ) as p*. We also assume that the problem is strictly feasible, i.e., there exists x D that satisfies A x = b and f i ( x ) < 0 for i = 1 , , m . This means that Slater’s constraint qualification holds, so there exist dual optimal λ * R m , ν * R p , which, together with x* , satisfy the KKTconditions:
A x * = b , f i ( x * ) 0 , i = 1 , , m λ * 0 f 0 ( x * ) + i = 1 m λ i * f i ( x * ) + A T ν * = 0 λ * f i ( x * ) = 0 , i = 1 , , m .
Interior-point methods solve the problem in Equation (9) (or the KKT conditions in Equation (10)) by applying Newton’s method to a sequence of equality constrained problems or to a sequence of modified versions of the KKT conditions. We omit further details of these interior-point algorithms, which can be found in [57].
Algorithm 1: Estimation algorithm based on static compressive sensing.
Data: K compressive measurements of Φ
Result: Estimation of whole Φ field
1Start with a random placement P 0
2Derive K linear equations according to Equation 7;
3Obtain Φ0 by solving Equation 10 with interior-point method;
4whileAxy2 > ϵ do
5 Jlpea 05 00003 i001Obtain new placement P * by sorting Φ values;
6Derive new K linear equations according to Equation 7;
7Obtain Φ* by solving Equation 10 with interior-point method;
8end
We outline the key steps of our proposed estimation algorithm based on static compressive sensing in Algorithm 1. Essentially, this algorithm is an iterative procedure that improves our estimation accuracy based on the solution of the previous round. For all of our benchmark cases, our iterative algorithm converges very rapidly. Figure 7 shows the typical converging procedure of our estimation procedure. In this particular case, we have 10 domains. As illustrated, each iteration improves upon its previous one, and the whole procedure converges relatively quickly.
Figure 7. Convergence history of 10 domain regularization phases for circuit c7522.bench.
Figure 7. Convergence history of 10 domain regularization phases for circuit c7522.bench.
Jlpea 05 00003 g007

7. Estimation with Adaptive Compressive Sensing

As shown in the above, the original form of compressive sensing can only statically solve the signal recovery problem without providing any additional information on how accurate the resulting estimates probabilistically. More importantly, the classical version of compressive sensing does not provide any guidance on how these samples should be drawn in order to maximize the overall measurement efficiency. Moreover, for a given requirement of accuracy, how many measurements should we need? Mathematically, all of these questions can be satisfactorily answered by computing the posterior probability P ( x | y ) , where x = { x i } i = 1 N and y = { y i } i = 1 K denote the N parameters to be estimated and the K measurements, respectively.
Bayesian estimation, by contrast, calculates fully the posterior distribution P ( x | y ) . Of all of the x values made possible by this distribution, it is our job to select a value that we consider best in some sense. For example, we may choose the expected value of x, assuming its variance is small enough. The variance that we can calculate for the x from its posterior distribution allows us to express our confidence in any specific value that we may use as an estimate. If the variance is too large, we may declare that there does not exist a good estimate for x.
P ( x | y ) posterior = P ( y | x ) likelihood · P ( x ) prior P ( y ) evidence
In this work, we devise an adaptive compressive sensing methodology based on the proposed framework from Bayesian compressive sensing shown in Figure 8. We consider the inversion of compressive measurements from a Bayesian perspective. Specifically, from this standpoint, we have a prior belief that should be sparse in the basis; data are observed from compressive measurements, and the objective is to provide a posterior belief (density function) for the values of the results. Besides the improved accuracy over the point estimate, the Bayesian formalism, more importantly, provides a new framework that allows us to address a variety of issues that previously have not been addressed. Specifically, rather than providing a point (single) estimate for the weights, a full posterior density function is provided, which yields “error bars” on the estimates; these error bars may be used to give a sense of confidence in the approximation to and may also be used to guide the optimal design of additional compressive measurements, implemented with the goal of reducing the uncertainty; in addition, the Bayesian framework provides an estimate for the posterior density function of additive noise encountered when implementing the compressive measurements.
We assume x to be compressible in the basis A. Therefore, let xs represent a 1D vector that is identical to the vector x for the largest K elements’ magnitude. Furthermore, the remaining elements in xs are set to zero. As a result, the vector δ denotes the difference vector between x and xs, the smallest NK elements in x.
y = A x = A ( x s + ( x x s ) ) = A x s + δ
Figure 8. Bayesian graph model for our adaptive estimation algorithm.
Figure 8. Bayesian graph model for our adaptive estimation algorithm.
Jlpea 05 00003 g008
Since y is constituted through random compressive samples, the components of δ may be approximated as a zero-mean Gaussian noise as a consequence of the central limit theorem [58] for large NK. We therefore have the Gaussian likelihood model:
P ( y | x ) = ( 2 π σ 2 ) K 2 exp 1 2 σ 2 y A x 2
In a Bayesian formulation, our understanding of the fact that something is sparse is formalized by placing a sparseness-promoting prior on x. A widely-used sparseness prior is the Laplace density function [59].
P ( x ) = ( λ 2 ) N exp λ i = 1 N | x i | = i = 1 N N ( x i | 0 , γ i )
Given the compressive measurements y and assuming the likelihood function P ( y | x ) in Equation (13), it is straightforward to demonstrate that the solution in (1) corresponds to a maximum a posteriori (MAP) estimate for using the prior P ( x ) in Equation (14).
According to Equation (11), to evaluate the posterior distribution P ( x | y ) , we also need the evidence:
P ( y ) = P ( y | x ) P ( x ) d x
Assuming the hyperparameters β and α = { α i } i = 1 N are known, given the compressive measurements y and the projection matrix A, the posterior for x can be expressed analytically as a multivariate Gaussian distribution:
P ( x | y ) = N ( μ , Σ )
Furthermore, the mean μ and covariance Σ in Equation (16) are defined as:
μ = β Σ A T y
and:
Σ = ( β A T A + Λ ) 1
where:
Λ = diag ( α 1 , α 2 , , α N )
It is useful to have a measure of uncertainty in the estimated x values, where the diagonal elements of the covariance matrix Σ in Equation (18) provide “error bars” on the accuracy of our estimation.
Equation (18) allows us to efficiently compute the associated error bars of our estimation algorithm based on compressive sensing. However, more importantly, it provides us with the possibility of adaptively selecting the locations of our compressive measurements in order to minimize the estimation uncertainty. Such an idea of minimizing the measurement variance to optimally choose sampling measurements has been previously explored in the machine learning community under the name of experimental design or active learning [60]. Furthermore, the error bars also give a way to determine how many measurements are enough for our estimation with compressive sensing.
The differential entropy therefore satisfies:
H ( x | y ) = E y x | y = y x P ( x | y ) log P ( x | y ) d x d y = 1 2 log | Λ + β A T A |
Clearly, the location of the next optimal measurement is the one that minimizes the differential entropy in Equation (20). Assume we add one more compressive measurement (K + 1); if we let H new ( x | y ) represent the new differential entropy as a consequence of adding this new projection vector, we have the entropy difference by adding (K + 1) compressive measurement as:
Δ H = H new ( x | y ) H ( x | y ) = 1 2 log ( 1 + β r K T Σ r K + 1 )
As such, in order to minimize the overall estimation uncertainty, all we need to do is to maximize r K + 1 T Σ r K + 1 .
Algorithm 2: Estimation algorithm based on adaptive compressive sensing.
Data: K0 compressive measurements of Φ
Result: Estimation of whole Φ field
1Start with K0 compressive measurements of Φ;
2KK0;
3whileAxy2 > ϵ do
4 Jlpea 05 00003 i002Start with a random placement P 0 ;
5Derive K linear equations according to Equation (7);
6Obtain Φ0 by solving Equation (10) with the interior-point method;
7while ∥Φ* − Φ∥2 > 10−3 do
8 Jlpea 05 00003 i001Obtain new placement P * by sorting Φ values;
9Derive new K linear equations according to Equation (7);
10Obtain Φ* by solving Equation (10) with the interior-point method;
11end
12Optimally select one more sample according to Equation (21);
13KK + 1
14end
The procedure of our estimation methodology based on adaptive compressive sensing is outlined in Algorithm 2. There are two while loops nested in this algorithm. The outer loop controls how to increase the number of compressive samples and how to optimally select the optimal locations of these samples. In the inner loop, for a fixed number of compressive samples, we perform the estimation strategy similar to Algorithm 1, i.e., the estimation method based on static compressive sensing. Note also, each time we add more compressive samples, we utilize the existing estimation results to perform domain regularization.

8. Results and Analysis

To validate the effectiveness of our proposed estimation methodology, we choose eleven benchmark logic circuits from the ISCAS89 suite with variable sizes from six to 3,512 gates. We then implemented both static and adaptive versions of our estimations algorithm with the MATLAB language.
In this paper, we focus on two aspects of the performance of our estimation approach: estimation accuracy and execution time. For estimation accuracy, we consider both value and ordinal correctness. Formally, let Φ M × N 0 and Φ M × N denote the precisely-measured modular criticalities and the estimated ones; we then define the value correctness Cval as:
C val = 1 i = 1 M j = 1 N Φ i , j 0 Φ i , j Φ i , j 0 2 M N
Furthermore, in most empirical studies, circuit designers are more likely to be interested in the relative ranking of modular criticality value among all logic gates instead of their absolute values. As such, we define a new concept called ordinal correctness Cord as:
C ord ( δ ) = 1 A δ 0 A δ A δ 0
where the set A δ 0 and A δ denote the set of δ% most critical logic gates according to the complete measurements and estimated results, respectively. Additionally, · represents the cardinality of a set.
Figure 9a–f illustrates the overall effectiveness of our estimation strategy based on compressive sensing. Figure 9a displays the complete modular criticality measurements of the circuit c7552.bench through extensive Monte Carlo simulations. To facilitate discerning the criticality differences between various measurements in Figure 9b–f, we normalize all modular criticality measurements and sort them in a descending order. As can be clearly observed, when the number of compressive measurements K exceeds 10% of the total number of gates, which is 3,512 logic gates, both the value and ordinal correctness, Cval and Cord, reach more than 95%. As shown in Section 9, we found that, for most empirical applications, more than 9% ordinal correctness is sufficient.
Figure 9. (a) Accurate Φ measurements; (b)–(f) compressive estimations vs. different number of compressive measurements. K: number of compressive measurements. N: Total number of logic gates. All of these results are obtained through dynamic compressive sensing. (a) Complete measurements; (b) K/N= 1%; (c) K/N = 2%; (d) K/N = 5%; (e) K/N = 10%; (f) K/N = 20%.
Figure 9. (a) Accurate Φ measurements; (b)–(f) compressive estimations vs. different number of compressive measurements. K: number of compressive measurements. N: Total number of logic gates. All of these results are obtained through dynamic compressive sensing. (a) Complete measurements; (b) K/N= 1%; (c) K/N = 2%; (d) K/N = 5%; (e) K/N = 10%; (f) K/N = 20%.
Jlpea 05 00003 g009

8.1. Static vs. Dynamic Compressive Sensing

As detailed in Section 6 and Section 7, our proposed modular criticality estimation can be achieved either by static compressive sensing or adaptive compressive sensing. In general, our adaptive compressive sensing strategy based on Bayesian learning is more involved in the computational effort; therefore, the total execution time of adaptive compressive sensing is about 50% longer than the static version. However, the adaptive approach is much more informative than the static one in the sense that it provides detailed “error bar” information on the numerical stability for a fixed-estimation case. More importantly, the adaptive compressive sensing also can help the estimation algorithm to optimally choose the best compressive measurement locations in order to converge faster and to minimize the result variances (see Section 7 for more details).
To clearly identify the performance benefits of our adaptive estimation methodology relative to the static methodology, we plotted the convergence history of both methodologies for the benchmark circuit c7552.bench with two difference performance metrics, i.e., the value correctness (Cval) and the ordinal correctness (Cord), as defined in Equations (22) and (23). Both Figure 10 and Figure 11 clearly show the performance superiority of the adaptive approach. Specifically, for both Cval and Cord, the adaptive methodology converges much faster than the static one does. Such a difference in convergence rate is actually much more pronounced in the Cval case than in the Cord case. The reason for such a phenomenon is quite intuitive. For Cord(δ) to be correct, all we care about is the identity of the gates with the top δ% modular criticality. This is in contrast with the Cval case, where the absolute values of modular criticality are under consideration. In other words, intuitively, the high value of Cval is harder to achieve than the high value of Cord. Depending on the circumstance of application, one of these two performance metrics may be preferred. Carefully studying both Figure 10 and Figure 11 reveals another important distinction between the cases of Cval and Cord. On average, we found that the adaptive approach is much more stable numerically than the static approach. To demonstrate such an important difference, we run 100 iterations with different random seeds for the same problem configuration and then compute the variances in both Cval and Cord values along different numbers of compressive measurements. It can be clearly seen that, in both Figure 10 and Figure 11, once the K values exceeds about 100, the variance in Cval and Cord values approaches zero rather quickly. In contrast, the results from the static methodology exhibits a very high variance in both correctness metrics.
For a more comprehensive comparison, we list all of our test results for the eleven benchmark circuits from the ISCAS98 in Table 1 and Table 2. Studying these two tables, we make several observations. First, in both cases, whenever the total number of compressive measurements exceeds 10% of total gate count, both estimation schemes worked well. Second, the larger the target circuit is, the more accurate our estimation will be. This somewhat surprising result actually has a plausible explanation. As the size of the target circuit becomes larger, the size of the neighborhood or surrounding gates for each gate becomes much larger; therefore, the gradient of change in their modular criticality actually decreases. In other words, our estimation method based on compressive sensing has more prior smoothness to exploit. As we discussed in Section 4, an ample smoothness prior is the key to the success of compressive sensing.
Figure 10. Cval by static vs. adaptive compressive estimation for c7552.bench.
Figure 10. Cval by static vs. adaptive compressive estimation for c7552.bench.
Jlpea 05 00003 g010
Figure 11. Cord by static vs. adaptive compressive estimation for c7552.bench.
Figure 11. Cord by static vs. adaptive compressive estimation for c7552.bench.
Jlpea 05 00003 g011
Table 1. Estimation accuracy vs. number of measurements for the static estimation scheme.
Table 1. Estimation accuracy vs. number of measurements for the static estimation scheme.
Cval(× 100%)Cord(× 100%)
K/N5%10%15%20%25%5%10%15%20%25%
c1725.3220.2345.1351.3847.4250.0037.5037.5043.7537.50
c43248.2773.1575.3683.9390.5064.2980.1082.1488.2791.33
c49980.1888.1593.2192.2395.9454.6953.9171.8875.3980.47
c88074.5483.6484.7986.7390.3856.2564.7573.0078.0078.75
c135579.4785.3089.7493.3794.3261.4669.7980.0383.3389.06
c190876.1683.5687.9691.6493.7974.7885.5692.6796.3396.44
c267078.3083.0286.6088.7992.7786.2793.694.5295.9196.53
c354078.6188.0291.3193.7296.3992.8095.0196.7797.1197.45
c531577.6285.5991.8293.8296.0591.2494.9695.5696.2896.60
c628886.7289.1592.0993.7195.9574.2491.0493.4495.2095.48
c755283.8587.9190.5593.2894.6594.0697.3697.5897.7599.08
Table 2. Estimation accuracy vs. number of measurements for the dynamic estimation scheme.
Table 2. Estimation accuracy vs. number of measurements for the dynamic estimation scheme.
Cval(× 100%)Cord(× 100%)
K/N5%10%15%20%25%5%10%15%20%25%
c17−67.4−42.1−20.7−14.11.0662.5062.5025.0026.2527.50
c432−7.5143.5981.6494.6596.4414.1845.7186.1296.0296.94
c49932.2780.0786.4990.5191.7334.7770.7869.0671.2575.94
c88089.5793.5794.5295.1695.6970.3087.1090.6592.1093.15
c135588.4192.9795.1696.1296.6789.1390.6988.2687.1987.05
c190894.2796.7897.3797.6997.8793.6798.2297.6798.8999.56
c267094.6296.4697.0097.2097.3295.9998.1598.6197.9998.07
c354096.1797.5297.9398.0998.2198.3699.0999.2699.0999.38
c531594.3396.2897.3497.7697.8493.8095.8095.6095.9696.96
c628894.8796.8797.3897.7097.7874.5275.1679.8080.5682.84
c755297.0797.8498.1998.4098.2497.5898.5399.0099.2299.17

8.2. Execution Time Comparisons

The standard algorithm for reliability analysis with a gate failure model is based on fault injection and random pattern simulation in a Monte Carlo framework. By generating a random number uniformly distributed over the interval [0, 1] for each gate and comparing it to the failure probability of the gate, it can be determined whether the gate has failed or not. Thus, the set of all failed gates constitutes a sample of failed gates. At the same time, we independently generate i.i.d. distributed random input vectors. Unfortunately, such a Monte Carlo-based methodology is known to be quite time consuming. For a logic circuit with Nin input ports, there are 2 N in different input vectors. For any realistic values of Nin, the astronomically large size of input patterns renders exhaustive simulation infeasible. This problem is even more serious for our strategy of estimating modular criticality values, because, in theory, exhaustively measuring modular criticality values requires performing reliability analysis N times for a logic circuit with N logic gates. Thus, a very large number of runs are required to achieve convergence of the solution, and this makes the algorithm computationally infeasible for any large-scale circuits.
The main motivation of our compressive sensing-based methodology is to significantly reduce the overall runtime for accurately measuring modular criticality within a large-scale logic circuit. Given a digital circuit G consisting of N logic gates, we denote the total run time for one complete logic simulation of G as T. If we use the exhaustive measurement method for modular criticality values, in theory, the total run time is T tot , BL = N · T , which can be exceedingly long. However, if using our compressive estimation algorithm, we only need K rounds of logic simulation in order to achieve a predetermined accuracy; therefore, the total run time T tot , CS equals K · T + T cs , where Tcs denotes the run time for the compressive estimation. As such, the speedup of our compressive estimation methodology can be computed as:
S = T tot , BL T tot , CS = N · T K · T + T cs = N K + T cs T
Because KN and TcsT, it should be clear that S N K . In our case, all of these speedups are approximately 10.
We have performed both Monte Carlo-based and compressive sensing-based experiments for all eleven benchmark circuits. For Monte Carlo-based measurements of modular criticality, we use 1e-6as the termination criterion for each simulation run. For all of the compressive sensing-based experiments, we determine the sample size by achieving 98% of accuracy when compared with the exhaustive measurements. Our result has shown that, on average, about 10% of the total number of gates are good enough to be the sample size. As shown in Figure 12, all of the speedup values are quite close to about 10. In particular, the circuit c880 achieves the largest speedup of about 12, because it only requires approximately 8% of the circuit size in order to achieve 98% estimation accuracy.
Figure 12. Execution time speedup of our proposed method over the conventional Monte Carlo-based method.
Figure 12. Execution time speedup of our proposed method over the conventional Monte Carlo-based method.
Jlpea 05 00003 g012

9. Illustrative Applications: Discriminative Fortification

To illustrate the value of knowing accurate modular criticality values, we now propose a novel system-level approach, discriminative circuit fortification (DCF), to achieve error resilience, which preserves the delivery of expected performance, and accurate results with a high probability, despite the presence of unexpected faulty components located at random locations, in a robust and efficient way. The key idea of DCF is to judiciously allocate hardware redundancy according to each component’s criticality with respect to the device’s overall target error resilience. This idea is motivated by two emerging trends in modern computing. First, while Application-Specific Integrated Circuit (ASIC) design and manufacturing costs are soaring with each new technology node, the computing power and logic capacity of modern CMOS devices steadily advances. Second, many newly-emerging applications, such as data mining, market analysis, cognitive systems and computational biology, are expected to dominate modern computing demands. Unlike conventional computing applications, they are often tolerant to imprecision and approximation. In other words, for these applications, computation results need not always be perfect, as long as the accuracy of the computation is “acceptable” to human users.
We choose 11 benchmark circuits from the ISCAS89 suite. We show that, using the same amount of extra circuit resource, allocating them according to the ranking of modular criticality will achieve much large improvements (four- or five-times more) in the target circuit’s reliability than allocating them obliviously, i.e., without knowing modular criticality.
We study two error models for digital circuits. The first model assumes the constant gate failure for each gate within a digital circuit, and all gates fail independently. As such, there is a nonzero probability that a large number of gates in the circuit fail simultaneously. Suppose we have a N-gate digital circuit with each gate having a constant error probability e; the probability of k faulty gates is C N k e k ( 1 e ) N k = N ! k ! ( N k ) ! e k ( 1 e ) N k . For example, in a circuit with 10,000 gates, if each gate has a failure probability of 10%, then the probability of ten gates failing simultaneously is 0.125. It is not unreasonable to expect such high failure rates for emerging technologies, such as carbon nanotube transistors or single electron transistors. However, these failure rates are much beyond what has been predicted for future semiconductor technologies. Thus, the independent gate failure model has an inherent disadvantage that the average number of gate failures and the fraction of clock cycles in which gate failures occur are dependent and cannot be varied independently. This problem is resolved by limiting the maximum number of gate failures. Therefore, we consider another error model called constant-k.
We quantify the output error probability for a given digital circuit in two ways, called whole and fractional error probability. Assume that the target circuit G has m input ports and n output ports; let x = { x 1 , x 2 , , x m } { 0 , 1 } m and y = { y 1 , y 2 , , y n } { 0 , 1 } n denote the input and output bit vector, respectively. Moreover, we use x i t and y j t to denote the i-th input bit and the j-th output bit of the t-th Monte Carlo simulation, respectively. As such, x t and y t denote the input and output bit vector, where t [ 1 , T ] , i [ 1 , m ] , and j [ 1 , n ] . To facilitate our discussion, we define two kinds of indicator variables as follows,
I ( i , j ) = 0 if i = j ; 1 if i j ,
and:
I ( v i , v j ) = 0 if v i = v j ; 1 if v i v j .
To calculate the overall output error probability, we apply a large assembly of randomly-generated input bit vectors drawn according to the Monte Carlo principle. For each specific random input bit vector x t , we evaluate our target circuit G two times. First, we assume all gates to be perfect and the resulting output vector to be y t . In the second evaluation, we set some logic gates to be faulty according to one of two gate error models we discussed above and the resulting output vector to be y t . We then define the whole and fractional output error probability according the following two equations.
e whole = t = 1 T I ( y t , y t ) T
e fractional = t = 1 T j = 1 n I ( y j t , y j t ) T · n
Clearly, in Equation (27), even if one bit differs between y t and y t , we count it as one, whereas in Equation (28), we use a fraction number to account for the fact that the number of differing bits between y t and y t is also important. Intuitively, the fractional error probability is more suitable for some applications with inherent error resilience. For example, for some multimedia applications, such as video decoding, a small number of output bit errors probably is less critical than a large number of output bit errors.
In Method A, we choose 10% of all logic gates with the highest modular criticality values, while in Method B, we choose 10% of all logic gates with the lowest modular criticality values. In addition, we also randomly choose 10% of all gates and call it Method C. In Figure 13, we plot the overall circuit reliability against different gate error probabilities. Not surprisingly, as the gate error probability δ increases, the overall reliability of c7552.bench decreases. However, for any fixed δ value, there is a significant improvement in overall circuit reliability between the Case A and the baseline, whereas in the Case C, there are very little improvements in circuit reliability. Maybe most interestingly, if we choose 10% gates randomly to fortify, the resulting improvements in overall circuit reliability are very similar to that in the Case B. This clearly shows that, without the knowledge of modular criticality value, logic circuit fortification will be much less effective.
Table 3 presents the circuit reliability results if we use the error probability defined by Equation (27). We assume that each logic gate is independent and has a fixed error probability value δ. As expected, as δ increases, the overall circuit reliability decreases. For each case, the fortification strategy A always performs the best. Another important observation is that as we increase the fortification ratio from 10% to 30%, although there is a steady improvement in reliability, there seems to be an effect of diminished return. In other words, even if we double the fortification ratio from 10% to 20%, on average, there is a less than 20% improvement for most circuit benchmarks.
Figure 13. Reliability improvements for c7552.bench at three different gate error probabilities δ = 0.001, 0.005, 0.01. Baseline: unprotected circuit. A: fortify top 10% most critical logic gates. B: fortify the 10% least critical logic gates. C: randomly fortify 10% of logic gates.
Figure 13. Reliability improvements for c7552.bench at three different gate error probabilities δ = 0.001, 0.005, 0.01. Baseline: unprotected circuit. A: fortify top 10% most critical logic gates. B: fortify the 10% least critical logic gates. C: randomly fortify 10% of logic gates.
Jlpea 05 00003 g013
As we mentioned above, a growing number of emerging applications, such as data mining, market analysis, cognitive systems and computational biology, typically process massive amounts of data and attempt to model real-world complex system. As such, it has been found that there is a certain degree of inherent tolerance to imprecision and approximation in these applications. In other words, for these applications, computation results need not always be bit-wise accurate. Instead, as long as the accuracy of the computation is “acceptable” to end users, these tradeoffs are considered to be acceptable. As such, we consider the second method to quantify the error probability of a digital circuit. In this method, as defined in Equation (28), we take consideration of the number of error bits among all output bits. In other words, with the first definition in Equation (27), if any bit is different between the output bit vector and the reference one, we consider it a complete error. However, with the second method, we differentiate the case with many bits wrong and a few bits wrong. We repeat the above numerical experiments with the new definition of error probability and present all results in Table 4 for both fixed-p and fixed-k models, respectively.
In general, we observe very similar reliability improvements in Table 4 when compared with Table 3. However, we obtain much smaller absolute reliability improvements. This is quite misleading, because the reduction of error probability is more telling. To explain this phenomenon, we recorded the number of error bits during each logic simulation round and plotted its histogram in Figure 14. As shown in this figure, during the majority of logic simulation rounds, the number of error bits of output is less than five, while the total number of output bits is 108. In other words, on average, the absolute value of error probability is reduced by 108/5 ≈ 22-fold.
Table 3. Error probability by Equation (27) assuming i.i.d. gate error probability. U: without fortification. A: fortify the most critical x%. B: fortify the least critical x%. C: randomly fortify x%. x = 10, 20, or 30.
Table 3. Error probability by Equation (27) assuming i.i.d. gate error probability. U: without fortification. A: fortify the most critical x%. B: fortify the least critical x%. C: randomly fortify x%. x = 10, 20, or 30.
p = 0.001
top 10%top 20%top 30%
UABCABCABC
c1799.3499.6399.3999.499.7499.4599.5499.7499.4599.54
c43294.5796.294.6795.3597.1594.795.6297.6794.7996.13
c49988.0393.988.8689.495.9489.0590.0797.8689.5391.28
c88077.6584.6980.3780.4687.8880.5780.990.0581.4883.3
c135577.4788.9381.5882.0293.8781.6382.197.1681.8582.93
c190865.384.4868.1272.8488.6970.2876.1891.3973.9478.92
c267055.5771.6458.3859.9577.9760.8261.6582.1963.1864.93
c354060.269.7761.9363.4780.4361.9965.487.9662.8368.82
c531540.1156.3145.9846.8367.3348.1148.275.7549.5450.46
c628811.5415.0113.1114.3418.3215.917.5124.1119.4821.92
c755223.1434.1725.1926.0444.1925.5929.5854.1327.1934.16
p = 0.005
top 10%top 20%top 30%
UABCABCABC
c1796.6198.1397.1297.2898.6597.1297.2898.6597.1297.28
c43274.0482.9774.1679.1287.3974.9480.5990.6775.9382.2
c49954.7573.1155.7857.4881.1256.3859.3389.7556.3962.85
c88031.1945.3432.934.3454.233.8637.2762.6637.9942.06
c135531.2254.7536.0437.5572.9836.2937.9689.1136.9340.31
c190817.3150.7919.822.0262.8122.6728.6371.3425.8432.15
c26706.2122.557.639.2534.59.5713.5446.711.714.23
c35409.418.6810.511.136.8710.6613.8959.7411.2417.16
c53151.68.972.12.3322.073.553.8241.644.154.19
c628800.0200.010.060.010.040.080.030.05
c75520.181.070.310.453.340.470.569.290.540.86
Table 4. Error probability by Equation (28) assuming i.i.d. gate error probability. U: without fortification. A: fortify the most critical x%. B: fortify the least critical x%. C: randomly fortify x%. x = 10, 20, or 30.
Table 4. Error probability by Equation (28) assuming i.i.d. gate error probability. U: without fortification. A: fortify the most critical x%. B: fortify the least critical x%. C: randomly fortify x%. x = 10, 20, or 30.
p = 0.001
top 10%top 20%top 30%
UABCABCABC
c1799.6599.7799.6699.7099.7799.7499.8099.7999.7499.80
c43297.8798.6398.0998.4298.7698.2498.4998.9798.3898.76
c49999.5699.7799.5799.6399.8499.5899.6599.8999.5999.69
c88098.9999.3299.1599.1899.4499.1799.2199.5499.2299.26
c135599.1899.6299.2599.3399.8099.3299.3499.9199.3299.36
c190897.7699.3397.9098.0399.4997.9798.1599.6398.0298.40
c267099.4299.6999.4499.4799.7699.5199.5399.8399.5499.56
c354095.2997.0995.5695.8297.8495.7496.0298.4096.1396.56
c531598.9299.3299.0599.1199.5099.1199.1299.6199.1499.19
c628889.0594.3289.9890.0794.9790.7391.0395.6491.8492.06
c755298.1798.9098.2998.3699.2198.3598.4999.4298.3998.68
p = 0.005
top 10%top 20%top 30%
UABCABCABC
c1798.1099.0698.3798.3799.3298.4998.6499.3298.4998.64
c43290.1093.8790.2692.8294.1491.0993.7395.9091.8894.88
c49997.9398.9097.9398.1699.2197.9598.2699.5397.9898.44
c88095.4296.8595.8295.9897.3595.9096.1197.9896.2196.55
c135596.2998.1296.6296.6898.9796.6696.9299.5996.6997.14
c190891.4697.0091.8492.0997.9191.8492.6898.6691.9893.35
c267097.5598.7597.7297.7699.1097.7797.8999.3798.0398.03
c354084.1690.7184.4985.2092.8984.6286.1595.9784.7187.28
c531595.3297.1995.8195.9897.9995.9396.0298.5796.0096.40
c628869.0377.9370.2070.6279.8471.6671.9982.0873.6774.25
c755292.8395.8193.3093.3497.1593.3593.8597.9693.4294.44
Figure 14. Histogram of the number of error bits for c7552.bench at δ = 0.1.
Figure 14. Histogram of the number of error bits for c7552.bench at δ = 0.1.
Jlpea 05 00003 g014

10. Conclusions

Despite the elegance of many stochastic signal processing techniques, they have been rarely applied to digital circuit design and analysis. This is largely due to the significant conceptual gap between continuous signal processing and discrete Boolean algebra. This paper presents a first attempt to bridge such a gap by estimating the modular criticality inside a very large-scale digital circuit. In addition to achieving high accuracy with very limited measurements, we have also shown how to adaptively select sampling locations in order to obtain our desired results while minimizing our overall efforts.
Besides modular criticality, we hypothesize that many other important properties of digital circuits also possess a certain degree of inherent sparsity, such as signal path delay and logic observability. As such, very efficient and effective measuring methods may exist in order to extract this information with significantly reduced computational efforts. We are currently looking into other stochastic learning algorithms and identifying other potential problems in digital circuit design and analysis that are amenable to such stochastic and Bayesian treatment.

Acknowledgments

This work was supported in parts by an ARO DURIP grant N16-22-6056, an NSF BRIGE grant ECCS-1342225 and an NSF CCF grant 1319884.

Author Contributions

Both Mohammed Alawad and Mingjie Lin developed all analytical methods presented in the paper; Mingjie Lin, Mohammed Alawad, and Ronald F. DeMara wrote the paper; Illustrations were generated by Mohammed Alawad and Mingjie Lin; Simulated and real experimental data was mostly recorded by Mohammed Alawad; Analysis of experiments was performed by Mingjie Lin, Mohammed Alawad and Ronald F. DeMara.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Damiani, M.; Micheli, G.D. Observability don’t care sets and boolean relations. In Proceedings of the International Conference on CAD, Santa Clara, CA, USA, 11–15 November 1990; pp. 502–505.
  2. Borkar, S.; Karnik, T.; Narendra, S.; Tschanz, J.; Keshavarzi, A.; De, V. Parameter variations and impact on circuits and microarchitecture. In Proceedings of the Design Automation Conference, Anaheim, CA, USA, 2–6 June 2003; pp. 338–342.
  3. Constantinescu, C. Trends and challenges in VLSI circuit reliability. Micro IEEE 2003, 23, 14–19. [Google Scholar] [CrossRef]
  4. Gelsinger, P. Moore’s law: The genius lives on. IEEE Solid-State Circuits Newslett. 2006, 20, 18–20. [Google Scholar] [CrossRef]
  5. Ghosh, S.; Roy, K. Parameter variation tolerance and error resiliency: New design paradigm for the nanoscale era. Proc. IEEE 2010, 98, 1718–1751. [Google Scholar] [CrossRef]
  6. Najm, F.; Burch, R.; Yang, P.; Hajj, I. Probabilistic simulation for reliability analysis of CMOS VLSI circuits. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 1990, 9, 439–450. [Google Scholar] [CrossRef]
  7. Najm, F.; Hajj, I.; Yang, P. An extension of probabilistic simulation for reliability analysis of CMOS VLSI circuits. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 1991, 10, 1372–1381. [Google Scholar] [CrossRef]
  8. Najm, F.; Hajj, I.; Yang, P. Computation of bus current variance for reliability estimation of VLSI circuits. In Proceedings of the 1989 IEEE International Conference on Computer-Aided Design, Santa Clara, CA, USA, 5–9 November 1989; pp. 202–205.
  9. Kuhn, K.; Giles, M.; Becher, D.; Kolar, P.; Kornfeld, A.; Kotlyar, R.; Ma, S.; Maheshwari, A.; Mudanai, S. Process technology variation. IEEE Trans. Electron Devices 2011, 58, 2197–2208. [Google Scholar] [CrossRef]
  10. Tiwari, S.; Kumar, A.; Liu, C.; Lin, H.; Kim, S.; Silva, H. Electronics at nanoscale: Fundamental and practical challenges, and emerging directions. In Proceedings of the 2006 IEEE Conference on Emerging Technologies-Nanoelectronics, Singapore, 10–13 January 2006; pp. 481–486.
  11. Eisele, M.; Berthold, J.; Schmitt-Landsiedel, D.; Mahnkopf, R. The impact of intra-die device parameter variations on path delays and on the design for yield of low voltage digital circuits. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 1997, 5, 360–368. [Google Scholar] [CrossRef]
  12. Bowman, K.; Tokunaga, C.; Tschanz, J.; Raychowdhury, A.; Khellah, M.; Geuskens, B.; Lu, S.-L.; Aseron, P.; Karnik, T.; De, V. All-digital circuit-level dynamic variation monitor for silicon debug and adaptive clock control. IEEE Trans. Circuits Syst. I Regul. Pap. 2011, 58, 2017–2025. [Google Scholar] [CrossRef]
  13. Li, X.; Rutenbar, R.; Blanton, R. Virtual probe: A statistically optimal framework for minimum-cost silicon characterization of nanoscale integrated circuits. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design-Digest of Technical Papers, San Jose, CA, USA, 2–5 November 2009; pp. 433–440.
  14. Zhang, W.; Li, X.; Rutenbar, R.A. Bayesian virtual probe: Minimizing variation characterization cost for nanoscale ic technologies via bayesian inference. In Proceedings of the 47th ACM/IEEE Design Automation Conference (DAC), Anaheim, CA, USA, 13–18 June 2010; pp. 262–267.
  15. Tipping, M.E. Sparse bayesian learning and the relevance vector machine. J. Mach. Learn. Res. 2001, 1, 211–244. [Google Scholar]
  16. Candes, E.; Romberg, J.; Tao, T. Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information. IEEE Trans. Inf. Theory 2006, 52, 489–509. [Google Scholar] [CrossRef]
  17. Ji, S.; Dunson, D.; Carin, L. Multitask compressive sensing. IEEE Trans. Signal Proc. 2009, 57, 92–106. [Google Scholar] [CrossRef]
  18. Ji, S.; Xue, Y.; Carin, L. Bayesian compressive sensing. IEEE Trans. Signal Proc. 2008, 56, 2346–2356. [Google Scholar] [CrossRef]
  19. Kak, A. ML, MAP, and Bayesian-the holy trinity of parameter estimation and data prediction. An RVL Tutorial Presentation at Purdue University. 10 August 2014. Available online: https://engineering.purdue.edu/kak/Tutorials/Trinity.pdf (accessed on 12 March 2015).
  20. Candles, E.; Romberg, J. L1-Magic: Recovery of Sparse Signals Via Convex Programming. Available online: http://www.acm.caltech.edu/l1magic/ (accessed on 10 October 2005).
  21. Rahman, S.; Baker, A.; Bayoumi, M.; Ahmed, H. Tunable level-shifter/buffer for dual supply systems and low-power clock-tree design in deep-submicron application. In Proceedings of the Asia-Pacific Conference on Applied Electromagnetics, Johor Bahru, Johor, Malaysia, 20–21 December 2005; p. 4.
  22. Nyathi, J.; Bero, B. Logic circuits operating in subthreshold voltages. In Proceedings of the 2006 International Symposium on Low Power Electronics and Design, Tegernsee, Germany, 4–6 October 2006; pp. 131–134.
  23. Ramalingam, A.; Zhang, B.; Pan, D.; Devgan, A. Sleep transistor sizing using timing criticality and temporal currents. In Proceedings of the ASP-DAC 2005 Design Automation Conference, Shanghai, China, 18–21 January 2005; Volume 2, pp. 1094–1097.
  24. Najm, F.N. Transition density, a stochastic measure of activity in digital circuits. In Proceedings of the 28th ACM/IEEE Design Automation Conference, DAC ’91, San Francisco, CA, USA, 17–21 June 1991; pp. 644–649.
  25. Verovka, O.; Parasyuk, I. Probability propagation in fuzzy bayesian belief networks with nondeterministic states. Cybern. Syst. Anal. 2008, 44, 925–940. [Google Scholar] [CrossRef]
  26. Bhaduri, D.; Shukla, S.; Graham, P.; Gokhale, M. Reliability analysis of large circuits using scalable techniques and tools. IEEE Trans Circuits Syst. I Regul. Pap. 2007, 54, 2447–2460. [Google Scholar] [CrossRef]
  27. Bogdan, P.; Marculescu, R. Hitting time analysis for fault-tolerant communication at nanoscale in future multiprocessor platforms. IEEE Trans. Comput.-Aided Des. Integr, Circuits Syst. 2011, 30, 1197–1210. [Google Scholar] [CrossRef]
  28. Chen, I.-N. Analysis and reliability estimation for probabilistic switching circuits. IEEE Trans. Reliab. 1971, R-20, 36–38. [Google Scholar] [CrossRef]
  29. Chernyak, A.; Chernyak, Z. A unified domination approach for reliability analysis of networks with arbitrary logic in vertices. IEEE Trans. Reliab. 1996, 45, 114–119. [Google Scholar] [CrossRef]
  30. Franco, D.; Vasconcelos, M.; Naviner, L.; Naviner, J.-F. Reliability analysis of logic circuits based on signal probability. In Proceedings of the 15th IEEE International Conference on Electronics, Circuits and Systems, St. Julien’s, Malta, 31 August–3 September 2008; pp. 670–673.
  31. Ibrahim, W.; Beiu, V.; Beg, A. Greda: A fast and more accurate gate reliability EDA tool. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2012, 31, 509–521. [Google Scholar] [CrossRef]
  32. Miskov-Zivanov, N.; Marculescu, D. Multiple transient faults in combinational and sequential circuits: A systematic approach. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2010, 29, 1614–1627. [Google Scholar] [CrossRef]
  33. Miskov-Zivanov, N.; Marculescu, D. Modeling and optimization for soft-error reliability of sequential circuits. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2008, 27, 803–816. [Google Scholar] [CrossRef]
  34. Miskov-Zivanov, N.; Marculescu, D. Circuit reliability analysis using symbolic techniques. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2006, 25, 2638–2649. [Google Scholar] [CrossRef]
  35. Wang, D.; Huang, N. Reliability analysis of component-based software based on rewrite logic. In Proceedings of the 12th IEEE International Workshop on Future Trends of Distributed Computing Systems, Kunming, China, 21–23 October 2008; pp. 126–132.
  36. Alam, M.; Roy, K.; Augustine, C. Reliability- and process-variation aware design of integrated circuits: A broader perspective. In Proceedings of the 2011 IEEE International Reliability Physics Symposium (IRPS), Monterey, CA, USA, 10–14 April 2011; pp. 4A.1.1–4A.1.11.
  37. Choudhury, M.; Mohanram, K. Reliability analysis of logic circuits. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2009, 28, 392–405. [Google Scholar] [CrossRef]
  38. Bishop, P.; Bloomfield, R.; Clement, T.; Guerra, S. Software criticality analysis of cots/soup. In Computer Safety, Reliability and Security; Anderson, S., Felici, M., Bologna, S., Eds.; Springer: Berlin/Heidelberg, Germary, 2002; Volume 2434, pp. 198–211. [Google Scholar]
  39. Stanisavljevic, M.; Schmid, A.; Leblebici, Y. Selective redundancy-based design techniques for the minimization of local delay variations. In Proceedings of the 2010 IEEE International Symposium on Circuits and Systems (ISCAS), Paris, France, 30 May–2 June 2010; pp. 2486–2489.
  40. Lin, M.; Bai, Y.; Wawrzynek, J. Discriminatively fortified computing with reconfigurable digital fabric. In Proceedings of the 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering, HASE ’11, Boca Raton, FL, USA, 10–12 November 2011; pp. 112–119.
  41. Ashraf, A.R.; Zahrani, A.A.; DeMara, R.F. Extending modular redundancy to NTV: Costs and limits of resiliency at reduced supply voltage. In Proceedings of the Workshop on Near Threshold Computing (WNTC-2014), Minneapolis, MN, USA, 14–18 June 2014.
  42. Dreslinski, R.; Wieckowski, M.; Blaauw, D.; Sylvester, D.; Mudge, T. Near-Threshold Computing: Reclaiming moore’s law through energy efficient integrated circuits. Proc. IEEE 2010, 98, 253–266. [Google Scholar] [CrossRef]
  43. Kaul, H.; Anders, M.; Hsu, S.; Agarwal, A.; Krishnamurthy, R.; Borkar, S. Near-Threshold Voltage (NTV) design: Opportunities and challenges. In Proceedings of the 49th ACM/EDAC/IEEE Design Automation Conference (DAC), San Francisco, CA, USA, 3–7 June 2012; pp. 1149–1154.
  44. Dixit, A.; Wood, A. The impact of new technology on soft error rates. In Proceedings of the 2011 IEEE International Reliability Physics Symposium (IRPS), Monterey, CA, USA, 10–14 April 2011; pp. 5B.4.1–5B.4.7.
  45. Szafaryn, L.; Meyer, B.; Skadron, K. Evaluating overheads of multibit soft-error protection in the processor core. Micro IEEE 2013, 33, 56–65. [Google Scholar] [CrossRef]
  46. Almukhaizim, S.; Makris, Y. Soft error mitigation through selective addition of functionally redundant wires. IEEE Trans. Reliab. 2008, 57, 23–31. [Google Scholar] [CrossRef]
  47. Samudrala, P.; Ramos, J.; Katkoori, S. Selective triple modular redundancy (STMR) based single-event upset (SEU) tolerant synthesis for fpgas. IEEE Trans. Nucl. Sci. 2004, 51, 2957–2969. [Google Scholar] [CrossRef]
  48. Ruano, O.; Maestro, J.; Reviriego, P. A methodology for automatic insertion of selective tmr in digital circuits affected by SEUs. IEEE Trans. Nucl. Sci. 2009, 56, 2091–2102. [Google Scholar] [CrossRef]
  49. Candes, E.J.; Romberg, J.K.; Tao, T. Stable signal recovery from incomplete and inaccurate measurements. Commun. Pure Appl. Math. 2006, 59, 1207–1223. [Google Scholar] [CrossRef]
  50. Donoho, D. Compressed sensing. IEEE Trans. Inf. Theory 2006, 52, 1289–1306. [Google Scholar] [CrossRef]
  51. Kim, S.-J.; Koh, K.; Lustig, M.; Boyd, S. An efficient method for compressed sensing. In Proceedings of the IEEE International Conference on Image Processing, San Antonio, TX, USA, 16–19 September 2007; Volume 3, pp. III:117–III:120.
  52. Zhao, F.; Noll, D.; Nielsen, J.-F.; Fessler, J. Separate magnitude and phase regularization via compressed sensing. IEEE Trans. Med. Imaging 2012, 31, 1713–1723. [Google Scholar] [CrossRef] [PubMed]
  53. Nepal, K.; Bahar, R.; Mundy, J.; Patterson, W.; Zaslavsky, A. Designing logic circuits for probabilistic computation in the presence of noise. In Proceedings of the 42nd Design Automation Conference, Anaheim, CA, USA, 13–17 June 2005; pp. 485–490.
  54. Varatkar, G.; Narayanan, S.; Shanbhag, N.; Jones, D. Stochastic networked computation. IEEE Trans Very Large Scale Integr. (VLSI) Syst. 2010, 18, 1421–1432. [Google Scholar] [CrossRef]
  55. Lin, M.; Wawrzynek, J. Improving FPGA placement with dynamically adaptive stochastic tunneling. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2010, 29, 1858–1869. [Google Scholar] [CrossRef]
  56. Chen, S.S.; Donoho, D.L.; Saunders, M.A. Atomic decomposition by basis pursuit. SIAM Rev. 2001, 43, 129–159. [Google Scholar] [CrossRef]
  57. Boyd, S.; Vandenberghe, L. Convex optimization. In Berichte über Verteilte Messysteme; Cambridge University Press: Cambridge, UK, 2004. [Google Scholar]
  58. Fischer, H. A history of the central limit theorem: From classical to modern probability theory. In Sources and Studies in the History of Mathematics and Physical Sciences; Springer: New York, NY, USA, 2010. [Google Scholar]
  59. Babacan, S.D.; Molina, R.; Katsaggelos, A.K. Bayesian compressive sensing using laplace priors. Trans. Img. Proc. 2010, 19, 53–63. [Google Scholar] [CrossRef] [PubMed]
  60. Tong, S.; Koller, D. Support vector machine active learning with applications to text classification. J. Mach. Learn. Res. 2002, 2, 45–66. [Google Scholar]

Share and Cite

MDPI and ACS Style

Alawad, M.; DeMara, R.F.; Lin, M. Stochastically Estimating Modular Criticality in Large-Scale Logic Circuits Using Sparsity Regularization and Compressive Sensing. J. Low Power Electron. Appl. 2015, 5, 3-37. https://doi.org/10.3390/jlpea5010003

AMA Style

Alawad M, DeMara RF, Lin M. Stochastically Estimating Modular Criticality in Large-Scale Logic Circuits Using Sparsity Regularization and Compressive Sensing. Journal of Low Power Electronics and Applications. 2015; 5(1):3-37. https://doi.org/10.3390/jlpea5010003

Chicago/Turabian Style

Alawad, Mohammed, Ronald F. DeMara, and Mingjie Lin. 2015. "Stochastically Estimating Modular Criticality in Large-Scale Logic Circuits Using Sparsity Regularization and Compressive Sensing" Journal of Low Power Electronics and Applications 5, no. 1: 3-37. https://doi.org/10.3390/jlpea5010003

Article Metrics

Back to TopTop