MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley.

Slides:



Advertisements
Similar presentations
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Advertisements

Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
Concepts of Database Management Seventh Edition
ECE 667 Synthesis & Verification - Algebraic Division 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Multi-level Minimization Algebraic.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
Logic Synthesis Part II
Common Subexpression Elimination Involving Multiple Variables for Linear DSP Synthesis 15 th IEEE International Conference on Application Specific Architectures.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
1 Multi-Valued Logic Synthesis R. K. Brayton and S. P. Khatri University of California Berkeley.
Multi-Valued Logic Network Optimizations EE219B Project Presentation Jason Shamberger May 16, 2000.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Engineering Models and Circuit Realization of Quantum State Machines.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
ICS 252 Introduction to Computer Design Multi-level Logic Optimization Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
CAD Algorithms and Tools. Overview Introduction Multi-level logic synthesis SIS as a representative CAD tool Boolean networks Transformations of Boolean.
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Multi-level.
2-Level Minimization Classic Problem in Switching Theory
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Zvi Kohavi and Niraj K. Jha 1 Multi-level Logic Synthesis.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Multi-Level Logic Optimization. Multi-Level Logic Synthesis Two Level Logic : –Espresso –Programmable Logic Array (PLA) Multilevel Logic : –Standard Cell.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Output Grouping Method Based on a Similarity of Boolean Functions Petr Fišer, Pavel Kubalík, Hana Kubátová Czech Technical University in Prague Department.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Give qualifications of instructors: DAP
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Output Grouping-Based Decomposition of Logic Functions Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical University.
1 WireMap FPGA Technology Mapping for Improved Routability Stephen Jang, Xilinx Inc. Billy Chan, Xilinx Inc. Kevin Chung, Xilinx Inc. Alan Mishchenko,
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
1 Using Don’t Cares - full_simplify command Major command in SIS - uses SDC, ODC, XDC Key Questions: How do we represent XDC to a network? How do we relate.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
CS137: Electronic Design Automation
CHAPTER 6 Quine-McCluskey Method
Lecture 3: Incompletely Specified Functions and K Maps
Delay Optimization using SOP Balancing
ESE535: Electronic Design Automation
Logic Synthesis Primer
A Boolean Paradigm in Multi-Valued Logic Synthesis
Lecture 3: Incompletely Specified Functions and K Maps
CSE140 HW2 Preparation Xinyuan Wang 04/20/2018.
ECE 667 Synthesis and Verification of Digital Systems
SAT-Based Optimization with Don’t-Cares Revisited
Topics Logic synthesis. Placement and routing..
Sungho Kang Yonsei University
Discrete Math 2 Shortest Path Using Matrix
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Delay Optimization using SOP Balancing
Lecture 3: Incompletely Specified Functions and K Maps
CS137: Electronic Design Automation
Presentation transcript:

MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley

Outline  Motivation  Experiment results  Implementation  Theory  Problem definition

Motivation  MVSIS Front End – multi level minimization decomposition, substitution, collapsing, elimination, factorization – was not done –2 level minimization: espresso-mv, node don’t care minimization – was done –visualization of network-node information node factored form, value, kernels… - need first to finish multi-level minimization – was not done

Problem definition  How to factor a multi-valued logic function?  How to divide a multi-valued logic function given a divisor?  Example:

Theory  Satisfiability-matrix based kernel searching (factorization) –Can do both kernel searching (factorization) and division  Direct method for multi-valued division –Only applies to division –Similar to the weak-division in the binary setting

Satisfiability-matrix  Given a matrix M and its entries –Value condition Value val of a variable var satisfies the value condition if it appears in all combinations of the rows and columns that it appears in M –Satisfiability M is satisfiable if all values of all variables of the entries in M satisfy the value condition

An example X 1 {0,1} X 2 {1,2} 2 2 X 1 {1} X 2 {1,4} X 1 {0,1} X 2 {4} –All values of X 1 satisfy the value condition. Value 4 of X 2 satisfies the value condition X 1 {0,1} X 2 {2,3} X 1 {1} X 2 {1,3} X 1 {0,1} X 2 {2,3}

Obtain factorization  Then if M is satisfiable,  Place as many cubes of F as possible in M so that M is satisfiable: –F= (e r )(e c ) + R –R is the remainder and contains the cubes that will make M not satisfiable if put in M  e r,i =supercube(all cubes in row i)  e c,j =supercube(all cubes in column j) –supercube({c i }): smallest cube containing all c i

