RobuCheck: A Robustness Checker for Digital Circuits

Size: px
Start display at page:

Download "RobuCheck: A Robustness Checker for Digital Circuits"

Transcription

1 RobuCheck: A Robustness Checker for Digital Circuits Stefan Frehse Görschwin Fey André Sülflow Rolf Drechsler Institute of Computer Science Bremen, Germany {sfrehse,fey,suelflow,drechsle}@informatik.uni-bremen.de Abstract Continuously shrinking feature sizes cause an increasing vulnerability of digital circuits. Manufacturing failures and transient faults may tamper the functionality. Automated support is required to analyze the fault tolerance of circuits. In this paper, ROBUCHECK is presented - a design tool to analyze the fault tolerance of digital circuits. Engines based on simulation and formal methods are integrated to identify components that require additional fault protection. Consequently, an overall estimation of fault tolerance of the circuit is determined. I. INTRODUCTION The increasing soft error rate caused by continuously shrinking feature sizes demands for fault tolerance in digital circuits. Transient or permanent faults may tamper the functionality of the circuit. Precautions against soft errors are taken at different design levels, e.g. architectural level, algorithmic level, or layout level [21], [18]. Design tools are required to verify and analyze the fault tolerance of circuits. Various techniques have been developed. On the one hand there are simulation- or emulation-based methods and on the other hand there are formal methods. Methods based on simulation (e.g. [17], [3]) are fast but cannot cover the complete input space and state space in combination with all potential faults in reasonable time. In contrast, formal methods (e.g. [8], [9], [15], [13]) are complete by proving the fault tolerance with respect to the whole input space. The integration of simulation-based methods and formal methods is very powerful. Simulation yields results even for very large systems where formal methods reach their limits. But in contrast, formal methods guarantee completeness and by this find corner case problems that would be missed by simulation. Previous work does not describe a tool that integrates the different approaches. In this paper, the ROBUCHECK framework to analyze the fault tolerance of circuits is presented. ROBUCHECK uses the underlying model of [9] to measure fault tolerance with respect to transient faults. The fault tolerance is checked for any part in the circuit, e.g. combinational logic and state elements. For this purpose, simulation and formal analysis are integrated in one framework. Moreover, the paper compares the formal engines in terms of time and space complexity, respectively. The presented framework can be embedded into the classical design-flow of digital circuits as shown in Figure 1. This work has been funded in part by DFG grants DR 287/19-1 and FE 797/5-1. Design Verification RobuCheck Layout Fig. 1. protection non-robust components Embedding in the design flow When a Register Transfer Level (RTL) description is available ROBUCHECK is used to analyze the circuit. Given a circuit description, ROBUCHECK determines components that require additional protection. Now, a designer uses the provided information to improve the fault tolerance for non-robust components. By iterating with ROBUCHECK, the designer checks the implemented fault protection logic to achieve the expected level of fault tolerance. The iteration stops, if required level of fault tolerance is achieved. ROBUCHECK integrates the previous work of [8], [9], [19], [11], [10] to a full framework for automatic analysis of fault tolerance. By this, additional methods for the classification of single components and the usage of application specific constraints are provided. Moreover, a visualization back-end supports the designer during further design steps to improve the fault tolerance. The paper is structured as follows: The next section gives an overview over ROBUCHECK and introduces the model used during the analysis. Section III describes the underlying proof engines in more detail. Finally, some use cases illustrate the application of ROBUCHECK in Section IV. Section V presents conclusions. II. MODELING AND SYSTEM OVERVIEW The underlying model and analysis methods are introduced in Section II-A and Section II-B, respectively. Section II-C gives an overview of the whole system.

2 S(0) A. Model X(1) C (1) C (1) Fig X(k) Analysis C (k) Y(k) S(k) ==? ==? C (k) Y (k) S (k) ROBUCHECK supports the classification of fault tolerance with respect to transient faults in the circuit [9]. For this purpose, a circuit is divided into components, e.g. gates or hierarchical structures. A component is classified non-robust, if a fault at the component may tamper the output behavior. A transient fault at a component is modeled by changing the value at the component non-deterministically. Using components as a base for the classification, allows to restrict the analysis to single faults of components that may correspond to multiple gate level faults in practice. For example, using the n-bit output of an adder as component covers all failures at the output and all failures of the internal gates of the adder. As a result ROBUCHECKreturns unprotected components as well as an overall estimation of the fault tolerance of the circuit. To prevent system failures, appropriate actions have to be taken if a transient fault occurs in a circuit. In practice, mechanisms to achieve fault tolerance have to handle a fault within a short period of time after the occurrence. Otherwise the fault may propagate through the system. More precisely, the fault should be corrected or reported within a predefined number of clock cycles. Consequently, the analysis can be limited to an observation window of k cycles which as a side effect reduces the complexity of the analysis. Based on this model ROBUCHECK partitions components into three classes: A component is robust, if its failure cannot affect the output behavior or the internal state of the circuit. A component is non-robust, if its failure may affect the output behavior within the predefined observation window. A component causes Silent Data Corruption (SDC), if its failure cannot affect the primary outputs within the predefined observation window but may corrupt the internal state. For brevity, we also say that a component is classified as SDC. Based on this classification, bounds of the fault tolerance of a circuit are defined. The lower bound is the percentage of robust components. The upper bound is given by the percentage of components classified as robust or SDC. Additionally, the model of [9] also exploits fault detection logic flagging a fault signal after detecting a fault. This extension is also included in ROBUCHECK. B. Analysis As suggested in [9], each component g is extended by fault injection logic that allows to replace the original value of g with a non-deterministic value. A transient fault is modeled by activating the fault injection logic at g. In Figure 2 a schematic view of the model for the analysis is shown. The circuit under verification C and a copy C with fault injection logic are compared. Both circuits start in the same arbitrary state denoted by S(0) and are stimulated by the same input traces. According to the transient fault model a single fault is injected in the first time frame, indicated bye. For each time frame, it is check whether a fault affects the outputs or state elements, respectively (indicated by ==?). Based on this analysis components are classified robust, nonrobust, and SDC. The constraints on S(0) significantly influence the computed fault tolerance. If S(0) is too restrictive, i.e. not all reachable states are considered while analyzing the design, too many components may be classified as robust. On the other hand, if non-reachable states are allowed on S(0) components may be classified non-robust with respect to that scenario that does not occur during normal operation. Computing the reachable state set based on Binary Decision Diagrams (BDDs) [2] is often infeasible in terms of memory and run time. A tradeoff between accuracy and computational overhead is possible. ROBUCHECK integrates exact computation of reachable states based on BDDs [2], but also supports the computation of overand under-approximations [9]. Furthermore, constraints can be added to compute fault tolerance with respect to a given specification [19]. For example, if a program runs on a fault tolerant CPU, the data of the program has to be taken into account. By constraining input traces and memory states, only relevant data of the desired program is considered, such that the fault tolerance with respect to the program is computed. C. System Overview Figure 3 gives an overview of our framework. ROBUCHECK automatically computes the fault tolerance given the following input: i) the design under verification (in Verilog [12] or BLIF format [7]); ii) the component model for the analysis, e.g. register transfer level or gate level; iii) the length of the observation window (k time steps). Non-formal and formal engines are integrated into ROBUCHECK to perform the analysis: a simulation-based engine (SIM), an engine based on Sequential Equivalence Checking (SEC), and an engine based on Automatic Test Pattern Generation (ATPG). All engines use the same analysis model (see Section II-A), but have specific advantages and disadvantages. The simulation engine provides a rough estimate about the fault tolerance of the circuit. First components are classified non-robust which reduces the search space for the following formal analysis. A formal analysis based on SEC analyzes the remaining components using a formal model of the full circuit [9]. A model adapted from ATPG is capable to formally analyze the fault tolerance of single components. The SECengine and the ATPG-engine use a solver for Boolean Satisfi-

