Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2014 Linear Programming – A Mathematical Optimization.

Slides:



Advertisements
Similar presentations
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Advertisements

Copyright Agrawal, 2011Lectures 8 and 9,: Linear Programming1 CSV881: Low-Power Design Linear Programming – A Mathematical Optimization Technique Vishwani.
10/28/2009VLSI Design & Test Seminar1 Diagnostic Tests and Full- Response Fault Dictionary Vishwani D. Agrawal ECE Dept., Auburn University Auburn, AL.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 8 Tuesday, 11/19/02 Linear Programming.
Linear Programming: Simplex Method and Sensitivity Analysis
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Compaction of Diagnostic Test Set for a Full-Response Dictionary Mohammed Ashfaq Shukoor Vishwani D. Agrawal 18th IEEE North Atlantic Test Workshop, 2009.
3/30/05Agrawal: Implication Graphs1 Implication Graphs and Logic Testing Vishwani D. Agrawal James J. Danaher Professor Dept. of ECE, Auburn University.
Minimum Dynamic Power CMOS Circuit Design by a Reduced Constraint Set Linear Program Tezaswi Raja Vishwani Agrawal Michael L. Bushnell Rutgers University,
1 Linear Programming Jose Rolim University of Geneva.
May 17, 2007North Atlantic Test Workshop (NATW) 2007, May 16-18, Boxborough, Massachusetts 1 Nitin Yogi and Vishwani D. Agrawal Auburn University Department.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 9 Wednesday, 11/15/06 Linear Programming.
Nov 29th 2006MS Thesis Defense1 Minimizing N-Detect Tests for Combinational Circuits Master’s Defense Kalyana R. Kantipudi Thesis Advisor: Dr. Vishwani.
11/17/05ELEC / Lecture 201 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits.
Aug 31, '02VDAT'02: Low-Power Design1 Minimum Dynamic Power Design of CMOS Circuits by Linear Program Using Reduced Constraint Set Tezaswi Raja, Rutgers.
Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Testability Measures Vishwani D. Agrawal James.
Fall 2006, Sep. 5 and 7 ELEC / Lecture 4 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC / )
A Two Phase Approach for Minimal Diagnostic Test Set Generation Mohammed Ashfaq Shukoor Vishwani D. Agrawal 14th IEEE European Test Symposium Seville,
9/20/05ELEC / Lecture 81 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits.
Spring 08, Feb 14 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Linear Programming – A Mathematical Optimization.
Spring 07, Feb 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Logic Equivalence Vishwani D. Agrawal James J.
Approximation Algorithms
Spring 08, Feb 28 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Retiming Vishwani D. Agrawal James J. Danaher.
Fall 2006, Nov. 30 ELEC / Lecture 12 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits Test Power Vishwani D.
Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 8 1 ELEC 5270/6270 Fall 2007 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical.
Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Fault Simulation Vishwani D. Agrawal James J.
May 28, 2003Minimum Dynamic Power CMOS1 Minimum Dynamic Power CMOS Circuits Vishwani D. Agrawal Rutgers University, Dept. of ECE Piscataway, NJ 08854
Jan 6-10th, 2007VLSI Design A Reduced Complexity Algorithm for Minimizing N-Detect Tests Kalyana R. Kantipudi Vishwani D. Agrawal Department of Electrical.
Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 1 ELEC 5270/6270 Fall 2007 Low-Power Design of Electronic Circuits Test Power Vishwani D. Agrawal James.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Jan. 2007VLSI Design '071 Statistical Leakage and Timing Optimization for Submicron Process Variation Yuanlin Lu and Vishwani D. Agrawal ECE Dept. Auburn.
Fall 2006, Sep. 26, Oct. 3 ELEC / Lecture 7 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits Dynamic Power:
March 17, 2008Southeastern Symposium on System Theory (SSST) 2008, March 16-18, New Orleans, Louisiana 1 Nitin Yogi and Dr. Vishwani D. Agrawal Auburn.
Jan. 6, 2006VLSI Design '061 On the Size and Generation of Minimal N-Detection Tests Kalyana R. Kantipudi Vishwani D. Agrawal Department of Electrical.
February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE,
Spring 07, Jan 30 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 SOC Test Scheduling Vishwani D. Agrawal James.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Spring 07, Mar 13, 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Linear Programming – A Mathematical Optimization.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Lecture 9 Tuesday, 11/18/08 Linear Programming.
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Design Techniques for Approximation Algorithms and Approximation Classes.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 12 MACHINE SETUP AND OPERATION SEQUENCING E. Gutierrez-Miravete Spring 2001.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Spring 2014, Mar 17...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2014 Zero - Skew Clock Routing Vishwani D. Agrawal.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
ELEC Digital Logic Circuits Fall 2015 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Copyright Agrawal, 2009ELEC5270/6270 Spring 11, Lecture 41 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Spring 2010, Feb 22...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2010 Linear Programming – A Mathematical Optimization.
Linear Programming Piyush Kumar Welcome to CIS5930.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Copyright Agrawal, 2007ELEC6270 Spring 09, Lecture 101 ELEC 5270/6270 Spring 2009 Low-Power Design of Electronic Circuits Test Power Vishwani D. Agrawal.
Linear Programming for Solving the DSS Problems
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
ELEC 5270/6270 Spring 2015 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James.
ELEC 7770 Advanced VLSI Design Spring 2016 Zero-Skew Clock Routing
ELEC 7770 Advanced VLSI Design Spring 2016 Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James J. Danaher Professor ECE.
ELEC 7770 Advanced VLSI Design Spring 2012 Retiming
Low-Power Design of Digital VLSI Circuits Digital Testing and Power
Vishwani D. Agrawal James J. Danaher Professor
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
ELEC 5270/6270 Spring 2013 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James.
ELEC 7770 Advanced VLSI Design Spring 2016 Technology Mapping
Vishwani D. Agrawal James J. Danaher Professor
A Primal-Dual Solution to Minimal Test Generation Problem
Vishwani D. Agrawal James J. Danaher Professor
ELEC 7770 Advanced VLSI Design Spring 2016 Retiming
VLSI Testing Lecture 4: Testability Analysis
Presentation transcript:

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2014 Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)2 What is Linear Programming   Linear programming (LP) is a mathematical method for selecting the best solution from the available solutions of a problem.   Method:   State the problem and define variables whose values will be determined.   Develop a linear programming model:   Write the problem as an optimization formula (a linear expression to be minimized or maximized)   Write a set of linear constraints   An available LP solver (computer program) gives the values of variables.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)3 Types of LPs   LP – all variables are real.   ILP – all variables are integers.   MILP – some variables are integers, others are real.   A reference:   S. I. Gass, An Illustrated Guide to Linear Programming, New York: Dover, 1990.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)4 A Single-Variable Problem   Consider variable x   Problem: find the maximum value of x subject to constraint, 0 ≤ x ≤ 15.   Solution: x = Constraint satisfied x Solution x = 15

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)5 Single Variable Problem (Cont.)   Consider more complex constraints:   Maximize x, subject to following constraints:   x ≥ 0(1)   5x ≤ 75(2)   6x ≤ 30(3)   x ≤ 10(4) x (1) (2) (3) (4) All constraints satisfied Solution, x = 5

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)6 A Two-Variable Problem   Manufacture of chairs and tables:   Resources available:   Material: 400 boards of wood   Labor: 450 man-hours   Profit:   Chair: $45   Table: $80   Resources needed:   Chair   5 boards of wood   10 man-hours   Table   20 boards of wood   15 man-hours   Problem: How many chairs and how many tables should be manufactured to maximize the total profit?

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)7 Formulating Two-Variable Problem   Manufacture x 1 chairs and x 2 tables to maximize profit: P = 45x x 2 dollars   Subject to given resource constraints:   400 boards of wood,5x x 2 ≤ 400(1)   450 man-hours of labor,10x x 2 ≤ 450(2)   x 1 ≥ 0(3)   x 2 ≥ 0 (4)

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)8 Solution: Two-Variable Problem Chairs, x 1 Tables, x 2 (1) (2) (24, 14) Profit increasing decresing P = 2200 P = 0 Best solution: 24 chairs, 14 tables Profit = 45× ×14 = 2200 dollars (3) (4) Material constraint Man-power constraint

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)9 Change Profit of Chair to $64/Unit   Manufacture x 1 chairs and x 2 tables to maximize profit: P = 64x x 2 dollars   Subject to given resource constraints:   400 boards of wood,5x x 2 ≤ 400(1)   450 man-hours of labor,10x x 2 ≤ 450(2)   x 1 ≥ 0(3)   x 2 ≥ 0 (4)

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)10 Solution: $64 Profit/Chair Chairs, x 1 Tables, x 2 (1) (2) Profit increasing decresing P = 2880 P = 0 Best solution: 45 chairs, 0 tables Profit = 64× ×0 = 2880 dollars (24, 14) (3) (4) Material constraint Man-power constraint

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)11 A Dual Problem   Explore an alternative.   Questions:   Should we make tables and chairs?   Or, auction off the available resources?   To answer this question we need to know:   What is the minimum price for the resources that will provide us with same amount of revenue from sale as the profits from tables and chairs?   This is the dual of the original problem.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)12 Formulating the Dual Problem   Revenue received by selling off resources:   For each board, w 1   For each man-hour, w 2   Minimize 400w w 2   Subject to constraints:   5w w 2 ≥ 45   20w w 2 ≥ 80   w 1 ≥ 0   w 2 ≥ 0 Resources: Material: 400 boards Labor: 450 man-hrs Profit: Chair: $45 Table: $80 Resources needed: Chair 5 boards of wood 10 man-hours Table 20 boards of wood 15 man-hours

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)13 The Duality Theorem  If the primal has a finite optimum solution, so does the dual, and the optimum values of the objective functions are equal.  Reference: G. Strang, Linear Algebra and Its Applications. Fort Worth: Harcourt Brace Javanovich College Publishers, third edition, 1988.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)14 Primal-Dual Problems   Primal problem   Fixed resources   Maximize profit   Variables:   x 1 (number of chairs)   x 2 (number of tables)   Maximize profit 45x 1 +80x 2   Subject to:   5x x 2 ≤ 400   10x x 2 ≤ 450   x 1 ≥ 0   x 2 ≥ 0   Solution:   x 1 = 24 chairs, x 2 = 14 tables   Profit = $2200   Dual Problem  Fixed profit  Minimize value   Variables:  w 1 ($ value/board of wood)  w 2 ($ value/man-hour)   Minimize value 400w w 2   Subject to:  5w w 2 ≥ 45  20w w 2 ≥ 80  w 1 ≥ 0  w 2 ≥ 0   Solution:  w 1 = $1, w 2 = $4  value = $2200

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)15 LP for n Variables n minimize Σ cj xjObjective function j =1 n subject to Σ aij xj ≤ bi, i = 1, 2,..., m j =1 n Σ cij xj = di, i = 1, 2,..., p j =1 Variables: xj Constants: cj, aij, bi, cij, di

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)16 Algorithms for Solving LP  Simplex method  G. B. Dantzig, Linear Programming and Extension, Princeton, New Jersey, Princeton University Press,  Ellipsoid method  L. G. Khachiyan, “A Polynomial Algorithm for Linear Programming,” Soviet Math. Dokl., vol. 20, pp ,  Interior-point method  N. K. Karmarkar, “A New Polynomial-Time Algorithm for Linear Programming,” Combinatorica, vol. 4, pp ,  Course website of Prof. Lieven Vandenberghe (UCLA),

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)17 Basic Ideas of Solution methods Constraints Extreme points Objective function Constraints Extreme points Objective function Simplex: search on extreme points. Complexity: polynomial in n, number of variables Interior-point methods: Successively iterate with interior spaces of analytic convex boundaries. Complexity: O(n 3.5 L), L = no. of int. values

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)18 Integer Linear Programming (ILP)  Variables are integers.  Complexity is exponential – higher than LP.  LP relaxation  Convert all variables to real, preserve ranges.  LP solution provides guidance.  Rounding LP solution can provide a non-optimal solution.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)19 Traveling Salesperson Problem (TSP)

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)20 Solving TSP: Five Cities Distances (dij) in miles (symmetric TSP, general TSP is asymmetric) City j=1 j=1 j=2 j=2j=3j=4j=5 i=1 i= i=2 i= i=3 i= i=4 i= i=5 i=

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)21 Search Space: No. of Tours  Asymmetric TSP tours  Five-city problem: 4 × 3 × 2 × 1 = 24 tours  Ten-city problem: 362,880 tours  15-city problem: 87,178,291,200 tours  50-city problem: 49! = 6.08×10 tours  50-city problem: 49! = 6.08×10 62 tours Time for enumerative search assuming 1 μs per tour evaluation=1.93×10 years Time for enumerative search assuming 1 μs per tour evaluation=1.93×10 55 years

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)22 A Greedy Heuristic Solution City j = 1 j = 2j = 3j = 4j = 5 i = 1 (start) i = i = i = i = Tour length = = 60 miles (non-optimal)

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)23 ILP Variables, Constants and Constraints d14 = 12 d15 = 27 d12 = 18 d13 = 10 x14 ε [0,1] x15 ε [0,1] x12 ε [0,1] x13 ε [0,1] x12 + x13 + x14 + x15 = 1 four other similar equations Integer variables: xij = 1, travel i to j xij = 0, do not travel i to j Real constants: dij = distance from i to j

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)24 Objective Function and ILP Solution 5 i - 1 Minimize ∑ ∑ xij × dij i = 1 j = 1 xij xij j=1 j=12345 i=1 i= ∑ xij = 1 and xii = 0 for all i j ≠ i

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)25 ILP Solution d13 = 10 d45 = 6 Total length = 45 but not a single tour d54 = 6 d21 = 18 d32 = 5

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)26 Additional Constraints for Single Tour  Following constraints prevent split tours. For any subset S of cities, the tour must enter and exit that subset: ∑ xij ≥ 2 for all S, |S| < 5 i ε S j ε S Any subset Remaining set At least two arrows must cross this boundary.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)27 ILP Solution d13 = 10 d41 = 12 Total length = 53 d54 = 6 d25 = 20 d32 = 5

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)28 ILP Example: Test Minimization  A combinational circuit has n test vectors that detect m faults. Each vector detects a subset of faults. Find the smallest subset of test vectors such that each fault is detected by at least N vectors.  Simulate vectors without dropping faults. T1T2..Tj...Tn F F Fj Fm Faults Test vectors fij = 1, if test Ti detects fault Fj

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)29 Test Minimization by ILP n minimize Σ ti Objective function i=1 n subject to Σ fij ti ≥ N, j = 1, 2,..., m i=1 Construct an ILP model: 1.Assign an integer variable ti ε [0,1] to ith test vector such that ti = 1, if we select ti, otherwise ti= 0. 2.Define an integer constant fij ε [0,1] such that fij = 1, if ith vector detects jth fault, otherwise fij = 0. Values of constants fij are determined by fault simulation.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)30 N-Detect Tests (N = 5) Circuit Unoptimized vectors ILP (exact) Minimum vectors CPU s c432 c c499 c c880 c8801, c1355 c c1908 c19081, c2670 c c3540 c35401, c5315 c53151, c6288 c c7552 c75522,

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)31 Why ILP Solution is Exponential? LP solution found in polynomial time (bound on ILP solution) Must try all 2 n roundoff points First variable Second variable Constraints Objective (maximize)

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)32 Characteristics of ILP  Worst-case complexity is exponential in number of variables.  Linear programming (LP) relaxation, where integer variables are treated as real, gives a lower bound on the objective function.  Recursive rounding of relaxed LP solution to nearest integers gives an approximate solution to the ILP problem.  K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests,” Proc. 20 th International Conf. VLSI Design, January 2007, pp

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)33 Recursive Rounding Algorithm 1.Obtain a relaxed LP solution. if each variable in the solution is an integer. 1.Obtain a relaxed LP solution. Stop if each variable in the solution is an integer. 2.Round the variable closest to an integer. 3.Remove any constraints that are now unconditionally satisfied. 4.Go to step 1.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)34 Complexity of Approximation  Recursive rounding:  ILP is transformed into k LPs with progressively reducing number of variables, where k is the size of the solution.  A solution that satisfies all constraints is guaranteed; this solution is often close to optimal.  Number of LPs, k, is the size of the final solution, i.e., the number of non-zero variables in the test minimization problem.  Recursive rounding complexity is k × O(n p ), where k ≤ n, n is number of variables.

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)35 Four-Bit ALU Circuit Initial vectors ILP Recursive rounding Vectors CPU s Vectors , , , ,384 = 2 14 (exhaustive set) inputs, 8 outputs

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)36 ILP vs. Recursive Rounding 0 5,000 10,000 15,000 Vectors ILP Recursive Rounding CPU s

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)37 N-Detect Tests (N = 5) Circuit Unoptimized vectors Relaxed LP/Recur. rounding ILP (exact) Lower bound Min. vectors CPU s Min. vectors CPU s c432 c c499 c c880 c8801, c1355 c c1908 c19081, c2670 c c3540 c35401, c5315 c53151, c6288 c c7552 c75522,