Techniques  Pre-select number of rows  Fill M in column order, check satisfiability at position  Branch and bound search  Exponential but good heuristics have been used to speed up the search

An example b {1,2,3} c {3} a {0} b {1,2,3} c {0} F = a {0,1,2} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} c {1} = a {0,1,2} b {0,1,2,3} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} b {0,1,2,3} c {1} a {0,1,2} b {0,1,2,3} c {3} a {0} b {0,1,2,3} c {1}

An example a {0,1,2} b {0,1,2,3} c {3} a {0} b {0,1,2,3} c {1} b {1,2,3} c {3} a {0} b {1,2,3} c {0} F = a {0,1,2} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} c {1} = (c {3} +a {0} c {0,1} )(a {0,1,2} c {1,3} + b {1,2,3} c {0,3} ) c {3} a {0} c {0,1} a {0,1,2} c {1,3} b {1,2,3} c {0,3}

Direct method for exact division Similar to WEAK_DIV in SIS Given: –F =a {0,1,2} c {3} +b {1,2,3} c {3} + a {0} c {1} + a {0} b {1,2,3} c {0} –d =c {3} +a {0} c {0,1,2} Candidate cubes: contained in divisor cube –c {3} : –a {0} c {0,1,2} : a {0,1,2} c {3}, a {0} c {1},a {0} b {1,2,3} c {0} b {1,2,3} c {3}

Direct method for exact division  Candidate quotient cubes: –c {3} : a {0,1,2} c S1, b {1,2,3} c S2 –a {0} c {0,1,2} : a S3 c S4, a S5 b {1,2,3} c S6 –{3}  S1  {0,1,2,3}, {3}  S2  {0,1,2,3}, {0}  S3  {0,1,2,3}, {1}  S4  {1,3}, {0}  S5  {0,1,2,3}, {0}  S6  {0,3}  Take quotient cubes in common (compatible) –c {3} : –a {0} c {0,1,2} :  Result: –F =(c {3} +a {0} c {0,1,2} )(a {0,1,2} c {1,3} + b {1,2,3} c {0,3} ) a {0,1,2} c {1,3}, b {1,2,3} c {0,3}

Direct method for exact division  Run time for direct method: –2-cube divisor: Can be reduced to maximum matching problem: maximum number of edges in a graph none of which share a vertex n 3, have been implemented, result show it is fast –>2-cube divisor can be reduced to covering problem Have not been implemented yet.

Implementation  MV-SIS multi-level minimization packages related to algebraic factorization and division –kernel extraction –factorization –decomposition –collapsing –substitution –elimination

Implementation  Kernelling and factorization –Satisfiability-matrix based method  Substitution –Direct method  Collapsing  Elimination –Compute the value of a node: number of cubes before and after elimination –Collapse if value is less than thresh hold given by the user

Decomposition  Best-kernel based method –Divide these kernels into all other nodes to compute their value –Choose the best one, extract it into a new node –Find all 2-cube kernels in all nodes by making each pair of cubes cube-free –Divide the new node into all other nodes

Visualization commands  mv_print n1 –print SOP form of the function at node n1, print the whole network if n1 not specified  mv_print_io n1 –print fanins and fanouts of n1. Print PI and PO if n1 not specified  mv_print_factor n1 –print factored form of n1. print the whole network if n1 not specified  mv_print_value n1 –print the value of n1, print the whole network if n1 not specified

Experimental results  Multi-valued PLA examples: –All 2-cube kernel method decomposition PLARun time/secNum cubes saved C1908_40_20.club2613->523, 15% Apex6_40_25.club >429, 15% Frg2_60_25.club6699->507, 27% Pair_40_15.club >1279, 10% Toolarge_25_20.club >312, 23%

Experimental results Hand-made examples Test examples from last year’s project and an adder_mod4 example All 2-cube kernel method decomposition Examplemethod Num cubes saved test3Eliminate 0->dcomp->eliminate 0286->107, 63% test3Collapse->decomp488->71, 85% test2Eliminate 0->decomp73->42, 42% Adder_mod4Decomp32->24, 25% Adder_mod5Decomp40->34, 15%

Experimental results  Machine_learning examples: –All 2-cube kernel method decomposition NameNum cubes saved balance.mv153->121, 21% car.mv58->45, 22% employ2.mv60->33, 45% nursery.mv144->53, 63% pal3.mv36->18, 50%

Conclusion  Multi-level minimization in MVSIS is efficient and fast  We have built a SIS version with MV layer with a menu of optimization commands