Logic Debugging of Arithmetic Circuits

Size: px
Start display at page:

Download "Logic Debugging of Arithmetic Circuits"

Transcription

1 Logic Debugging o Arithmetic Circuits Samaneh Ghandali, Cunxi Yu, Duo Liu, Walter Brown, Maciej Ciesielski University o Massachusetts, Amherst, USA {samaneh, ycunxi, duo, webrown, ciesiel}@umass.edu Abstract This paper presents a novel diagnosis and logic debugging method or gate-level arithmetic circuits. It detects logic bugs in a synthesized circuit caused by using a wrong gate ( gate replacement error), which change the unctionality o the circuit. The method is based on modeling the circuit in an algebraic domain and computing its algebraic signature. The location and type o the bug is determined by comparing signatures computed in both directions, using orward (PI to PO) and backward (PO to PI) rewriting. It will also perorm automatic correction or the detected bugs. The approach is demonstrated and tested on a set o integer combinational arithmetic circuits. Keywords Formal veriication; Logic debugging; Arithmetic circuits. I. INTRODUCTION As today s VLSI designs grow in complexity and size, design errors become more requent and diicult to track []. The process o veriying the unctional correctness o a design, determining the source o potential errors and correcting those errors, can take up to 7% o the overall design time []. Recent developments have automated most o the veriication tasks, but debugging, i.e., error localization and correction, still remains a resource intensive, manually conducted process [4]. Eicient automated debugging techniques are necessary to complement and enhance the veriication techniques. Traditional automated debugging solutions or hardware designs are based on simulation, critical path tracing [5], BDDs and *BMDs [6]. Recent automated debugging methods tend to rely on SAT solvers. In [7] error detection is acilitated by adding corrector models to the circuit implementation and mapping it into a Boolean ormula in CNF. By solving the resulting SAT problem, a set o suspect error locations are obtained. This approach, however, is restricted by the perormance and capacity o the available SAT solvers. Other techniques, such as those based on Quantiied Boolean Formula (QBF) [8], abstraction and reinement in error localization [9], and maximum satisiability [], [], are used to improve SATbased debugging method. However, the perormance o these methods and their capability to handle large designs remain limited by SAT. In order to reduce the number o SAT solver calls, the concept o reverse dominators was introduced in [] to allow or early pruning o non-solution areas o the problem search space. FPGA-based debugging methodology, proposed in [], [4], [5], locally modiies the circuit structure. The diagnosis problem or sequential circuits is typically structured as bounded model checking (BMC) [6], [7] and ormulated as a SAT problem. In [7], resynthesis method guided by counterexamples perorms gate-level circuit repair, based on error traces composed o input vectors and output responses. The method described in [8],[9] introduces an abstraction and reinement algorithm or design debugging built upon a time-windowing ramework to manage excessive error trace lengths. Non-modeled portions o the trace are approximated using a path directed abstraction that represents structural circuit paths. Due to the inherent iterative nature o the algorithm, perormance remains the crucial issue in this work. A debugging technique applicable to divider circuits is proposed in []. It is based on a reverse-engineering mechanism o extracting a high level arithmetic model, called Functional Bit Level Adder (FBLA), which may be diicult to obtain in synthesized circuits. Furthermore, these methods can only reason about the correctness o the quotient part o the result using iterative subtraction model, but not about the entire divider circuit. In [] veriication o RTL code to optimize assertion coverage is proposed. Their algorithm can be used to isolate only those statements that are covered by an assertion as the most likely location o the bug. However, the problem o generating assertions remains open. In this paper, we introduce a novel diagnosis and logic debugging method or gate-level arithmetic circuits. The proposed method is part o the unctional veriication approach proposed in []. It detects the logical bugs, caused by using a wrong gate ( gate replacement bug) or inversion o an internal signal, that change the unctionality o the circuit. It will also perorm automatic correction or the detected bugs. The approach assumes a single-gate replacement error, caused by using a wrong gate, but it can correct multiple independent bugs. It consists o three phases: ) the circuit is scanned orward rom the primary inputs (PI) to primary outputs (PO) and an algebraic expression (signature) is derived or each cut (a set o signals that separate PI rom PO); ) the circuit is scanned backward rom PO to PI and an algebraic signature is generated or each cut; ) the dierence between the two expressions, Δ i, at each cut is then computed. A non-zero Δ i or a given cut indicates inconsistency between the two expressions, showing that there is a bug located at this cut. The value o Δ i is then analyzed to determine the source o the bug and to correct it. Under certain conditions several bugs in the same cut can be corrected simultaneously. The rest o this paper is organized as ollows. Section II describes preliminaries. Section III explains in detail the proposed diagnosis and debugging method. Section IV presents experimental results and Section V provides summary and conclusions.

