* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan

Size: px
Start display at page:

Download "* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan"

Transcription

1 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, Kawasaki Japan *2: AI Laboratory, FUJlTSU Labs. Limited, Kawasaki Japan In this paper, we present a new Boolean resubstitution technique with permissible functions and ordered binary decision diagrams, abbreviated as OBDD[8]. Boolean resubstitution is one technique for multi-level logic optimization. Permissible functions are special don't care sets. We represent the data structure of permissible functions and logic functions at each node in Boolean networks in terms of OBDD. Therefore, logic functions can be flexibly manipulated and rapidly executed. We have previously reported a multi-level logic optimization technique called transduction methods[l] using OBDD in ICCAD'89[7]. We have improved the OBDD operation techniques, so that now OBDD operations can be executed faster than we reported before. We also applied Boolean resubstitution to our multi-level logic synthesis. We present results of experiments employing the improved OBDD operation techniques and applying Boolean resubstitution to our multi-level logic synthesis. 1. INTRODUCTION In logic synthesis, multi-level logic optimization is important to obtain high quality synthesized circuits with regard to area and testability. some multi-level logic optimization techniques have been proposed[ 1,2,4,5,6,7]. The key to optimization is the use of don't cares. Many optimization techniques use don't cares, some directly and some implicitly[9]. Two of these techniques used in multi-level logic synthesis are node minimization [2,4,5,61 and transduction methods[l,7]. Node minimization is done using a two-level minimizer (such as ESPRESS0[3]). The objective is to utilize the implicit don't care conditions that exist at each node in a Boolean network to perform two-level logic minimization on the Boolean function associated with that node. Unfortunately, the entire don't care set is usually extremely large, so that the use of the entire don't care set consumes a large amount of CPU-time and memory. Two heuristic approaches, called Bold[5,61 and MIS[2,4], have been studied to approximate the practical CPU-time and memories for practical circuits. The Bold heuristic is a tautology-based approach that directly uses multi-level equivalence and tautology checking algorithms. The advantage of this approach is that all don't care conditions are automatically accounted for, so the optimizer is able to account for all optimization degrees of freedom. The MIS heuristic is a don't care approach that employs the complete power of the ESPRESS0[3] minimization heuristics. However, the don't care sets are approximated, and, hence, some of the optimization degrees of freedom are sacrificed, and a sub-optimal solution is obtained. Both approaches are being continually improved. Transduction means transformation and reduction. Transduction methods were proposed by Muroga and his students in the mid '7Os[l]. These methods also use the don't care sets, called permissible functions. Permissible functions are observable don't care sets of a node in the circuit networks and are used to check the possibility of the transformation or reduction operations. The original transduction methods[ 13 represented the data structure of logic functions and permissible functions in terms of truth tables, so that large amounts of CPU-time and memory were required. We reported transduction methods representing the data structure of logic functions and permissible functions in terms of OBDD in ICCAD'89[7]. Logic functions are represented very compactly with OBDD, therefore the operations of logic functions are executed quickly and large Boolean functions can be executed. Boolean resubstitution is implemented in the Bold[Sl step. This resubstitution generalizes the REDUCE, EXPAND and IRREDUNDANT operations[3] to a multilevel context. In this operation, logical redundancies are removed, and the network configuration can be modified, resulting in possibilities for further optimization. We implemented the Boolean resubstitution with permissible functions and OBDD, and merged the Boolean resubstitution with the weak division procedure in our multi-level logic synthesis. We also have improved the OBDD operation techniques to yield fast execution of logic function manipulations. 2. PERMISSIBLE FUNCTIONS AND OBDL 2.1 Permissible functions The key concept of permissible functions is that each node in a circuit network is an incompletely-specified function of the primary inputs, and permissible functions represent possible implementations at such nodes. These permissible functions are sets of logic functions that do not change any output logic, and they are defined as follows: Assume Vi is an intermediate node in a network. The logic function of any output variable in the network may not change even when the logic function Fi of node Vi is th ACMllEEE Design Automation 1990 IEEE X/90/0006/0284 $1.OO

2 replaced with another logic function PF. Then the logic function PF is a permissible function of node Vi. Permissible functions are computed at each node, input variable, or gate in the network. When only two nodes are connected, the permissible functions of these two nodes are identical. While when more than two nodes are connected, the permissible functions of each node are not identical. Usually, there is more than one permissible function for each node. Therefore, the don't Care mark(*) is used to represent a set of permissible functions as a single vector at that node. Fig.1 shows an example of permissible functions. In this figure, VI and v2 are input nodes, v4 is an output node, and v3 is an intermediate node. The Fi vector in the truth table represents a logic function of each node vi. G4 is an OR gate. Since the first and second values of F4 are Os, the first and second values of F3 must remain as Os. The third and fourth values of F4 are 1s and the third and fourth values of FI are 1s. Thus, the third and fourth values of F3 may be either 0 or 1, and the logic function of F4 does not change even when logic function F3 is replaced with PF3. Then PF3 is the set of permissible functions of V3. Though the logic functions and permissible functions in this figure are represented in terms of truth tables, in our program these logics are represented in terms of OBDD. Boolean resubstitution uses the following two conditions: 1) Pruning condition The connection whose set of permissible functions consists of 1 and don't care only, or 0 and don't care only, can be set to constant 1 or 0. Then this connection may be removed from the network. 2) Connectable condition A connection can be added to a gate as a new fan-in when the new logic function of that gate's output is included in its set of permissible functions. The set of all possible permissible functions at any node can be consequently expressed by a single vector. This set is called the Maximum Set of Permissible Functions, abbreviated as MSPF[l]. The MSPF is usually unique to a network and only one node can be changed at a time. Therefore, the MSPFs must be recalculated for each transformation or reduction operation. In contrast, those permissible functions defined as other parts of the logics that can be changed at a time are called the Compatible Set of Permissible Functions. abbreviated as CSPF[ 11. The CSPF is a sub-set of the MSPF. The CSPF is not unique to a network. 2.2 Ordered Binary Decision Diagrams Ordered Binary Decision Diagrams, abbreviated as OBDD, were proposed by Bryant of CMU[81. An OBDD is a data structure for representing Boolean functions with restrictions on the ordering of variables in the graph. Boolean functions are represented by directed, acyclic graphs with a vertex set containing two types of vertices. A non-terminal vertex has as attributes an input variable index and two children. A terminal vertex has as attributes a value 0 or 1. Ordered means that if xi<xj then all nodes with xi precede all nodes with xj. A path from the root to the terminal vertex with value O( or 1) gives a condition when Boolean function f = O( or f = 1). The graph size depends on the variable ordering. For good ordering, OBDDs remain reasonably small for Boolean functions. Table-1 shows the basic operations on OBDDs. The reduce procedure transforms an arbitrary graph into a reduced graph denoting the same function. Given variable ordering, a reduced OBDD is canonical. The procedure apply provides the basic method for creating the representation of a function according to the operations in a Boolean expression or logic gate network. Refer to [8] for the details of operations on OBDDs. Fig.2 shows an example of OBDD representation of a Boolean function F=vl&v2 + v3. In this figure, a rectangle indicates a terminal node with logical values, and a circle indicates a non-terminal node containing the variable index with the two children indicated by branches labeled 0 and 1. The variable ordering of this graph is VI > v2 >v3. W I PF3 = I OO** 1 Reduce I APP'Y Graph reduced to canonical form I Flcop>F2 n I PF3 is a set of permissible functions Fia.1 An FxamDle of Permissible Functions Fia.2 OBDD Representation of F=vl &v? + v9 285

3 3. OBDD IMPROVEMENTS 3.1 Simultaneous positive and negative judgment of logic The connectable condition of whether a negative or positive connection can be added is checked simultaneously. We calculate both positive and negative logic values during the apply procedure, so that the number of operations on an OBDD is reduced. 3.2 Sharing graph and using negative edges A graph can be shared with many logic functions and permissible functions, and the negative edge can be used to indicate an inverted logic. This improvement enables the graph to be copied only by operating the pointer. The effective use of graph sharing and negative edges reduces CPU-time and memories. Fig.3 contains an example of a shared OBDD with negative edges. FI., (1 \ Ordered BDD - I2IShared OBDD 3.3 Non-terminal nodes classification Terminal nodes of original OBDD[8] have only the values 0 or 1, and non-terminal nodes have only don't care value. However, permissible functions have a don't care value in addition to 0 and 1. Therefore, we represent the terminal node with three values, 1,O and don't care. Then, non-terminal nodes can be classified as follows: group-1: Having only 0 and don't care values and group-1 as children. group-2: Having only 1 and don't care values and group-2 as children. group-3: Having only 0 and 1 values and group-3 as children. group4 Others. The original apply procedure[8] should be modified according to this classification. This modification will increase the chance of finding operation results at nonterminal nodes and make it possible to complete searching quickly. -(3)Shared OBDD with negative edges F1 and F2 are the following functions: F1 = "(a@b), F2 = a@b. Here notation means mean Exclusive OR. In figure (3), edges with small circle indicate negative edges. 3- Fn. 4. BOOLEAN RESUBSTITUTION WITH PERMISSIBLE FUNCTIONS AND OBDD We have implemented Boolean resubstitution based on the Bold algorithm[5] with permissible functions. Boolean resubstitution generalizes the REDUCTION, EXPAND and IRREDUNDANT operations[3] to a multilevel context. This process removes the redundancies from the network, as well as modifications the network configuration. Thus. the possibilities of further optimization are increased. Fig.4 shows the general flow of our Boolean resubstitution. Even though we are manipulating Boolean networks, each cover comprises connections of AND gates and one OR gate. We use the following conditions to execute operations (l), (2) and (3) shown in Fig.4. Condition-(1): CV1 is not a transitive fan-in of CV2. Condition-(2): When the following condition for connection is satisfied, CVZ can be connected to gate G. After the negative or positive connection from CVI is added to an AND gate G in CV2, the new logic function of G is still included in the permissible functions of gate G. Condition-(3): When the following pruning condition is satisfied, a connection can be removed from G. The connections whose permissible functions consist of only 1 and don't care, or 0 and don't care, set to be constant value 1 or

4 An example of how Boolean resubstitution is implemented with CSPFs is shown in FigS. When there are two Boolean functions such as the followingfand g. f is substituted with g by Boolean resubstitution. Here we assume that f is a primary output variable, and g is an intermediate variable. Then the logic function off becomes the permissible function off itself. In Fig.5, Fi indicates the logic function of variable i, and PFi indicates the CSPF of variable i. Notation & indicates logical AND, + indicates logical OR, and indicates logical NOT. f = a&(%+c) + b&c, g=a+b. Boolean functionfis substituted with g. f = g&(% +e). The processing flow on this Boolean network is as follows: 1: First, the logic function and CSPFs of each node in the network are calculated( see Fig.5-( 1)). 2: Here we assume that CVI and CV2 are selected as in Fig.5-(1), CVI comprises a single OR gate and CV2 comprises two AND gates and one OR gate. 3: We try to add the connection from gate G5 to the fanin of G2 in CV2. The new logic function of G2 becomes [OOOOllOl], which is included in the set of permissible functions, PF2=[000*11011, of gate G2. Thus, the connection from G5 can be added to the fan-ins of G2. 4: Here we recalculate the new permissible functions of each fan-in of G2. The permissible functions of fan-in a of G2 become PFa=[****ll*ll. PFa can be replaced with the constant value 1, so this fan-in can be removed (see Fig.5-(2)). 5: Similarly, the connection from G5 can be added to the fan-ins of G3. and fan-in b of G3 can be removed. 6: Here we recalculate the logic functions of gate G2 and G3 and the permissible functions of each fan-in of G4. The permissible functions of the connection from G3 become PF3=[OOO***O*]. PF3 can be replaced with the constant value 0, so this connection can be removed from G4. G4 can also be removed(= Fig.5-(3)). 7: These processes result in the logic function f with expression of g (see Fig.5-(4)). U) Calculate loaic functions a nd CSPFs - - CV1 I--- The new CSPFs of each f -' a Of G7 PF5 = [00**11*1] PFa= [****ll*l] :..E PFl = [**0*1101] PFa => constant 1 f = a&("&) + b&c The new loaic functions and CS PFs in CV2 NewF2=[OOO New PF2 = [ ] New F3 = [OOOlOlOl] New PF3 = [000***0*] => constant 0 14) Result of Boolean resubstitutim Boolean resutstitution( ) P CVl and CV2 Coven in the Boolean network */ PG :And gate in a cover CV2 *I ( fa each COVCI CV1( (1) for each cover cv2( for each AND gate G in CV2( (2) try to m a t CV1 to G; P Reduction *I (3) iry to remove other fan-ins from G; P Expand *I 1 iry to remove gates in (32; P Irredundant *I a n h -4 I- C.. Fia.5 Flow of Boolean resubstitutioq g Fia.4 General flow of Boolean resubtitutioq 287

5 5. EXPERIMENTAL RESULTS This section presents the results of our experiments employing improved OBDD operation techniques and applying Boolean resubstitution to our multi-level logic synthesis. 5.1 Results of improvements of OBDD operation techniques We investigated transduction procedures using the improvements of OBDD operation techniques. We compared the results reported in ICCAD'89[7] with the new results, as shown in Table-2. Each column at CPUtime of Table-2 indicates the following: A: Not improved. B: Simultaneous positive and negative logic judgement. C: Above B plus the classification of non-terminal nodes. D: Above C plus shared graphs with negative and positive edges. The differences in the OBDD operation techniques do not affect the optimization results. The processing speed increased about 10% to 20% with each improvement and the CPU-time for total improvements was halved. 5.2 Results of Boolean resubstitution Weak division and Boolean resubstitution were merged and executed iteratively, and we investigated the merged program. The threshold value of decreasing costs for one weak division processing was determined automatically during the first execution loop. Our results(0urs) are compared with the results of MIS2.1 and Bold in Table-3. The results for MIS2.1 were reported in the MCNC'89 workshop poster session[* 13. Each MIS2.1 column indicates the following: Single is the factored form literal count using a single execution of a standard script. CPU-time is the time in seconds on a DEC 3100 workstation for the single script. Best is the best factored form literal count using several executions of a standard script. Literals at Bold were reported in references[5]. Literals at OURS were literal count using a single execution of a merged program, weak division and Boolean resubstitution. CPU-time at OURS is the time in seconds on SUN SPARCstationl workstation. DEC 3100 is about 14 MIPS and SUN SPARCstationl is about 12.5 MIPS. As shown in Table-3, our technique produced smaller literal count than those of single MIS2.1 execution. The results of our literal count were similar to those of MIS2.1 Best and Bold, except for alu4. These results are within about 10%. For alu4, however, the number of literals that can be produced by our technique is about half that of MIS2.1 Best. Thus the result of CMOS technology mapping to this optimized ah4 Boolean network is in good comparison with the manual design. shown in Table-3, with regard to optimization quality and execution time. It is still possible, however, to further reduce the execution time. We intend to continue our work on improving OBDD manipulation techniques. REFERENCES [l] S.Muroga, YXambayashi, H.C.Lai and J.N.Culliney,"The transduction method-design of logic networks based on permissible functions," IEEE TC,October 1989, Vo1.38, No.10, pp [2] R.K.Brayton, R.Rudel1, A.Sangiovanni-Vincentelli and A.R.Wang," MIS: Multi-level interactive logic optimization system," IEEE TC., Vol.CAD-6(6), November 1989, pp [3] R.K.Brayton, G.D.Hachte1, C.McMullen and A.Sangiovanni-Vincentelli, "Logic minimization algorithms for VLSI synthesis," Kluwer Academic Publishers, Boston, [4] Allex Saldanha, Albert Wang, R.Brayton and A. S a ng io v a n n i - V in c en te 11 i," Mu 1 ti - 1 eve 1 1 og i c simplification using don't care filters," ACM/IEEE DAC, June 1989, pp [5] D.Bostick, G.D.Hachte1, R.Jacoby, M.R.Lightner, P.Moceyunas, C.R.Morrison, D.Ravenscroft." THE BOULDER OPTIMAL LOGIC DESIGN SYSTEM," IEEE ICCAD, 1987, pp [6] G.Hachte1, R.Jacoby, P.Moceyunas and C.Momson," Performance Enhancements in BOLD using "implications"," IEEE ICCAD, November 1988, pp [7] Y.Matsunaga and M. Fujita," Multi-level logic optimization using binary decision diagrams," IEEE ICCAD, November [8] R.E.Bryant,"Graph-Based Algorithms for Boolean Function Manipulation," IEEE Trans. on Computer, August 1986, ~~ [O] Robert K. Brayton,"Multi-level Logic Synthesis," ICCAD-89 Tutorial, November CONCLUSIONS Boolean resubstitution with permissible functions and OBDD is presented. The results of this technique are especially suitable for large examples, such as ah4 288

6 Table.2 Results of immovements of OBDD Techniques Circuit name rd53 misex 1 misex2 rd73 5xpl rd84 start n - D Table3. CO mdarison of our Results (Number of literals) MIs2.1 [*l] Bold[5] OURS Vame ingle terals CPU-time seconds est terals Literals Literals CPU-time seconds 11u4 ;lip hke2 nisexl nisex2 xisex3 nisex3 :d53 rd7 3 -d84 vg2 5XPl * 1 : MCNC'89 workshop poster session 289

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

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

More information

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

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

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

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

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

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

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

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

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

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

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

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. :

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. : Chapter 6: Multilevel Combinational Circuits Name: Lương Văn Minh No. : 09070452 Overview 6.1 Boolean Networks 6.2 Special Classes of Circuits 6.3 Binary Decision Diagrams 2 Overview 6.1 Boolean Networks

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

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

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

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

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

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

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 7, JULY 1997 783 [16] Layout synthesis benchmark set, Microelectronics Center of North Carolina, Research Triangle

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

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

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s

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

REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits *

REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits * REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits * Chen Wang, Irith Pomeranz and Sudhakar M. Reddy Electrical and Computer Engineering Department

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

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

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

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

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

Simplified Digital Logic Circuits Using Binary Decision Tree

Simplified Digital Logic Circuits Using Binary Decision Tree Simplified Digital Logic Circuits Using Binary Decision Tree Hamed A. Fawareh and Abla Suliman Hussien ZarqaUniversity/ software Engineering Department, Zarqa, Jordan Abstract Ordered Binary decision tree

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

Computer Science. Using Ordered Binary-Decision Diagrams for Compressing Images and Image Sequences

Computer Science. Using Ordered Binary-Decision Diagrams for Compressing Images and Image Sequences Computer Science Using Ordered Binary-Decision Diagrams for Compressing Images and Image Sequences Mike Star key and Randy Bryant January 1995 CMU-CS-95-105 Carnegie Mellon gültekimlifj^; Apj«o«d lev pobflb

More information

Enhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting

Enhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting Enhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting Hiroyuki Higuchi Fujitsu Laboratories Ltd. / Kyushu University e-mail: higuchi@labs.fujitsu.com Yusuke Matsunaga Kyushu University

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

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

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

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

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

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

UNIT II. Circuit minimization

UNIT II. Circuit minimization UNIT II Circuit minimization The complexity of the digital logic gates that implement a Boolean function is directly related to the complexity of the algebraic expression from which the function is implemented.

More information

Boolean Algebra and Logic Gates

Boolean Algebra and Logic Gates Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can

More information

Binary Decision Diagrams and Symbolic Model Checking

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

More information

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

2.1 Binary Logic and Gates

2.1 Binary Logic and Gates 1 EED2003 Digital Design Presentation 2: Boolean Algebra Asst. Prof.Dr. Ahmet ÖZKURT Asst. Prof.Dr Hakkı T. YALAZAN Based on the Lecture Notes by Jaeyoung Choi choi@comp.ssu.ac.kr Fall 2000 2.1 Binary

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

Implementing a Multiple-Valued Decision Diagram Package

Implementing a Multiple-Valued Decision Diagram Package ISMVL-98 Page 1 Implementing a Multiple-Valued Decision Diagram Package D. Michael Miller Rolf Drechsler VLSI Design and Test Group Institute of Computer Science Department of Computer Science Albert-Ludwigs-University

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

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4 A Method to Represent Multiple- Switching Functions by Using Multi-Valued Decision Diagrams Tsutomu Sasao Department of Computer Science and Electronics Kyushu Institute of Technology Iizuka 8, Japan Jon

More information

TitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10

TitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10 TitleArithmetic Boolean Expression Manip Author(s) Minato, Shin-Ichi Citation Formal Methods in System Design, Issue Date 997-4 DOI Doc URLhttp://hdl.handle.net/25/6892 RightThe original publication is

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

Combinational Equivalence Checking Using Satisfiability and Recursive Learning

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

More information

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

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

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

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

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

More information

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

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

Model Checking I Binary Decision Diagrams

Model Checking I Binary Decision Diagrams /42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams

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

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 5, OCTOBER 2001 679 Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison

More information

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Shin-ichi Minato Hokkaido University minato@ist.hokudai.ac.jp Abstract In this paper, we propose a method of finding

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

Transistors NODES. Time (sec) No. of Nodes/Transistors

Transistors NODES. Time (sec) No. of Nodes/Transistors Binary Tree Structure for Formal Verication of Combinational ICs FATMA A. EL-LICY, and HODA S. ABDEL-ATY-ZOHDY Microelectronics System Design Laboratory Department of Electrical and Systems Engineering

More information

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

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

More information

Synchronous Logic Synthesis: Algorithms for Cycle-Time Minimization

Synchronous Logic Synthesis: Algorithms for Cycle-Time Minimization Synchronous Logic Synthesis: Algorithms for Cycle-Time Minimization Giovanni De Micheli Center for Integrated Systems Stanford University Abstract This paper presents a new approach to logic synthesis

More information

Gate Level Minimization Map Method

Gate Level Minimization Map Method Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically

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

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

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

OPTIMIZATION OF FIR FILTER USING MULTIPLE CONSTANT MULTIPLICATION

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

More information

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

ACKNOWLEDGEMENTS. my thesis committee and for their input on this document. effort. This research was funded under NSF contract MIP

ACKNOWLEDGEMENTS. my thesis committee and for their input on this document. effort. This research was funded under NSF contract MIP ACKNOWLEDGEMENTS I would like to think my thesis advisor, Dr. Thornton, for the opportunity to work on this project, for his many insights into this research, and for the numerous times that he reviewed

More information

Incremental Synthesis

Incremental Synthesis Incremental Synthesis Daniel Brand Anthony Drumm Sandip Kundu Prakash Narain IBM Research Division IBM AS/400 Division IBM Research Division IBM Microelectronics Yorktown Heights, NY Rochester, MN Yorktown

More information

Library Free Technology Mapping

Library Free Technology Mapping 25 Library Free Technology Mapping A. I. Reii 2, R. Reii, D. Auvergni, M. Robert 1 1 LIRMM, UMR 5506 Universite Montpellier/1. 161, Rue Ada. 34 392 Montpellier Cedex 5, France. Phone: 04 67 41 8518. Fax

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

Symbolic Model Checking

Symbolic Model Checking Bug Catching 5-398 Symbolic Model Checking Hao Zheng Dept. of Computer Science & Eng. Univ. of South Florida Overview CTL model checking operates on sets. Calculates the fix points over finite state sets.

More information

Synthesis of combinational logic

Synthesis of combinational logic Page 1 of 14 Synthesis of combinational logic indicates problems that have been selected for discussion in section, time permitting. Problem 1. A certain function F has the following truth table: A B C

More information

Chapter 2. Boolean Algebra and Logic Gates

Chapter 2. Boolean Algebra and Logic Gates Chapter 2. Boolean Algebra and Logic Gates Tong In Oh 1 Basic Definitions 2 3 2.3 Axiomatic Definition of Boolean Algebra Boolean algebra: Algebraic structure defined by a set of elements, B, together

More information

Formal Verification Techniques for Digital Systems

Formal Verification Techniques for Digital Systems &CHAPTER 1 Formal Verification Techniques for Digital Systems MASAHIRO FUJITA, SATOSHI KOMATSU, and HIROSHI SAITO University of Tokyo, Japan 1.1 INTRODUCTION In deep submicron technology, a large and complex

More information

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs)

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Formal Verification Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Jacques Fleuriot jdf@inf.ac.uk Diagrams from Huth & Ryan, 2nd Ed. Recap Previously: CTL and LTL Model Checking algorithms

More information

On-Line Error Detecting Constant Delay Adder

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

More information

A Relational View of Subgraph Isomorphism

A Relational View of Subgraph Isomorphism A Relational View of Subgraph Isomorphism J. Cortadella and G. Valiente Department of Software, Technical University of Catalonia, Barcelona, Spain Abstract. This paper presents a novel approach to the

More information

Bi-Partition of Shared Binary Decision Diagrams

Bi-Partition of Shared Binary Decision Diagrams Bi-Partition of Shared Binary Decision Diagrams Munehiro Matsuura, Tsutomu Sasao, on T Butler, and Yukihiro Iguchi Department of Computer Science and Electronics, Kyushu Institute of Technology Center

More information

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries

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

More information

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

ECE 3060 VLSI and Advanced Digital Design

ECE 3060 VLSI and Advanced Digital Design ECE 3060 VLSI and Advanced Digital Design Lecture 15 Multiple-Level Logic Minimization Outline Multi-level circuit representations Minimization methods goals: area, delay, power algorithms: algebraic,

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

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

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

NAND. Grade (10) Instructor. Logic Design 1 / 13

NAND. Grade (10) Instructor. Logic Design 1 / 13 Logic Design I Laboratory 02 NAND NOR XOR # Student ID 1 Student Name Grade (10) Instructor signature 2 3 Delivery Date 1 / 13 Objective To find the basic NAND & NOR & XOR gates concept and study on multiple

More information

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital

COMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital Register Transfer and Micro-operations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. Digital systems vary in

More information

OBDD-Based Evaluation of k-terminal Network Reliability

OBDD-Based Evaluation of k-terminal Network Reliability IEEE TRANSACTIONS ON RELIABILITY, VOL. 51, NO. 4, DECEMBER 2002 443 OBDD-Based Evaluation of k-terminal Network Reliability Fu-Min Yeh, Shyue-Kung Lu, and Sy-Yen Kuo, Fellow, IEEE Abstract An efficient

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

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

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard

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

Chapter 3: Arithmetic for Computers

Chapter 3: Arithmetic for Computers Chapter 3: Arithmetic for Computers Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point Computer Architecture CS 35101-002 2 The Binary Numbering

More information

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of

More information

Minimum-Width Method of Variable Ordering for Binary. PAPER: Special Section on the 4th Karuizawa Workshop. Instructions for use

Minimum-Width Method of Variable Ordering for Binary. PAPER: Special Section on the 4th Karuizawa Workshop. Instructions for use Title Minimum-Width Method of Variable Ordering for Binary Author(s)Minato, Shin-ichi IEICE TRANSACTIONS on Fundamentals of Electronics, C Citation399 Issue Date 1992-03-20 Doc URL http://hdl.handle.net/2115/47490

More information