3 DESIGN ROBUCHECK VISUALIZATION COMPONENT MODEL OBSERVATION WINDOW SIM SEC ATPG Fig. 3. ROBUCHECK robust non-robust SDC ability (SAT) as a back-end [5], [6]. In the last decades, SAT solvers have become very efficient due to sophisticated techniques like e.g. conflict-analysis [14], Boolean constraint propagation [16], and incremental learning [20]. The SEC-engine and the ATPG-engine are core features of ROBUCHECK. The graphical back-end of ROBUCHECK supports the designer during subsequent analysis steps. Non-robust components and components that cause SDC are highlighted in the design and give an overview about parts that may be influenced by transient faults and thus require additional fault protection mechanisms. Non-robust components are visualized using the strong visualization capabilities of RTLvision TM [4]. Some of the core features are: hierarchical schematic view, source code browsing, and cross-probing between schematic view, and source code. III. ENGINES This section briefly describes the engines and improvements to speed up the analysis. Features of the engines are discussed. A. Simulation Randomized fault injection computes an initial set of nonrobust components. Faults are randomly injected and random stimuli are applied to analyze the influence on the circuit s behavior. Whenever an injected fault becomes visible at a primary output, the component is classified as non-robust. When the internal state is changed, SDC occurs. Simulation cannot determine robust components, because typically a complete simulation of all input stimuli is infeasible. The simulation always starts from the reset state to avoid reachability issues discussed above. The simulation stops, if i) a pre-defined number of traces has been simulated or ii) all components are classified as non-robust. Fault simulation allows for a fast classification in case of non-robust circuits. In contrast, for very robust circuits the simulation causes an overhead as no components can be classified. B. Sequential Equivalence Checking The SEC-engine performs a formal equivalence check of the circuit under fault assumption and a fault free version of the circuit. Given a circuit C, a copy C containing fault injection logic for all non-classified components is created. Both circuits are unrolled up to a pre-defined number of time frames according to the length k of the observation window as specified by the user. Then, the behavior of the two circuits is analyzed assuming that at most one transient fault is injected intoc within the observation window. A cardinality constraint is applied to ensure that the fault injection logic at exactly one component is activated. Starting with a single time frame, the classification starts by forcing the outputs of C and C to be different. If there exists a fault, there exists an assignment to primary inputs and to the initial state such that the primary outputs differ; the component where the fault occurs is classified as non-robust. In the same way components are classified as SDC by forcing differing states between C and C. While components remain that are classified as SDC, the classification proceeds. The formal model is iteratively extended to additional time frames. The classification stops, if i) all components are classified as either robust or non-robust, or ii) the user-specified length of the observation window is reached. This formal model is similar to the one of Bounded Model Checking (BMC) [1]. As an advantage all components can be classified using a single formal model. But memory and run time limits may be reached even for circuits of moderate size. For this reason an additional ATPG-based engine is integrated in ROBUCHECK. C. Automatic Test Pattern Generation The ATPG-engine classifies a single component at a time. By this, the formal analysis on the ATPG-like model leads to smaller instances and single components can be classified with respect to a larger number of time frames. While the model for SEC always contains the whole circuit, the model for ATPG only contains the output cone of the component under consideration and the transitive input cone of all primary outputs included. Moreover, fault injection logic is only required for the single component under consideration and fault free parts of C and C are shared. As in SEC the analysis proceeds by iteratively extending the analysis starting from a single time frame up to the length of the observation window. The classification stops, if i) the component is classified as non-robust or robust, or ii) the model reached the length of the observation window. D. Comparison Table I shows a comparison of both formal engines. SATinstances are denoted by Φ in the following and Φ denotes the size of the SAT instance given as the number of clauses. The size C of a circuit C is given by the number of basic gates (AND, OR, etc.) required for the realization. The length of the observation window is denoted by k. Given a sequential circuit C, the ATPG-engine creates a SAT-instance Φ ATPG only for the relevant parts with respect to a single component. However, in the worst case the engine may have to consider a fault free version and a faulty version of the whole circuit. Thus, the size of the SAT instance is in O( C k) for analyzing k time frames.