2 II. PRELIMINARIES We ollow the arithmetic veriication approach proposed in [], with the circuit modeled as a network o basic logic gates (AND, OR, XOR, INV, etc.). Each gate is represented as a pseudo-boolean polynomial poly[x], with Boolean variables X = {x,..., x n} and integer coeicients rom Z n. The ollowing equations summarize algebraic representation o basic Boolean operators: a = a a b = a b a b = a + b a b () a b = a + b a b Deinition (Input Signature): The input signature, Sig in, is a polynomial in primary input variables that uniquely represents an integer unction computed by the circuit, i.e., its speciication. For example, an n-bit binary adder with inputs {a,,a n,b,,b n }, is described by n i n Sig i in = i= ai + i = bi. The input signature o a -bit signed multiplier is Sig in = ( a +a )( b +b ) = 4a b a b a b +a b, etc. The integer coeicients (weights) associated with the circuit signals are uniquely determined by the intended circuit unction (speciication). For example, in an adder, the coeicients o the primary inputs at bit position i are c(a i) = c(b i) = i. Deinition (Output Signature): the output signature, Sig out, o the circuit is deined as a polynomial in the primary output signals. Such a polynomial is uniquely determined by an n-bit encoding o the output provided by the designer. For example, the output signature o the -bit signed multiplier is 8z +4z +z +z. In general, an output signature o an unsigned arithmetic circuit with n output bits is represented as a n i linear polynomial, Sigout = i = zi. The coeicients o the primary outputs are also unique, deined by the known output encoding. Deinition (Cut Signature): The cut is a set o signals that separates PI rom PO. The signature o a cut is a polynomial expression in signal variables o the cut that represents the integer number computed by the circuit. The selection o the cuts is an important issue in this approach, as it aects the eiciency o inding the bugs. In the worst case, two cuts may only dier by a single gate. For illustration purpose we assume that the cuts are determined by the topological ordering o signals w.r.t. PI, but other choices exist (determining the best set is part o the uture work). Example : Figure shows a two-bit adder, with Sig in = a +b +a +b, Sig out = 4r +r +r, and topological cuts, labeled,...,. The meaning o Δ i in the igure will be explained in Section III.C. This circuit will be used as a running example in the paper. As shown in [], in a bug-ree arithmetic circuit, the expressions or any two cuts, although expressed by dierent polynomials, always evaluate to the same value, i.e., (cut i) = (cut j), or any {i, j}. This undamental property o the arithmetic circuit serves as basis o the proposed diagnostics and debugging approach. III. BUG IDENTIFICATION Our debugging method consists o: computing cut signatures by orward rewriting, backward rewriting, and comparing the pairs o signatures or each cut to identiy and ix the bugs. A. Forward (PI-PO) rewriting The orward (PI-PO) rewriting starts by dividing the initial polynomial, Sig in, by the polynomials describing the logic gates connected to the PI signals. The goal is to replace the input variables associated with the PI gates with an expression involving the corresponding gate outputs. This produces an expression in the new set o variables, moving away rom PI. While in principle this can be done one gate at a time, one can eliminate several gates at once to speed up the process. To do this division eiciently, knowledge o the signal coeicients (weights) is needed. We explain how to calculate the required coeicients o the newly introduced variables using the structures shown in Figure. Fig.. Two-bit adder circuit with topological cuts. Figure (a) shows a hal-adder (HA) circuit, consisting o a pair (XOR, AND) with common variables. Using the notation in the igure and the algebraic representation o the logic gates given in Eq.(), the computation o the output coeicients o the hal-adder circuit with inputs (a,b) and outputs (m,n) is perormed as ollows: Sig in(ha) = c a+c b Sig out(ha) = c m+ c n = c (a+b-ab) + c ab Since Sig in(ha) = Sig out(ha), we have: c a+c b c (a+b ab) c ab =. By regrouping the variables as ollows a(c - c ) + b(c - c ) + ab(c c ) = and solving the above equation or c and c, we obtain: c = c and c = c. The second structure shown in Fig. (b) consists o an XOR gate and an OR gate. Using similar approach, we obtain: c = c and c =c. Similarly, the structure in Fig. (c), consisting o an OR and an AND gate, produces the coeicients: c = c and c = c. = =-4ecd =-4eg =-4eg

3 Coeicients o the individual gates can be derived similarly. It can be shown that the inputs to an OR or XOR gate must have the same coeicients, c = c, otherwise the algebraic equation or this gate will not be satisied; the coeicient c o the output is equal to those o the input. In contrast, the input coeicients c, c o an AND gate can be dierent, and the output coeicient c = c c. c = c c = c c = -c c = c c = c c = c (a) (b) (c) Fig.. Calculation o signal coeicients. Computing cut signatures: The pseudo code o the algorithm or orward rewriting equation or each cut is shown in Algorithm. The input to this algorithm is the circuit with its input signature, and its output is a set o cut equations. Equation o the irst cut is the same as the speciication, i.e., (cut ) = Sig in. Obtaining cut i rom cut i- works as ollows. Let x j be an output signal o gate g j in cut i and poly(g j) be the polynomial expression describing its logic unction (c.. Eq.()), so that x j = poly(g j). For each gate g j in cut i we add variable x j to the current cut and subtract the algebraic expression poly(g j) representing this gate, without changing the arithmetic unction o the cut. Equation () shows the computation o (cut i) rom (cut i-). ( ) gates cut ( ) ( ) i i = i + j j ( j ) cut cut c x poly g () j = Here, i is the index o the cut, and c j is the coeicient o gate j o cut i. Lines -7 o Algorithm describe the computation o each cut. For simplicity, we write i instead o (cut i). Each i is initialized with i-; using the structure in Fig., or each gate j o cut i, the gate coeicient is calculated so as to eliminate the gate inputs (line 6); inally, equation o cut i is computed (line 7), based on Eq. (). Algorithm Forward (PI-PO) rewriting (Sigin, Circuit) Compute all cuts o the Circuit; = Sigin; or i = to # o cuts 4 i = i-; 5 or j= to #o gates o cuti 6 cj = compute coeicient o gj; 7 i = i + cj(xj - poly(gj)); Algorithm. Forward (PI-PO) rewriting Example : Consider again the circuit in Fig.. By applying the orward (PI-PO) rewriting algorithm, we obtain the ollowing equations or each cut: = b+ a+ b + a = b+ a + b + a + 4( e ab ) + ( d ( a+ b ab )) + ( c ab ) + ( r ( a + b ab )) = 4e+ d + c+ r = 4e+ d + c+ r + 4( g dc) + ( r ( d + c dc)) = 4e+ 4g + r+ r = 4e + 4g + r + r + 4( r ( e + g eg)) = 4r + r+ r + 4eg Note that such computed is dierent than the expected output signature, 4r +r +r. Speciically, it contains the term 4eg, associated with variables o cut. We call such a term a Residual Expression (RE). In a correct circuit, RE should be zero. This can be proved by a straightorward rewriting o 4eg up to the PI variables: 4eg = 4(a b )(dc) = 4(a b )(a +b -a b )(a b ) = Then, = 4r +r +r, indicating that the circuit is correct. The reason or the existence o a residual expression in a correct circuit is that the polynomial division used by orward rewriting does not take into account the Boolean nature o the circuit signals. To avoid RE one would need to divide the polynomials by a set o polynomials <x -x>, called ideals, or each signal x in the circuit, to guarantee that x=,. This method, oten employed by symbolic algebra approach, is too costly and ineicient or this work. B. Backward (PO-PI) rewriting The backward (PO-PI) rewriting is conceptually simpler, basically a reversed symbolic simulation. Starting at the PO with Sig out, it creates a new cut signature by replacing an output signal x j o gate g j with its corresponding algebraic expression: x j poly(g j). Here the signal coeicients are known, provided by the binary encoding o the PO signals. Example : The cut expressions or the two-bit adder in Fig. computed in PO-PI ashion are as ollows: = 4r + r+ r = 4( g + e eg ) + r+ r= 4g + 4e 4eg + r+ r = 4e+ 4(cd) 4e( cd) + (c+ d cd) + r = 4e + d + c + r 4ecd = 4e+ d + c+ r 4ecd = 4(a b) + ( a+ b a b) + (a b) + ( a + b a b) 4(a b)(a b)( a + b a b) = a+ b+ a + b The computed signature at the PI matches the expected speciication, Sigin, so the circuit is correct. Note that the backward rewriting will never produce a residual expression. This is because the algebraic model () o Boolean gates correctly represents the binary value o the gate signal. This convenience comes at a cost o a potentially exponential explosion o the signature size during backward rewriting. C. Computing the signature dierence (Δ i) At this point, a pair o expressions is generated or each cut o the circuit: one computed by the orward and the other by the backward rewriting. The dierence Δ i between the two expressions is deined as ollows: Δ i = i,back - i,for; i cuts () Here, i is the index o cut i, i,back is the signature o cut i in the PO-PI direction, and i,for is the signature o cut i computed by