A Primal-Dual Solution (N = 1) Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)38 Circuit Name Lower bound on vectors Recursive LP minimizationPrimal-dual minimization Unopt. vectors LP CPU s Minimized vectors Unopt. vectors Total CPU s Minimized vectors c c c c c c c c c c M. A. Shukoor and V. D. Agrawal, “A Primal-Dual Solution to Minimal Test Generation Problem,” Proc. 12 th IEEE VLSI Design & Test Symp. (VDAT08), 2008, pp

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)39 Finding LP/ILP Solvers  R. Fourer, D. M. Gay and B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, South San Francisco, California: Scientific Press, Several of programs described in this book are available to Auburn users.  B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, K. R. Coombes, J. E. Osborn and G. J. Stuck, A Guide to MATLAB for Beginners and Experienced Users, Cambridge University Press,  Search the web. Many programs with small number of variables can be downloaded free.

A Circuit Optimization Problem  Given:  Circuit netlist  Cell library with multiple versions for each cell  Select cell versions to optimize a specified characteristic of the circuit. Typical characteristics are:  Area  Power  Delay Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)40

Example: Cell(X), X = 0 or 1  X: an integer variable for each gate.  X = 0  Delay = d  Power = 3 × p  X = 1  Delay = 2 × d  Power = 0.5 × p  Cell delay = (1 – X) d + 2 X d  Power = 3(1 – X) p X p Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)41

