Coupling Reverse Engineering and SAT to Tackle NP-Complete Arithmetic Circuitry Verification in O(# of gates)

Size: px
Start display at page:

Download "Coupling Reverse Engineering and SAT to Tackle NP-Complete Arithmetic Circuitry Verification in O(# of gates)"

Transcription

1 Coupling Reverse Engineering and SAT to Tackle NP-Complete Arithmetic Circuitry Verification in O(# of gates) Yi Diao*, Xing Wei*, Tak-Kei Lam** and Yu-Liang Wu* *Easy-Logic Technology Ltd., Hong Kong Science Park **Dept. of CSE, The Chinese University of Hong Kong Shatin, N.T., Hong Kong *{ydiao, xwei, Abstract There are situations (e.g. for reverse engineering or formal verification) circuit designers would need to extract complicated arithmetic circuitry deeply embedded inside a fully synthesized (or manually touched) million-gate flattened netlist without the knowing of module boundary and IO positions. Besides not knowing the IO and boundary, a formal verification task like comparing two netlists implementing (4A+3B) C and 4A C+3B C respectively is quite challenging for it is an NP-Complete Circuit- SAT problem too. To tackle this problem, we propose a novel Complementary Greedy Coupling (CGC) approach coupling reverse engineering and SAT techniques together for each of them only performs well at proving equality or inequality respectively. The scheme is quite powerful, being able to handle commonly implemented arithmetic modules (Ripple/CLA adders, MUX, various multipliers and their combinations) with runtime complexity nearly linear to the number of circuit gates. For an example, our scheme can verify two 32-bit multipliers (Wallace vs Modified- Booth) within 5 seconds (regardless of their equality or inequality), while running SAT alone might take centuries. We compared our tool Easy-LEC with the two on market commercial tools using the 182 open benchmarks posted for ICCAD CAD Contest Besides running at least 400 to 1400 times faster, our scheme also solves 32% to 45% more cases (93% vs 61% or 48%). I. Introduction In modern Very Large Scale Integration (VLSI) designs, it is often the case that over 60% of the overall design time is spent in the verification process. The (Reduced) Ordered Binary Decision Diagram (OBDD) [1] is known to be canonical for a Boolean function under a fixed variable ordering. However, OBDDs may be inappropriate to represent arithmetic logics, especially multipliers. The author in [1] proved that representing a multiplier in OBDD always requires exponential memory regardless of variable orderings. Binary Moment Diagrams (*BMDs) [2] and Multiplicative Power Hybrid Decision Diagrams (*PHDDs) [3] are efficient for wordlevel operations, but are less compact for representing Boolean logics. As both the CNF encoding [4,5] and SAT solving [6 8] techniques have been greatly improved in recent years, SAT are popularly adopted in today s equivalence checking tools. To check the equivalence between functions f and g by SAT solvers, a new function h = f g should be generated and converted into a set of CNF clauses. Now, the equivalence checking problem of f and g is reduced to a Circuit-SAT NP-complete problem of h such that if h is satisfiable then f and g are not equivalent. A satisfiable case is actually a much simpler situation, since a SAT solver can return any time it finds a satisfiable input pattern (usually pretty quick). However, the challenging situation is when f and g are equivalent and h is unsatisfiable. This is probably a case any SAT solver needs to check all possible input patterns which is exponential in nature. The reason is explained below. Although the decisions and learning procedures [9 11] have been shown to be quite efficient in the known SAT solvers [6 8]; however, it seems most modern SAT solvers highly rely on the successful locating of the internal equivalent points of the compared logics. It can be observed empirically that even for quite small circuits with very few internal equivalent points found, the solving time may grow exponentially in the worst case. For example, the comparison between multipliers designed in different styles such as non-booth Wallace versus Booth is one of such worst cases. Figure 1 [12] shows an example of comparing two multipliers by SAT solvers MiniSAT and Satz. Both solvers require exponential time in comparing these multipliers regardless of the parameter tuning efforts. Similarly, most known commercial tools might abort when verifying larger multiplier cases. Several approaches have been proposed in [13 22], which try to overcome the inability of SAT solvers for arithmetic circuitry verification. SMT solver [13] integrate different well-defined theories (Boolean logic, bit vectors, integer arithmetic, etc.) into a SAT decision procedure. However, it still models the problem as a decision

2 (a) Results for Satz 2.15 (b) Results for Minisat 2.0 with preprocessing procedure and is not efficient enough when verifying arithmetic logics. Some algebra based algorithms [14, 22] are also proposed. In [22] it can extract the function expression of an arithmetic macro by computing input signature from the known output signature without concerning its design style. However, these algorithms require prior knowledge of the input and output boundary of the macro first. This seems impractical in real industry problems where arithmetic macros are likely hidden inside flatten netlists. Hence, we propose to complement this weakness of circuit-sat by applying a so-called Complementary Greedy Coupling (CGC) methodology, which was sort of extended from the notion of Orthogonal Greedy Coupling proposed in [23]. Although proving the equality between f and g is sometimes a harder job for a SAT solver, it might not be a harder job for applying some other technique like a structural-analysis based reverse engineering. This is because in modern practical circuits, the optimal designs of arithmetic circuitry operators have been carefully studied and the finally adopted designs are quite limited in styles. As a matter of fact, different designs of the same arithmetic operator (e.g. multiplier) do still share certain common structural property ( structural DNA ), which should be unique and differentiable from other arithmetic operators. Making a proper usage of this expertise knowledge can help finding the exact IO boundary and proving the equality fast (near linear). However, this knowledge is not of much use in proving inequality for there could still exit unlimited possibility that certain new unknown design is invented and used later). We then leave the inequality proof to SAT, which can usually return fast. Applying this coupling, we can prevent the SAT solvers to be trapped into some unsatisfiable proof process and run forever. We call this a CGC approach for equivalence checking. We try to use the example of a multiplier equivalence checking to illustrate this CGC notion in Figure 2. Given that f and g represent two multipliers respectively. As shown in Figure 2(a), SAT solver can finish in polynomial time in the cases when f g, while may take an exponential runtime when f = g. However, if applying reverse engineering for this problem, contrarily, it is highly likely to solve the cases f = g in polynomial time, as shown in Figure 2(b). It is then achievable that if we use SAT solver to solve the cases f g, while let reverse engineering handle cases f = g, we can then solve the problem in a complementary way efficiently for all cases. Fig. 1. Relationship between the multiplier size, and the exponential runtime and number of decisions required by a SAT solver to compare multipliers [12] (a) SAT solver (b) Reverse Engineering (c) SAT solver + Reverse Engineering Fig. 2. Coupling SAT solver and Reverse Engineering (RE) After extracting the operators, we still need to extract arithmetic formulae from totally flattened netlists for a formula-level verification. We briefly illustrate our scheme by an example of verifying two flattened netlists f and g. They contain a sub-circuit implementing (4A + 3B) C and 4A C + 3B C respectively, where A, B, C are vector words, and 4A means 4 times A. In our scheme, we would (1) apply reverse engineering and logic synthesis techniques [24, 25] to extract all the arithmetic operator macros and replace them by equivalent operator symbols (e.g. +, or ); (2) evaluate the equivalence of the above two formulae with normalized macro symbols. This can be done by a few ways. We illustrate a method by *BMD [2] here (Fig 5); (3) normalize the equivalent formulae by replacing them with a same corresponding netlist pattern in both netlists f and g; (4) generate a CNF encoding representing h = f g with the formulae normalized if f and g are equivalent; (5) submit the CNF to a SAT solver. In step (3), as the equivalent arithmetic formula parts are already normalized to the same pattern in both netlists, the h encoding would be extremely trivial for any SAT solver to avoid being trapped into an exponential process and to solve in just a few seconds. The major challenging part is at step (1). Our algorithm is able to extract multipliers designed by the known

3 different ways (Array/Adder-tree multipliers, Carry Save Adders (CSAs), Wallace, modified or regular Booth) composed of one-bit adders (half and full adders) under an O(n 2 ) complexity bound, where n is the multiplier s bitwidth and the run time is almost linear with the number of gates used for the multipliers. Other common arithmetic macros (multiplexers, adders, large XOR trees) with various design variations (e.g. CLA adder, Ripple adder... ) can also be efficiently extracted from the netlists by our algorithm. In a pre-processed CNF form in step (5), a large number of internal equivalent points can be easily located, the SAT solver can then run extremely fast. E.g. it takes only five seconds on average to pre-process and solve for comparing a Wallace against a Booth multiplier, where each of them is of 32-bit. We attended the ICCAD CAD Contest 2014 [26] and won the first place. Our latest results is much better than that of the second place. We then ran our tool on the 182 open benchmarks posted by contest and compared it with two known commercial Logic Equivalence Checking (LEC) tools. With a time limit of 3 seconds set for each case in our tool, our algorithm can solve 93% circuits, with an average run time of 2 seconds per solved case. Besides solving more cases (93% vs 61% by X or 48% by Y), our tool runs at least 381 times faster than the tool X and 1358 times faster than tool Y. II. Difficulties in Comparing Arithmetic Blocks A macro is defined to be a block of logic which is a building component in Integrated Circuits (ICs) like adders, multipliers, multiplexers (MUX) or even a formula like (A + B) C. Macros, especially multipliers, usually bring great challenge to modern verification engines. In [18], the authors indicated that equivalence checkers could perform extremely well if the two designs contained a high degree of structural similarity. On the other hand, if no internal equivalences exist, modern equivalence checkers fail and verification can become impossible even for relatively small circuits. Figure 3 shows two functionally equivalent 4 4 multipliers that are implemented in different styles. The partial product of a Booth multiplier is illustrated in Equation 1, while the non-booth one in Equation 2 (each of a i and b j is the input bit of a multiplier operand). A direct equivalence checking by the current SAT solvers will likely fail to complete within a practical time limit. pp i,j =(a i a i 1 )(b j a i+1 )+ (a i a i 1 )(a i+1 a i )(b j 1 a i+1 ) (1) pp i,j = a i b j (2) Figure 4 illustrates an example that two differently implemented formula structures can also be equivalent. By analysing the experimental results, we have concluded the following obervations. (a) 4 4 Booth multiplier (b) 4 4 Non-Booth Wallace tree multiplier Fig. 3. Equivalent multipliers in different structures (a) (A + B) C (b) A C + B C Fig. 4. Equivalent macros formed by adders and multipliers Observation 1. The complexity of verifying an unsatisfiable n-input XOR-tree (n-input xor primitive) is O(2 n ) if no internal equivalence points can be found. Observation 2. It requires exponential time for a SAT solver to verify the equivalence of two m n multipliers implemented in Booth and non-booth Wallace trees respectively. This is empirically reflected in Figure 1 [12]. III. Formal Verification by Macro Level Function Checking It is observed that SAT solvers fail to verify arithmetic macros implemented in different structural styles effectively for there is not much internal equivalence among the CNF encoding due to structural difference. To address this problem, we have the following conjecture. Conjecture 1. Two equivalent functions represented in an identical implementation can be solved by SAT solver in polynomial time. The reasoning is that a SAT solver can traverse both functions and generate CNF clauses in topological order. Since the two functions are exactly in the same implementation form, the SAT solver can merge every pair CNF clauses which have the same inputs and sub functions. The result can thus be given by only one traversal in polynomial time.

4 We have identified the necessary steps to eliminate structural difference and thus to facilitate equivalence checking. They are: 1. Operator mapping, 2. Operand mapping, and 3. Formula equivalence checking and macro normalization. Macro mapping is to identify the function of a sub-circuit such as A B + C. An identified macro will undergo macro normalization in which it is re-implemented following a standard synthesis procedure. As a result, the same functions will always be structurally and logically equivalent despite their different formula representations. In order to accomplish macro normalization, the bit-vector variables in different formulae have to be matched. Finally, the re-synthesized netlists are translated into CNF claused and SAT engine is invoked to solve it. The whole algorithm flow is shown in figure 5. Fig. 5. Algorithm flow Before going into the details of our equivalence checking flow, an example is depicted in Figure 6 to introduce the concept. Suppose the two netlists, netlist1 and netlists2, are to be compared. They contain a non-booth multiplier and a Booth multiplier respectively. Firstly, the multipliers inside the netlists are identified. They are then restructured in the non-booth style and their formulae are rewritten in the standard form. The structural difference between the two netlists are then reduced to minimal; namely, their internal equivalence are maximized to speed up equivalence check. Lastly, the resynthesized netlists can be transformed into CNF clauses to be solved by a SAT solver. The major difficulties of our equivalence checking flow are: (1) to identify the boundaries and functions of the macros, (2) macro normalization, which needs to do logic restructuring and formula rewriting. We present our solutions for these problems in the following. A. Operator Macro Mapping We extend [24] and improve their idea to map general arithmetic macros composed of adders and multipliers. (a) before normalization Fig. 6. Multiplier normalization for SAT solvers (b) after normalization Although multipliers can be implemented in various structures, the most common implementations in practice are non-booth Wallace tree and Booth multipliers. Due to page limit, in this paper, we mainly describe the multiplier extraction for these two design styles. Both non-booth and Booth multipliers can be regarded as a structure of 1-bit half or full adders. This implies that an 1-bit half or full adder can be considered an atomic unit of the implementation, and the whole macro can be partitioned into numerous 1-bit adders. Every input signal of an 1-bit adder in a multiplier implementation is either a partial product or an output (carry or sum) of another 1-bit adder. The process to map adders, multipliers and their combinations can therefore be done and constructed from a basic structure: identified and connected 1-bit adders. Based on the above analysis, we know that the first step to map 1-bit adder based arithmetic macros is to traverse the whole netlist to identify all 1-bit half adders and 1-bit full adders. Then the 1-bit adders are connected to form 1-bit adder trees by the sum signals. Each 1-bit adder-tree represents an addition of the signals having the same bitweight. By the carry signals, these 1-bit adder-trees are then connected to form a 1-bit adder-forest to represent a candidate arithmetic macro. Finally, the weights of the macro output bits and input bits are determined according to the boundary of the forest. The output boundary of the forest is formed by the output of every tree. The input boundary of the forest is formed by the partial products of multipliers or the input bits of adders. The unique structural of the forest which include the number of trees, the size of each tree, the way that the trees are connected, and the types of signals lying on the boundaries, can be used to characterize a macro. We have successfully compiled the unique characteristics of the standard implementations of each of the common arithmetic macros. Hence, the type of the candidate arithmetic macro can be figured out instantly once the forest has been constructed. B. Operand Mapping In the process of identifying a macro, the corresponding formula is also identified at the same time. Suppose we are comparing two macros whose formulae are (A + B)

5 C and E (F + G) respectively. The first problem we have to solve is to determine the relationships between the variables in the formulae. We use the following heuristic to decide this operand mapping. We first encode all primary input. Then the mapping signature value of a bit is calculated by the encode value of the primary inputs driving the bit. For an adder, the operand bits of all weights should be mapped according to their sorted mapping signature values, while for a multiplier, only the operands need to be mapped in a similar way. For a macro with m operands of n-bit words, the complexity of an adder mapping is O(nm log m) and O(m log m) for a multiplier mapping. As m is usually quite small, the cost is nearly a constant or close to O(n). C. Formula Equivalence Checking and Normalization As discussed in the previous section, the function of a macro can be easily known after its operator and operand mappings. Then approaches like *BMD [2] can be used to do formula verification for although there can be unlimited number of ways to express a formula, every formula has a unique *BMD form. If there are no more logics left outside the macros, the equivalence checking process is done. Otherwise, the structural difference between functionally equivalent macros can still be reduced by repeating the above macro normalization. To perform an efficient macro normalization, after knowing the function formulae of macros, we still better pre-define a standard synthesis procedure and a standard formula expression for each common macro type and to transform each recognized macro to its predefined canonical form. For example, a non-booth style can be chosen as the standard style to synthesize multipliers, as shown in Figure 6. Then the CNF encoding of the new netlists can be solved by SAT solvers quickly. Besides solving the regular arithmetic formula cases, our scheme can also handle other data-path equivalent patterns such as MUX(s, (A B) : (C D))= MUX(s, (A : C)) MUX(s, (B : D)) as shown in Figure 7. Many other undescribed macros can also be treated similarly. D. Complexity Analysis for Mapping Multipliers From the results discussed in Section A, we have the following lemmas for mapping multipliers. Due to page limit, in this paper, we would skip some proofs and complexity analysis. Lemma 1. The complexity of constructing the addertrees and forest is linear with respect to the circuit size. Consequently, the partial products for each bit-weight can be identified in linear time. (a) Two multipliers and one multiplexer (b) One multiplier and two multiplexers Fig. 7. Equivalent macros formed by multiplexers and multipliers Lemma 2. The complexity of determining the input boundary of an n-bit multiplier (Booth or non-booth) is O(n 2 ) and is O(the circuit size). Proof. The number of partial products of an n-bit non- Booth multiplier is n n, and that of an n-bit Booth multiplier is n 2 (n + 1). After constructing the adder-trees and forest, the partial products for each bit-weight can be obtained. The input boundary of the multiplier can then be determined by visiting the partial products in the order of their corresponding bit-weights (details skipped for page limit). Therefore, the complexity of input boundary discovery is linear with the number of partial products, or is O(n 2 ) with respect to the multiplier s bit-width. Lemma 3. The complexity of mapping 1-bit adder based multipliers (array, non-booth Wallace or Booth) using our algorithm grows linearly with the circuit size. Because the arithmetic formulae used in practical circuits are relatively simple, the complexity of formula manipulation and operand mapping can be considered as a constant. Then, the complexity of macro normalization is linear with the circuit size. The overall complexity of our flow is therefore linear. This result is also justified by our experiments. IV. Experimental Results The experiments were performed on a Linux machine (Ubuntu with Linux kernel 3.2) powered by a 2.33GHz CPU and 2G memory. Our tool is named Easy- LEC. The executable file can be downloaded from [27]. A. Benchmark Information The set of open benchmarks released by Cadence s logic verification team for the 2014 CAD Contest at ICCAD [26] was adopted to evaluate our approach. Each of these benchmarks is a gate-level single-output combinational circuit. The benchmarks are divided into 24 test case suites.

6 Each suite contains three sample circuits, and ten test circuits synthesized using the same design styles. All circuits in the same suite implement similar arithmetic functions which only differ in their operands bit-widths. TABLE I Benchmark information [26] Case #primitives Function Style* Width ut a c + b c, NB 6 8 (a + b) c ut a b B ut a b B ut s(a b) s(c d), NB (sa sc) (sb sd) ut (signed)a b B, NB 9 24 ut (signed)a b B, NB ut a b B, NB ut a b B, NB ut a b B, NB ut (signed)a b B, NB a b c d ut a b, a b + c B, NB 9 28 a b + c d + e f ut (signed)a b B, NB ut fail to find any arithmetic macro ut a b B, NB hid a c + b c, B (a + b) c hid a b B, NB hid a + b y + z NB 4 13 hid (signed)a b B, NB 8 24 hid (signed)a b B, NB 6 11 hid a b B, NB hid a b B, NB hid a b + c, B, NB a b c d, a b e f hid a b B, NB hid fail to find any arithmetic macro *B/NB means for Booth/non-Booth multiplier Table I lists the characteristics of the benchmarks. Besides multiplication, some more complicated arithmetic functions also exist in the benchmarks. B. Comparison with The Contestants at ICCAD Contest 2014 We attended the ICCAD 2014 contest, which is about simultaneous CNF encoder optimization with SAT solver setting selection, and won the first place. Moreover, after continuous improvement, our latest results (25th Oct version) are even better. 12 case suites (ut2, ut32, hid1 hid10) are chosen by the organizer to evaluate the results. Figure 8 shows the comparison of our latest results with that of all other contestants. In the figure, cost represents the sum of cost (weighted CNF encoding time plus SAT solving time) of total 120 circuits (10 test circuits each from 12 cases). The number of solved circuits of each team is also indicated by the red curve. It can be seen that our cost is only 1/8 of the 2 nd team s cost and we can solve more problems (116 versus 57 in number or 97% versus 49%). Fig. 8. Contest results C. Comparison with Commercial Tools We also compared our tool with two famous commercial logic equivalence checking tools X (the latest version) and Y (the 2005 version). We did the comparison on the 14 open suits (ut1 ut41). For each suit, all the 13 circuits including the three sample circuits and ten test circuits are tested. For each circuit, each tool will terminate either after solving the SAT problem, or the time limit is reached. The two commercial tools would usually abort after running several thousands of seconds. In our approach, we use ABC to generate the CNF file after running our macro level functional checking algorithm. Glucose is used to solve the CNF file with default parameter setting. The results are shown in Table II. Columns #solved list the number of solved circuits. For all test suites except ut36 whose arithmetic logics failed to be extracted, our algorithm can solve most of the test circuits within seconds. On the other hand, it seems both commercial tools rely on some traditional logic checking technologies so that only cases with primitives gates but not complex arithmetic logics can be totally solved (ut1, ut2, ut5, and ut7 for X, ut1, ut5, ut7, and ut8 for Y). Columns avg time indicate the average runtime of each circuit regardless of whether it is solved or not. On these 182 open cases posted by Cadence for the Contest, our algorithm can solve 93% circuits (under our SAT time limit of 3 seconds per case), which is much better than the commercial tools (61% by X and 48% by Y) under a SAT time limit of 5000 seconds per case. Under this setup, our algorithm is at least 381 times faster than the commercial tool X and 1358 times faster than Y. Be noted that, as we can only extract the SAT run time from the commercial tools X (provided by company X), we are comparing our runtime of whole flow to the SAT time only of X. V. Conclusion Although modern SAT solvers, such as MiniSat, Glucose, Lingeling, are very efficient for formal verification

7 TABLE II Comparison with commercial tools Easy-LEC Commercial tool X Commercial tool Y Case #primitives #circuits #solved avg time(s)* #solved avg time(s)** #solved avg time(s)*** ut ut ut ut ut ut ut ut ut ut ut ut ut ut total avg ratio 1 93% 1 61% 381.3X 48% X * avg time is runtime of whole flow (arithmetic logic normalization, CNF encoding and SAT solving time) ** avg time is SAT solving time only (provided by company X) ***avg time is runtime of whole flow results of 25th Oct version on most random logics, these SAT solvers are likely to run exponentially for certain circuit structures regardless of parameter tuning by any methods (e.g. machine learning). Unfortunately, those hard to tackle structures are actually quite common in today s data-path circuits (e.g. multipliers or additions like A1+A2+...+An that contain certain XOR tree topology). Thus there exists a chance that two equivalent arithmetic circuits can differ drastically in their structures and yield nearly no internal equivalence for SAT solvers to exploit. Based on this observation, we experiment a new reverse engineering and logic synthesis assisted verification methodology in which complicated arithmetic logics and their formulae are extracted to create internal equivalence for SAT solvers to avoid being trapped in certain exponential runs. Besides solving the today s verification bottleneck of arithmetic circuitry, this approach is orders of magnitude faster than any other known approach. It would be interesting to study if this Complementary Greedy Coupling scheme proved working for Circuit-SAT can also be useful for other NP-complete problems. References [1] R. Bryant, Graph-based algorithms for Boolean function manipulation, Computers, IEEE Transactions on, vol. C-35, no. 8, pp , [2] R. E. Bryant and Y.-A. Chen, Verification of arithmetic circuits with binary moment diagrams, in DAC 95, pp , [3] Y.-A. Chen and R. Bryant, *PHDD: an efficient graph representation for floating point circuit verification, in Computer-Aided Design, Digest of Technical Papers., 1997 IEEE/ACM International Conference on, pp. 2 7, Nov [4] N. Een and A. Biere, Effective preprocessing in SAT through variable and clause elimination, in SAT, [5] N. Een, A. Mishchenko, and N. Sorensson, Applying logic synthesis for speeding up SAT, in SAT, [6] N. Een and N. Sorensson, An extensible SAT-solver, in Proc. SAT, pp , [7] G. Audemard, J.-M. Lagniez, and L. Simon, Improving Glucose for incremental SAT solving with assumptions: application to MUS extraction, in Theory and Applications of Satisfiability Testing SAT 2013, pp , Springer, [8] A. Biere, Lingeling, plingeling and treengeling entering the SAT competition 2013, Proceedings of SAT Competition, pp , [9] M. W. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik, Chaff: Engineering an efficient SAT solver, in Proc. Design Automation Conference, [10] J. Huang, The effect of restarts on the efficiency of clause learning, in IJCAI, [11] G. Audemard and L. Simon, Predicting learnt clauses quality in modern SAT solvers, in IJCAI, [12] M. Jarvisalo, Equivalence checking hardware multiplier designs, Papers on Computational Logic, vol. 1967, pp , [13] A. Biere, M. Heule, H. V. Maaren, and T. Walsch, Satisfiability modulo theories, in Handbook of Satisfiability, IOS Press, [14] T. Stanion, Implicit verification of structurally dissimilar arithmetic circuits, in Computer Design, (ICCD 99) International Conference on, pp , [15] J.-C. Chen and Y.-A. Chen, Equivalence checking of integer multipliers, in ASP-DAC 01, pp , [16] Y.-T. Chang and K.-T. Cheng, Induction-based gate-level verification of multipliers, in ICCAD 01, pp , [17] D. Stoffel and W. Kunz, Verification of integer multipliers on the arithmetic bit level, in ICCAD 01, pp , [18] D. Stoffel and W. Kunz, Equivalence checking of arithmetic circuits on the arithmetic bit level, Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 23, no. 5, pp , [19] O. Sarbishei, B. Alizadeh, and M. Fujita, Arithmetic circuits verification without looking for internal equivalences, in Formal Methods and Models for Co- Design, th ACM/IEEE International Conference on, pp. 7 16, [20] C.-Y. Lai, S.-L. Huang, and K.-Y. Khoo, Improving constant-coefficient multiplier verification by partial product identification, in DATE 08, pp , [21] M. A. Basith, T. Ahmad, A. Rossi, and M. Ciesielski, Algebraic approach to arithmetic design verification, in Proceedings of the International Conference on Formal Methods in Computer-Aided Design, pp , [22] M. Ciesielski, C. Yu, W. Brown, D. Liu, and A. Rossi, Verification of gatelevel arithmetic circuits by function extraction, in ACM Design Automation Conference (DAC-2015), [23] Y.-L. Wu and M. Marek-Sadowska, Orthogonal greedy coupling - a new optimization approach to 2-d fpga routing, in Proc. Design Automation Conference, [24] X. Wei, Y. Diao, T.-K. Lam, and Y.-L. Wu, A universal macro block mapping scheme for arithmetic circuits, in Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, pp , EDA Consortium, [25] P. Subramanyan, N. Tsiskaridze, W. Li, A. Gascon, W. Y. Tan, A. Tiwari, N. Shankar, S. Seshia, S. Malik, et al., Reverse engineering digital circuits using structural and functional analyses, Emerging Topics in Computing, IEEE Transactions on, vol. 2, no. 1, pp , [26] C.-J. Hsu, ICCAD-2014 CAD contest in simultaneous CNF encoder optimization with SAT solver setting selection, in Proc. International Conference on Computer-Aided Design, [27] Easy-LEC (25th Oct, 2014 version). Easy-logic Technology Ltd. easylogic.hk/download/tool/easy_lec_v tar.gz.

8 TABLE III Detailed results of benchmark cases in 2014 CAD contest at ICCAD [26] case time* case time case time case time case time ut1/sample ut20/sample1 0.4 ut41/sample hid1/test hid6/test ut1/sample ut20/sample2 0.5 ut41/sample hid1/test hid6/test2 0.2 ut1/sample ut20/sample3 abort ut41/sample hid1/test hid6/test3 0.4 ut1/test ut20/test ut41/test hid1/test hid6/test ut1/test ut20/test10 abort ut41/test hid1/test hid6/test ut1/test ut20/test ut41/test hid1/test hid6/test ut1/test ut20/test ut41/test3 0.7 hid1/test hid6/test ut1/test ut20/test4 2.5 ut41/test hid1/test hid6/test ut1/test ut20/test ut41/test hid1/test hid6/test ut1/test ut20/test ut41/test hid1/test hid6/test ut1/test ut20/test ut41/test hid2/test hid7/test1 0.3 ut1/test ut20/test ut41/test8 1.4 hid2/test hid7/test ut1/test ut20/test ut41/test hid2/test hid7/test ut13/sample ut26/sample ut5/sample hid2/test hid7/test ut13/sample ut26/sample ut5/sample hid2/test hid7/test ut13/sample ut26/sample ut5/sample hid2/test6 0.3 hid7/test ut13/test ut26/test ut5/test hid2/test hid7/test ut13/test ut26/test ut5/test hid2/test hid7/test ut13/test ut26/test ut5/test hid2/test hid7/test ut13/test ut26/test ut5/test hid2/test hid7/test ut13/test ut26/test ut5/test hid3/test1 0.5 hid8/test ut13/test5 0.3 ut26/test ut5/test hid3/test hid8/test2 0.6 ut13/test6 0.4 ut26/test ut5/test hid3/test hid8/test ut13/test ut26/test ut5/test7 0.5 hid3/test hid8/test ut13/test ut26/test ut5/test hid3/test hid8/test ut13/test ut26/test ut5/test hid3/test hid8/test ut14/sample ut3/sample ut7/sample hid3/test hid8/test7 abort ut14/sample ut3/sample ut7/sample hid3/test hid8/test8 abort ut14/sample ut3/sample ut7/sample hid3/test hid8/test ut14/test ut3/test ut7/test hid3/test hid8/test ut14/test ut3/test ut7/test hid4/test hid9/test ut14/test ut3/test ut7/test hid4/test hid9/test ut14/test ut3/test ut7/test hid4/test3 0.8 hid9/test ut14/test ut3/test ut7/test hid4/test hid9/test4 0.6 ut14/test ut3/test ut7/test5 0.5 hid4/test hid9/test ut14/test ut3/test ut7/test hid4/test hid9/test ut14/test ut3/test ut7/test hid4/test hid9/test ut14/test8 0.8 ut3/test ut7/test hid4/test hid9/test ut14/test ut3/test ut7/test hid4/test hid9/test ut15/sample ut32/sample ut8/sample1 1.5 hid4/test hid9/test ut15/sample ut32/sample ut8/sample hid5/test hid10/test ut15/sample ut32/sample ut8/sample hid5/test hid10/test ut15/test ut32/test ut8/test hid5/test hid10/test ut15/test ut32/test ut8/test hid5/test hid10/test ut15/test ut32/test ut8/test hid5/test hid10/test ut15/test ut32/test ut8/test hid5/test hid10/test ut15/test ut32/test ut8/test hid5/test7 0.7 hid10/test ut15/test ut32/test ut8/test hid5/test hid10/test ut15/test ut32/test ut8/test6 1 hid5/test hid10/test9 abort ut15/test ut32/test7 0.9 ut8/test hid5/test hid10/test10 abort ut15/test ut32/test ut8/test ut15/test ut32/test ut8/test ut2/sample ut36/sample ut2/sample ut36/sample2 abort ut2/sample ut36/sample3 abort ut2/test ut36/test1 abort ut2/test ut36/test10 abort ut2/test ut36/test2 abort ut2/test ut36/test3 abort ut2/test4 0.9 ut36/test4 abort ut2/test ut36/test ut2/test ut36/test6 2.9 ut2/test ut36/test7 abort ut2/test ut36/test8 abort ut2/test ut36/test9 abort time*: time (in seconds) used to verify cases by Easy-LEC (version at 2014/10), report abort when failed All cases can be downloaded at contest.ee.ncu.edu.tw/cad-contest-at-iccad2014/problem a/default.html

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

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

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

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

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)

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

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

Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers

Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers Paul Walton Computer Science and Computer Engineering University of Arkansas Fayetteville, AR 72701, USA pwalton@uark.edu Wing

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