4 the PI-PO rewriting. I the circuit contains no bug, the value o Δ i at each cut is equal to zero; otherwise, the circuit contains a bug. The expression o Δ i will be used to identiy and to correct the bug. Example 4: Consider the adder circuit in Examples and again. The values o parameter Δ i or each cut o the circuit are shown in Fig.. As can be seen, Δ, Δ and Δ are non-zero polynomials. However, as explained in Example, 4eg and 4ecd are zero unctions (expressions that evaluate to zero), so Δ, Δ and Δ also reduce to zero. D. The Debugging Algorithm In this phase, the circuit is analyzed and veriied against the given speciication to either conirm its correctness or to ind and locate the bug. In principle, the circuit is correct (satisies its speciication) i the signature obtained by backward rewriting matches the given input signature (speciication). Alternatively, the signature obtained by the orward rewriting should match the given output signature, provided that the residual expression RE generated during this rewriting is proven to be zero (as explained earlier, this can be done by a local backward rewriting o the RE expression up to PI). In this paper we consider a particular type o a bug, namely gate replacement, i.e., using a wrong gate in the circuit. In practice, in the presence o a bug, the size o the computed signature may become prohibitively large, and the goal is to locate the cut at which the bug (aulty gate) resides. I the bug is located at some cut i, then the value o Δ i or this cut will be nonzero. This is illustrated by the ollowing example. Example 5: Let us intentionally insert a bug into the two-bit adder circuit in Fig., by replacing the AND gate with inputs (c,d) with an OR gate. The resulting buggy circuit is shown in Fig.. The cut equations or this circuit are as ollows. Forward (PI-PO) rewriting: = b+ a+ b + a = 4e+ d + c+ r = 4e + 4g r + r = 4r r+ r+ 4eg Backward (PO-PI) rewriting: = 4r + r+ r = 4e+ 4g 4eg + r+ r = 4e + 6d + 6c 8cd 4ec 4ed + 4ecd + r = 6a + 6b 8a b + a + b + 4a b 8a b a 8a bb+ a b a b The values o parameter Δ i or each cut o the buggy circuit are calculated using Eq. () and shown in Fig.. The type and the location o the bug can be obtained by assessing the value o Δ i or each cut. Assume initially that each cut has only a single bug (the constraint to be removed later). Table I shows the dierence in the signatures between the cut with the correct gate and the cut with the wrong gate. As an example, consider the entry (a+b-ab) in the st row (AND) and nd column (OR) o the table. It relects the dierence between the correct AND gate (ab) and the wrong OR gate (a+b-ab). That is, i in a given cut, an AND gate is replaced with an OR gate, then Δ i = (a+b-ab)- ab =a+b-ab, where a, b are the gate inputs. Conversely, i or some cut computed by the algorithm, Δ i =a+b-ab, this means that it contains an OR gate while it should contain an AND. Fig.. Two-bit adder with a bug: OR instead o AND The remaining entries in the table give expressions or dierent bugs or a single-gate replacement. To detect the location o the bug in a given cut we need to check i Δ i contains any o the expressions in Table I (replaced by the appropriate variable names). I this is the case, the location o the bug is detected and can be corrected as speciied in the table. Otherwise, either the bug originates at a dierent cut, or it has a dierent nature, not considered in this model. TABLE I. EXPRESSIONS CAUSED BY GATE REPLACEMENT ERROR Buggy Correct AND OR XOR AND a+b-ab a+b-ab OR -a-b+ab -ab XOR -a-b+ab ab Table I can be readily extended to other types o logic gates, such as the complex And-Or-Invert gates used in standard cell implementations. The pseudo code o the Debugging Algorithm is shown in Algorithm. The equation o each cut is irst computed in a PI- PO direction (line ) and then by PO-PI rewriting (line ). Then, Δ i is calculated or each cut. I Δ =, the circuit is correct, otherwise Δ i o other cuts are assessed and their expressions are checked against those in Table I (lines -8). The detected bugs at each cut are stored in the set Bug-list, which consists o the potential bug locations. The expression o each Δ i is then modiied by adding to it expression ( i,for - i+,for), where i,for and i+,for are the expressions obtained by orward rewriting o cut i and cut i+, respectively (lines 9-). This is done to account or the residual expression generated during the orward rewriting between cut i and cut i+, since during the orward rewriting, the residual expression that is based on the variables o cut i actually appears in cut i+. Note that only those terms o expression ( i,for - i+,for) that belong to cut i are added to Δ i. The new Δ i is examined again to check or the buggy expressions (lines -). 4

