A New Algorithm to Create Prime Irredundant Boolean Expressions

Size: px
Start display at page:

Download "A New Algorithm to Create Prime Irredundant Boolean Expressions"

Transcription

1 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 Abstract This paper describes a new, efficient algorithm to make Boolean sum of cubes expressions prime and irredundant. A description of the logic function of a combinational logic circuit in terms of prime and irredundant expressions is a solid basis for the synthesis of fully testable logic circuits, as was recently shown in [HAC89] and [HAC92]. We have, therefore, developed an efficient recursive algorithm, based on Shannon expansion. Expressions are first expanded until the leaves are unate expressions. These can be made prime and irredundant by just checking for single cube containment [BRA84]. Then, the expression has to be reassembled, by merging the expanded results. By carefully exploiting the properties of Shannon expansion, we have been able to find a merging procedure, by which the primeness and irredundancy of the children are retained, while performing only a minimum number of containment tests. Using the algorithm on the MCNC benchmark set shows, that the algorithm is very efficient. A comparison of the results with those from ESPRESSO shows, that the results of our algorithm give rise to smaller and faster multi level logic circuits, such as can be produced by a multi level logic synthesis system like MIS or EUCLID [BER90] [BER91]. 1 Basic definitions 1.1 Notation Boolean function: f Boolean sum of cubes expression: f {0, 1} Boolean variable: x i, a Complement of Boolean variable: x i, a 1.2 Boolean functions In this paper we deal with single output, completely specified, Boolean functions only. This means, that there are no don t care values in the range of the function. A single output, completely specified Boolean function with n input variables x 1,, x n is a function defined as follows: Definition 1: If we write x for [x 1,, x n ], we can define the following: Definition 2: The on set X f on {x f(x) 1} Definition 3: The off set X f off {x f(x) 0} Because we are dealing with completely specified functions, X f on X f off n The on set or the off set of a Boolean function determine the function uniquely. Therefore, an on set or an off set can be used to define a function. 1.3 Operations on Boolean functions Definition 4: The complement f of a Boolean function f is defined by: X f on X f off, or in a complementary way by: X f off X f on 1

2 Definition 5: The intersection of two Boolean functions f 1 and f 2, f 3 f 1 f 2, can be defined by: X f3 on X f1 on X f2 on Definition 6: The union of two Boolean functions f 1 and f 2, f 3 f 1 f 2, can be defined by: X f3 on X f1 on X f2 on 1.4 Boolean expressions Sum of cubes expressions Boolean functions can be represented in many ways. In this paper we choose the sum of cubes expression (s.o.c. expression) as a representation. Definition 7: A literal is a Boolean variable or its complement. Its algebraic representation is the (possibly complemented) variable. Definition 8: A cube is a set of literals, for which: no literal occurs more than once no Boolean variable and its complement occur simultaneously Its algebraic representation is the logical and of the literals, denoted by or by juxtaposition. Definition 9: A sum of cubes expression is a set of cubes. Its algebraic representation is the logical or of the cubes, denoted by S.o.c. expressions and Boolean functions A s.o.c. expression can be used to represent a Boolean function. In such a case, we say that a s.o.c. expression covers a Boolean function. Exactly which Boolean function is covered by a s.o.c. expression is defined by the following three definitions. Definition 10: A literal covers the Boolean half space for which 1. Definition 11: A cube covers the intersection of the Boolean half spaces covered by the individual literals. In this paper we do not make a notational difference between a cube as a set of literals and a cube covering a part of the Boolean n space. If the context does not make clear what is meant in a specific formula, a note clarifies the situation. Definition 12: A s.o.c. expression covers the union of the sub spaces covered by the individual cubes. In this paper we do not make a notational difference between a s.o.c. expression as a set of cubes and a s.o.c. expression covering a part of the Boolean n space. If the context does not make clear what is meant in a specific formula, a note clarifies the situation Primeness and irredundancy We are now ready to define primeness and irredundancy of s.o.c. expressions. Definition 13: The expansion of a cube c in the direction c is a cube c c \ { }. Definition 14: A cube c in a s.o.c. expression f covering the Boolean function f is called prime when it can not be expanded in the direction of any of its literals without making the expression intersect with the off set of f: c (c \ { }) X f off Likewise, a s.o.c. expression is called prime when all its cubes are prime. Definition 15: A cube c in a s.o.c. expression f is called irredundant, when: c f \ {c}. Likewise, a s.o.c. expression is called irredundant when all its cubes are irredundant. 1.5 Shannon expansion An important notion for this paper is the Shannon expansion of a s.o.c. expression. It was introduced by Shannon in [SHA48], and is widely used to implement divide and conquer algorithms for Boolean expressions. 2