ILP Model: Minimum Power & Delay  Ti = signal arrival time at ith input; Ti = 0 for all PIs  Tk = signal arrival time at cell output  Tk ≥ Ti + (1 – Xk) dk + 2 Xk dk, for all i Where, dk = nominal delay of gate Xk = 0 or 1, specifies version of cell Minimize α TPO + ∑ [3(1 – Xk) pk Xk pk]α is constant all k all k Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)42 kth Cell Arrival time = Tk Arrival time = T1 Ti

Given Clock Specification  Tj = 0, for all primary inputs j  Tk ≤ clock period, for all primary outputs k  Tk ≥ Ti + (1 – Xk) dk + 2 Xk dk, for all gates k with input i Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)43 Combinational Logic Register Clock

Minimum Power Design  Minimize ∑ 3(1 – Xk) pk Xk pk all k wherepk = nominal power consumption of kth cell Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)44

Logic Minimization  Consider a four-variable function, {2,4,6,8,9,10,12,13,15}  Karnaugh map shows prime implicants (PI) found by Quine-McCluskey procedure.  Find the minimum number of Pis to cover all minterms. Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal) A B C D EPI’s Non-EPI’s

Select a Minimal Set of PI’s Covered by EPI →xxxxx Minterm → PI1xxxx PI2xx PI3xx PI4xx PI5xx PI6xx PI7xx Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)46 1.First select essential prime implicants (EPIs). 2.Cover remaining minterms with smallest number of prime implicants (Pis).