Improving Constant-Coefficient Multiplier Verification by Partial Product Identification

Improving Constant-Coefficient Multiplier Verification by Partial Product Identification Improving Constant-Coefficient Multiplier Verification by Partial Product Identification Chao-Yue Lai, Chung-Yang (Ric) Huang Department of Electrical Engineering National Taiwan University, Taiwan colby.lai@gmail.com,

More information

Circuit versus CNF Reasoning for Equivalence Checking

Circuit versus CNF Reasoning for Equivalence Checking Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,

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

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

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

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

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

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

Binary Decision Diagrams (BDD)

Binary Decision Diagrams (BDD) Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis

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

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

9.1 Cook-Levin Theorem

9.1 Cook-Levin Theorem CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

More information

Design and Implementation of CVNS Based Low Power 64-Bit Adder

Design and Implementation of CVNS Based Low Power 64-Bit Adder Design and Implementation of CVNS Based Low Power 64-Bit Adder Ch.Vijay Kumar Department of ECE Embedded Systems & VLSI Design Vishakhapatnam, India Sri.Sagara Pandu Department of ECE Embedded Systems

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

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

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,

More information

Functional extension of structural logic optimization techniques

Functional extension of structural logic optimization techniques Functional extension of structural logic optimization techniques J. A. Espejo, L. Entrena, E. San Millán, E. Olías Universidad Carlos III de Madrid # e-mail: { ppespejo, entrena, quique, olias}@ing.uc3m.es