3 Definition 16: The cofactor of a s.o.c. expression f with respect to a literal, denoted by f, can be defined by: For all cubes c i f: if c i, then c i \ { } is a member of f if c i c i, then c i is also a member of f if c i, then c i is not a member of f f contains no other cubes. Note again that a cube is regarded as a set of literals, and a s.o.c. expression as a set of cubes. Definition 17: The Shannon expansion of a s.o.c. expression f with respect to a literal is defined as the following sum of products: f f f 2 The algorithm We can now define the algorithm, which takes an arbitrary s.o.c. expressions as input, and returns a prime and irredundant s.o.c. expression covering the same Boolean function. The algorithm consists of two basic phases: 1. The recursive decomposition of the original expression into unate expressions. These unate expressions are made prime and irredundant. 2. The reassembling (merging) of the prime and irredundant parts such, that the primeness and irredundancy are retained. The first step is simple and is performed in exactly the same way as in [BRA84]. The original expression is decomposed recursively with the aid of Shannon expansion. As the splitting variable we always choose the most binate variable. After obtaining unate expressions, each of them is made prime and irredundant by removing simple cube containment. The second step, however, is new, and requires more explanation. We completely redefine the merging algorithm given in [BRA84]. The merging algorithm in [BRA84] is completely heuristical, and does not guarantee primeness, irredundancy or minimal size results. We improve on this by maintaining the primeness and irredundancy in every merging step. In as much as expression size is concerned, we rely on the same heuristical mechanism that, as practical experience has shown, works well in [BRA84]. The task we face is the construction of a prime and irredundant expression f from two prime and irredundant expressions f 1 and f 0 obtained by Shannon expansion over the variable x j (see Figure 1). If we can do this, we have solved the problem, because the leaves of our expansion tree are prime and irredundant unate expressions, and retaining primeness and irredundancy on every merge process guarantees the construction of a prime and irredundant complete expression. f x j x j Figure 1: Shannon expansion f 1 f Primeness If we just construct f x j f 1 x j f 0, it is probably not prime and not irredundant. Let us focus on primeness first. In order to check if a cube is prime, we must try to expand it in all its dimensions, 3