4 TABLE I COMPARISON OF FORMAL ENGINES ATPG SEC Size of SAT instance O( C k) two copies of C Θ( C k) two copies of C plus fault injection logic per comp. Number of SAT instances C 1 Reuse of learned information for a single component; for all time frames for all components; for all time frames SAT-calls r = #robust comp., n =#non-robust comp., u =#classified as SDC O((r+n+u) k) =O( C k) O((n+u) k) Size of the search space 2 PI k+ FF +l 2 PI k+ FF + C l The SEC-engine always considers the whole circuit in the SAT instance Φ SEC, i.e. the size of Φ SEC is in Θ( C k) when considering k time frames. The size of the instances and the memory usage of ATPG is smaller than for the SEC approach, i.e. Φ ATPG Φ SEC. The second row gives the number of SAT-instances typically created by the engines. ATPG requires up to one SAT instance per component that is iteratively extended to the full observation window. The SEC approach only uses a single SAT instance to classify all components. This also explains the utilization of learned information in the third row. ATPG learns information for a single component, drops the SAT instance afterwards and starts from scratch for the next component. The SEC engine accumulates learned information for all components. The number of SAT calls depends on the robustness of the circuit. The ATPG engine handles each component individually and thus requires one call per component and per time frame. The SEC engine is more efficient on circuits with a large number of robust components. Here, only one SAT call is required to determine a large set of robust components simultaneously. Consequently, both engines are working on slightly different search spaces. In principle, the SAT solver searches for full assignments for all variables in the SAT instance. But given the structural knowledge, after assigning values to variables describing the initial state, the values of primary inputs and the faulty values any other variable receives an assignment by simulation (or Boolean constraint propagation in a SAT solver, respectively). As shown in the last row, the ATPG engine determines values for all flip-flops (FF) for the initial state, for the primary inputs PI for all k time frames considered and for l bits defining the output value of the faulty component, leading to a search space of 2 PI k+ FF +l assignments. The SEC engine additionally classifies which component is faulty, described by a search space of 2 PI k+ FF + C l assignments. The formal engines create copies of the circuit in the problem instances. Compared to this, the overhead to run the simulation is very small. The simulation runs directly on the internal circuit graph of ROBUCHECK. But only a single input trace is considered at a time. Moreover, only a single fault can be injected at a time to perform a correct analysis. Only if the fault is injected at a component sensitized under the trace and in the given state, erroneous output values or SDC can be observed. As a result, simulation is relatively weak even in identifying non-robust components but it is very fast and handles large circuits. IV. USE CASES In this section, use cases for different circuits and different configurations of ROBUCHECK are presented. A. Detecting Implementation Weaknesses The aim of ROBUCHECK is in verifying the fault tolerance of a digital circuit and providing an overall measurement of the robustness. The following use case demonstrates the effectiveness of ROBUCHECK. Assuming a designer has implemented a circuit with precautions against transient faults using Triple Modular Redundancy (TMR) of the functional units with voter logic. All signals in the TMR modules are protected against transient faults given a correct implementation of the voter logic. This correctness can be checked using ROBUCHECK. Exemplarily, the plain ITC 99 circuit b01 was extended to a TMR implementation. The resulting circuit has two inputs and outputs with overall 226 signals and 198 gates. Due to the TMR implementation, the circuit masks single faults and contains 98% robust components. Only primary inputs and the logic that drives the primary output may be affected by transient faults. The formal engines are quite effective. Both formal engines compute the exact fault tolerance within 20 seconds (SEC:

