Boolean Factoring with Multi-Objective Goals

Size: px
Start display at page:

Download "Boolean Factoring with Multi-Objective Goals"

Transcription

1 Boolean Factoring with Multi-Objective Goals Mayler G. A. Martins 1, Leomar Rosa Jr. 1, Anders B. Rasmussen 2, Renato P. Ribas 1 and Andre I. Reis 1 1 PGMICRO - Instituto de Informática UFRGS / 2 Nangate Inc. 1 {mgamartins, leomarjr, rpribas, andreis}@inf.ufrgs.br 2 abr@nangate.com Abstract This paper introduces a new algorithm for Boolean factoring. The proposed approach is based on a novel synthesis paradigm, functional composition, which performs synthesis by associating simpler sub-solutions with minimum costs. The method constructively controls characteristics of final and intermediate functions, allowing the adoption of secondary criteria other than the number of literals for optimization. This multi-objective factoring algorithm presents interesting features and advantages when compared to previous works. I. INTRODUCTION Factoring is an important procedure for logic synthesis tools. It consists in the conversion of a logic function into a logically equivalent parenthesized expression or factored form with reduced number of literals. The input function is usually represented in a sum-of-products or product-of-sums form. The reduction of literals can affect the area taken by the final implementation of the function. Yet, according to [1], the only known optimality result for factoring (until 1996) was presented in [2]. Heuristic techniques have been proposed for factoring that achieved high commercial success. These include the quick_factor (QF) and good_factor (GF) algorithms available in SIS tool [3]. Recently, factoring methods that produce exact results for read-once factored forms have been proposed [4] and improved [5]. However, the IROF algorithm [4-5] only works for functions that can be represented by read-once formulas. The Xfactor algorithm [6-7] is exact for read-once forms and produces good heuristic solutions for functions that are not included in this category. Most of these algorithms [3-7] take as input a sum-ofproducts (SOP) or a product-of-sums (POS). As SOP/POS forms are completely specified, the don t cares are not treated during the factoring but while generating the SOP/POS. Thus, the whole process is not exact. Lawler s algorithm [2] starts from a functional description and considers don t cares, but it is too slow to complete for small functions and can fail for functions of 4 variables. All these approaches [2-7] only deal with reduction of the number of literals, without considering secondary criteria. There are more aspects in factoring, besides reducing the number of literals. For instance, logic depth and structural characteristics associated to derived transistor networks. Consequently, it is necessary to develop algorithms that are able to deal with multi-objective design goals, considering topological properties (like the number of series and parallel switches in derived networks) while reducing the number of literals. In this context, we propose an algorithm that is able to: (1) minimize factored forms taking into account multi-objective goals, (2) generate more than one alternative solution and (3) start from a functional description. The proposed algorithm is based on a principle called functional composition. It associates simpler sub-solutions with known costs, which allows the method to optimize cost functions that take more than just literals into account. The association starts with single literal functions and compute solutions with n+1 literals at each step by using the solutions computed in prior steps. The algorithm uses dynamic programming to achieve optimization. This paper is organized as follows. Section II presents concepts and notations used in this paper. Section III presents the baseline algorithm for basic understanding. The proposed algorithm is described in Section IV, detailing optimizations that make it usable in practice. A full example of the proposed algorithm is presented in Section V. Results and comparisons to other methods are presented in Section VI. Section VII concludes this paper. II. BACKGROUND This section provides basic concepts necessary to understand the algorithm. A. Cofactor The cofactor is a sub element of a Shannon Decomposition that is a method by which a Boolean function can be represented by the sum of two subfunctions of the original. Let F= B B, with the input variable (x 1,x 2,,x i,,x n ), where the cofactor H =F is defined as: H= F(x,x,,,,x ) =k where the positive cofactor is defined when k=1 and the negative cofactor is defined when k= /10/$ IEEE 229