4 which means we must try to remove all of its literals, and check whether we are hitting the off set of the function. If this is not the case, the literal can be discarded. But do we really have to try to expand every cube from f in all Boolean dimensions? Fortunately not. We can make use of the properties of f 1, f 0 and the Shannon expansion, thus minimizing the effort to make f prime. Consider: cb 1 f 1, and, therefore, x j cb 1 f Let us try to expand cb 1 in a direction different from x j. Let x j cb 1 be the expanded cube. If the expansion is to be valid, we must have: x j cb 1 f x j f 1 x j f 0 But: x j cb 1 x j f 0 Therefore: x j cb 1 f x j cb 1 x j f 1 cb 1 f 1 This is clearly a contradiction, since f 1 is prime. The dual proof with a cube from f 0 is of course identical, and is not repeated here. Now, let us expand x j cb 1 in direction x j. The result is: cb 1 x j cb 1 x j cb 1 In order for the expansion to be valid, we must have: cb 1 f But we already now that: x j cb 1 x j f 1 So, we only have to check whether: x j cb 1 f But: x j cb 1 x j f 1 Therefore: cb 1 f x j cb 1 x j f 0 cb 1 f 0 So, to ensure the expansion to be valid, we have to check whether cb 1 is covered by f 0. The same reasoning, of course, also holds for cubes cb 0 from f 0, which only have to be tested against f 1. Thus, before performing the actual merging, we can find out which cubes can be expanded. The merging process now constructs: with: f prime f x j f 1 x j f 0 f 1 f 0 (1.1) f 1 f 1 f 1 f 0 f 0 f 0 f 1 f 0 f 0 f 1 by means of Algorithm 1. procedure prime_merge (f 0, f 1 ) { f 0 = f 0 = f 1 = f 1 = empty; for (all cubes cb 0 from f 0 ) if (cb 0 covered by f 1 ) Algorithm 1: prime_merge 4

5 f 0 = f 0 + cb 0 ; else f 0 = f 0 + cb 0 ; for (all cubes cb 1 from f 1 ) if (cb 1 covered by f 0 ) f 1 = f 1 + cb 1 ; else f 1 = f 1 + cb 1 ; } return (f 0, f 1, f 0, f 1 ); 2.2 Redundancy In order to make f irredundant as well as prime, we must now check whether any of its cubes are redundant. Therefore, we must test: (cb? cb f f \ {cb}) Note that f should be regarded as a set of cubes in equation (1.2). The question is: do we really need to test all cubes? There are two different types of cubes in f : 1. cubes from x j f 1 (x j f 0 ) 2. cubes from f 1 (f 0 ) We treat both types separately in the next two sections. (1.2) Cubes from x j f 1 To get a good look at the situation, we write equation (1.1) like: f x j f 1 x j f 0 x j f 1 x j f 1 x j f 0 x j f 0 (1.3) Because cubes with x j in them have an empty intersection with cubes with x j, we can concentrate on the Boolean half space x j 1. When we imagine the Boolean space to be a two dimensional set of points, we can picture the situation as in Figure 2. x j f 1 and x j f 1 partly overlap, and x j f 0 is covered completely by their union. We can now rephrase the question: Is there a cube x j cb 1 x j f 1, for which holds: x j cb 1 x j (f 1 \ {cb 1 }) x j f 1 x j f 0? Realizing that x j 1, we can write this like: cb 1 f 1 \ {cb 1 } f 1 f 0 (1.4) Unfortunately, there is no reason why this should not be possible. We can easily construct an example: f 1 a b a c f 0 a b c Because: a b c a b a c our concern for primeness yields: f x j a b x j a c a b c with: f 0 a b c But: a b a c a b c 5

6 x j f 1 x j f 0 x j f 1 ÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉ ÇÇÇÇ ÇÇÇÇÇÇ ÉÉÉÉ... ÇÇÇÇÇÇ ÇÇÇÇÇÇ ÇÇÇÇ x j 1 x j 0 Figure 2: Boolean space for merging as can easily be seen from Figure 3, and, therefore: x j a b x j a c a b c or, in English, x j a b is a redundant cube, and we should write f as: f x j a c a b c a b c c b a b (0,0,0) a a c Figure 3: Boolean space of a b, a b c and a c The whole reasoning above can of course be repeated for the dual case with cubes from x j f 0. Then, the Boolean half space x j 0 is regarded. 6

7 2.2.2 Cubes from f 1 The cubes from f 1 cover both x j f 1 and x j f 1. The cubes x j f 1 are covered by the rest of f by definition. So, we only have to look at cubes x j cb 1 from x j f 1. As can be seen from equation (1.4), we can rephrase this as: Is there a cube cb 1 from f 1 such that: cb 1 f 1 f 1 \ {cb 1 } f 0 (1.5) Unfortunately again, there is no reason for this to be impossible. We prove so by constructing an example. Let: f 1 a c a b a c f 0 a b c Then: a b a c a, and b c a c a b which yields: f 1 a c f 1 a b a c f 0 a f 0 b c f x j a c x j a a b a c b c The Boolean space of f 1, f 1 and f 0 is depicted in Figure 4 a c c a c b b c a b (0,0,0) a Figure 4: Boolean space of a b, a c, b c and a c It can clearly be seen that cube a b from f 1 is covered by cube a c from f 1 and cube b c from f Cube a b is, therefore, redundant in f, which should be written as: f x j a c x j a a c b c The whole reasoning above can of course be repeated for the dual case with cubes from f 0. Then, only the Boolean half space x i 0 is regarded The redundancy removal algorithm The two examples constructed above have shown, that we have to test all cubes for redundancy. However, the test can be performed in a slightly simplified way, without the splitting variable x j, and without some of the cubes. The algorithm is spelled out in Algorithm