More information

Full CNF Encoding: The Counting Constraints Case

Full CNF Encoding: The Counting Constraints Case Full CNF Encoding: The Counting Constraints Case Olivier Bailleux 1 and Yacine Boufkhad 2 1 LERSIA, Université de Bourgogne Avenue Alain Savary, BP 47870 21078 Dijon Cedex olivier.bailleux@u-bourgogne.fr

More information

CS-E3200 Discrete Models and Search

CS-E3200 Discrete Models and Search Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete

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

Combinational Equivalence Checking Using Satisfiability and Recursive Learning

Combinational Equivalence Checking Using Satisfiability and Recursive Learning Combinational Equivalence Checking Using Satisfiability and Recursive Learning João Marques-Silva Thomas Glass Instituto Superior Técnico Siemens AG Cadence European Labs/INESC Corporate Technology 1000

More information

Integrating an AIG Package, Simulator, and SAT Solver

Integrating an AIG Package, Simulator, and SAT Solver Integrating an AIG Package, Simulator, and SAT Solver Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton}@berkeley.edu Abstract This paper focuses on problems where the interdependence

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

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

Large-scale Boolean Matching

Large-scale Boolean Matching Large-scale Boolean Matching Hadi Katebi, Igor L. Markov University of Michigan, 2260 Hayward St., Ann Arbor, MI 48109 {hadik, imarkov}@eecs.umich.edu Abstract We propose a methodology for Boolean matching

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Foundations of AI. 8. Satisfiability and Model Construction. Davis-Putnam, Phase Transitions, GSAT and GWSAT. Wolfram Burgard & Bernhard Nebel