2 For simplicity of definitions, let F and F operators represents positive and negative cofactors in the variable x of the function F. A cube cofactor is obtained by setting more than one input variable to specific values (zero or one). B. Order Two Boolean functions can be compared and classified according their relative order, which can be: equal, larger, smaller and not-comparable. It is said that F is larger (smaller) than F when the on-set of F is a superset (subset) of the on-set of F. Two functions are equal when they have equal on-set and off-set. They are not-comparable when the on-sets are not contained by each other. Let (F 1,F 2 ) denote the order of F against F and the auxiliary function: =F F, F = F, ( =F (F,F )= ) (F F ), ( =F ) (F F ), F F C. Unateness Let F be a Boolean function on B. F is positive (negative) unate in the variable x if F is smaller or equal than F ( F is larger or equal than F ). F is binate in the variable x if F is not comparable to F. Unateness and binateness can be detected at functional level, before any equation is produced. This can be verified by comparing the positive and negative cofactors of the function with respect to each variable. Let ( ) denote the unateness detection function of a variable and,h,i auxiliary functions: = F, H= F, I= H, ( = I) ( H), (H= I) ( H) ( )=, =H, H I D. Symmetry A Boolean function F is called symmetric if F(x,x,,x )=F x,x,,x for all permutations (ϕ,ϕ,,ϕ ) of (1,2,,n). It can be considered for simplified purposes that two variables are symmetric when they can be interchanged without modifying the logic function, so (, )= (, ). The anti-symmetric function can be defined as a function that does not change if the variables are inverted and exchanged to each other, so (, )= (, ). Symmetry can also be detected at functional level, before any equation is produced. This can be detected by comparing the cube cofactors of the two variables involved. Let (, ) denote the symmetry function of 2 variables and,i auxiliary functions: = F H = = F L=, (, )=, E. Series/Parallel network H = L h A factored form can be implemented as a complementary series/parallel CMOS transistor network. This process is straightforward; further details are described by Weste and Harris [10]. The number of series transistors in one CMOS plane is the number of parallel transistors in the other CMOS plane. The number of series transistors affects the performance of the final cell and it can vary for factored forms representing the same Boolean function. Let f denote a logic function in SOP form: =( )+( )+( )+( )+( ) (1) Table 1 illustrates some factored forms of (1) as a motivation for the multi-objective goals. Equation (2) has minimum literal cost (L). The number of series (S) switches is the same for all equations. Eq. (4) has minimum parallel (P) cost. From a project point of view, Eq. (4) is interesting because it has at most four series transistors in both CMOS planes, when implemented as a CMOS gate. F. Read-Once A function F is called read-once if it can be represented as a factored form, in which each variable appears no more than once. Theorem: If a function F can be represented through a readonce formula, all the partial sub-equations in the formula correspond to functions that are cube cofactors of F. Proof: As each variable appears as a single literal, they can all be independently set to non-controlling values, which makes only one literal disappear at a time. This way, any sub-equation (or sub-set) of f can be obtained by assigning non-controlling values to the variables to be eliminated. This variable assignment forms (by definition) cube cofactors. 230

3 Table 1. Literal, series and parallel costs of factored forms. Eq Factored Function L S P (2) = ( )+(( ( + ))+( ( + ))) (3) =b c+(a (c+d))+c ((b +d ) (b+a )) (4) =(c+d) (a+b c )+((c+d ) (b+c a )) (5) =a (c+d)+(b (c+d )+b (c (a +d))) III. BASELINE ALGORITHM The baseline algorithm compute solutions from simpler equations (i.e., with fewer literals) computed in prior steps. The starting point is the set of known sub-functions represented by a single literal. A bucket of n-literal equations is the set of functions composed of n literals. Fig. 1 illustrates the process for creating all the buckets up to 5-literal equations. The first step is creating from scratch the bucket of 1-literal equations, which is trivial. Then the 1- literal equations are combined through and/or logic operations {1} to create the 2-literals bucket. In a similar way, the combination {2} of 1-literal and 2-literal buckets creates the 3-literals bucket. The 4-literal bucket is composed by operations among 1-literal and 3-literals buckets {3} and by operations among pairs of elements {4} from the 2-literals bucket. Finally, the 5-literals bucket is composed of combinations among 1-literal and 4-literals buckets {5} and among 2-literals and 3-literals buckets {6}. Generalizing the concept of generation to n-literal buckets, it can be expressed according Eq. (6). = ( ) ( + ) 2 (6) The process is iterative, so it will stop when the target function is found. However, the number of functions grows exponentially, as there are 2 Boolean expressions of n inputs. If the functions in each bucket are not pruned, the algorithm will be unfeasible in memory and computational time. Next section introduces optimizations that make the algorithm feasible. IV. PROPOSED ALGORITHM Fig. 1: Generation of subfunctions until the 5th bucket. The number inside braces indicates the bucket composition step order. Fig. 2: Pseudo-code for the factorization algorithm. The proposed algorithm represents logic functions as a pair of {functionality, implementation}. The functionality is either a BDD node or a truth table. The implementation is either the root of an operator tree or a string representing a factored form. Example: the following {bit vector, string} pairs are inserted in the 1-literal bucket for a binate function dependent of three variables, a,b,c: ,, ,, ,, ,, ,, ,. The implementation can also have associated data about number of literals, logic depth, number of transistors, series/parallel properties, etc. These data are necessary to factorize a target function considering multi-objective goals. Fig. 2 shows the pseudo-code for factorization algorithm. The first step is to check if the target function is constant. In this case the algorithm returns the constant. The second step is the computation of symmetry groups that uses the information about unateness to detect variables that are symmetric. The information about symmetry and antisymmetry can be used here to greatly reduce the number of allowed sub-functions used to prune intermediate functions. Allowed sub-functions are derived from the cube cofactors. To reduce the number of computed cube cofactors, the symmetric and anti-symmetric variables are grouped and the cube cofactors are computed by first setting all the variables inside a group before picking a variable from another group. To optimize performance, a hash table of allowed subfunctions is maintained. Subfunctions that are not present in the allowed subfunctions hash table are discarded, unless they are greater or smaller than the target function. The set of all cube cofactors of the target function is a very good set of allowed functions. The intuition behind this is that by 231