8 Algorithm 2: redundancy removal procedure remove_redundancy (f 0, f 1, f 0, f 1 ) { /* according to section */ for (all cubes cb 0 from f 0 ) /* use equation (3.5) */ if (cb 0 covered by f 0 \ {cb 0 } + f 0 + f 1 ) f 0 = f 0 \ {cb 0 }; for (all cubes cb 1 from f 1 ) /* use equation (3.5) */ if (cb 1 covered by f 1 \ {cb 1 } + f 0 + f 1 ) f 1 = f 1 \ {cb 1 }; /* according to section */ for (all cubes cb 0 from f 0 ) /* use equation (3.6) */ if (cb 0 covered by f 0 + f 0 \ {cb 0 } + f 1 ) f 0 = f 0 \ {cb 0 }; for (all cubes cb 1 from f 1 ) /* use equation (3.6) */ if (cb 1 covered by f 1 + f 1 \ {cb 1 } + f 0 ) f 1 = f 1 \ {cb 1 }; } return (f 0, f 1, f 0, f 1 ) 3 Complete merging We can now formulate the complete prime and irredundant merging in terms of the procedures prime_merge and remove_redundancy. It can be found in Algorithm 3. Algorithm 3: Complete merging procedure merge (f 0, f 1, x j ) { (f 0, f 1, f 0, f 1 ) = prime_merge (f 0, f 1 ); (f 0, f 1, f 0, f 1 ) = remove_redundancy (f 0, f 1, f 0, f 1 ); return (x j f 1 + x j f 0 + f 1 + f 0 ) } This is the algorithm we have implemented in LOG_IRR. Section 2.2 has shown, that the redundancy check is a relatively expensive operation in terms of CPU time. Every cube is a candidate for redundancy. An alternative would be to maintain only the primeness property in every merging process, and remove the redundancy only at the top level. This influences both the quality of the result, and the run time. It is, however, very difficult to indicate whether quality and run times decrease or increase. This should be tested when the subject of prime irredundant expressions is investigated further. 4 Testing for cube covering As we have seen above, testing for primeness and testing for redundancy can both be performed by testing whether a specific cube is covered by a set of cubes. According to [BRAY84], a cube cb is covered by an expression f if and only if the cofactor of f with respect to cb is a tautology: cb f f cb 1 (1.6) 8

9 Because a lot of these tests have to be performed, a fast algorithm is required. Fortunately, these algorithms exist. For use in the program described in this paper, which we have baptized LOG_IRR, the algorithm described in [BRAY82] was implemented. This tautology checker is also based on Shannon expansion, and, therefore, fits rather well into the program. 5 Results 5.1 Size of the prime irredundant expressions To judge the quality of the above algorithm, we have applied it to a large number of expressions from the circuit descriptions from the MCNC Workshop on Logic Synthesis benchmark set [LIS88a]. As a comparison, we did also run the same examples through ESPRESSO, a very well known 2 level minimizer, which is clearly described in [BRA84]. Given the right options, ESPRESSO can also produce prime irredundant results. At the same time, ESPRESSO tries to minimize the number of cubes and literals in the result. As a third test, we ran all examples first through ESPRESSO, to get small prime irredundant forms, and then through LOG_IRR, in order to find out if LOG_IRR is very sensitive to the input format. example Table 1: Sizes of prime irredundant expressions NUMBER OF LITERALS ESPRESSO ESPRESSO + LOG_IRR LOG_IRR sum of cubes factored sum of cubes factored sum of cubes factored % diff % diff % diff % diff 5xp sym symml bw con duke f f51m misex misex misex misex3c rd rd rd sao seq vg z4ml Average: As a measure for quality, we have taken the number of literals in the resulting sets of expressions. For multi level implementations, the number of literals in the factored form is a better measure than the number of literals in the s.o.c. form. Both are listed in Table 1. If we look at the bottom row, with the average difference to the ESPRESSO results in it, it is clear that ESPRESSO finds the smallest s.o.c. form. This was only to be expected, ESPRESSO was carefully designed 9

