Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 1 / 24 Bernd Steinbach.

Slides:



Advertisements
Similar presentations
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
Advertisements

Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon.
Logic Synthesis Part II
1 Multi-Valued Logic Synthesis R. K. Brayton and S. P. Khatri University of California Berkeley.
1 CK Cheng CSE Dept. UC San Diego CS 140, Lecture 2 Combinational Logic.
Computer Arithmetic, Multiplexers Prof. Sin-Min Lee Department of Computer Science.
Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland.
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
1 Fault Nodes in Implication Graph for Equivalence/Dominance Collapsing, and Identifying Untestable and Independent Faults R. Sethuram
2002/10/08 SeonPil Kim Layout-Driven Synthesis For Submicron Technology : Mapping Expansions To Regular Lattices High Level Synthesis Homework #2.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
מבנה מחשבים תרגול מספר 4. Definition: A Boolean function f :{0,1} n  {0,1} is monotone if x  y  f (x)  f ( y) (where x  y means : for every i x i.
Mathematics of Cryptography Part I: Modular Arithmetic, Congruence,
New Approach to Quantum Calculation of Spectral Coefficients Marek Perkowski Department of Electrical Engineering, 2005.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Lecture 3: Incompletely Specified Functions and K Maps CSE 140: Components and Design Techniques for Digital Systems Fall 2014 CK Cheng Dept. of Computer.
Drill #16 List the relation (set of ordered pairs) and the domain and range of the following mapping: 1. Graph the following relation, state the domain.
Introduction to Computer Science David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS September 6, 2007.
1 COMBINATIONAL LOGIC One or more digital signal inputs One or more digital signal outputs Outputs are only functions of current input values (ideal) plus.
Digital Logic Chapter 4 Presented by Prof Tim Johnson
Boolean Algebra and Digital Circuits
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Computer Science 210 Computer Organization Introduction to Boolean Algebra.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
ROM & PLA Digital Logic And Computer Design
Optimization Algorithm
Graph Coloring. Introduction When a map is colored, two regions with a common border are customarily assigned different colors. We want to use a small.
DISCRETE COMPUTATIONAL STRUCTURES CS Fall 2005.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
Computer Science 101 Circuit Design - Examples. Sum of Products Algorithm Identify each row of the output that has a 1. Identify each row of the output.
Reducing Test Application Time Through Test Data Mutation Encoding Sherief Reda and Alex Orailoglu Computer Science Engineering Dept. University of California,
ECE2030 Introduction to Computer Engineering Lecture 8: Quine-McCluskey Method Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering.
1 ECE2030 Introduction to Computer Engineering Lecture 8: Quine-McCluskey Method Prof. Hsien-Hsin Sean Lee School of ECE Georgia Institute of Technology.
Practical Considerations When t , the supp, then there will be a value of t when supp folds, it becomes multi-w-to-one-x mapping.
CHAPTER 1 SETS, FUNCTIONs, ELEMENTARY LOGIC & BOOLEAN ALGEBRAs
Fundamentals of digital electronics Prepared by - Anuradha Tandon Assistant Professor, Instrumentation & Control Engineering Branch, IT, NU.
Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu.
Karnaugh Maps Not in textbook. Karnaugh Maps K-maps provide a simple approach to reducing Boolean expressions from a input-output table. The output from.
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
MSI Combinational logic circuits
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
Lecture 5: K-Map minimization in larger input dimensions and K-map minimization using max terms CSE 140: Components and Design Techniques for Digital Systems.
Lecture 3: Incompletely Specified Functions and K Maps
Finite state machine optimization
Finite state machine optimization
Computer Science 210 Computer Organization
A New Logic Synthesis, ExorBDS
CS 352 Introduction to Logic Design
Optimized Implementation of Logic Function
Computer Science 210 Computer Organization
Example of application: Decomposition
Lecture 3: Incompletely Specified Functions and K Maps
Optimized Implementation of Logic Function
ECE 331 – Digital System Design
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
Optimization Algorithm
Lecture 6 Logistics Last lecture Today’s lecture
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Computer Science 210 Computer Organization
Optimized Implementation of Logic Function
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Lecture 3: Incompletely Specified Functions and K Maps
ECE 331 – Digital System Design
Computer Architecture
Presentation transcript:

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski + * Freiberg University of Mining and Technology Institute of Computer Science, Freiberg (Sachs.), Germany + Portland State University, Department of Electrical and Computer Engineering, Portland (Oregon), USA Bi-Decomposition of Discrete Function Sets

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Outline Introduction Function Sets Bi-Decomposition Decomposition Strategy EXOR-Decomposition of Function Sets Results Conclusion

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Introduction Incompletely specified functions (ISFs) are a generalization of Boolean functions. There are many multi-stage design algorithms for ISFs. We propose function sets as a generalization of ISFs to improve many of these design algorithms. We demonstrate our method on the example of EXOR-bi-decomposition.

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Function Sets I There are two ways to interpret ISFs: –incompletely specified function –set of 2 s fully specified functions, s = number of don’t cares Example: F  {f 1, f 2, f 3, f 4 }   0 01 a b F(a,b) f 1 (a,b) f 2 (a,b) f 3 (a,b) f 4 (a,b)

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Function Sets II The functions of an ISF and the AND and OR operation form a lattice, a special type of Boolean algebra If f 1, f 2  F, then f 1  f 2  F and f 1  f 2  F Example: f 3  f 4 = f 1  F, and f 3  f 4 = f 2  F   0 01 a b F(a,b) f 1 (a,b) f 2 (a,b) f 3 (a,b) f 4 (a,b)

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Function Sets III There are function sets that are lattices, but not ISFs: R={f 1, f 2 }  F  {f 1, f 2, f 3, f 4 } There are function sets that are not lattices: S={f 3, f 4 }, f 3  f 4 = f 1  S   0 01 a b F(a,b) f 1 (a,b) f 2 (a,b) f 3 (a,b) f 4 (a,b) R={f 1,f 2 } S={f 3,f 4 }

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Bi-Decomposition Bi-Decomposition for Binary Circuits Structure o OR- Bi-Decomposition AND- Bi-Decomposition EXOR- Bi-Decomposition B C A g(A, C) h(B, C) f(A, B, C) f(A,B,C) = g(A,C)  h(B,C) f(A,B,C) = g(A,C)  h(B,C) f(A,B,C) = g(A,C)  h(B,C)

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition Strategy I An ISF F(A, B, C) is bi-decomposed into function sets G(A, C) and H(B, C) This decomposition is recursively repeated. More functions in G(A, C) means fewer functions in H(B, C) and vice versa. Our strategy: Include into G(A, C) as many functions as possible, design G(A, C), then make the same with H(B, C).

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition Strategy II Example: G ? F a b c d 010  101  0 10   ab cd F(a,b,c,d)  G(a,b) design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition Strategy III Example: ? F a b c d 010  101  0 10   ab cd F(a,b,c,d) g(a,b) g design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition Strategy IV Example: H F a b c d 010  101  0 10   ab cd F(a,b,c,d) g(a,b) g 010  H(c,d) design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition Strategy V Example: f a b c d ab cd f(a,b,c,d) g(a,b) g 0100 h(c,d) h design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Function Sets in Bi-Decomposition Pass as many decomposition functions to the next stage of decomposition as possible. For OR and AND decomposition ISFs are sufficient to describe all decomposed functions. In EXOR decomposition ISFs describe only a small fraction of all possible subfunctions G(A, C) and H(B, C).

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 EXOR-Decomposition of Functions A function f(A, B, C) is EXOR-decomposable if its decomposition chart consists of two types of columns one being the negation of the other. There are two decomposition functions g(A, C), the first column and its negation. Example: ab cd f(a,b,c,d) g 1 (a,b) g 2 (a,b)

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 EXOR-Decomposition of ISFs I An ISF F(A, B, C) can consists of independent parts. Each independent part consists of horizontally or vertically connected cares in the decomposition chart. 01  10    00   ab cd F(a,b,c,d)

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 EXOR-Decomposition of ISFs II Each independent part has an ISF G i (A, C) and its negation as decomposition functions. All decomposition functions g i are combinations of the G i or their negation (/G i ). Function set is not an ISF new data structure G 1 (a,b)G 2 (a,b) G1G2G1G G1G2G1G G1G2G1G G1G2G1G2 01  10    00   ab cd F(a,b,c,d) 0 1     0 0

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Combinational ISFs (C-ISF) A C-ISF is a set of functions specified by a set of component ISFs with disjoint care sets. The cares of each component ISF may be negated. A C-ISF contains 2 #component ISF functions. 0 1   F 1 (a,b)   0 0 F 2 (a,b) f1f f2f f3f f4f4 F ={f 1, f 2, f 3, f 4 } ab

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition of C-ISFs I Each component ISF F i of a C-ISF F can be negated. The decomposability of the function depends on the pattern of negations of its component ISFs. A large number of component ISFs is possible. We propose a greedy algorithm that successively adds the component ISFs to the resulting ISF.

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Decomposition of C-ISFs II Example: Decomposition of F 1  01     ab c F1F1  1  0    F2F2    F3F    F1  F    F1F2F1F F1F2F3F1F2F F1F2F3F1F2F3 EXOR-decomposable relating {a, b} - {c} not EXOR-decomposable relating {a, b} - {c}

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Multi-Valued Bi-Decomposition Function sets of Boolean functions can be generalized to function sets of multi-valued functions. EXOR-decomposition can be extended to MODSUM- (sum modulo n) decomposition. AND- and OR-decompositions correspond to MIN- and MAX-decompositions

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Results I Decomposition of machine-learning benchmarks Selection of type of decomposition: F = modsum (max (G1 max, G2 max )  H ) Comparison of complexity of G using ISFs and C-ISFs max mod sum H G1 max G2 max F A1A1 A2A2 B ISF vs. C-ISF G

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Results II #inp - Number of Inputs DFC(F)=m o (mi1*mi2*...*min) DFC: discrete function cardinality

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Conclusion Function sets are a generalization of ISFs. C-ISFs are a particular class of function sets that describe the decomposed functions of EXOR- decomposition C-ISFs can be efficiently bi-decomposed Better decompositions can be found using C-ISFs instead of ISFs

Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August , / 24 Further Work Applications –Ashenhurst and Curtis decompositions –finite state machine design (set of functions is used to represent set of state encodings) Extensions –function sets for multiple output functions –a new concept of sets of relations