* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan
|
|
- Clemence Boone
- 5 years ago
- Views:
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
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 informationA 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 informationAn 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 informationBinary 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 informationSymbolic 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 informationDelay 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 informationUnit 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 informationSynthesis 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 informationHeuristic 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 informationBinary 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 informationLOGIC 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 informationBoolean 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 informationChapter 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 informationChapter 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 informationECE260B 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 informationFunctional 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 informationFunctional 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 informationBeyond 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 informationSEPP: 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 informationLogic 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 informationLocal 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 informationGet 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 informationECE 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 informationApplication 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 informationREDI: 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 informationA 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 informationBoolTool: 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 informationDesign 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 informationFormal 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 informationCS8803: 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 informationSimplified 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 informationCSE241 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 informationComputer 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 informationEnhancing 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 informationField 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 informationVLSI 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 informationECE260B 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 informationTwo-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 informationBoolean 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 informationABC 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 informationUNIT 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 informationBoolean 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 informationBinary 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 informationBinary 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 information2.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 informationOptimized 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 informationImplementing 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 informationDon'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 informationx 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 informationTitleArithmetic 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 informationOn 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 informationCombinational 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 informationSet 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 informationON 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 informationMotivation. 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 informationAdvanced 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 informationRepresentations 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 informationA 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 informationModel 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 informationA 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 informationResynthesis 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 informationFinding 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 informationFlowMap: 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 informationTransistors 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 informationDLD 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 informationSynchronous 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 informationGate 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 informationGiovanni 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 informationCOPYRIGHTED 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 informationLazy 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 informationOPTIMIZATION 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 informationCombinational 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 informationACKNOWLEDGEMENTS. 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 informationIncremental 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 informationLibrary 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 informationTEST 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 informationSymbolic 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 informationSynthesis 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 informationChapter 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 informationFormal 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 informationFormal 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 informationOn-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 informationA 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 informationBi-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 informationEfficient 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 informationIT 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 informationECE 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 informationMulti-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 informationEECS 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 informationFlexible 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 informationNAND. 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 informationCOMPUTER 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 informationOBDD-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 informationMulti-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 informationAn 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 informationChapter 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 informationOn 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 informationChapter 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 informationVLSI 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 informationMinimum-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