Foundations of AI. 8. Satisfiability and Model Construction. Davis-Putnam, Phase Transitions, GSAT and GWSAT. Wolfram Burgard & Bernhard Nebel Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT and GWSAT Wolfram Burgard & Bernhard Nebel Contents Motivation Davis-Putnam Procedure Average complexity

More information

Logic synthesis and verification on fixed topology

Logic synthesis and verification on fixed topology Logic synthesis and verification on fixed topology Masahiro Fujita University of Tokyo lan Mishchenko University of California, erkeley bstract We discuss ab logic synthesis and formal verification of

More information

Full Chip False Timing Path Identification: Applications to the PowerPC TM Microprocessors

Full Chip False Timing Path Identification: Applications to the PowerPC TM Microprocessors Full Chip False Timing Path Identification: Applications to the PowerPC TM Microprocessors Jing Zeng yz, Magdy S. Abadir y, Jayanta Bhadra yz, and Jacob A. Abraham z y EDA Tools and Methodology, Motorola

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

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

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

Improving Logic Obfuscation via Logic Cone Analysis

Improving Logic Obfuscation via Logic Cone Analysis Improving Logic Obfuscation via Logic Cone Analysis Yu-Wei Lee and Nur A. Touba Computer Engineering Research Center University of Texas, Austin, TX 78712 ywlee@utexas.edu, touba@utexas.edu Abstract -