10 for this purpose. The only surprising thing is, that ESPRESSO improves the result of LOG_IRR by only about 10%. But if we look at the factored form, LOG_IRR wins the competition, by 3.2%. The combination ESPRESSO LOG_IRR finishes second in both competitions, which means that it does not ruin the ESPRESSO results badly, but that it is better to use just LOG_IRR if one is interested in the size of the factored form. The interesting thing is to see what happens if we really synthesize all these circuits with the logic synthesis tools. LOG_IRR is meant to be used in this combination. ESPRESSO aims at a two level implementation like a PLA. 5.2 Quality of the completely synthesized circuits The best way to judge the results from ESPRESSO and LOG_IRR, is to go through all the steps of logic synthesis, and look at the design parameters area (number of cells, number of literals) and delay at that point. The results of this exercise can be found in Table 2 and Table 3. They were gathered by running the results from Table 1 through the logic optimization tool LOG_DECOM, and through the technology mapper LOG_MAPPER, both aiming at an implementation with (3, 3) AOI cells in a 1.6 micron CMOS technology. Table 2: Results after complete synthesis (area) ESPRESSO ESPRESSO + LOG_IRR LOG_IRR example gates #tr gates #tr gates #tr %diff %diff %diff %diff 5xp sym symml bw con duke f f51m misex misex misex misex3c rd rd rd sao seq vg z4ml Average The results show clearly that the relatively simple algorithm in LOG_IRR results on average in slightly better (3.6% smaller and 3.8% faster) multi level implementations than the complex algorithms used in ESPRESSO. This is very likely due to the slightly larger s.o.c. result from LOG_IRR, which gives the other logic synthesis tools more freedom to find a good factorization. 10

11 Table 3: Results after complete synthesis (delay) ESPRESSO ESPRESSO + LOG_IRR LOG_IRR example ns ns % diff ns % diff 5xp sym symml bw con duke f f51m misex misex misex misex3c rd rd rd sao seq vg z4ml average cpu usage (s) (N 2 ) size of example (s.o.c. literals) Figure 5: Run times versus problem size 11

12 5.3 Run time complexity The theoretical run time complexity is exponential in the number of input variables, because: Shannon expansion can result in an exponential number of nodes in the expansion tree. Tautology checking is a NP complete problem. However, the experimental run times do not show very bad behavior, as can be seen in Figure 5. The run times are the times for the examples from Table 2, plus a larger one. They were obtained on a HP9000/750 workstation, which runs approximately 76 MIPS. As a measure for the problem size, we have taken the number of literals in the resulting sum of product expressions. For comparison, the slope of (N 2 ) behavior is plotted. It is clear, that run times do not increase more than quadratically with the problem size for these examples. It is also clear, that for the same problem size, run times can be very different. Run times are very reasonable, even for very large examples. References [BER90] [BER91] [BRA84] [HAC89] [HAC92] [SHA48] BERKELAAR, M.R.C.M. and J.F.M. THEEUWEN, Real Area Power Delay Trade off in the EUCLID Logic Synthesis System, Proceedings of the IEEE 1990 Custom Integrated Circuits Conference, Boston MA May 1990, pp BERKELAAR, M.R.C.M. and J.F.M. THEEUWEN. Logic Synthesis with Emphasis on Area Power Delay Trade Off Journal of Semicustom ICs, September 1991, pp BRAYTON, R.K., C.D. HACHTEL, C.T. MCMULLEN and A.L. SANGIOVANNI VINCENTELLI, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, HACHTEL, G.D., R. JACOBY, K. KEUTZER and C. MORRISON, On the Relationship Between Area Optimization and Multifault Testability of Multilevel Logic, Proceedings of the MCNC Workshop on Logic Synthesis HACHTEL, G.D., R. JACOBY, K. KEUTZER and C. MORRISON, On Properties of Algebraic Transformations and the Synthesis os Multifault Irredundant Circuits, IEEE Transactions on Computer Aided Design, March 1992, pp SHANNON, C.E., The Synthesis of Two Terminal Switching Circuits, Bell Systems Technical Journal,

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

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

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

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format Appendix A File Formats A.1 Benchmarks Tables A.1 and A.2 present benchmark parameters for two-level logic (in ESPRESSO format) set and finite-state tables (in KISS2 format) set respectively. A.2 ESPRESSO

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

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

