Multi-Valued Logic Network Optimizations EE219B Project Presentation Jason Shamberger May 16, 2000.

Slides:



Advertisements
Similar presentations
L9 – State Assignment and gate implementation. States Assignment  Rules for State Assignment  Application of rule  Gate Implementation  Ref: text.
Advertisements

Combinational Logic Word Problems
Functions and Functional Blocks
Prof. Sin-Min Lee Department of Computer Science
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
Greedy Algorithms Amihood Amir Bar-Ilan University.
CP208 Digital Electronics Class Lecture 11 May 13, 2009.
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
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.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
EDA (CS286.5b) Day 17 Sequential Logic Synthesis (FSM Optimization)
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
SPFD-Based Wire Removal in a Network of PLAs Sunil P. Khatri* Subarnarekha Sinha* Andreas Kuehlmann** Robert K. Brayton* Alberto Sangiovanni-Vincentelli*
Gate Logic: Two Level Canonical Forms
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
Multiple-valued Function A multiple-valued function n f : P => {0,1,2} where P = X p i i = 1 each p i is a set of integers {1,2,...,p i } that the ith.
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Logic Synthesis 3 Outline –Multi-Level Logic Optimization –Local Transformations –Weak Division Goal –Understand multi-level optimization –Understand local.
Logic Synthesis Primer
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
Introduction to CMOS VLSI Design Datapath Functional Units
THE ELIMINATION METHOD Solving Systems of Three Linear Equations in Three Variables.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Seventh Grade Math Math 3.
3.5 Solving systems of equations in 3 variables
Combinational Logic Chapter 4.
Combinational Circuits Chapter 3 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
2-Level Minimization Classic Problem in Switching Theory
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
Warm Up Simplify each expression. 1. 3x + 2y – 5x – 2y
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
Fall 2004EE 3563 Digital Systems Design EE3563 Multiplexers  A multiplexer is a digital switch  Allows a device to select a single line from many  Some.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
Optimization Algorithm
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
1.4 Solving Equations ●A variable is a letter which represents an unknown number. Any letter can be used as a variable. ●An algebraic expression contains.
Expert Systems with Applications 34 (2008) 459–468 Multi-level fuzzy mining with multiple minimum supports Yeong-Chyi Lee, Tzung-Pei Hong, Tien-Chin Wang.
Linear Equations in Two Variables A Linear Equation in Two Variables is any equation that can be written in the form where A and B are not both zero.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
CS151 Introduction to Digital Design
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
1 State Assignment The problem: Assign a unique code to each state to produce a minimal binary logic level implementation. Given: 1.|S| states, 2.at least.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
SOLVING SYSTEMS USING ELIMINATION 6-3. Solve the linear system using elimination. 5x – 6y = -32 3x + 6y = 48 (2, 7)
Multiplexers & Decoders By: Jason Pitts CS 147 Spring 2010.
Implementation of Public Key Encryption Algorithms
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
1 Using Network Coding for Dependent Data Broadcasting in a Mobile Environment Chung-Hua Chu, De-Nian Yang and Ming-Syan Chen IEEE GLOBECOM 2007 Reporter.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Solving Systems of Equation Using Elimination. Another method for solving systems of equations Eliminate one of the variables by adding the two equations.
CS137: Electronic Design Automation
Overview Part 2 – Combinational Logic Functions and functional blocks
Finite state machine optimization
Finite state machine optimization
Plotting functions not in canonical form
A Boolean Paradigm in Multi-Valued Logic Synthesis
Optimization Algorithm
Notes Solving a System by Elimination
Heuristic Minimization of Two Level Circuits
Overview Part 2 – Circuit Optimization
Digital System Design Combinational Logic
Multiplexers Mux.
ECE2030 HW-6.
Fast Min-Register Retiming Through Binary Max-Flow
*Internal Synthesizer Flow *Details of Synthesis Steps
CS137: Electronic Design Automation
Presentation transcript:

Multi-Valued Logic Network Optimizations EE219B Project Presentation Jason Shamberger May 16, 2000

Outline Input Variable Pairing –results Input Variable Encoding –results Conclusions

Input Variable Pairing By pairing input variables, we can make the cover smaller Example:

Input Variable Pairing Trade-off: pairing variables increases input width If input variables have m, n values, pairing them increases the width from m+n to m*n For some applications we wish to limit the total input width to 32 bits

Input Variable Pairing Simple Heuristic: –Count the original number of cubes –Eliminate the variables to pair –Count the new number of cubes –The difference gives an approximation of the savings The real savings could be more than this, since further simplifications could be made by calling Espresso

Input Variable Pairing Results Number of cubes: Original network mv_simpvar_pair mv_simp test test test test test

Input Variable Pairing Results Possible explanations? –Heuristic is not good enough, can try calling espresso on each node, each pair of variables to get an accurate count of savings Another problem: demux nodes

Input Variable Pairing We pair variables by inserting demux nodes

Input Variable Pairing Results Original network mv_simpvar_pair mv_simp All nodes Excluding demux nodes All nodesExcluding demux nodes test test test test test

Input Variable Pairing The new node we insert must have at least one cube for each value of the MV variable we generate Solutions: –Set the threshold equal to the number of cubes in demux node Result: no pairing

Input Encoding The opposite of variable pairing: Take one MV input and encode it with smaller variables Choosing the encoding affects the size of the cover (see class notes)

Input Encoding Implementation: –Find which variables to encode –Generate the constraints –Generate the dichotomies –Generate the prime dichotomies –Find the minimum column cover –Translate this into an encoding scheme

Input Encoding Results The optimal method is not fully implemented –Currently generate dichotomies, then find a cover which satisfies all of them Encounter the same problem with insertion of new nodes for muxing –Insert one node for each variable to encode with –Each node has one cube for each value of the encoding variable

Input Encoding Results Original network mv_simpinput_encode mv_simp All nodes Excluding mux nodes All nodesExcluding mux nodes test test test test In all test cases, input size at each node decreased or remained the same

Conclusions Original thought: alternately applying variable pairing and input encoding could lead to a small cube cover and small input width (similar to extraction and elimination) –This does not work, just end up inserting more and more nodes into the network

Conclusions

For better results look at the network level Instead of pairing variables, pair nodes (combine two sibling nodes into one) –Will increase the input width of the paired nodes, so make sure two nodes share common inputs AND outputs

Conclusions

Instead of encoding the inputs, encode at the outputs of previous nodes –Requires multiple outputs from a single node

References Class Notes “Satisfaction of Input and Output Encoding Constraints”, Saldanha, Villa, Brayton, Sangiovanni-Vincentelli “Multiple-Valued Logic and Optimization of Programmable Logic Arrays”, Sasao “On the Optimal Design of Multiple-Valued PLA’s”, Sasao