More information

Majority Logic Representation and Satisfiability

Majority Logic Representation and Satisfiability Majority Logic Representation and Satisfiability Luca Amarú, Pierre-Emmanuel Gaillardon, Giovanni De Micheli Integrated Systems Laboratory (LSI), EPFL, Switzerland Abstract Majority logic is a powerful

More information

THE LOGIC OF COMPOUND STATEMENTS

THE LOGIC OF COMPOUND STATEMENTS CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 2.5 Application: Number Systems and Circuits for Addition Copyright Cengage Learning. All rights reserved.

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara

Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB Tim Cheng & Li-C. Wang UC-Santa Barbara 1 Outline Current Issues in Functional Verification Functional

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

Hybrid Constraint Solvers

Hybrid Constraint Solvers Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers

More information

A Lightweight Component Caching Scheme for Satisfiability Solvers

A Lightweight Component Caching Scheme for Satisfiability Solvers A Lightweight Component Caching Scheme for Satisfiability Solvers Knot Pipatsrisawat and Adnan Darwiche {thammakn,darwiche}@cs.ucla.edu Computer Science Department University of California, Los Angeles

More information

Implementation of digit serial fir filter using wireless priority service(wps)

Implementation of digit serial fir filter using wireless priority service(wps) Implementation of digit serial fir filter using wireless priority service(wps) S.Aruna Assistant professor,ece department MVSR Engineering College Nadergul,Hyderabad-501510 V.Sravanthi PG Scholar, ECE