4 setting variables to zero and one in an optimized factored form it is possible to obtain sub-expressions of the formula. For the case of read-once formulas, the use of cube cofactors as allowed sub-functions guarantees an exact result. This is a direct corollary of the theorem in section II.F. An "already-looked" hash table stores the functions already introduced previously. These functions have been produced with fewer or equal number of literals and do not need to be introduced twice. This process speeds-up execution time. The next step is the computation of the allowed subfunctions. This is done by deriving allowed subfunctions from the cube cofactors found considering symmetry. There are three useful types of combinations: Each function of the larger functions group is combined with each function of the not comparable (NC) group using an AND operation, if the result is a smaller functions it is stored for future use; Similar process is used with the smaller and NC functions, using the OR operation and storing larger functions. The last combination is NC against NC, doing AND and OR operations, storing any function generated in the set of allowed subfunctions. After the initialization of the allowed subfunctions, the algorithm proceeds with the functional composition. It starts by creating the 1-literal functions. Only the literals with the right polarity are created, reducing the computation time. If the target function is not found in the 1-literal bucket, subsequent buckets are generated, until the target function is found or the number of buckets reaches a maximum predetermined number. After completing the ith-bucket filling, the algorithm makes a search for a solution, using the computed smaller and larger subfunctions. A solution is always an OR(AND) operation between smaller (larger) subfunctions in previous buckets and the functions in the current smaller (larger) bucket. During this process, non prime expressions are deleted from the ith-buckets. The algorithm doesn t need to stop in the first solution, so multiple solutions with different costs can be found. Table 2. Allowed subfunctions of (7). Cofactors Cube Cofactors F = F, = + F = ( + ) F, = F = + F, = F = F, = F = + F, = F = F, = F =( + ) ( + ) F, = F = ( + ) V. A COMPLETE EXAMPLE In this section, we provide a complete example for the algorithm, discussing how the aspects described before are taken into account in the execution of the method. In our example we chose a simple but illustrative function in SOP form. F(,,, )=( )+( )+ ( ) (7) First step is to compute the allowed subfunctions. This step first computes the unateness and symmetry information for variables. Variable a is binate and variables b, c and d are positive unate. No variable is symmetric, so symmetry information is not used to reduce the computation of cube cofactors. The computation of the cube cofactors will result in different functions listed in Table 2 and the filling of the buckets is in Fig. 3. It is important to make two observations: the total number of cube cofactors is greatly reduced since some cube cofactors are equal and some are constant; the list of cube cofactors already contains the literals in the right polarities. Next step is the creation of the representations of the literals. This will create the pairs of {functionality, implementation} and insert them in the bucket for the 1- literal formulas. Once the 1-literal bucket is filled, the combination part starts, by producing the 2-literal combinations using Eq. (6). Only subfunctions that are in allowed subfunctions hash table or that are smaller or larger than the target function are accepted as intermediate subfunctions. The combination continues until the 5-literal bucket, where a solution is found. F(,,, )=( + ) ( + ) (8) The logical function represented in Eq. (8) is a compact form of Eq. (7). The algorithm might continue generating more solutions if desired. It will generate more buckets until a number of desired solutions are found or the limit of the number of buckets is achieved. F,, = ---- F,, = ---- F, = + Fig. 3: Buckets generated for the example. 232