Homework 3 Handout 19 February 18, 2016

Homework 3 Handout 19 February 18, 2016 CSEE E6861y Prof. Steven Nowick Homework 3 Handout 19 February 18, 2016 This homework is due at the beginning of class on Thursday, March 3. NOTE: A correct answer without adequate explanation or derivation

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

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

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

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

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

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology,

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology, Low Power PLAs Reginaldo Tavares, Michel Berkelaar, Jochen Jess Information and Communication Systems Section, Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands {regi,michel,jess}@ics.ele.tue.nl

More information

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University Two-Level Logic Optimization (4541.554 Introduction to Computer-Aided Design) School of EECS Seoul National University Minimization of Two-Level Functions Goals: Minimize cover cardinality Minimize number

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

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

Multi-Level Logic Synthesis for Low Power

Multi-Level Logic Synthesis for Low Power Examples Before Mapping After Mapping Area Power Area Delay Power 5xp1 0.93 0.98 0.86 0.82 0.90 Z5xp1 0.97 0.91 0.95 0.78 0.84 9sym 0.89 1.01 0.83 0.86 0.87 9symml 1.24 1.02 1.15 1.12 0.84 apex5 0.99 0.96

More information

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation

An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation Shigeru Yamashita Hiroshi Sawada Akira Nagoya NTT Communication Science Laboratories 2-4, Hikaridai,

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

DAC synthesis benchmark circuits.

DAC synthesis benchmark circuits. SOCRATES: A SYSTEM FOR AUTOMATICALLY SYNTHESIZING AND OPTIMIZING COMBINATIONAL LOGIC David Gregory*, Karen Bartlett **, Aart de Geus*, and Gary Hachtcl** *GE Calma Company Research Triangle Park, North

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

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

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

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

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

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

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

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

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang Boolean Matching for Complex PLBs in LUT-based PAs with Application to Architecture Evaluation Jason Cong and Yean-Yow wang Department of Computer Science University of California, Los Angeles {cong, yeanyow}@cs.ucla.edu

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

Multi-valued Logic Synthesis. Robert K Brayton Sunil P Khatri University of California Berkeley, CA brayton,

Multi-valued Logic Synthesis. Robert K Brayton Sunil P Khatri University of California Berkeley, CA brayton, Multi-valued Logic Synthesis Robert K Brayton Sunil P Khatri University of California Berkeley, CA 9470 brayton, linus @iceecsberkeleyedu Abstract We survey some of the methods used for manipulating, representing,

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

* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan

* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan Boolean Resubstitution With Permissible Functions and Binary Decision Diagrams Hitomi Sato* 1, Yoshihiro Yasue* 1, Yusuke Matsunaga*2 and Masahiro Fujita*2 * 1: Semiconductor Division, FUJITSU Limited,

More information

Unate Recursive Complement Algorithm

Unate Recursive Complement Algorithm Unate Recursive Complement Algorithm Out: March 28 th, 2016; Due: April 10 th, 2016 I. Motivation 1. To give you experience in implementing the Unate Recursive Paradigm (URP). 2. To show you an important

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

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

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 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

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS Rotar Dan Vasile Alecsandri University, Bacau, Romania Abstract An important component of the command and control circuit for the mechatronic

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

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

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

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs

FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs . FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles,

More information

Software for The Minimization of The Combinational Logic Functions