5 Algorithm Debugging Scan orward (PI-PO) and write equation or each cuti: i,for; Scan backward (PO-PI) and write equation or each cuti: i,back; For each cuti 4 compute Δi = i,back- i,for; 5 I (Δ == ) 6 Return "No Bug"; 7 I Δi contains expression in Table I 8 add detected bug to Bug_list; 9 I (bug_list is empty) For each cuti Δi = Δi + (i,for- i+,for); I Δi contains an expression in Table I add detected bug to Bug_list; 4 I (Bug_list is empty) 5 Return "Bug cannot be detected by our method"; 6 For each member o Bug_list 7 Correct the circuit; 8 Compute Δ; 9 I (Δ == ) Return "Bug is detected and corrected"; Algorithm. Pseudo code o the Debugging Algorithm The Bug-list shows all potential bug locations. I ater modiying the Δ i expressions the Bug-list remains empty, this means that our debugging algorithm cannot detect the bug (lines 4-5). To detect the exact location o the bug and correct the circuit, the irst bug o the Bug-list is replaced with the corresponding correct gate rom Table I. Then the circuit is veriied by re-computing Δ. I Δ, we consider the next bug rom the list and to correct it in the buggy circuit (lines 9-). This process is repeated until the circuit becomes correct, i.e., until Δ =. Example 6: Continuing with Example 5, we compute Δ i or all the cuts, trying to match their variables with one o the expressions in Table I. Recall that only the signals rom the given cut must be used in the matching. At cut, with signals {r,r,r }, Δ =4r -4eg; but 4r does not match any o the expressions in the table. At cut, with signals {e,g,r,r }, we have Δ =4r -4eg. Here we ind that -4eg matches an expression in the table (-ab), at the OR/XOR entry o the table. However, cut does not have any XOR gate, so this cannot be the source o the bug. At cut, with signals {e,d,c,r }, we have Δ =4d+4c-8dc- 4ec-4ed+4ecd. Here 4d+4c-8dc matches the buggy expression (a+b-ab) with coeicient 4, indicating that an OR gate was used instead o an AND gate. As shown in Fig. 4, there is an OR gate at cut with inputs {c, d} so a bug is detected. This bug is then corrected by replacing the OR with an AND. The other terms (-4ec, -4ed) match the expression in the table (OR-XOR gate replacement). But at cut there are no gates with inputs {e, c} or {e, d}; hence no additional bug is reported. In a similar ashion, we can veriy that there are no bugs in cut o. Thereore, the only bug detected is at cut, caused by the OR gate in place o an AND. To correct the circuit, we just need to replace the OR gate with inputs (c, d) with an AND gate with the same inputs. IV. EXPERIMENTAL RESULTS The algorithm has been implemented in C#. The experiments were conducted on a PC with Intel.8-GHz Core i7 processor and 6 GB o memory under Windows 8. We tested gate-level circuits o arithmetic unctions: F = A+B and F = A B, with bit-widths ranging rom to 8 bits. Several bugs (erroneous gates) were inserted in the middle o each circuit. Note that the bugs located near PI are easiest to detect (there is no residual expression) and the bugs inserted near POs are most diicult to detect (the signature with backward rewriting may explode in size). Table II and III show the results or the two circuits containing multiple bugs. TABLE II. DEBUGGING OF F = A + B WITH MULTIPLE BUGS Bit-width # Gates # Bugs Memory CPU time (sec) 4. MB MB MB MB MB MB MB 6.7,66 6. MB MB 6.98 Our method can detect and correct every inserted bug in all the instances o the tested circuits in a reasonable time. The table demonstrates a linear CPU time dependence in the number o bugs (or a small number o bugs perormed in this experiment). TABLE III. DEBUGGING OF F = A B WITH MULTIPLE BUGS Bit-width # Gates # Bugs Memory CPU Time (sec) 8.9 MB 8. 8,6 9.5 MB.5 5. MB MB ,5 9 MB MB MB ,7 MB MB 6.86 V. CONCLUSIONS The goal o this work was to provide a proo o concept or identiying and correcting bugs caused by gate replacement in gate-level arithmetic circuits. Despite its preliminary nature, the initial results demonstrate the validity and potential o the proposed approach or solving practical problems. The limitation o the method is generation o cuts as a means to locate the bugs. Determining the best set o cuts to improve the eiciency o the method is the major goal o our uture work. One possibility is to adopt a binary search approach, by sampling the circuit with selected cuts and checking i their signature is correct. This may need to be supported by random backward simulation to help qualiy the cut as correct or incorrect. The next cut in the sequence will then be placed halway between the aulty one and the PO and the search or bugs will continue in this area in a similar ashion. The method is 5

