Abstract
The new generation of knowledge-based applications requires a large amount of computing power with minimal energy consumption. This has aroused the interest in the non-conventional computing methods capable to implement complex functions in a very simple way and which in turn are inherently noise tolerant, as is the case of probabilistic or stochastic computing architectures. This work analyzes the robustness against noise of the Extended Stochastic Logic (ESL) encoding, a recently proposed probabilistic computing methodology. Furthermore, the capabilities of the ESL encoding to implement complex computational functions in the field of statistical pattern recognition, as is the case of a Bayesian classifier, are presented. The ESL noise-tolerance is analyzed and tested in a FPGA by injecting a wide range of noise levels. The noise-tolerance results are compared with the archived by conventional circuits, with and without fault-tolerant capabilities. The ESL outperforms the conventional Triple Modular Redundancy (TMR) solutions as is show in the experimental results.
Keywords
Introduction
Nowadays, a new generation of knowledge-based applications [21] is taking importance in the technological world. Those applications use Computational Intelligence [53] methodologies to solve complex real-world problems in which traditional approaches are not feasible or ineffective; and generally its application falls in one of these three categories: pattern recognition [1, 24], data mining [3, 24, 57] and digital synthesis [4, 9]. All of these applications need to process large amounts of information, thus require of a large amount of computing power with a minimal consumption. All this has pushed the semiconductor industries to enhance chips performance [33] through the CMOS technology down-scaling and aggressive design practices (such as dynamic logic styles) those have resulted a current technology more noise-sensitive [19]. Unfortunately, the chip power consumption has also been continuously increasing [28]. A common technique for reducing the energy consumption is to decrease the power supply voltage, which implies a loss of noise robustness and therefore a circuit reliability decrease [44]. Therefore, decreasing the CMOS feature sizes causes the devices to be less reliable [32]. Other noise-related effects are the ground bounce node capacitance, node critical charge reduction, higher thermal noise, process variations, soft errors and noise margin diminution. Earlier, these effects have had little impact on the integrated circuits performance, but in the nanometric technologies era this relevance has increased significantly [23, 37]. In particular, soft errors refer to non-permanent errors that can severely limit the reliability of CMOS circuits. They are produced by the charge injection due to a particle hit, from an alpha particle [31] or a neutron [56]. Traditionally, soft errors [27] were related with memories but with the technology downscaling has become as frequent in combinational circuits as in un-protected SRAM cells [52]. Numerous design methodologies have been developed to overcome the noise immunity loss as can be the SRAM [37] and combinational cells [59] hardening, the on-chip error checking and correction circuits [41], space redundancy and/or time redundancy. Space redundancy mainly includes Dual Modular Redundancy and Triple Modular Redundancy (TMR), this is the most common scheme to perform Single Event Upset (SEU) and electromagnetic waves hardening [18].
The current situation of an unreliable nanometric technology coupled with the raising of the knowledge-based applications demanding major computing capacity [7, 39, 42, 49] have increased the interest in non-conventional computing methods capable to implement complex functions in a very simple way [34, 45] and which in turn are inherently noise tolerant [10, 15]. These methods are a complement to conventional parallel and distributed computing [2, 5, 6, 8, 25, 26, 48, 54]. This is the case of probabilistic or Stochastic Computing architectures [11] which apply probabilistic laws to digital logic systems, thus performing pseudo-analog operations with stochastic pulse frames (stochastic signals) [14]. The main research lines on this unconventional technique are focused on some knowledge-based fields, such as: digital filters [50], image processing [40, 58], Low Density Parity Check decoders used in wireless communications [20], neural networks [16, 46, 47], pattern recognition/classifiers [17, 29], data mining [35] and fault tolerant computing architectures [30, 43, 51].
(a) ESL encoding example. (b) ESL conversion error. (c) Probabilistic computing architecture. (d) Binary to pulse conversion. (e) Noise injection circuit. (f) Pulse to binary conversion.
This work aims to study theoretically and experimentally the noise tolerance of Extended Stochastic Logic (ESL) encoding, as well as analyzing its capabilities to implement complex computational functions in the field of statistical pattern recognition. The ESL encoding scheme and main blocks have been applied successfully by authors to implement highly reliable [15] probabilistic neural networks [16] using very few hardware resources.
ESL noise-tolerance capabilities are theoretical analyzed and discussed its robustness for different noise sources. The design of the main probabilistic rules is proposed and analyzed, such as addition, subtraction, multiplication, and conditional probability. To check the real statistical pattern recognition capabilities of the proposal, a Bayesian classifier circuit is presented and tested in a FPGA. To test the capacities of basic ESL blocks against noise (mainly electromagnetic noise), different rates of noise are injected (0 to 100%) to the FPGA inputs. In order to discuss the goodness of the obtained ESL results in front of the conventional systems, a conventional and a TMR 8
The rest of the paper is organized as follows: Section 2 briefly introduces ESL encoding and architecture, the ESL noise-tolerance is analyzed, the main statistical rules design is proposed, and finally the implementation of a Bayesian classifier is presented. Section 3 shows the obtained experimental noise-tolerance results by each basic ESL block and architecture, and compared with the conventional and TMR architectures. Finally, the conclusions are presented in Section 4.
This section briefly presents ESL coding and probabilistic architecture. The ESL noise tolerance is mathematically analyzed. Then, the ESL blocks designs that implement the main statistical rules are presented. A Bayesian classifier is finally shown.
Extended stochastic logic
The ESL is a probabilistic computing encoding that represents the information by means of the ratio
On the bottom side of Fig. 1a we illustrate how to obtain an average value of the ratio
It should be noted that the use of small values of
Probabilistic computing systems are composed at least by three basic stages, illustrated in Fig. 1c. The first stage converts digital values
The second stage implements the probabilistic computing circuit to carry out a certain task. The configuration and structure of this circuit is related to the codification being used (unipolar, bipolar or ESL) [14], which defines the representation range of the system.
Finally, the third stage is responsible to convert the pulsed signals resulting of the probabilistic computing systems into their equivalent binary values
Noise-tolerance analysis
Conventional digital systems are extremely vulnerable to signal variations outside the specified voltage ranges for high and low logic values. In fact, a whole digital system can be halt as a result of noise. Noise can be induced by different ways, but electromagnetic waves are one of the most important noise sources, which may generate circuit malfunction. Generally, these have a greater impact and larger area of influence than soft errors induced by charge injection due to a particle hit, known as SEU. This is due to the fact that electromagnetic waves affect all the devices area while soft errors just affect at a single point. In addition, electromagnetic waves have much larger energy, and therefore they are more likely to cause multi-bit errors since a particle burst is generally unlikely to take place [36].
The ESL encoding not only makes feasible the implementation of probabilistic operations that exceed the representation range of the stochastic bipolar coding, but also expands the inherent noise-tolerance capacity of stochastic systems [11, 43]. The mathematical development of the noise injection (with a noise rate
When a noise rate
In addition, it can be assumed that an ESL signal is affected by a low intensity noise at a single point will continue to operate correctly, since a stochastic signal can be essentially considered as a signal generated by noise [43]. This is the case, of a SEU hit at sea level, which present a frequency of the order 10–12 upset/(bit
(a) ESL adder/subtractor. (b) ESL statistical rule of addition. (c) ESL multiplier/rule of multiplication. (d) ESL divider. (e) ESL nonfunctional square circuit. (f) ESL functional square circuit.
(a) ESL Bayes rule design for two categories. (b) Stochastic pseudo-normal PDF generator.
This sub-section presents the ESL design of the basic statistical rules and basic operations necessary to implement any general purpose statistical pattern recognition system and finally discusses the implementation of a Bayesian classifier.
Rules of addition and subtraction
The statistic rule of addition applies to the following situation. Assume the joint probability (
Invoking the fact that
The ESL addition/subtraction of probabilistic signals is performed using the design shown in Fig. 3a. The numerator of the sum of
Therefore, the result in the numerator is
The subtraction is performed in the same way as the addition but adding a NOT gate between the XNOR and the multiplexer (red dashed inverter in Fig. 2a), which changes the sign of one of the two values.
On the other hand, the ESL subtraction block is fundamental to implement the statistical rule of subtraction, which establishes that the probability of event
To perform the addition of two statistical rules Eq. (5), we need three ESL blocks: an adder, a subtractor and a multiplier, as shown in Fig. 2b.
Previously, this block has been shown to be essential to implement probabilistic neural networks [16], as it allows to perform the sum of the presynaptic contributions to evaluate the membrane potential
The Rule of multiplication evaluates the probability of the intersection between two events; that is, the probability of two events (event
In addition, substituting the known values of
These operations can be implemented with the ESL encoding using a pair of XNOR gates to multiply or divide two probability values
This basic function have been used to perform the product
The ESL exponentiation block is used to multiply a probability
The importance of the temporal un-correlation [12] is shown in Fig. 2(e) with an example where a signal is operated with itself, using an XNOR gate. Since the signals at the inputs of the pair of XNOR gates (
For the experimental implementation of the exponentiation block a 16-bit shift register has been used
In order to evaluate the ESL capabilities in the field of statistical pattern recognition a two-class Bayesian classifier is implemented. It’s based on a likelihood function
The solution that minimizes the decision error [55] about a given class
Showing how for a measurement
The ESL encoding allows to overcome one of the major drawbacks found in the previous stochastic deployments [17] when evaluating the a posteriori probability of the different categories, related to the inability to normalize each class
To evaluate the benefits of the ESL encoding in the statistical pattern recognition field, we implement the Bayes rule for two categories (A and B) as shown in Fig. 3a.
The likelihood function of each class Eq. (2.2.4) is implemented by a pair of previously developed stochastic pseudo-normal Probability Density Function (PDF) generator blocks [43] (Fig. 3b), whose output is multiplied by an ESL normalization factor in order to set its area to one. Subsequently, we evaluate the product
ESL Bayesian classifier hardware resources
ESL Bayesian classifier experimental results.
The two-category ESL Bayesian classifier circuit has been synthetized on an Altera FPGA with the following parameters:
Although the results are good, one would expect them to be even better. This is due to the use of additional hardware associated with the probabilistic architecture (P2B and B2P blocks); that uses a considerable fraction of hardware resources especially when the stochastic circuit is so small.
On the other hand, the evaluation period for this circuit seems a priori very large according to the current computation time. However, probabilistic systems unlike conventional ones do not have a fixed period of computation; that depends on the conversion error that can be assumed for a given application. For example, in massive probabilistic pattern recognition applications usually uses only 4-bit (only 16 clock cycles) to evaluate the results [35].
Particularly, the proposed application intended to check the ESL capabilities to implement pattern recognition applications, and therefore the results should be compared with a computer floating-point one. This is the reason to use a slow architecture with a little conversion error (16-bit) a faster with a higher conversion error.
This section aims to study the experimental noise-tolerance archived by each basic ESL block. The results are compared with respect to a conventional TMR architecture.
In order to evaluate the noise-tolerance of the ESL architecture, different noise levels are injected. This procedure is repeated for the blocks configured with different evaluation periods (
The noise injection emulation will be done by introducing random changes to the inputs of the ESL blocks (Fig. 1d), i.e. generating random bit flips in the
Each B2P block combined with a XOR gate is in charge of flipping (0
The dependency between computational perform- ance (evaluation time) and noise-tolerance of the ESL computational blocks will be analyzed for different P2B blocks with 12, 16, 20 or 24-bit counters (Fig. 1f).
The experimental setup is composed by a low-range FPGA (Cyclone II, EP2C10F484C7N) assembled on the Altera Corp. Terasic DE1 educational board, a USB-Blaster to program the FPGA, a USB-to-RS232 converter to interconnect the PC with the development board, and a high end PC. The proposed ESL blocks are coded in VHDL and synthesized with the Altera Quartus II software suit (version 13.0SP1). In addition, an UART and a state machine on the FPGA to communicate the board with the PC has been incorporated, which allows the automated data acquisition with a MATLAB-based PC application.
ESL blocks noise-tolerance
Before presenting the noise-tolerance experimental results for the different ESL blocks, it is necessary to define the concept of noise rate and the mathematical function used to estimate the ESL blocks output error.
The maximum allowable noise ratio (100% of noise injection) of an ESL coded magnitude/probability is defined as the probability value of noise injection causing the complete loss of information transmitted by the pair of stochastic signals (
On the other hand, the ESL block output error for each injected noise rate will be calculated as the ratio between the mean absolute error and the average of the absolute value of the theoretical output (so that the negative values of the function are properly taken into account).
This ratio is finally multiplied by a factor of 100 to obtain the percentage of error as shown in Eq. (3.1), where
(a) ESL adder output for different noise ratios. (b) ESL adder noise tolerance vs. P2B bit number (c) ESL multiplier output for different noise ratios. (d) ESL multiplier noise tolerance vs. P2B bit number. (e) ESL square output for different noise ratios. (f) ESL square noise tolerance vs. P2B bit number.
The experimental measurements of the ESL adder/ subtractor block were performed by adding two ESL coded signals
The block operation results obtained for different noise ratio injection values (0%, 30%, 60% and 90%) are shown in Fig. 5a, where a good agreement can be observed between the block operation and theoretical one. All signals present nearly the same behavior and the error remains smaller than 5% until a noise injection rate of 60% is surpassed.
The complete set of error results of the ESL adder/ subtractor obtained according to Eq. (3.1) for the different noise injection rates are presented in Table 2. The standard deviation has been calculated for the absolute error of the measurements (the deviation assessed using the error expression in Eq. (3.1) does not bring useful information due to the large values obtained for small errors).
ESL probabilistic blocks output errors for different noise rates (16-bit P2B)
ESL probabilistic blocks output errors for different noise rates (16-bit P2B)
In addition, the noise-tolerance obtained by the ESL adder/subtractor block for different evaluation periods has been evaluated; configuring the P2B converters of the ESL architecture with different times: 2
The measurements of the ESL multiplier/divider block were performed multiplying two ESL coded values
These measures were repeated for different noise injection rates with 10% increments in the range [0, 100%]. Some additional steps were made in the range from 90% to 100% to properly display the error in this interval. The results obtained with a 16-bit P2B block are shown in Fig. 5c. The experimental values are in accordance with the expected theoretical ones. All signals present nearly the same behavior and the error remains smaller than 5% until a noise injection rate of 60% is surpassed. The ESL multiplier set of error results is presented in Table 2.
The experimental results obtained for the different evaluation periods are shown in Fig. 5d. As expected, noise immunity increases with the evaluation period. It can be observed that the errors obtained with the ESL multiplier are significantly lower than those obtained with the ESL adder. This is mainly due to the fact that the ESL multiplier is made up of less logical elements than the ESL adder, since each logic gate has associated some uncertainty or error that adds to the block’s output.
Square
The ESL square block experimental measurements were performed squaring an ESL value
As in previous cases, there is a good agreement between experimental values obtained and the theoretically expected. However, a 5% error is reached by this block with only a noise injection rate of the 30%. The ESL square complete set of error results are presented in Table 2. Additionally, the experimental results obtained for several architectures and evaluation periods are graphed in Fig. 5f. As expected, noise-tolerance increases with the evaluation period. The errors obtained for this block are significantly higher than those obtained for the previous blocks (at any noise rate and evaluation period).
ESL architecture bandwidth in function of P2B number of bit
ESL architecture bandwidth in function of P2B number of bit
ESL noise-tolerance analysis as a function of P2B number of bits
(a) Noise tolerance archived vs. P2B bit number with 5% error. (b) Noise tolerance archived vs. P2B bit number with 10% error.
This subsection analyzes and discusses the relationship between the different ESL-block noise-tolerance reached and the evaluation period of the probabilistic computing architecture.
With this purpose, the maximum allowable noise rate for two maximum output error percentages set as 5% and 10% will be analyzed. The limiting noise is evaluated as a function of the number of bits of the P2B converter used for the stochastic to binary conversion (related to the evaluation period as shown in Table 3 using a system clock frequency of 50 MHz).
The obtained results are plotted in Fig. 6a (for a maximum error of 5%) and in Fig. 6b (for a maximum error of 10%). Notice how the noise immunity of the ESL blocks increases as a second order polynomial of number of bits of P2B converter used by stochastic architecture. As is shown in Fig. 6a and b the behavior of the noise immunity is very similar for both cases. The desired noise immunity levels are reached for all the analyzed ESL blocks with the architectures equipped with 16, 20 and 24-bit P2B modules. However, with the architectures equipped with a 12-bit P2B, the 5% maximum allowed error has been only reached by the multiplier, while for the 10% maximum error has been reached for all the blocks except the square function.
Meanwhile, Table 4 presents how the noise-tolerance reached by each ESL block follows a second order polynomial with the architecture P2B number of bits.
Finally, it is worth highlighting that for the 24-bit P2B architecture all the analyzed ESL blocks reach a noise robustness value higher than the 80% for a 5% of maximum output error, and noise robustness higher than the 90% for a 10% error.
ESL noise-tolerance capabilities discussion
This subsection aims to discuss the goodness of the ESL noise-tolerance results in front of the conventional circuits, with and without hardening. For this comparison, the ESL multiplier block has been chosen, combined with a 16-bit probabilistic architecture. It should be noted that the ESL multiplier is the simplest circuit analyzed. Therefore, as a conventional equivalent has been chosen an 8
Starting from the full-multiplier module has been developed a variant that incorporates space redundancy hardening. Specifically, the block includes 192 TMR FA and 64 voter circuits. The TMR is the most common scheme to perform SEU and electromagnetic waves hardening [22]. Both circuits have been synthesized on a Terasic DE1 educational board (Altera Corp.), equipped with an FPGA (Cyclone II, EP2C10F484C7N). The FPGA resources and circuit performance are presented in Table 5.
Finally, an additional circuit has been developed in order to randomly change bits from the input bytes to multiply. This is performed in a similar manner to the one used in ESL blocks testing. The noise-tolerance measurements have been performed in an automated way, taking 1000 measurements for each noise rate (256 k measurements), to subsequently evaluate the related error percentage for this noise rate. The error percentages obtained for the three modules versus the noise rates are presented in Fig. 7. These results show clearly how ESL probabilistic architecture is more noise-tolerant than the conventional solutions. The ESL encoding archives a multiplier output error of 10% for an 85% noise injection, while the conventional multiplier and the TMR reaches the same error for a noise injection of 0.4% and 2.7% respectively.
Multipliers FPGA hardware resources and performance
Multipliers FPGA hardware resources and performance
Multipliers errors percentages vs. noise rate injection.
The hardware resources used are shown in Table 5 for the different implementations. The ESL consumes more resources than the conventional multiplier, although much less than the TMR.
For this estimation, the four B2P 16-bit modules and two P2B 16-bit modules to convert ESL signals has been considered. The ESL circuit presents the lower delay and therefore a greater operation frequency, at use less logic gates than the other two.
The evaluation period for ESL is very large related to the computation time. However, probabilistic systems unlike conventional ones do not have a fixed period of computation that depends on the resolution needed for a given application. In general, knowledge based applications implemented with probabilistic computing uses a low number of bits [35] for the conversion. This implies a minor noise-tolerance at the conversion, as discussed in the previous section.
This work analyzed the noise-tolerance and the statistical pattern recognition capabilities of the ESL. The ESL architecture demonstrated the ability to implement the main statistical rules and basic statistical classifiers, such as a two-class Bayesian classifier. The experimental results show that the proposed architecture can be useful to implement complex statistical pattern recognition applications.
The ESL has been shown to be an amazing noise-tolerant architecture due to its inherent redundancy. The use of two stochastic signals ratio to encode the information, one to express the numerator and the second for the denominators is the key to remove any presence of noise since it will be included in each signal in the same proportion. The analyzed ESL blocks exhibit an output error smaller to 10% for noise injections up to 90%, with 24-bit architectures. The architecture allows adjusting output noise-tolerance performance as a function of the size of the P2B converters (related to the evaluation period), as a second order polynomial, establishing a relationship between the computational performance and the noise-tolerance. Finally, a faithful comparison with conventional binary logic and TMR architectures is presented. The results show that, even that the total circuit area is not significantly increased when using the ESL architecture with respect the conventional binary logic (with a slight increase of a 30% in resources in comparison with a 176% of area increase for the TMR), its noise tolerance capabilities outperforms the TMR results. This is clearly shown in Section 3.2 where the output error obtained with the TMR solution crosses the 10% when the injected noise is higher than the 2.7% while the ESL architecture needs a noise level of the 85% to provide the same 10% of error. The ESL approach is a system-level noise-tolerant architecture and not a silicon level one, and therefore it can operate in any standard CMOS technologies or FPGAs. This approach can be complemented with other noise-hardening techniques, in order to protect the P2B converters registers and the auxiliary conventional digital circuits.
The main drawback of the proposed architecture is the low computational capacity when a high resolution or high noise-tolerance digital outputs a needed (2
Footnotes
Acknowledgments
This work has been partially supported by the Spanish Ministry of Economy and Competitiveness (MINECO), the Regional European Development Fun- ds (FEDER) under grant contract TEC2014-56244-R.