5 Table 3: Results of 44-6 factorization. QF GF ABC This paper Literals Execution time 37s 38s 2.5s 214s Table 4: Results of all 4-input factorization. QF GF ABC This paper Literals Execution time 42s 47s 2s 114s VI. RESULTS Experiments were made to test the efficacy of the proposed algorithm. The experiments were made in a Pentium 2.4 GHz with 2 GB RAM. In a first experiment, the algorithm was run on the set of 3503 functions from library 44-6.genlib distributed in SIS package. The results of this experiment are shown in Table 3. The algorithm proposed herein was compared to Quick_Factor (column QF) and Good_Factor (column GF) from SIS package and with the factoring algorithm available in ABC package (column ABC) through command print_factor. As it can be seen in column This Paper, the results achieved by the proposed algorithm gave the smallest literal count among all approaches. This result was achieved at the expense of a slightly higher execution time, compared to other approaches. However, it should be noticed that all the 3503 equations were factored exactly in less than one second each. On average each equation was factored in 214/3503s = 61ms. Also, it should be noticed that the proposed algorithm was always able to find the exact read once factored form. In a second experiment, the algorithm was run on the set of 3982 representative functions of permutation equivalent classes of four input functions. The results of this experiment are shown in Table 4. As it can be seen in column This Paper, the results achieved by the proposed algorithm gave the smallest literal count among all approaches. This result was achieved at the expense of a slightly higher execution time, compared to other approaches. However, it should be noticed that all the 3982 equations were factored in less than one second each. In average each equation was factored in 114/3982s = 29ms. Also, it should be noticed that the proposed algorithm was always better or equal than the other approaches, for each individual logic function. Table 5 presents an example of multi-objective factorization. Equation (9) is the minimum literal count logic function obtained when only literals are minimized. Equation (10) is obtained when the algorithm is required to minimize literals and obtain the minimum possible number of switches in series in one CMOS plane (which is 3). This minimum number is pre-computed according [11] and used as a parameter by the algorithm. Subfunctions not respecting the lower bounds in [11] are discarded. Equation (11) is obtained when the algorithm is required to minimize literals and obtain the minimum possible number of switches in parallel in one CMOS plane (which is 4). In this case the number of literals is increased by two (from 20 to 22). Notice that, as the data of subfunctions is always known during the execution of the algorithm, the algorithm proposed can be modified to accept only subfunctions with certain characteristics. The approach can consider any secondary criteria that can be computed in a monotonically increasing way, so that the solutions are generated in the right order. Additionally, the new costs must be easily obtainable for a combination of the subfunctions. In the case of literals, this can be done by simple addition. These requirements allow not only controlling the number of series and parallel switches, but also logic depth (per input variable) and function support size. These features will be implemented as future work. Table 6 shows the number of literals for some benchmark functions where our algorithm produces better or equal literal count than quick_factor, good_factor and ABC. VII. CONCLUSIONS This paper has proposed the first multi-objective factoring algorithm. From an execution time point of view, the algorithm is slightly slower compared to other approaches, but still feasible. From a quality point of view the proposed algorithm always delivered superior (or equal) results compared to other approaches. The algorithm is based on a novel synthesis paradigm (functional composition), as it composes the function by combining smaller known subequations. The algorithm has the ability to take secondary criteria (like series and parallel number of transistors, or support size) into account, while generating several Table 5: Results of multi-objective goal factorization. Eq# Logic Function L S P Time(s) (9) = + ( + )( + )( + ) + ( + ) + + ( + )( + ) (10) = + ( + ) + + ( + ) + ( + ) + + ( + )( + ) (11) = ( + )( + ) +( + ) ( + )( + ) + ( + )