6 applicable to locating multiple bugs associated as long as they correspond to disjoint sets o variables. ACKNOWLEDGMENT This work was supported by a grant rom the National Science Foundation, award No. CCF REFERENCES [] M.F. Ali, S. Saarpour, A. Veneris, M.S. Abadir, "Post-Veriication Debugging o Hierarchical Designs," IEEE/ACM International Conerence on Computer-Aided Design (ICCAD), pp , 5. [] Y. Chen, S. Saarpour, A. Veneris, J.M. Silva, "Spatial and temporal design debug using partial MaxSAT," Great Lakes symposium on VLSI (GLVLSI), pp. 45-5, 9. [] M. Ciesielski, C. Yu, W. Brown, D. Liu, Veriication o Gate-level Arithmetic Circuits by Function Extraction, ACM Design Automation Conerence (DAC-5), 5. [4] Y. Yang, S. Sinha, A. Veneris, R. Brayton, "Automating Logic Rectiication by Approximate SPFDs," Asia and South Paciic Design Automation Conerence (ASP-DAC), pp. 4-47, 7. [5] M. Abramovici, P.R. Menon, D.T. Miller, Critical path tracing-an alternative to ault simulation, Design Automation Conerence (DAC), 98, pp. 4. [6] R.E. Bryant, Y-A. Chen, Veriication o Arithmetic Functions with Binary Moment Diagrams, Design Automation Conerence (DAC), pp , 995. [7] A. Smith, A. Veneris, M.F. Ali, A. Viglas, Fault diagnosis and logic debugging using boolean satisiability, IEEE Trans. on Computer-Aided Design o Integrated Circuits and Systems, vol. 4, no., pp. 66 6, 5. [8] H. Mangassarian, A. Veneris, S. Saarpour, M. Benedetti, D. Smith, A perormance-driven QBF-based iterative logic array representation with applications to veriication, debug and test, IEEE/ACM International Conerence on Computer-Aided Design (ICCAD), pp. 4 45, 7. [9] S. Saarpour, A. Veneris, Abstraction and reinement techniques in automated design debugging, Seventh International Workshop on Microprocessor Test and Veriication (MTV),, pp. 88 9, 6. [] S. Saarpour, H. Mangassarian, A. Veneris, M.H. Liiton, K.A. Sakallah, Improved design debugging using maximum satisiability, Formal Methods in Computer Aided Design (FMCAD), pp. 9, 7. [] Y. Chen, S. Saarpour, J. Marques-Silva, A. Veneris, Automated design debugging with maximum satisiability, IEEE Transactions on Computer-Aided Design o Integrated Circuits and Systems, vol. 9, no., pp ,. [] B. Le, H. Mangassarian, B. Keng, A. Veneris, Non-solution implications using reverse domination in a modern sat-based debugging environment, Design, Automation & Test in Europe Conerence (DATE), pp ,. [] M. Kubo, M. Fujita, Debug methodology or arithmetic circuits on FPGAs, IEEE International Conerence on Field-Programmable Technology (FPT), pp. 6 4,. [4] S. Yang, H. Shim, W. Yang, C-M Kyung, A new RTL debugging methodology in FPGA-based veriication platorm, Asia-Paciic Conerence on Advanced System Integrated Circuits, pp. 8 8, 4. [5] W. Li, Z.J. Song, A.W. Ruan, C.Q. Li, D.S. Yu, A two-mode debugging system or vlsi designs using xilinx FPGA, International Conerence on Computational Problem-Solving (ICCP), pp ,. [6] M.K. Ganai, A. Gupta, Eicient BMC or multi-clock systems with clocked speciications, Asia and South Paciic Design Automation Con. (ASP-DAC), pp. 5, 7. [7] B. Keng, S. Saarpour, A. Veneris, Bounded model debugging, IEEE Transactions on Computer-Aided Design o Integrated Circuits and Systems, vol. 9, no., pp. 79 8,. [8] B. Keng and A. Veneris, Path directed abstraction and reinement in SAT-based design debugging, Design Automation Conerence (DAC),, pp [9] B. Keng, A.G. Veneris, Path-Directed Abstraction and Reinement or SAT-Based Design Debugging, IEEE Trans. on Computer-Aided Design o Integrated Circuits and Systems, vol., n. o, pp. 69-6,. [] M.H. Haghbayan, B. Alizadeh, A.M. Rahmani, P. Liljeberg, H. Tenhunen, Automated ormal approach or debugging dividers using dynamic speciication, IEEE International Symposium on Deect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT), pp , 4. [] V. Athavale, S. Ma, S. Hertz, S. Vasudevan, Code coverage o assertions using rtl source code analysis, Design Automation Conerence (DAC), pp. 6, 4. 6

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the EET 3 Chapter 3 7/3/2 PAGE - 23 Larger K-maps The -variable K-map So ar we have only discussed 2 and 3-variable K-maps. We can now create a -variable map in the same way that we created the 3-variable

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

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM

MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM UDC 681.3.06 MATRIX ALGORITHM OF SOLVING GRAPH CUTTING PROBLEM V.K. Pogrebnoy TPU Institute «Cybernetic centre» E-mail: vk@ad.cctpu.edu.ru Matrix algorithm o solving graph cutting problem has been suggested.

More information

FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY

FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY FPGA PLB EVALUATION USING QUANTIFIED BOOLEAN SATISFIABILITY Andrew C. Ling Electrical and Computer Engineering University o Toronto Toronto, CANADA email: aling@eecg.toronto.edu Deshanand P. Singh, Stephen

More information

Formal Verification of Truncated Multipliers using Algebraic Approach and Re-synthesis

Formal Verification of Truncated Multipliers using Algebraic Approach and Re-synthesis 2017 IEEE Computer Society Annual Symposium on VLSI Formal Verification of Truncated Multipliers using Algebraic Approach and Re-synthesis Tiankai Su, Cunxi Yu, Atif Yasin, Maciej Ciesielski ECE Department,

More information

A fast and area-efficient FPGA-based architecture for high accuracy logarithm approximation

A fast and area-efficient FPGA-based architecture for high accuracy logarithm approximation A ast and area-eicient FPGA-based architecture or high accuracy logarithm approximation Dimitris Bariamis, Dimitris Maroulis, Dimitris K. Iakovidis Department o Inormatics and Telecommunications University

More information

WITH an almost unmanageable increase in the size

WITH an almost unmanageable increase in the size IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 1 Formal Verification of Arithmetic Circuits by Function Extraction Cunxi Yu, Student Member, IEEE,, Walter Brown, Duo Liu,

More information

Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams

Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams Daniel Gomez-Prado Dusung Kim Maciej Ciesielski Emmanuel Boutillon 2 University of Massachusetts Amherst, USA. {dgomezpr,ciesiel,dukim}@ecs.umass.edu

More information

Piecewise polynomial interpolation

Piecewise polynomial interpolation Chapter 2 Piecewise polynomial interpolation In ection.6., and in Lab, we learned that it is not a good idea to interpolate unctions by a highorder polynomials at equally spaced points. However, it transpires

More information

CS485/685 Computer Vision Spring 2012 Dr. George Bebis Programming Assignment 2 Due Date: 3/27/2012

CS485/685 Computer Vision Spring 2012 Dr. George Bebis Programming Assignment 2 Due Date: 3/27/2012 CS8/68 Computer Vision Spring 0 Dr. George Bebis Programming Assignment Due Date: /7/0 In this assignment, you will implement an algorithm or normalizing ace image using SVD. Face normalization is a required

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

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology

LSN 4 Boolean Algebra & Logic Simplification. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology LSN 4 Boolean Algebra & Logic Simplification Department of Engineering Technology LSN 4 Key Terms Variable: a symbol used to represent a logic quantity Compliment: the inverse of a variable Literal: a

More information

Week 7: Assignment Solutions

Week 7: Assignment Solutions Week 7: Assignment Solutions 1. In 6-bit 2 s complement representation, when we subtract the decimal number +6 from +3, the result (in binary) will be: a. 111101 b. 000011 c. 100011 d. 111110 Correct answer

More information

A Novel Accurate Genetic Algorithm for Multivariable Systems