More information

Part 1-2. Translation of Netlist to CNF

Part 1-2. Translation of Netlist to CNF 2D Project Report Part 1-2. Translation of Netlist to CNF Team members: MA Ke, WEI Fanding, CHEN Jian, CHEN Ziyi Introduction In this part, we are required to translate the netlist of our optimized adder

More information

Covered Clause Elimination

Covered Clause Elimination Covered Clause Elimination Marijn Heule TU Delft, The Netherlands Matti Järvisalo Univ. Helsinki, Finland Armin Biere JKU Linz, Austria Abstract Generalizing the novel clause elimination procedures developed

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

OPTIMIZATION OF FIR FILTER USING MULTIPLE CONSTANT MULTIPLICATION

OPTIMIZATION OF FIR FILTER USING MULTIPLE CONSTANT MULTIPLICATION OPTIMIZATION OF FIR FILTER USING MULTIPLE CONSTANT MULTIPLICATION 1 S.Ateeb Ahmed, 2 Mr.S.Yuvaraj 1 Student, Department of Electronics and Communication/ VLSI Design SRM University, Chennai, India 2 Assistant

More information

arxiv: v1 [cs.lo] 17 Oct 2013

arxiv: v1 [cs.lo] 17 Oct 2013 Effectiveness of pre- and inprocessing for CDCL-based SAT solving Andreas Wotzlaw, Alexander van der Grinten, and Ewald Speckenmeyer Institut für Informatik, Universität zu Köln, Pohligstr. 1, D-50969