Software for The Minimization of The Combinational Logic Functions Software for The Minimization of The Combinational Logic Functions Rotar Dan Vasile Alecsandri University, Calea Marasesti 57, cod: 65, Bacau, Romania, drotar@ub.ro; drotarubro@yahoo.com ABSTRACT An important

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

Software Implementation of Break-Up Algorithm for Logic Minimization

Software Implementation of Break-Up Algorithm for Logic Minimization vol. 2, no. 6. 2, pp. 141-145, 2017 DOI: https://doi.org/10.24999/ijoaem/02060034 Software Implementation of Break-Up Algorithm for Logic Minimization Koustuvmoni Bharadwaj and Sahadev Roy Abstract In

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

COPYRIGHTED MATERIAL INDEX

COPYRIGHTED MATERIAL INDEX INDEX Absorption law, 31, 38 Acyclic graph, 35 tree, 36 Addition operators, in VHDL (VHSIC hardware description language), 192 Algebraic division, 105 AND gate, 48 49 Antisymmetric, 34 Applicable input

More information

Approach to partially self-checking combinational circuits design

Approach to partially self-checking combinational circuits design Approach to partially self-checking combinational circuits design Goran Lj. Djordjevic 1, Mile K. Stojcev, Tatjana R. Stankovic Faculty of Electronic Engineering, University of Nis, Beogradska 14, 18000

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

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

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

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

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

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

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Jason Cong and Yean-Yow Hwang Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this paper, we

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

Signed Binary Addition Circuitry with Inherent Even Parity Outputs

Signed Binary Addition Circuitry with Inherent Even Parity Outputs IEEE TRANSACTIONS ON COMPUTERS, VOL. 46, NO. 7, JULY 1997 1 Signed Binary Addition Circuitry with Inherent Even Parity Outputs M.A. Thornton, Member, IEEE Computer Society Abstract A signed binary (SB)

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

1. Mark the correct statement(s)

1. Mark the correct statement(s) 1. Mark the correct statement(s) 1.1 A theorem in Boolean algebra: a) Can easily be proved by e.g. logic induction b) Is a logical statement that is assumed to be true, c) Can be contradicted by another

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

TEST FUNCTION SPECIFICATION IN SYNTHESIS

TEST FUNCTION SPECIFICATION IN SYNTHESIS TEST FUNCTION SPECIFICATION IN SYNTHESIS Vishwani D. Agrawal and Kwang-Ting Cbeng AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT - We present a new synthesis for testability method in which

More information

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this report, we

More information

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits State Assignment The problem: Assign auniquecodeto each state to produce a logic level description. Given jsj states, needed at least dlog jsje state bits (minimum width encoding), at most jsj state bits

More information

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

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

More information

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

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR Nur A. Touba and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science

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

Field Programmable Gate Arrays

Field Programmable Gate Arrays Chortle: A Technology Mapping Program for Lookup Table-Based Field Programmable Gate Arrays Robert J. Francis, Jonathan Rose, Kevin Chung Department of Electrical Engineering, University of Toronto, Ontario,

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

Towards a Memory-Efficient Knapsack DP Algorithm

Towards a Memory-Efficient Knapsack DP Algorithm Towards a Memory-Efficient Knapsack DP Algorithm Sanjay Rajopadhye The 0/1 knapsack problem (0/1KP) is a classic problem that arises in computer science. The Wikipedia entry http://en.wikipedia.org/wiki/knapsack_problem

More information

ece5745-pla-notes.txt

ece5745-pla-notes.txt ece5745-pla-notes.txt ========================================================================== Follow up on PAL/PROM/PLA Activity ==========================================================================

More information

A New Heuristic for DSOP Minimization

A New Heuristic for DSOP Minimization A New Heuristic for DSOP Minimization Anna Bernasconi Department of Computer Science University of Pisa, Italy annab@di.unipi.it Fabrizio Luccio Department of Computer Science University of Pisa, Italy

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

BOOLEAN ALGEBRA AND CIRCUITS