A Novel Accurate Genetic Algorithm for Multivariable Systems World Applied Sciences Journal 5 (): 137-14, 008 ISSN 1818-495 IDOSI Publications, 008 A Novel Accurate Genetic Algorithm or Multivariable Systems Abdorreza Alavi Gharahbagh and Vahid Abolghasemi Department

More information

EE292: Fundamentals of ECE

EE292: Fundamentals of ECE EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic

More information

Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation

Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation Dusung Kim 1 Daniel Gomez-Prado 1 Seiyang Yang 2 Maciej Ciesielski 1 1 Department of Electrical and Computer

More information

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources

An Efficient Configuration Methodology for Time-Division Multiplexed Single Resources An Eicient Coniguration Methodology or Time-Division Multiplexed Single Resources Benny Akesson 1, Anna Minaeva 1, Přemysl Šůcha 1, Andrew Nelson 2 and Zdeněk Hanzálek 1 1 Czech Technical University in

More information

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm

A Proposed Approach for Solving Rough Bi-Level. Programming Problems by Genetic Algorithm Int J Contemp Math Sciences, Vol 6, 0, no 0, 45 465 A Proposed Approach or Solving Rough Bi-Level Programming Problems by Genetic Algorithm M S Osman Department o Basic Science, Higher Technological Institute

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

Global Constraints. Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019

Global Constraints. Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019 Global Constraints Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell (based on materials by Javier Larrosa) February 22, 2019 Global Constraints Global constraints are classes o constraints

More information

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,

More information

AN 608: HST Jitter and BER Estimator Tool for Stratix IV GX and GT Devices

AN 608: HST Jitter and BER Estimator Tool for Stratix IV GX and GT Devices AN 608: HST Jitter and BER Estimator Tool or Stratix IV GX and GT Devices July 2010 AN-608-1.0 The high-speed communication link design toolkit (HST) jitter and bit error rate (BER) estimator tool is a

More information

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Automated Planning or Feature Model Coniguration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević 2, Marek Hatala 1, Ebrahim Bagheri 2 1 Simon Fraser

More information

ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION

ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION ROBUST FACE DETECTION UNDER CHALLENGES OF ROTATION, POSE AND OCCLUSION Phuong-Trinh Pham-Ngoc, Quang-Linh Huynh Department o Biomedical Engineering, Faculty o Applied Science, Hochiminh University o Technology,

More information

A Fault Model Centered Modeling Framework for Self-healing Computing Systems

A Fault Model Centered Modeling Framework for Self-healing Computing Systems A Fault Model Centered Modeling Framework or Sel-healing Computing Systems Wei Lu 1, Yian Zhu 1, Chunyan Ma 1, and Longmei Zhang 2 1 Department o Sotware and Microelectronics, Northwestern Polytechnical

More information

9.3 Transform Graphs of Linear Functions Use this blank page to compile the most important things you want to remember for cycle 9.

9.3 Transform Graphs of Linear Functions Use this blank page to compile the most important things you want to remember for cycle 9. 9. Transorm Graphs o Linear Functions Use this blank page to compile the most important things you want to remember or cycle 9.: Sec Math In-Sync by Jordan School District, Utah is licensed under a 6 Function

More information

Formal Verification using Probabilistic Techniques

Formal Verification using Probabilistic Techniques Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se

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

10. SOPC Builder Component Development Walkthrough

10. SOPC Builder Component Development Walkthrough 10. SOPC Builder Component Development Walkthrough QII54007-9.0.0 Introduction This chapter describes the parts o a custom SOPC Builder component and guides you through the process o creating an example

More information

9.8 Graphing Rational Functions

9.8 Graphing Rational Functions 9. Graphing Rational Functions Lets begin with a deinition. Deinition: Rational Function A rational unction is a unction o the orm P where P and Q are polynomials. Q An eample o a simple rational unction

More information

Modeling and Analysis of Workflow Based on TLA

Modeling and Analysis of Workflow Based on TLA JOURNAL OF COMPUTERS, VOL. 4, NO. 1, JANUARY 2009 27 Modeling and Analysis o Worklow Based on TLA CHEN Shu Wu Han University Computer Science Department, Wu Han China Email: Chenshu181@yahoo.com.cn WU

More information

Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm

Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm Mobile Robot Static Path Planning Based on Genetic Simulated Annealing Algorithm Wang Yan-ping 1, Wubing 2 1. School o Electric and Electronic Engineering, Shandong University o Technology, Zibo 255049,

More information

Chapter 3 Image Enhancement in the Spatial Domain

Chapter 3 Image Enhancement in the Spatial Domain Chapter 3 Image Enhancement in the Spatial Domain Yinghua He School o Computer Science and Technology Tianjin University Image enhancement approaches Spatial domain image plane itsel Spatial domain methods

More information

Introduction. Secret Key Cryptography. Outline. Secrets? (Cont d) Secret Keys or Secret Algorithms? Introductory Remarks Feistel Cipher DES AES

Introduction. Secret Key Cryptography. Outline. Secrets? (Cont d) Secret Keys or Secret Algorithms? Introductory Remarks Feistel Cipher DES AES Outline CSCI 454/554 Computer and Network Security Introductory Remarks Feistel Cipher DES AES Topic 3.1 Secret Key Cryptography Algorithms 2 Secret Keys or Secret Algorithms? Introduction Security by

More information

CS 161: Design and Analysis of Algorithms

CS 161: Design and Analysis of Algorithms CS 161: Design and Analysis o Algorithms Announcements Homework 3, problem 3 removed Greedy Algorithms 4: Human Encoding/Set Cover Human Encoding Set Cover Alphabets and Strings Alphabet = inite set o

More information

On-Line Error Detecting Constant Delay Adder

On-Line Error Detecting Constant Delay Adder On-Line Error Detecting Constant Delay Adder Whitney J. Townsend and Jacob A. Abraham Computer Engineering Research Center The University of Texas at Austin whitney and jaa @cerc.utexas.edu Parag K. Lala

More information

Automated Theorem Proving and Proof Checking. Proof Checking. Motivation. Cunning Plan. Standard Architecture. History

Automated Theorem Proving and Proof Checking. Proof Checking. Motivation. Cunning Plan. Standard Architecture. History Automated Theorem Proving and Proo Checking Engler: Automatically Generating Malicious Disks using Symex IEEE Security and Privacy 2006 Use CIL and Symbolic Execution on Linux FS code Special model o memory,

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