Cover Remaining Minterms Remaining minterms →24610 PI2xx PI3xx PI4xx PI5x PI6x Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)47 Integer linear program (ILP): Define integer {0,1} variables, xk = 1, select PIk; xk = 0, do not select PIk. Minimize  k xk, subject to following constraints: x2 + x3 ≥ 1(cover minterm 2) x4 + x5 ≥ 1(cover minterm 4) x2 + x4 ≥ 1(cover minterm 6) x3 + x6 ≥ 1(cover minterm 10) A solution is x3 = x4 = 1, x2 = x5 = x6 = 0

Minimized Function  F(A,B,C,D) =PI1 + PI3 + PI4 + PI7 =A  C +  B C  D +  A B  D + A B D =A  C +  B C  D +  A B  D + A B D Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal) A B C D EPI’s in MSOP Selected PIs Pis not selected

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)49 Comb. Circuit Power Optimization  Given a set of test vectors  Reorder vectors to minimize the number of transitions at primary inputs Combinational circuit (tested by exhaustive vectors) Rearranged vector set produces 7 transitions transitions

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)50 Reducing Comb. Test Power V1V2V3 V4V Original tests: V1 V2 V3 V4 V5 10 input transitions Traveling salesperson problem (TSP) finds the shortest distance closed path (or cycle) to visit all nodes exactly once. But, we need an open loop solution. Reordered tests: V1 V3 V5 V4 V input transitions

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)51 Open-Loop TSP  Add a node V0 at distance 0 from all other nodes.  Solve TSP for the new graph.  Delete V0 from the solution. V1V2V3 V4V V

Combinational Vector Ordering  See: P. Wray, “Minimize test power for benchmark circuit c6288 by optimal ordering of vectors,” ELEC 6270 Class Project Report, Spring 2009,  TSP has exponential complexity; good heuristics are available.  For other extensions:  V. Dabholkar, S. Chakravarty, I Pomeranz and S. Reddy, “Techniques for Minimizing Power Dissipation in Scan and Combinational Circuits During Test Application,” IEEE Trans. CAD, vol. 17, no. 12, pp , Dec  Typical average power saving:  30-50%  50-60% with vector repetition (to satisfy peak power)  ? ? ? With inserted vectors (to satisfy peak power) Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)52

Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)53 Traveling Salesperson Problem  A. V. Aho, J. E. Hopcroft anf J. D. Ullman, Data Structures and Algorithms, Reading, Massachusetts: Addison-Wesley,  E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer Science Press,  B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, K. R. Coombes, J. E. Osborn and G. J. Stuck, A Guide to MATLAB for Beginners and Experienced Users, Cambridge University Press, 2006.