6 Table 6: Results of some benchmarks. Eq# Source Logic Function SOP QF GF ABC This Paper (9) [12] b9_a1* (10) [12] b9_i1* (11) [12] rd53_0* (12) [12] cm162a_o* (13) [12] cm162a_p* (14) [12] cm162a_q* (15) [12] cm162a_r* (17) [7,13,14] =( + + ) ( + + ) (18) [14] =( + ) ( + ) (20) [14] = + ( + ) ( + ) (21) [7] =( + ) ( +h) ( + + (h+ )) (22) [7] =( + ) ( + ) (23) [7] =( + + ) ( + + ) (24) [15] =( + + ) ( + + ) *- The benchmark name was used instead the logic function. alternative solutions. This characteristic makes it a useful piece for approaches based on restructuring small portions of logic, like [9] and [16]. The unique characteristics of the algorithm make it very useful in the context of local optimizations. ACKNOWLEDGMENTS Research partially funded by Nangate Inc under a Nangate/UFRGS research agreement, by CAPES Brazilian funding agency, and by the European Community's Seventh Framework Programme under grant Synaptic. REFERENCES [1] Hachtel, G. D. and Somenzi, F. Logic Synthesis and Verification Algorithms. 1st. Kluwer Academic Publishers [2] Lawler, E. L. An Approach to Multilevel Boolean Minimization. J. ACM 11, 3 (Jul. 1964), [3] Sentovich, E., Singh, K., Lavagno, L., Moon, C., Murgai, R., Saldanha, A., Savoj, H., Stephan, P., Brayton, R., and Sangiovanni- Vincentelli, A. SIS: A system for sequential circuit synthesis. Tech. Rep. UCB/ERL M92/41. UC Berkeley, Berkeley [4] Golumbic, M. C., Mintz, A., and Rotics, U. Factoring and recognition of read-once functions using cographs and normality. DAC '01. ACM, New York, NY, [5] Golumbic, M. C., Mintz, A., and Rotics, U. An improvement on the complexity of factoring read-once Boolean functions. Discrete Appl. Math. 156, 10 (May. 2008), [6] Golumbic, M. C. and Mintz, A. Factoring logic functions using graph partitioning. ICCAD '99. IEEE Press, Piscataway, NJ, [7] Mintz, A. and Golumbic, M. C. Factoring boolean functions using graph partitioning. Discrete Appl. Math. 149, 1-3 (Aug. 2005), [8] Mishchenko, A., Chatterjee, S., and Brayton, R. DAG-aware AIG rewriting a fresh look at combinational logic synthesis. DAC '06. ACM, New York, NY, [9] Werber, J., Rautenbach, D., and Szegedy, C. Timing optimization by restructuring long combinatorial paths. ICCAD'06. IEEE Press, Piscataway, NJ, [10] Weste, N.H.E. and Harris, D. Section 6.2.1: Static CMOS. In: CMOS VLSI design, Addison Wesley, [11] Schneider, F. R., Ribas, R. P., Sapatnekar, S. S., and Reis, A. I. Exact lower bound for the number of switches in series to implement a combinational logic cell. ICCD. IEEE Computer Society, Washington, DC, [12] S. Yang, Logic Synthesis and Optimization Benchmarks User Guide Version 3.0, Technical Report 1991-IWLS-UG-Saeyang, MCNC Research Triangle Park, NC, January [13] Brayton, R. K. Factoring logic functions. IBM J. Res. Dev. 31, 2 (Mar. 1987), [14] Stanion, T.; Sechen, C. Boolean division and factorization using binary decision diagrams." IEEE TCAD, vol.13, no.9, pp [15] Yoshida, H.; Ikeda, M.; Asada, K. Exact Minimum Logic Factoring via Quantified Boolean Satisfiability. ICECS ' [16] Mishchenko, A. Brayton, R. Chatterjee, S. Boolean factoring and decomposition of logic networks. ICCAD IEEE, pp