More information

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989 University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath

Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath 972 PAPER Special Section on Formal Approach Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath Tasuku NISHIHARA a), Member, Takeshi MATSUMOTO, and Masahiro

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

Bit-Level Optimization of Adder-Trees for Multiple Constant Multiplications for Efficient FIR Filter Implementation

Bit-Level Optimization of Adder-Trees for Multiple Constant Multiplications for Efficient FIR Filter Implementation Bit-Level Optimization of Adder-Trees for Multiple Constant Multiplications for Efficient FIR Filter Implementation 1 S. SRUTHI, M.Tech, Vlsi System Design, 2 G. DEVENDAR M.Tech, Asst.Professor, ECE Department,

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

algorithms, i.e., they attempt to construct a solution piece by piece and are not able to offer a complete solution until the end. The FM algorithm, l

algorithms, i.e., they attempt to construct a solution piece by piece and are not able to offer a complete solution until the end. The FM algorithm, l The FMSAT Satisfiability Solver: Hypergraph Partitioning meets Boolean Satisfiability Arathi Ramani, Igor Markov framania, imarkovg@eecs.umich.edu February 6, 2002 Abstract This report is intended to present

More information

Tree Structure and Algorithms for Physical Design

Tree Structure and Algorithms for Physical Design Tree Structure and Algorithms for Physical Design Chung Kuan Cheng, Ronald Graham, Ilgweon Kang, Dongwon Park and Xinyuan Wang CSE and ECE Departments UC San Diego Outline: Introduction Ancestor Trees

More information

Paper ID # IC In the last decade many research have been carried

Paper ID # IC In the last decade many research have been carried A New VLSI Architecture of Efficient Radix based Modified Booth Multiplier with Reduced Complexity In the last decade many research have been carried KARTHICK.Kout 1, MR. to reduce S. BHARATH the computation

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams 2-CS-626- Formal Verification Department of Computer Science University of Cincinnati Introduction Binary Decision Diagrams (BDD) [, 8] are a general, graphical representation

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

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 9 /Issue 3 / OCT 2017

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 9 /Issue 3 / OCT 2017 Design of Low Power Adder in ALU Using Flexible Charge Recycling Dynamic Circuit Pallavi Mamidala 1 K. Anil kumar 2 mamidalapallavi@gmail.com 1 anilkumar10436@gmail.com 2 1 Assistant Professor, Dept of