5 Fig. 4. Visualization TABLE II INFLUENCE OF STATES Name Lower Bound Upper Bound Approx. Exact Approx. b10 0.0% 0.4% 1.7% 1.7% b10-par 81.3% 83.2% 83.2% 83.2% b10-tmr 1.5% 8.9% 97.8% 97.8% b10-tmrflt 97.8% 97.8% 97.8% 97.8% 12s, ATPG: 19s). In comparison to this, the engine based on simulation required 50 seconds to simulate over two million traces and cycles. In this setting simulation and formal analysis determined the same robustness values. However, no proof can be given by the simulation engine whether there are more non-robust components contained in the circuit or not. Here, the formal engines provide a proof within a short run time. Figure 4 visualizes the results using the graphical back-end of ROBUCHECK. Most components are robust (denoted by output signal in green color or, if printed in greyscale, in light grey). Only faults occurring directly at the primary inputs or at the primary output cause erroneous output. The corresponding non-robust components are marked in red or dark grey. The circuit does not contain components that, if failing, only cause SDCs without corrupting the output data. B. Robustness Computation In order to compute the exact robustness of a digital circuit, the set of reachable states must be known. But the computation of reachable states is expensive. Our approach is also able to use an approximation of the set of reachable states to approximate the robustness of a circuit [9] as explained in Section II-B. To demonstrate the outcome, the ITC 99 circuit b10 has been extended with: i) a parity checker for fault detection (b10-par), ii) TMR without fault detection (b10-tmr), and iii) TMR with fault detection (b10-tmrflt). Table II lists results of the robustness computation for the exact and the approximate approach. As explained in Section II-A a lower and an upper bound are calculated. If all components are classified the lower and the upper bound meet at a precise value. Whether all components can be classified within the observation window of 10 time steps depends on the circuit. Consider the exact values at first. In case of b10-tmr silent data corruption is not detected. Therefore a large set of components remains non-classified resulting in a wide gap between the lower bound of 8.9% and the upper bound of 97.8%. For the other circuits most but not all components are classified. The approximate values are close to the exact values for both bounds showing a good quality for the approximate approach. The advantage of the approximate approach are shorter run times in all cases. The exact approach was 2 to 1000 times slower. In particular, the approximate approach can even handle those circuits where the exact set of reachable states is not available. C. Detailed Example In this section a detailed example is presented. The circuit consists of three counters with voter logic. Figure 5 shows an overview. All state elements are initialized to 0. When the signal count is one, the internal counters are incremented by one. Otherwise the internal value does not change. The output value gives the current value of the counters. Moreover, the three counter modules are synchronized at every sixth clock cycle. The number of cycles that passed after the last synchronization is given by the output cycle. After five clock cycles majority voting is used to determine the value loaded into each of the three submodules. In Figure 6 the result of ROBUCHECK is presented. Results for the exact set of reachable states are shown in Figure 6(a). While the observation window is extended (along the x-axis) more and more components are classified as being either robust or non-robust. The upper bound decreases quite fast to the final value of 82% propagation of fault effects can be done very fast in this circuit. The lower bound reaches the final value only after analyzing six time frames. This is the number of clock cycles required to re-synchronize the counters, i.e. after six time frames SDC corruption is corrected. Figure 6(b) considers an approximate check. The underapproximation of reachable states leads to an upper bound for the robustness. Non-robust components are classified effectively for this circuit. In contrast an overapproximation of reachable states which yields a lower bound for the robustness remains relatively inaccurate. Here, a better approximation of the reachable states can be applied. This example shows how some insight into the circuit helps to determine the observation window required to fully analyze the circuit. Moreover, while ROBUCHECK is running, intermediate results of the analysis are available until the full observation window is reached. V. CONCLUSION The tool ROBUCHECK analyzes whether a circuit can be corrupted by transient faults like single event upsets, etc. Multiple engines are integrated to facilitate a high coverage of the functional space of the circuit. The formal engines even ensure that the full functional space under any potential fault is analyzed. But the formal approach cannot be applied to very large circuits. In this case a simulation based engine helps to identify non-robust components in the circuit.

6 Fig. 5. Detailed example (a) Exact Fig. 6. (b) Approximation Robustness Analysis for the fault tolerant counter REFERENCES [1] A. Biere, A. Cimatti, E. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Tools and Algorithms for the Construction and Analysis of Systems, volume 1579 of LNCS, pages Springer Verlag, [2] R. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Trans. on Comp., 35(8): , [3] P. Civera, L. Macchiarulo, M. Rebaudengo, M. S. Reorda, and M. Violante. An FPGA-based approach for speeding-up fault injection campaigns on safety-critical circuits. Jour. of Electronic Testing: Theory and Applications, 18(3): , [4] Concept Engineering GmbH. RTLvision PRO [5] M. Davis, G. Logeman, and D. Loveland. A machine program for theorem proving. Comm. of the ACM, 5: , [6] N. Eén and N. Sörensson. An extensible SAT solver. In SAT 2003, volume 2919 of LNCS, pages , [7] Electronics Research Laboratory, University of California at Berkeley. OCTTOOLS-5.2 Part II Reference Manual, Mar [8] G. Fey and R. Drechsler. A basis for formal robustness checking. In Int l Symp. on Quality Electronic Design, pages , [9] G. Fey, A. Sülflow, and R. Drechsler. Computing bounds for fault tolerance using formal techniques. In Design Automation Conf., pages , [10] S. Frehse, G. Fey, and R. Drechsler. A better-than-worst-case robustness measure. In IEEE Workshop on Design and Diagnostics of Electronic Circuits and Systems, [11] S. Frehse, G. Fey, A. Sülflow, and R. Drechsler. Robustness check for multiple faults using formal techniques. In Euromicro Conference on Digital System Design (DSD), pages 85 90, [12] I. V. S. Group. IEEE Standard Verilog Hardware Description Language. [13] M. Hunger, S. Hellebrand, A. Czutro, I. Polian, and B. Becker. ATPG- Based grading of strong fault-secureness. In IEEE International On-Line Testing Symposium, pages , [14] J. Marques-Silva and K. Sakallah. GRASP: A search algorithm for propositional satisfiability. IEEE Trans. on Comp., 48(5): , [15] M. Miskov-Zivanov and D. Marculescu. Circuit reliability analysis using symbolic techniques. IEEE Trans. on CAD, 25(12): , [16] M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In Design Automation Conf., pages , [17] A. Pellegrini, K. Constantinides, D. Zhang, S. Sudhakar, V. Bertacco, and T. Austin. CrashTest: A fast high-fidelity FPGA-based resiliency analysis framework. In Int l Conf. on Comp. Design, pages , [18] O. Ruano, J. Maestro, and P. Reviriego. A methodology for automatic insertion of selective TMR in digital circuits affected by SEUs. Nuclear Science, IEEE Transactions on, 56(4): , [19] A. Sülflow, S. Frehse, G. Fey, and R. Drechsler. Anwendungsbezogene Analyse der Robustheit von digitalen Schaltungen. In GMM/GI/ITG- Fachtagung Zuverlässigkeit und Entwurf, pages 45 52, [20] J. Whittemore, J. Kim, and K. Sakallah. SATIRE: A new incremental satisfiability engine. In Design Automation Conf., pages , [21] C. Zhao and S. Dey. Improving transient error tolerance of digital VLSI circuits using RObustness COmpiler (ROCO). In Int l Symp. on Quality Electronic Design, pages , 2006.

A Basis for Formal Robustness Checking

A Basis for Formal Robustness Checking A Basis for Formal Robustness Checking Görschwin Fey 1,2 Rolf Drechsler 2 1 VLS Design & Education Center 2 nstitute of Computer Science University of Tokyo, Tokyo 113-0032, Japan University of Bremen,

More information