Improved Design Debugging using Maximum Satisfiability

Improved Design Debugging using Maximum Satisfiability Improved Design Debugging using Maximum Satisfiability Sean Safarpour, Hratch Mangassarian, ndreas Veneris Department of Elec. and Comp. Eng. University of Toronto, Toronto, Canada {sean, hratch, veneris}@eecg.toronto.edu

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

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey 2. Introduction Logic gates are connected together to produce a specified output for certain specified combinations of input

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

Scan-Based BIST Diagnosis Using an Embedded Processor

Scan-Based BIST Diagnosis Using an Embedded Processor Scan-Based BIST Diagnosis Using an Embedded Processor Kedarnath J. Balakrishnan and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas

More information

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems

A Requirement Specification Language for Configuration Dynamics of Multiagent Systems A Requirement Speciication Language or Coniguration Dynamics o Multiagent Systems Mehdi Dastani, Catholijn M. Jonker, Jan Treur* Vrije Universiteit Amsterdam, Department o Artiicial Intelligence, De Boelelaan

More information

A SAT-Based Implication Engine for Efficient ATPG, Equivalence Checking, and Optimization of Netlists

A SAT-Based Implication Engine for Efficient ATPG, Equivalence Checking, and Optimization of Netlists Reprint rom Proceedings o the IEEE/ACM International Conerence on Computer Aided Design San Jose, CA, USA, Novemer 9 13, 1997, pp. 648 655 A SAT-Based Implication Engine or Eicient ATPG, Equivalence Checking,

More information

Generell Topologi. Richard Williamson. May 6, 2013

Generell Topologi. Richard Williamson. May 6, 2013 Generell Topologi Richard Williamson May 6, Thursday 7th January. Basis o a topological space generating a topology with a speciied basis standard topology on R examples Deinition.. Let (, O) be a topological

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

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

Application of Binary Decision Diagram in digital circuit analysis.

Application of Binary Decision Diagram in digital circuit analysis. Application of Binary Decision Diagram in digital circuit analysis. Jyoti Kukreja University of Southern California For Dr. James Ellison Abstract: Binary Decision Diagrams (BDDs) are one of the biggest

More information

Some Inequalities Involving Fuzzy Complex Numbers

Some Inequalities Involving Fuzzy Complex Numbers Theory Applications o Mathematics & Computer Science 4 1 014 106 113 Some Inequalities Involving Fuzzy Complex Numbers Sanjib Kumar Datta a,, Tanmay Biswas b, Samten Tamang a a Department o Mathematics,

More information

Microcomputers. Outline. Number Systems and Digital Logic Review

Microcomputers. Outline. Number Systems and Digital Logic Review Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded

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

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

UNIT #2 TRANSFORMATIONS OF FUNCTIONS

UNIT #2 TRANSFORMATIONS OF FUNCTIONS Name: Date: UNIT # TRANSFORMATIONS OF FUNCTIONS Part I Questions. The quadratic unction ollowing does,, () has a turning point at have a turning point? 7, 3, 5 5, 8. I g 7 3, then at which o the The structure

More information

Read this before starting!

Read this before starting! Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 2150 (Tarnoff) Computer Organization TEST 1 for Spring Semester,

More information

Using VCS with the Quartus II Software

Using VCS with the Quartus II Software Using VCS with the Quartus II Sotware December 2002, ver. 1.0 Application Note 239 Introduction As the design complexity o FPGAs continues to rise, veriication engineers are inding it increasingly diicult

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

Review: Chip Design Styles

Review: Chip Design Styles MPT-50 Introduction to omputer Design SFU, Harbour entre, Spring 007 Lecture 9: Feb. 6, 007 Programmable Logic Devices (PLDs) - Read Only Memory (ROM) - Programmable Array Logic (PAL) - Programmable Logic

More information

2. Recommended Design Flow

2. Recommended Design Flow 2. Recommended Design Flow This chapter describes the Altera-recommended design low or successully implementing external memory interaces in Altera devices. Altera recommends that you create an example

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

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

2.6 BOOLEAN FUNCTIONS

2.6 BOOLEAN FUNCTIONS 2.6 BOOLEAN FUNCTIONS Binary variables have two values, either 0 or 1. A Boolean function is an expression formed with binary variables, the two binary operators AND and OR, one unary operator NOT, parentheses

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

Introduction to Computer Architecture

Introduction to Computer Architecture Boolean Operators The Boolean operators AND and OR are binary infix operators (that is, they take two arguments, and the operator appears between them.) A AND B D OR E We will form Boolean Functions of

More information

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number

More information

Method estimating reflection coefficients of adaptive lattice filter and its application to system identification

Method estimating reflection coefficients of adaptive lattice filter and its application to system identification Acoust. Sci. & Tech. 28, 2 (27) PAPER #27 The Acoustical Society o Japan Method estimating relection coeicients o adaptive lattice ilter and its application to system identiication Kensaku Fujii 1;, Masaaki

More information

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION 2. BOOLEAN ALGEBRA 2.1 INTRODUCTION In the previous chapter, we introduced binary numbers and binary arithmetic. As you saw in binary arithmetic and in the handling of floating-point numbers, there is

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

Scheduling in Multihop Wireless Networks without Back-pressure

Scheduling in Multihop Wireless Networks without Back-pressure Forty-Eighth Annual Allerton Conerence Allerton House, UIUC, Illinois, USA September 29 - October 1, 2010 Scheduling in Multihop Wireless Networks without Back-pressure Shihuan Liu, Eylem Ekici, and Lei

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

Use of Non-linear Solver to Check Assertions of Behavioral Descriptions

Use of Non-linear Solver to Check Assertions of Behavioral Descriptions Use of Non-linear Solver to Check Assertions of Behavioral Descriptions I. Ugarte, P. Sanchez Microelectronics Engineering Group. TEISA Deparment. ETSIIT. University of Cantabria {ugarte, sanchez}@teisa.unican.es

More information

A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment

A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment BIJAN ALIZADEH, MOHAMMAD R. KAKOEE, ZAINALABEDIN NAVABI Electrical and Computer Engineering University of Tehran