More information

Optimizations in the Verification Technique of Automatic Assertion Checking with Non-linear Solver

Optimizations in the Verification Technique of Automatic Assertion Checking with Non-linear Solver Optimizations in the Verification Technique of Automatic Assertion Checking with Non-linear Solver AUTHORS AND AFFILATION DATA MUST NOT BE INCLUDED IN THE FIRST FULL PAPER VERSION FOR REVIEW Abstract This

More information

Performance Evaluation of a Novel Direct Table Lookup Method and Architecture With Application to 16-bit Integer Functions

Performance Evaluation of a Novel Direct Table Lookup Method and Architecture With Application to 16-bit Integer Functions Performance Evaluation of a Novel Direct Table Lookup Method and Architecture With Application to 16-bit nteger Functions L. Li, Alex Fit-Florea, M. A. Thornton, D. W. Matula Southern Methodist University,

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

Srinivasasamanoj.R et al., International Journal of Wireless Communications and Network Technologies, 1(1), August-September 2012, 4-9

Srinivasasamanoj.R et al., International Journal of Wireless Communications and Network Technologies, 1(1), August-September 2012, 4-9 ISSN 2319-6629 Volume 1, No.1, August- September 2012 International Journal of Wireless Communications and Networking Technologies Available Online at http://warse.org/pdfs/ijwcnt02112012.pdf High speed

More information

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler, Marijn J. H. Heule, and Warren A. Hunt, Jr. The University of Texas at Austin Abstract. The DRAT-trim tool is

More information

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E) ESE535: Electronic Design Automation CNF Day 21: April 21, 2008 Modern SAT Solvers ({z}chaff, GRASP,miniSAT) Conjunctive Normal Form Logical AND of a set of clauses Product of sums Clauses: logical OR

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

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 AND IMPLEMENTATION BY USING BIT LEVEL TRANSFORMATION OF ADDER TREES FOR MCMS USING VERILOG

DESIGN AND IMPLEMENTATION BY USING BIT LEVEL TRANSFORMATION OF ADDER TREES FOR MCMS USING VERILOG DESIGN AND IMPLEMENTATION BY USING BIT LEVEL TRANSFORMATION OF ADDER TREES FOR MCMS USING VERILOG 1 S. M. Kiranbabu, PG Scholar in VLSI Design, 2 K. Manjunath, Asst. Professor, ECE Department, 1 babu.ece09@gmail.com,

More information

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Debatosh Debnath Dept. of Computer Science & Engineering Oakland University, Rochester Michigan 48309, U.S.A. debnath@oakland.edu

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,

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

Area and Delay Optimization using Various Multiple Constant Multiplication Techniques for FIR Filter

Area and Delay Optimization using Various Multiple Constant Multiplication Techniques for FIR Filter I J C T A, 9(13) 2016, pp. 5893-5899 International Science Press Area and Delay Optimization using Various Multiple Constant Multiplication Techniques for FIR Filter 1 P. Radhika, 2 A. V. Sunil, and 3

More information

VLSI Design Of a Novel Pre Encoding Multiplier Using DADDA Multiplier. Guntur(Dt),Pin:522017

VLSI Design Of a Novel Pre Encoding Multiplier Using DADDA Multiplier. Guntur(Dt),Pin:522017 VLSI Design Of a Novel Pre Encoding Multiplier Using DADDA Multiplier 1 Katakam Hemalatha,(M.Tech),Email Id: hema.spark2011@gmail.com 2 Kundurthi Ravi Kumar, M.Tech,Email Id: kundurthi.ravikumar@gmail.com

More information

Optimally Solving the MCM Problem Using Pseudo-Boolean Satisfiability

Optimally Solving the MCM Problem Using Pseudo-Boolean Satisfiability Optimally Solving the MCM Problem Using Pseudo-Boolean Satisfiability Nuno P. Lopes Levent Aksoy Vasco Manquinho José Monteiro INESC-ID IST - TU Lisbon May 17, 2011 Abstract In this report, we describe

More information

1 Inference for Boolean theories

1 Inference for Boolean theories Scribe notes on the class discussion on consistency methods for boolean theories, row convex constraints and linear inequalities (Section 8.3 to 8.6) Speaker: Eric Moss Scribe: Anagh Lal Corrector: Chen

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

AXIOMS FOR THE INTEGERS

AXIOMS FOR THE INTEGERS AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,

More information

SAT Solver and its Application to Combinatorial Problems

SAT Solver and its Application to Combinatorial Problems SAT Solver and its Application to Combinatorial Problems Naoyuki Tamura Kobe University 2014 December 14th, 2014 1 / 46 Contents 1 SAT Problems and SAT Solvers SAT Problems SAT Solvers Don Knuth s TAOCP

More information

Power-Mode-Aware Buffer Synthesis for Low-Power Clock Skew Minimization

Power-Mode-Aware Buffer Synthesis for Low-Power Clock Skew Minimization This article has been accepted and published on J-STAGE in advance of copyediting. Content is final as presented. IEICE Electronics Express, Vol.* No.*,*-* Power-Mode-Aware Buffer Synthesis for Low-Power

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs

General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs General Models for Optimum Arbitrary-Dimension FPGA Switch Box Designs Hongbing Fan Dept. of omputer Science University of Victoria Victoria B anada V8W P6 Jiping Liu Dept. of Math. & omp. Sci. University

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

High-Level Information Interface

High-Level Information Interface High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.

More information

Cache-Oblivious Traversals of an Array s Pairs

Cache-Oblivious Traversals of an Array s Pairs Cache-Oblivious Traversals of an Array s Pairs Tobias Johnson May 7, 2007 Abstract Cache-obliviousness is a concept first introduced by Frigo et al. in [1]. We follow their model and develop a cache-oblivious

More information

Disjoint Support Decompositions

Disjoint Support Decompositions Chapter 4 Disjoint Support Decompositions We introduce now a new property of logic functions which will be useful to further improve the quality of parameterizations in symbolic simulation. In informal

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

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

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