CMOS LOGIC GATE GENERATION AND OPTIMIZATION BY EXPLORING PRE- DEFINED SWITCH NETWORKS. {assilva, vcallegaro, rpribas,

CMOS LOGIC GATE GENERATION AND OPTIMIZATION BY EXPLORING PRE- DEFINED SWITCH NETWORKS. {assilva, vcallegaro, rpribas, CMOS LOGIC GATE GENERATION AND OPTIMIZATION BY EXPLORING PRE- DEFINED SWITCH NETWORKS 1 Anderson Santos da Silva, 2 Vinicius Callegaro, 1,2 Renato P. Ribas, 1,2 André I. Reis 1 Institute of Informatics

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

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

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

Fast Boolean Matching for Small Practical Functions

Fast Boolean Matching for Small Practical Functions Fast Boolean Matching for Small Practical Functions Zheng Huang Lingli Wang Yakov Nasikovskiy Alan Mishchenko State Key Lab of ASIC and System Computer Science Department Department of EECS Fudan University,

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

Read-Once Functions (Revisited) and the Readability Number of a Boolean Function. Martin Charles Golumbic

Read-Once Functions (Revisited) and the Readability Number of a Boolean Function. Martin Charles Golumbic Read-Once Functions (Revisited) and the Readability Number of a Boolean Function Martin Charles Golumbic Caesarea Rothschild Institute University of Haifa Joint work with Aviad Mintz and Udi Rotics Outline

More information

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

SEPP: a New Compact Three-Level Logic Form

SEPP: a New Compact Three-Level Logic Form SEPP: a New Compact Three-Level Logic Form Valentina Ciriani Department of Information Technologies Università degli Studi di Milano, Italy valentina.ciriani@unimi.it Anna Bernasconi Department of Computer

More information

On Using Permutation of Variables to Improve the Iterative Power of Resynthesis

On Using Permutation of Variables to Improve the Iterative Power of Resynthesis On Using Permutation of Variables to Improve the Iterative Power of Resynthesis Petr Fiser, Jan Schmidt Faculty of Information, Czech Technical University in Prague fiserp@fit.cvut.cz, schmidt@fit.cvut.cz

More information

A New Algorithm to Create Prime Irredundant Boolean Expressions

A New Algorithm to Create Prime Irredundant Boolean Expressions A New Algorithm to Create Prime Irredundant Boolean Expressions Michel R.C.M. Berkelaar Eindhoven University of technology, P.O. Box 513, NL 5600 MB Eindhoven, The Netherlands Email: michel@es.ele.tue.nl

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

Representations of Terms Representations of Boolean Networks

Representations of Terms Representations of Boolean Networks Representations of Terms Representations of Boolean Networks Logic Circuits Design Seminars WS2010/2011, Lecture 4 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A Boolean Paradigm in Multi-Valued Logic Synthesis A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,

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

Don t Cares and Multi-Valued Logic Network Minimization

Don t Cares and Multi-Valued Logic Network Minimization Don t Cares and Multi-Valued Logic Network Minimization Yunian Jiang Robert K. Brayton Department of Electrical Engineering and Computer Sciences University of California, Berkeley wiang,brayton @eecs.berkeley.edu

More information

L3: Representations of functions

L3: Representations of functions L3: Representations of functions Representations of Boolean functions Boolean expression Two level sum of product form, factorized form Truth tables Karnaugh maps Cubes (MIN,MAX) notation positional cube

More information

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT

Factor Cuts. Satrajit Chatterjee Alan Mishchenko Robert Brayton ABSTRACT Factor Cuts Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu ABSTRACT Enumeration of bounded size cuts is an important

More information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

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

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

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado. LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS by Gary D. Hachtel University of Colorado Fabio Somenzi University of Colorado Springer Contents I Introduction 1 1 Introduction 5 1.1 VLSI: Opportunity and

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

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

BoolTool: A Tool for Manipulation of Boolean Functions

BoolTool: A Tool for Manipulation of Boolean Functions BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Department of Computer Science and Engineering Karlovo nám. 13, 121 35 Prague 2 e-mail:

More information

Versatile SAT-based Remapping for Standard Cells

Versatile SAT-based Remapping for Standard Cells Versatile SAT-based Remapping for Standard Cells Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton@berkeley.edu Thierry Besson Sriram Govindarajan Harm Arts Paul van Besouw

More information

Combinational Logic Circuits

Combinational Logic Circuits Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization

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

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

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

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

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary

More information

Timing-driven optimization using lookahead logic circuits

Timing-driven optimization using lookahead logic circuits Timing-driven optimization using lookahead logic circuits Mihir Choudhury and Kartik Mohanram Department of Electrical and Computer Engineering, Rice University, Houston {mihir,kmram}@rice.edu Abstract

More information

Synthesis of 2-level Logic Heuristic Method. Two Approaches

Synthesis of 2-level Logic Heuristic Method. Two Approaches Synthesis of 2-level Logic Heuristic Method Lecture 8 Exact Two Approaches Find all primes Find a complete sum Find a minimum cover (covering problem) Heuristic Take an initial cover of cubes Repeat Expand

More information

Optimized Implementation of Logic Functions

Optimized Implementation of Logic Functions June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

More information

Specifying logic functions

Specifying logic functions CSE4: Components and Design Techniques for Digital Systems Specifying logic functions Instructor: Mohsen Imani Slides from: Prof.Tajana Simunic and Dr.Pietro Mercati We have seen various concepts: Last

More information

Are XORs in Logic Synthesis Really Necessary?

Are XORs in Logic Synthesis Really Necessary? Are XORs in Logic Synthesis Really Necessary? Ivo Háleček, Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague Prague, Czech Republic Email: {halecivo, fiserp,

More information

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories Japanese Journal of Applied Physics Vol., No. B, 200, pp. 329 3300 #200 The Japan Society of Applied Physics A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static

More information

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set Prof. Sudha H Ayatti Department of Computer Science & Engineering KLS GIT, Belagavi, Karnataka,

More information

Input Ordering in Concurrent Checkers to Reduce Power Consumption

Input Ordering in Concurrent Checkers to Reduce Power Consumption Input Ordering in Concurrent Checkers to Reduce Consumption Kartik Mohanram and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas,

More information

Chapter 2 Combinational

Chapter 2 Combinational Computer Engineering 1 (ECE290) Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization HOANG Trang 2008 Pearson Education, Inc. Overview Part 1 Gate Circuits and Boolean Equations Binary Logic

More information

Don't Cares in Multi-Level Network Optimization. Hamid Savoj. Abstract

Don't Cares in Multi-Level Network Optimization. Hamid Savoj. Abstract Don't Cares in Multi-Level Network Optimization Hamid Savoj University of California Berkeley, California Department of Electrical Engineering and Computer Sciences Abstract An important factor in the

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian محرم 1439 ه Winter

More information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 3 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

More information

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics

Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics Logic Synthesis & Optimization Lectures 4, 5 Boolean Algebra - Basics 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake City, UT 84112 Email: kalla@ece.utah.edu

More information

Functional Test Generation for Delay Faults in Combinational Circuits

Functional Test Generation for Delay Faults in Combinational Circuits Functional Test Generation for Delay Faults in Combinational Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA 52242 Abstract

More information

Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

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

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Petr Fišer, Hana Kubátová Czech Technical University Dept. of Computer Science and Engineering, Karlovo nám. 13, 121 35, Prague 2 e-mail:

More information

OPTIMIZATION OF BINARY AND MULTI-VALUED DIGITAL CIRCUITS USING MVSIS AND AIG REWRITING (ABC)

OPTIMIZATION OF BINARY AND MULTI-VALUED DIGITAL CIRCUITS USING MVSIS AND AIG REWRITING (ABC) Journal of Electronic and Electrical Engineering ISSN: 0976 8106 & E-ISSN: 0976 8114, Vol. 2, Issue 1, 2011, pp-24-29 Available online at http://www.bioinfo.in/contents.php?id=82 OPTIMIZATION OF BINARY

More information

Breakup Algorithm for Switching Circuit Simplifications

Breakup Algorithm for Switching Circuit Simplifications , No.1, PP. 1-11, 2016 Received on: 22.10.2016 Revised on: 27.11.2016 Breakup Algorithm for Switching Circuit Simplifications Sahadev Roy Dept. of ECE, NIT Arunachal Pradesh, Yupia, 791112, India e-mail:sdr.ece@nitap.in

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2012 1 SOPs and Incompletely Specified Functions Reading: Logic Synthesis

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization ESE535: Electronic Design Automation Day 18: March 25, 2013 Two-Level Logic-Synthesis Today Two-Level Logic Optimization Problem Behavioral (C, MATLAB, ) Arch. Select Schedule RTL FSM assign Definitions

More information

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

More information

ESOP CIRCUIT MINIMIZATION BASED ON THE FUNCTION ON-SET. Likai Chai

ESOP CIRCUIT MINIMIZATION BASED ON THE FUNCTION ON-SET. Likai Chai ESOP CIRCUIT MINIMIZATION BASED ON THE FUNCTION ON-SET By Likai Chai A Thesis Submitted to the Faculty of Mississippi State University in Partial Fulfillment of the Requirements for the Degree of Master

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

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

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show

More information

state encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations

state encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations State minimization fewer states require fewer state bits fewer bits require fewer logic equations Encodings: state, inputs, outputs state encoding with fewer bits has fewer equations to implement however,

More information

Combinational and Sequential Mapping with Priority Cuts

Combinational and Sequential Mapping with Priority Cuts Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton Department of EECS, University of California, Berkeley {alanmi, smcho, satrajit, brayton@eecs.berkeley.edu

More information

An Introduction to Zero-Suppressed Binary Decision Diagrams

An Introduction to Zero-Suppressed Binary Decision Diagrams An Introduction to Zero-Suppressed Binary Decision Diagrams Alan Mishchenko Berkeley Verification and Synthesis Research Center Department of Electrical Engineering and Computer Sciences University of

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Chapter 3. Gate-Level Minimization. Outlines

Chapter 3. Gate-Level Minimization. Outlines Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level

More information

Reducing Structural Bias in Technology Mapping

Reducing Structural Bias in Technology Mapping Reducing Structural Bias in Technology Mapping S. Chatterjee A. Mishchenko R. Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu X. Wang T. Kam Strategic CAD Labs Intel

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

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

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

Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications

Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in -based Applications Ana Petkovska 1 ana.petkovska@epfl.ch Giovanni De Micheli 1 giovanni.demicheli@epfl.ch Alan Mishchenko

More information

Busy Man s Synthesis: Combinational Delay Optimization With SAT

Busy Man s Synthesis: Combinational Delay Optimization With SAT Busy Man s Synthesis: Combinational Delay Optimization With SAT Mathias Soeken 1 Giovanni De Micheli 1 Alan Mishchenko 2 1 Integrated Systems Laboratory, EPFL, Lausanne, Switzerland 2 Department of EECS,

More information

On the Verification of Sequential Equivalence

On the Verification of Sequential Equivalence 686 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL 22, NO 6, JUNE 2003 On the Verification of Sequential Equivalence Jie-Hong R Jiang and Robert K Brayton, Fellow, IEEE

More information

LUT Mapping and Optimization for Majority-Inverter Graphs

LUT Mapping and Optimization for Majority-Inverter Graphs LUT Mapping and Optimization for Majority-Inverter Graphs Winston Haaswijk, Mathias Soeken, Luca Amarù, Pierre-Emmanuel Gaillardon, Giovanni De Micheli Integrated Systems Laboratory, EPFL, Lausanne, VD,

More information

IEEE Transactions on computers

IEEE Transactions on computers 215 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising

More information

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM Debajit Sensarma # 1, Subhashis Banerjee #1, Krishnendu Basuli #1,Saptarshi Naskar #2, Samar Sen Sarma #3 #1 West Bengal State University, West

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

Global Clustering-Based Performance-Driven Circuit Partitioning

Global Clustering-Based Performance-Driven Circuit Partitioning Global Clustering-Based Performance-Driven Circuit Partitioning Jason Cong University of California at Los Angeles Los Angeles, CA 90095 cong@cs.ucla.edu Chang Wu Aplus Design Technologies, Inc. Los Angeles,

More information

Heuristic Minimization of Boolean Relations Using Testing Techniques

Heuristic Minimization of Boolean Relations Using Testing Techniques Heuristic Minimization of Boolean Relations Using Testing Techniques Abhijit Ghosh Srinivas Devadas A. Richard Newton Department of Electrical Engineering and Coniputer Sciences University of California,

More information

University of Technology

University of Technology University of Technology Lecturer: Dr. Sinan Majid Course Title: microprocessors 4 th year Lecture 5 & 6 Minimization with Karnaugh Maps Karnaugh maps lternate way of representing oolean function ll rows

More information

1 Construct implication chart, one square for each combination of states. 2 Square labeled S i, S j, if outputs differ than square gets X (0).

1 Construct implication chart, one square for each combination of states. 2 Square labeled S i, S j, if outputs differ than square gets X (0). Advanced Digital Logic Design EECS 33 http://ziyang.eecs.northwestern.edu/eecs33/ FSM design overview Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 State diagram

More information

IT 201 Digital System Design Module II Notes

IT 201 Digital System Design Module II Notes IT 201 Digital System Design Module II Notes BOOLEAN OPERATIONS AND EXPRESSIONS Variable, complement, and literal are terms used in Boolean algebra. A variable is a symbol used to represent a logical quantity.

More information

A New Decomposition of Boolean Functions

A New Decomposition of Boolean Functions A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces

More information

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

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

More information

SAT-Based Logic Optimization and Resynthesis

SAT-Based Logic Optimization and Resynthesis SAT-Based Logic Optimization and Resynthesis Alan Mishchenko Robert Brayton Jie-Hong Roland Jiang Stephen Jang Department of EECS Department of EE Xilinx Inc. University of California, Berkeley National

More information

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Logic Optimization Eli Bozorgzadeh Computer Science Department-UCI Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis library netlist Physical design

More information

Chapter 2. Boolean Expressions:

Chapter 2. Boolean Expressions: Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

More information

Module -7. Karnaugh Maps

Module -7. Karnaugh Maps 1 Module -7 Karnaugh Maps 1. Introduction 2. Canonical and Standard forms 2.1 Minterms 2.2 Maxterms 2.3 Canonical Sum of Product or Sum-of-Minterms (SOM) 2.4 Canonical product of sum or Product-of-Maxterms(POM)

More information

Get Free notes at Module-I One s Complement: Complement all the bits.i.e. makes all 1s as 0s and all 0s as 1s Two s Complement: One s complement+1 SIGNED BINARY NUMBERS Positive integers (including zero)

More information

IN multilevel logic synthesis, an important step in minimizing

IN multilevel logic synthesis, an important step in minimizing 1096 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 8, AUGUST 1999 Efficient Boolean Division and Substitution Using Redundancy Addition and Removing Shih-Chieh

More information

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10 Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm

More information

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract Symbolic Manipulation of Boolean Functions Using a Graphical Representation Randal E. Bryant 1 Dept. of Computer Science Carnegie-Mellon University Abstract In this paper we describe a data structure for

More information

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Hiroyuki Higuchi Fabio Somenzi Fujitsu Laboratories Ltd. University of Colorado Kawasaki, Japan Boulder, CO Abstract This paper proposes

More information

Integrating Logic Synthesis, Technology Mapping, and Retiming

Integrating Logic Synthesis, Technology Mapping, and Retiming Integrating Logic Synthesis, Technology Mapping, and Retiming Alan Mishchenko Satrajit Chatterjee Robert Brayton Department of EECS University of California, Berkeley Berkeley, CA 94720 {alanmi, satrajit,

More information