More information

Efficient Circuit to CNF Conversion

Efficient Circuit to CNF Conversion Efficient Circuit to CNF Conversion Panagiotis Manolios and Daron Vroon College of Computing, Georgia Institute of Technology, Atlanta, GA, 30332, USA http://www.cc.gatech.edu/home/{manolios,vroon} Abstract.

More information

Structural Gate Decomposition for Depth- Optimal Technology Mapping in LUT- Based FPGA Designs

Structural Gate Decomposition for Depth- Optimal Technology Mapping in LUT- Based FPGA Designs Structural Gate Decomposition or Depth- Optimal Technology Mapping in LUT- Based FPGA Designs JASON CONG and YEAN-YOW HWANG Uniersity o Caliornia In this paper we study structural gate decomposition in

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

By, Ajinkya Karande Adarsh Yoga

By, Ajinkya Karande Adarsh Yoga By, Ajinkya Karande Adarsh Yoga Introduction Early computer designers believed saving computer time and memory were more important than programmer time. Bug in the divide algorithm used in Intel chips.

More information

Joint Congestion Control and Scheduling in Wireless Networks with Network Coding

Joint Congestion Control and Scheduling in Wireless Networks with Network Coding Title Joint Congestion Control and Scheduling in Wireless Networks with Network Coding Authors Hou, R; Wong Lui, KS; Li, J Citation IEEE Transactions on Vehicular Technology, 2014, v. 63 n. 7, p. 3304-3317

More information

Design and Realization of user Behaviors Recommendation System Based on Association rules under Cloud Environment

Design and Realization of user Behaviors Recommendation System Based on Association rules under Cloud Environment Research Journal o Applied Sciences, Engineering and Technology 6(9): 1669-1673, 2013 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientiic Organization, 2013 Submitted: January 19, 2013 Accepted: March

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

Neighbourhood Operations

Neighbourhood Operations Neighbourhood Operations Neighbourhood operations simply operate on a larger neighbourhood o piels than point operations Origin Neighbourhoods are mostly a rectangle around a central piel Any size rectangle

More information

Combining Module Selection and Replication for Throughput-Driven Streaming Programs

Combining Module Selection and Replication for Throughput-Driven Streaming Programs Combining Module Selection and Replication or Throughput-Driven Streaming Programs Jason Cong, Muhuan Huang, Bin Liu, Peng Zhang and Yi Zou Computer Science Department, University o Caliornia, Los Angeles

More information

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1> Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building

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

Summary. Boolean Addition

Summary. Boolean Addition Summary Boolean Addition In Boolean algebra, a variable is a symbol used to represent an action, a condition, or data. A single variable can only have a value of or 0. The complement represents the inverse

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

Function Verification of Combinational Arithmetic Circuits

Function Verification of Combinational Arithmetic Circuits University of Massachusetts Amherst ScholarWorks@UMass Amherst Masters Theses Dissertations and Theses 2015 Function Verification of Combinational Arithmetic Circuits Duo Liu University of Massachusetts

More information

Sequential Circuit Test Generation Using Decision Diagram Models

Sequential Circuit Test Generation Using Decision Diagram Models Sequential Circuit Test Generation Using Decision Diagram Models Jaan Raik, Raimund Ubar Department of Computer Engineering Tallinn Technical University, Estonia Abstract A novel approach to testing sequential

More information

DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS

DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS C H A P T E R 6 DIGITAL ARITHMETIC: OPERATIONS AND CIRCUITS OUTLINE 6- Binary Addition 6-2 Representing Signed Numbers 6-3 Addition in the 2 s- Complement System 6-4 Subtraction in the 2 s- Complement

More information

A new approach for ranking trapezoidal vague numbers by using SAW method

A new approach for ranking trapezoidal vague numbers by using SAW method Science Road Publishing Corporation Trends in Advanced Science and Engineering ISSN: 225-6557 TASE 2() 57-64, 20 Journal homepage: http://www.sciroad.com/ntase.html A new approach or ranking trapezoidal

More information

Research on Image Splicing Based on Weighted POISSON Fusion

Research on Image Splicing Based on Weighted POISSON Fusion Research on Image Splicing Based on Weighted POISSO Fusion Dan Li, Ling Yuan*, Song Hu, Zeqi Wang School o Computer Science & Technology HuaZhong University o Science & Technology Wuhan, 430074, China

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

Digital Logic Design Exercises. Assignment 1

Digital Logic Design Exercises. Assignment 1 Assignment 1 For Exercises 1-5, match the following numbers with their definition A Number Natural number C Integer number D Negative number E Rational number 1 A unit of an abstract mathematical system

More information

KANGAL REPORT

KANGAL REPORT Individual Penalty Based Constraint handling Using a Hybrid Bi-Objective and Penalty Function Approach Rituparna Datta Kalyanmoy Deb Mechanical Engineering IIT Kanpur, India KANGAL REPORT 2013005 Abstract

More information

Verification of Gate-level Arithmetic Circuits by Function Extraction

Verification of Gate-level Arithmetic Circuits by Function Extraction DESIGN AUTOMATION CONFERENCE, DAC 2015 - PRELIMINARY VERSION 1 Verification of Gate-level Arithmetic Circuits by Function Extraction M. Ciesielski, C. Yu, D. Liu, and W. Brown André Rossi University of

More information

LECTURE 4. Logic Design

LECTURE 4. Logic Design LECTURE 4 Logic Design LOGIC DESIGN The language of the machine is binary that is, sequences of 1 s and 0 s. But why? At the hardware level, computers are streams of signals. These signals only have two

More information

Understanding Signal to Noise Ratio and Noise Spectral Density in high speed data converters

Understanding Signal to Noise Ratio and Noise Spectral Density in high speed data converters Understanding Signal to Noise Ratio and Noise Spectral Density in high speed data converters TIPL 4703 Presented by Ken Chan Prepared by Ken Chan 1 Table o Contents What is SNR Deinition o SNR Components

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

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

Fault-Tolerant Computing

Fault-Tolerant Computing Fault-Tolerant Computing Dealing with Low-Level Impairments Slide 1 About This Presentation This presentation has been prepared for the graduate course ECE 257A (Fault-Tolerant Computing) by Behrooz Parhami,

More information