Acceleration of SAT-based Iterative Property Checking

Acceleration of SAT-based Iterative Property Checking Acceleration of SAT-based Iterative Property Checking Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, drechsle}@informatik.uni-bremen.de Abstract

More information

Automatic Fault Localization for Programmable Logic Controllers

Automatic Fault Localization for Programmable Logic Controllers Automatic Fault Localization for Programmable Logic Controllers André Sülflow Rolf Drechsler Institute of Computer Science, University of Bremen 28359 Bremen, Germany {suelflow, drechsle}@informatik.uni-bremen.de

More information

Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits

Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits André Sülflow Ulrich Kühne Robert Wille Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen

More information

HW/SW Co-Verification of a RISC CPU using Bounded Model Checking

HW/SW Co-Verification of a RISC CPU using Bounded Model Checking HW/SW Co-Verification of a RISC CPU using Bounded Model Checking Daniel Große Ulrich Kühne Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, ulrichk, drechsle}@informatik.uni-bremen.de

More information

Efficient Hierarchical System Debugging for Property Checking

Efficient Hierarchical System Debugging for Property Checking Efficient Hierarchical System Debugging for Property Checking Görschwin Fey Rolf Drechsler Institute of Computer Science, University of Bremen, 28359 Bremen, Germany {fey,drechsle}@informatik.uni-bremen.de

More information

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs Vol. 3, Issue. 5, Sep - Oct. 2013 pp-2894-2900 ISSN: 2249-6645 High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs M. Reddy Sekhar Reddy, R.Sudheer Babu

More information

A Toolbox for Counter-Example Analysis and Optimization

A Toolbox for Counter-Example Analysis and Optimization A Toolbox for Counter-Example Analysis and Optimization Alan Mishchenko Niklas Een Robert Brayton Department of EECS, University of California, Berkeley {alanmi, een, brayton}@eecs.berkeley.edu Abstract

More information

Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation

Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation Charlie Shucheng Zhu 1, Georg Weissenbacher 2, and Sharad Malik 1 1 Princeton University 2 Vienna University of Technology,

More information

Towards Unifying Localization and Explanation for Automated Debugging

Towards Unifying Localization and Explanation for Automated Debugging Towards Unifying Localization and Explanation for utomated Debugging Görschwin Fey ndré Sülflow Rolf Drechsler Institute of Computer Science, University of Bremen 8359 Bremen, Germany E-mail: {fey,suelflow,drechsle}@informatik.uni-bremen.de

More information

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets Stefan Disch Christoph Scholl Albert-Ludwigs-University Freiburg Institute of Computer Science Georges-Köhler-Allee

More information

Using Synthesis Techniques in SAT Solvers

Using Synthesis Techniques in SAT Solvers 1. Introduction Using Synthesis Techniques in SAT Solvers Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany drechsle@informatik.uni-bremen.de Abstract In many application

More information

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Robert Wille Daniel Große Mathias Soeken Rolf Drechsler Institute of Computer Science University of Bremen,

More information

Area Efficient Scan Chain Based Multiple Error Recovery For TMR Systems

Area Efficient Scan Chain Based Multiple Error Recovery For TMR Systems Area Efficient Scan Chain Based Multiple Error Recovery For TMR Systems Kripa K B 1, Akshatha K N 2,Nazma S 3 1 ECE dept, Srinivas Institute of Technology 2 ECE dept, KVGCE 3 ECE dept, Srinivas Institute

More information

On Resolution Proofs for Combinational Equivalence Checking

On Resolution Proofs for Combinational Equivalence Checking On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

Checking Equivalence for Circuits Containing Incompletely Specified Boxes

Checking Equivalence for Circuits Containing Incompletely Specified Boxes Freiburg, Germany, September 00 Checking Equivalence for Circuits Containing Incompletely Specified Boxes Christoph Scholl Bernd Becker Institute of Computer Science Albert Ludwigs University D 79110 Freiburg

More information

Heuristic Backtracking Algorithms for SAT

Heuristic Backtracking Algorithms for SAT Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

F-Soft: Software Verification Platform

F-Soft: Software Verification Platform F-Soft: Software Verification Platform F. Ivančić, Z. Yang, M.K. Ganai, A. Gupta, I. Shlyakhter, and P. Ashar NEC Laboratories America, 4 Independence Way, Suite 200, Princeton, NJ 08540 fsoft@nec-labs.com

More information

Enhancing Debugging of Multiple Missing Control Errors in Reversible Logic

Enhancing Debugging of Multiple Missing Control Errors in Reversible Logic Enhancing Debugging of Multiple Missing Control Errors in Reversible ogic Jean Christoph Jung Stefan Frehse Robert Wille Rolf Drechsler Institute for Computer Science 28359 Bremen, Germany {jeanjung,sfrehse,rwille,drechsle}@informatik.uni-bremen.de

More information

Automated Formal Verification of X Propagation with Respect to Testability Issues

Automated Formal Verification of X Propagation with Respect to Testability Issues Automated Formal Verification of X Propagation with Respect to Testability Issues Mehdi Dehbashi Daniel Tille Ulrike Pfannkuchen Stephan Eggersglüß Institute of Computer Science, University of Bremen,

More information

Improving the Fault Tolerance of a Computer System with Space-Time Triple Modular Redundancy

Improving the Fault Tolerance of a Computer System with Space-Time Triple Modular Redundancy Improving the Fault Tolerance of a Computer System with Space-Time Triple Modular Redundancy Wei Chen, Rui Gong, Fang Liu, Kui Dai, Zhiying Wang School of Computer, National University of Defense Technology,

More information

A Low-Cost Correction Algorithm for Transient Data Errors

A Low-Cost Correction Algorithm for Transient Data Errors A Low-Cost Correction Algorithm for Transient Data Errors Aiguo Li, Bingrong Hong School of Computer Science and Technology Harbin Institute of Technology, Harbin 150001, China liaiguo@hit.edu.cn Introduction

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction

BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction Peer Johannsen Siemens AG, Corporate Technology, Design Automation, CT SE 4 81730 Munich, Germany peer.johannsen@mchp.siemens.de

More information

Sequential Logic Rectifications with Approximate SPFDs

Sequential Logic Rectifications with Approximate SPFDs Sequential Logic Rectifications with Approximate SPFDs Yu-Shen Yang 1, Subarna Sinha, Andreas Veneris 1, Robert K. Brayton 3, and Duncan Smith 4 1 Dept. of ECE, University of Toronto, Toronto, Canada.

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

Checking Equivalence for Partial Implementations

Checking Equivalence for Partial Implementations Checking Equivalence for Partial Implementations Christoph Scholl Institute of Computer Science Albert Ludwigs University D 79110 Freiburg im Breisgau, Germany email: scholl@informatik.uni-freiburg.de

More information

Efficient SAT-based Boolean Matching for FPGA Technology Mapping

Efficient SAT-based Boolean Matching for FPGA Technology Mapping Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu

More information

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES

AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES AN EFFICIENT DESIGN OF VLSI ARCHITECTURE FOR FAULT DETECTION USING ORTHOGONAL LATIN SQUARES (OLS) CODES S. SRINIVAS KUMAR *, R.BASAVARAJU ** * PG Scholar, Electronics and Communication Engineering, CRIT

More information

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Stephan Eggersglüß Kenneth Schmitz René Krenz-Bååth Rolf Drechsler Institute of Computer Science University of Bremen 28359

More information

Testing Digital Systems I

Testing Digital Systems I Testing Digital Systems I Lecture 6: Fault Simulation Instructor: M. Tahoori Copyright 2, M. Tahoori TDS I: Lecture 6 Definition Fault Simulator A program that models a design with fault present Inputs:

More information

On Resolution Proofs for Combinational Equivalence

On Resolution Proofs for Combinational Equivalence 33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1

MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1 MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1 Sebastian Kinder and Rolf Drechsler Universität Bremen Address: Bibliothekstraße 1, D-28359 Bremen, Germany Phone: +49-421-218-8259, Fax:

More information

Checking Satisfiability of a Conjunction of BDDs

Checking Satisfiability of a Conjunction of BDDs 48. Checking Satisfiability of a Conjunction of BDDs Robert Damiano Advanced Technology Group Synopsys, Inc. Hillsboro, OR robertd@synopsys.com James Kukula Advanced Technology Group Synopsys, Inc. Hillsboro,

More information

Design Diagnosis Using Boolean Satisfiability

Design Diagnosis Using Boolean Satisfiability Design Diagnosis Using Boolean Satisfiability Alexander Smith Andreas Veneris Anastasios Viglas University of Toronto University of Toronto University of Toronto Dept ECE Dept ECE and CS Dept CS Toronto,

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

An Integrated ECC and BISR Scheme for Error Correction in Memory

An Integrated ECC and BISR Scheme for Error Correction in Memory An Integrated ECC and BISR Scheme for Error Correction in Memory Shabana P B 1, Anu C Kunjachan 2, Swetha Krishnan 3 1 PG Student [VLSI], Dept. of ECE, Viswajyothy College Of Engineering & Technology,

More information

Multiple Event Upsets Aware FPGAs Using Protected Schemes

Multiple Event Upsets Aware FPGAs Using Protected Schemes Multiple Event Upsets Aware FPGAs Using Protected Schemes Costas Argyrides, Dhiraj K. Pradhan University of Bristol, Department of Computer Science Merchant Venturers Building, Woodland Road, Bristol,

More information

Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving

Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving Provably Optimal Test Cube Generation using Quantified Boolean Formula Solving ASP-DAC 2013 Albert-Ludwigs-Universität Freiburg Matthias Sauer, Sven Reimer, Ilia Polian, Tobias Schubert, Bernd Becker Chair

More information

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets ASP-DAC 2007 Yokohama Combinational Equivalence Checking Using Incremental SAT Solving, Output ing, and Resets Stefan Disch Christoph Scholl Outline Motivation Preliminaries Our Approach Output ing Heuristics

More information

Defect Tolerance in VLSI Circuits

Defect Tolerance in VLSI Circuits Defect Tolerance in VLSI Circuits Prof. Naga Kandasamy We will consider the following redundancy techniques to tolerate defects in VLSI circuits. Duplication with complementary logic (physical redundancy).

More information

Redundancy in fault tolerant computing. D. P. Siewiorek R.S. Swarz, Reliable Computer Systems, Prentice Hall, 1992

Redundancy in fault tolerant computing. D. P. Siewiorek R.S. Swarz, Reliable Computer Systems, Prentice Hall, 1992 Redundancy in fault tolerant computing D. P. Siewiorek R.S. Swarz, Reliable Computer Systems, Prentice Hall, 1992 1 Redundancy Fault tolerance computing is based on redundancy HARDWARE REDUNDANCY Physical

More information

Evaluating Debugging Algorithms from a Qualitative Perspective

Evaluating Debugging Algorithms from a Qualitative Perspective 1 Evaluating Debugging Algorithms from a Qualitative Perspective Alexander Finder Görschwin Fey Group of Computer Architecture University of Bremen, 28359 Bremen, Germany {final, fey}@informatik.uni-bremen.de

More information

An Efficient Method for Multiple Fault Diagnosis

An Efficient Method for Multiple Fault Diagnosis An Efficient Method for Multiple Fault Diagnosis Khushboo Sheth Department of Electrical and Computer Engineering Auburn University, Auburn, AL Abstract: In this paper, failing circuits are analyzed and

More information

12. Use of Test Generation Algorithms and Emulation