BOOLEAN ALGEBRA AND CIRCUITS UNIT 3 Structure BOOLEAN ALGEBRA AND CIRCUITS Boolean Algebra and 3. Introduction 3. Objectives 3.2 Boolean Algebras 3.3 Logic 3.4 Boolean Functions 3.5 Summary 3.6 Solutions/ Answers 3. INTRODUCTION This

More information

What Can Boolean Networks Learn?

What Can Boolean Networks Learn? What Can Boolean Networks Learn? Arlindo L. Oliveira Alberto Sangiovanni-Vincentelli Dept. of EECS, UC Berkeley, Berkeley CA 94720 June 26, 1992 Abstract We study the generalization abilities of networks

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

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

Supplement to. Logic and Computer Design Fundamentals 4th Edition 1

Supplement to. Logic and Computer Design Fundamentals 4th Edition 1 Supplement to Logic and Computer esign Fundamentals 4th Edition MORE OPTIMIZTION Selected topics not covered in the fourth edition of Logic and Computer esign Fundamentals are provided here for optional

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

Implicant Expansion Methods Used in The Boom Minimizer

Implicant Expansion Methods Used in The Boom Minimizer Implicant Expansion Methods Used in The Boom Minimizer Petr Fišer, Jan Hlavi ka Department of Computer Science and Engineering Czech Technical University Karlovo nám. 13, 121 35 Prague 2 email: fiserp@fel.cvut.cz,

More information

An Efficient Learning Procedure for Multiple Implication Checks

An Efficient Learning Procedure for Multiple Implication Checks An Efficient Learning Procedure for Multiple Implication Checks Yakov Novikov, Academy of ciences (elarus), email: NOV@newman.bas-net.by Evgueni Goldberg,Cadence erkeley Labs (UA) email: egold@cadence.com

More information

Boolean algebra. June 17, Howard Huang 1

Boolean algebra. June 17, Howard Huang 1 Boolean algebra Yesterday we talked about how analog voltages can represent the logical values true and false. We introduced the basic Boolean operations AND, OR and NOT, which can be implemented in hardware

More information

Application of Binary Decision Diagram in digital circuit analysis.

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

More information

Compatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture

Compatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture Compatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture Juinn-Dar Huang, Jing-Yang Jou and Wen-Zen Shen Department of Electronics Engineering, National Chiao Tung Uniersity,

More information

Inadmissible Class of Boolean Functions under Stuck-at Faults

Inadmissible Class of Boolean Functions under Stuck-at Faults Inadmissible Class of Boolean Functions under Stuck-at Faults Debesh K. Das 1, Debabani Chowdhury 1, Bhargab B. Bhattacharya 2, Tsutomu Sasao 3 1 Computer Sc. & Engg. Dept., Jadavpur University, Kolkata

More information

Boolean Factoring with Multi-Objective Goals

Boolean Factoring with Multi-Objective Goals 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

More information

Cell Generator-Based Technology Mapping by Constructive Tree-Matching

Cell Generator-Based Technology Mapping by Constructive Tree-Matching VLSI Design 1995, Vol. 3, No. 1, pp. 1-12 Reprints available directly from the publisher Photocopying permitted by license only (C) 1995 OPA (Overseas Publishers Association) Amsterdam B..V. Published

More information

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST Nur A. Touba* and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science Stanford University

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

Search Pruning Conditions for Boolean Optimization

Search Pruning Conditions for Boolean Optimization Search Pruning Conditions for Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical University

More information

Online algorithms for clustering problems

Online algorithms for clustering problems University of Szeged Department of Computer Algorithms and Artificial Intelligence Online algorithms for clustering problems Summary of the Ph.D. thesis by Gabriella Divéki Supervisor Dr. Csanád Imreh

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

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

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

Conditions for Non-Chronological Backtracking in Boolean Optimization

Conditions for Non-Chronological Backtracking in Boolean Optimization Conditions for Non-Chronological Backtracking in Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical

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

2.6 BOOLEAN FUNCTIONS

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

More information

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaures 78340 Les Clayes-sous-bois FRANCE Abstract

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