12. Use of Test Generation Algorithms and Emulation 12. Use of Test Generation Algorithms and Emulation 1 12. Use of Test Generation Algorithms and Emulation Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin

More information

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

More information

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs

An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs An Architecture for Fail-Silent Operation of FPGAs and Configurable SoCs Lee W. Lerner and Charles E. Stroud Dept. of Electrical and Computer Engineering Auburn University Auburn, AL, USA Abstract We present

More information

Combinational Equivalence Checking

Combinational Equivalence Checking Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in

More information

SEE Tolerant Self-Calibrating Simple Fractional-N PLL

SEE Tolerant Self-Calibrating Simple Fractional-N PLL SEE Tolerant Self-Calibrating Simple Fractional-N PLL Robert L. Shuler, Avionic Systems Division, NASA Johnson Space Center, Houston, TX 77058 Li Chen, Department of Electrical Engineering, University

More information

A Fault-Tolerant Alternative to Lockstep Triple Modular Redundancy

A Fault-Tolerant Alternative to Lockstep Triple Modular Redundancy A Fault-Tolerant Alternative to Lockstep Triple Modular Redundancy Andrew L. Baldwin, BS 09, MS 12 W. Robert Daasch, Professor Integrated Circuits Design and Test Laboratory Problem Statement In a fault

More information

Combining Abstraction Refinement and SAT-Based Model Checking

Combining Abstraction Refinement and SAT-Based Model Checking Combining Abstraction Refinement and SAT-Based Model Checking Nina Amla and Kenneth L. McMillan Cadence Design Systems Abstract. Unbounded model checking methods based on Boolean satisfiability (SAT) solvers

More information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

More information

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz 1, Ziyad Hanna 2, and Alexander Nadel 1,2 1 School of Computer Science, Tel Aviv University, Ramat Aviv, Israel {nachumd,

More information

Boolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University

Boolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University Boolean Satisfiability: From Theoretical Hardness to Practical Success Sharad Malik Princeton University SAT in a Nutshell Given a Boolean formula, find a variable assignment such that the formula evaluates

More information

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore VLSI Testing Fault Simulation Virendra Singh Indian Institute of Science Bangalore virendra@computer.org E0 286: Test & Verification of SoC Design Lecture - 4 Jan 25, 2008 E0-286@SERC 1 Fault Model - Summary

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May-2013 ISSN

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May-2013 ISSN 255 CORRECTIONS TO FAULT SECURE OF MAJORITY LOGIC DECODER AND DETECTOR FOR MEMORY APPLICATIONS Viji.D PG Scholar Embedded Systems Prist University, Thanjuvr - India Mr.T.Sathees Kumar AP/ECE Prist University,

More information

VLSI System Testing. Fault Simulation

VLSI System Testing. Fault Simulation ECE 538 VLSI System Testing Krish Chakrabarty Fault Simulation ECE 538 Krish Chakrabarty Fault Simulation Problem and motivation Fault simulation algorithms Serial Parallel Deductive Concurrent Random

More information

SAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010

SAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010 SAT Solvers: A Condensed History Sharad Malik Princeton University COS 598d 3/1/2010 Where are we today? Intractability of the problem no longer daunting Can regularly handle practical instances with millions

More information

Eliminating Single Points of Failure in Software Based Redundancy

Eliminating Single Points of Failure in Software Based Redundancy Eliminating Single Points of Failure in Software Based Redundancy Peter Ulbrich, Martin Hoffmann, Rüdiger Kapitza, Daniel Lohmann, Reiner Schmid and Wolfgang Schröder-Preikschat EDCC May 9, 2012 SYSTEM

More information

At-Speed Scan Test with Low Switching Activity

At-Speed Scan Test with Low Switching Activity 21 28th IEEE VLSI Test Symposium At-Speed Scan Test with Low Switching Activity Elham K. Moghaddam Department of ECE, University of Iowa, Iowa City, IA 52242 ekhayatm@engineering.uiowa.edu Janusz Rajski

More information

Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs

Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs Fast SEU Detection and Correction in LUT Configuration Bits of SRAM-based FPGAs Hamid R. Zarandi,2, Seyed Ghassem Miremadi, Costas Argyrides 2, Dhiraj K. Pradhan 2 Department of Computer Engineering, Sharif

More information

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGA Architectures and Operation for Tolerating SEUs Chuck Stroud Electrical and Computer Engineering Auburn University Outline of Presentation Field Programmable Gate Arrays (FPGAs( FPGAs) How Programmable

More information

EDAC FOR MEMORY PROTECTION IN ARM PROCESSOR

EDAC FOR MEMORY PROTECTION IN ARM PROCESSOR EDAC FOR MEMORY PROTECTION IN ARM PROCESSOR Mrs. A. Ruhan Bevi ECE department, SRM, Chennai, India. Abstract: The ARM processor core is a key component of many successful 32-bit embedded systems. Embedded

More information

Local Two-Level And-Inverter Graph Minimization without Blowup

Local Two-Level And-Inverter Graph Minimization without Blowup Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,

More information

ARITHMETIC operations based on residue number systems

ARITHMETIC operations based on residue number systems IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 53, NO. 2, FEBRUARY 2006 133 Improved Memoryless RNS Forward Converter Based on the Periodicity of Residues A. B. Premkumar, Senior Member,

More information

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 Verifying Integrity of Decision Diagrams Rolf Drechsler Institute of Computer Science Albert-Ludwigs-University

More information

Formal Verification throughout the Development of Robust Systems

Formal Verification throughout the Development of Robust Systems Formal Verification throughout the Development of Robust Systems Niels Thole Group of Reliable Embedded Systems University of Bremen Dissertation for the acquisition of the doctorate in engineering Dr.-Ing.

More information

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes 1 U.Rahila Begum, 2 V. Padmajothi 1 PG Student, 2 Assistant Professor 1 Department Of

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

A Modelling and Analysis Environment for LARES

A Modelling and Analysis Environment for LARES A Modelling and Analysis Environment for LARES Alexander Gouberman, Martin Riedl, Johann Schuster, and Markus Siegle Institut für Technische Informatik, Universität der Bundeswehr München, {firstname.lastname@unibw.de

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Low Cost Convolutional Code Based Concurrent Error Detection in FSMs

Low Cost Convolutional Code Based Concurrent Error Detection in FSMs Low Cost Convolutional Code Based Concurrent Error Detection in FSMs Konstantinos Rokas & Yiorgos Makris Electrical Engineering Department Yale University {konstantinos.rokas, yiorgos.makris}@yale.edu

More information

A Robust Bloom Filter

A Robust Bloom Filter A Robust Bloom Filter Yoon-Hwa Choi Department of Computer Engineering, Hongik University, Seoul, Korea. Orcid: 0000-0003-4585-2875 Abstract A Bloom filter is a space-efficient randomized data structure

More information

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

Equivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs

Equivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs Equivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs Takeshi Matsumoto, Hiroshi Saito, and Masahiro Fujita Dept. of Electronics Engineering, University of Tokyo

More information

Self-checking combination and sequential networks design

Self-checking combination and sequential networks design Self-checking combination and sequential networks design Tatjana Nikolić Faculty of Electronic Engineering Nis, Serbia Outline Introduction Reliable systems Concurrent error detection Self-checking logic

More information

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Joao Marques-Silva and Vasco Manquinho School of Electronics and Computer Science, University of Southampton, UK IST/INESC-ID,

More information

Functional Fault Equivalence and Diagnostic Test Generation in Combinational Logic Circuits Using Conventional ATPG

Functional Fault Equivalence and Diagnostic Test Generation in Combinational Logic Circuits Using Conventional ATPG Functional Fault Equivalence and Diagnostic Test Generation in Combinational Logic Circuits Using Conventional ATPG Andreas Veneris, Robert Chang Magdy. Abadir ep eyedi Abstract Fault equivalence is an

More information

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES

HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES HDL IMPLEMENTATION OF SRAM BASED ERROR CORRECTION AND DETECTION USING ORTHOGONAL LATIN SQUARE CODES (1) Nallaparaju Sneha, PG Scholar in VLSI Design, (2) Dr. K. Babulu, Professor, ECE Department, (1)(2)

More information

Cost-efficient Formal Block Verification for ASIC Design

Cost-efficient Formal Block Verification for ASIC Design Cost-efficient Formal Block Verification for ASIC Design K. Winkelmann Infineon Technologies A G klaus.winkelmann@infineon.com D. Stoffel Universität Kaiserslautern s t o f f e l @eit.uni - kl.de J. Trylus

More information

On Test Generation by Input Cube Avoidance

On Test Generation by Input Cube Avoidance On Test Generation by Input Cube Avoidance Irith Pomeranz 1 and Sudhakar M. Reddy 2 School of Electrical & Computer Eng. Electrical & Computer Eng. Dept. Purdue University University of Iowa W. Lafayette,

More information

HW/SW Co-Detection of Transient and Permanent Faults with Fast Recovery in Statically Scheduled Data Paths

HW/SW Co-Detection of Transient and Permanent Faults with Fast Recovery in Statically Scheduled Data Paths HW/SW Co-Detection of Transient and Permanent Faults with Fast Recovery in Statically Scheduled Data Paths Mario Schölzel Department of Computer Science Brandenburg University of Technology Cottbus, Germany

More information

Solver Technology for System-level to RTL Equivalence Checking

Solver Technology for System-level to RTL Equivalence Checking Solver Technology for System-level to RTL Equivalence Checking Alfred Koelbl Reily Jacoby Himanshu Jain Carl Pixley koelbl@synopsys.com reilyj@synopsys.com hjain@synopsys.com cpixley@synopsys.com Verification

More information

Sequential Circuit Testing 3

Sequential Circuit Testing 3 Sequential Circuit Testing 3 Recap: Approaches State table analysis Machine identification (checking sequence) method Time-frame expansion Misc. Issues Controlling and observing internal states of a sequential

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering, Diagnostic and Detection Fault Collapsing for Multiple Output Circuits Raja K. K. R. Sandireddy Dept. Of Electrical and Computer Engineering, Auburn University, Auburn AL-36849 USA Outline Introduction

More information

Software-based Fault Tolerance Mission (Im)possible?

Software-based Fault Tolerance Mission (Im)possible? Software-based Fault Tolerance Mission Im)possible? Peter Ulbrich The 29th CREST Open Workshop on Software Redundancy November 18, 2013 System Software Group http://www4.cs.fau.de Embedded Systems Initiative

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

More information

outline Reliable State Machines MER Mission example

outline Reliable State Machines MER Mission example outline Reliable State Machines Dr. Gary R Burke California Institute of Technology Jet Propulsion Laboratory Background JPL MER example JPL FPGA/ASIC Process Procedure Guidelines State machines Traditional

More information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University

More information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning Techniques for Pseudo-Boolean Solving and Optimization Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability

More information

Hardware Implementation of a Fault-Tolerant Hopfield Neural Network on FPGAs

Hardware Implementation of a Fault-Tolerant Hopfield Neural Network on FPGAs Hardware Implementation of a Fault-Tolerant Hopfield Neural Network on FPGAs Juan Antonio Clemente a, Wassim Mansour b, Rafic Ayoubi c, Felipe Serrano a, Hortensia Mecha a, Haissam Ziade d, Wassim El Falou

More information

Functional Test Generation Using Design and Property Decomposition Techniques

Functional Test Generation Using Design and Property Decomposition Techniques Functional Test Generation Using Design and Property Decomposition Techniques HEON-MO KOO and PRABHAT MISHRA Department of Computer and Information Science and Engineering, University of Florida Functional

More information