prev

next

of 28

View

220Download

0

Embed Size (px)

DESCRIPTION

© Ramakrishna3 Lecture#1 Outline Introduction to CAD Graph terminology Combinatorial Optimization Reference G DeMicheli “Synthesis and Optimization of Digital Circuits” – Ch1 & Ch – 2.4

CAD for VLSI Ramakrishna Lecture#1 Ramakrishna2 Scope of Course-ware This course material has been developed to supplement the the discussions during the lectures in class. You can use this as the principal reference material. However, this course material is not a text book. You may still want to read up some of the books listed in the reference list to gain more insight or to get alternate explanation for a given topic. Your feedback is welcome in terms of any corrections or any additions to be done to the course-ware to improve its utility. Ramakrishna3 Lecture#1 Outline Introduction to CAD Graph terminology Combinatorial Optimization Reference G DeMicheli Synthesis and Optimization of Digital Circuits Ch1 & Ch 2.4 Ramakrishna4 IC Complexity Ramakrishna5 6 UDSM Issues New issues and problems arising in UDSM technology catastrophic yield: critical area, antennas parametric yield: density control (filling) for CMP parametric yield: sub wavelength lithography implications optical proximity correction (OPC) phase-shifting mask design (PSM) signal integrity crosstalk and delay uncertainty DC electromigration AC self-heat hot electrons Current context: cell-based place-and-route methodology placement and routing formulations, basic technologies methodology contexts Ramakrishna7 UDSM Issues contd Manufacturability (chip can't be built) antenna rules minimum area rules for stacked vias CMP (chemical mechanical polishing) area fill rules layout corrections for optical proximity effects in subwavelength lithography; associated verification issues Signal integrity (failure to meet timing targets) crosstalk induced errors timing dependence on crosstalk IR drop on power supplies Reliability (design failures in the field) electromigration on power supplies hot electron effects on devices wire self heat effects on clocks and signals Ramakrishna8 9 Transistors counted as seconds Ramakrishna10 Productivity Gap Ramakrishna11 Design Steps Ramakrishna12 Design Automation Tools are used at every step Manual intervention is still require Tools do not scale up very well Many problems are NP-Complete Theory vs. Practice Ramakrishna13 Evolution of CAD Ramakrishna14 Past Trends & its Impact Ramakrishna15 Design Goals Ramakrishna16 CAD Goals Ramakrishna17 Principles of Dealing with Complexity Abstraction Hierarchical Regularity Design Methodology Engg becomes a discipline Predefined decisions Self-imposed restrictions Basis for automation Ramakrishna18 Handling Complexity Ramakrishna19 Ramakrishna20 CAD Problems Mathematically, most CAD tools address combinatorial decision and optimization problems Decision problems have a binary (true or false) solution e.g. Are these 2 functions equivalent? Optimization problems are targeted to finding a minimum cost solution e.g. Find a minimum delay logic implementation of a function Most of these problems are intractable (NP-hard or NP complete) Exact algorithms are of exponential complexity or higher Must use heuristics (approximation algorithms) to get inexact but practical solutions, using reasonable computer time and memory Ramakrishna21 Summary Goals of CAD: Handle complexity, optimize tradeoffs Evolution and trends Principles for handling complexity: Hierarchy, regularity, abstraction, methodology Design process: specify, implement, check Design representations Successive refinements of Structure, Behavior, and Physical details Design flows Taxonomy of CAD tools creation (capture/planning/synthesis); checking (static or dynamic) Ramakrishna22 Graph Terminology G(V, E) Where V is the set and E is the binary relation on V Directed edges between v i to v j (v i, v j ) and undirected edge as {vi, vj} Degree of vertex is # edges incident on it. Hypercube is an extension where the edges may be incident to any # vertices. Ramakrishna23 Graph Terminology Contd Adjacency edge incident on both the nodes. Loop edge with two identical end-points Walk Alternate sequence of vertices and edges Trail walk with distinct edges Path trail with distinct vertices Cycle closed walk with distinct vertices Acyclic graph with no cycles. Cutset Minimal set of edges removal. Vertex separation set minimal set of vertex removal Ramakrishna24 Computational Complexity Computational complexity: an abstract measure of the time and space necessary to execute an algorithm as function of its input size. Input size examples: sort n words of bounded length n the input is the integer n lgn the input is the graphG(V, E) |V| and |E| Time complexity is expressed in elementary computational steps (e.g., an addition, multiplication, pointer indirection). Space Complexity is expressed in memory locations (e.g. bits, bytes, words). Ramakrishna25 Asymptotic Functions Polynomial-time complexity: O(n k ), where n is the input size and k is a constant. Example polynomial functions: 999: constant lgn: logarithmic n: Sublinear n: linear nlgn: loglinear n 2 : quadratic n 3 : cubic Example non-polynomial functions 2 n, 3 n : exponential n!: factorial Ramakrishna26 Combinatorial Optimization Designing require modeling in a precise mathematical framework. Most of the problems are discrete in nature in digital domain. Combinatorial decision and optimization problems. Ramakrishna27 Decision Problem Decision problems : problem that can only be answered with yes" or no MST: Given a graph G=(V, E) and a bound K, is there a spanning tree with a cost at most K? TSP: Given a set of cities, distance between each pair of cities, and a bound B, is there a route that starts and ends at a given city, visits every city exactly once, and has total distance at most B? A decision problem , has instances: I= (F, c, k) The set of of instances for which the answer is yes" is given by Y . A subtask of a decision problem is solution checking: given f F, checking whether the cost is less than k. Could apply binary search on decision problems to obtain solutions to optimization problems. NP-completeness is associated with decision problems. Ramakrishna28 Optimization Problems Problem: a general class, e.g., the shortest-path problem for directed acyclic graphs. Instance: a specific case of a problem, e.g., the shortest-path problem in a specific graph, between two given vertices. Optimization problems: those finding a legal configuration such that its cost is minimum (or maximum). MST: Given a graph G=(V, E), find the cost of a minimum spanning tree of G. An instance I = (F, c) where F is the set of feasible solutions, and c is a cost function, assigning a cost value to each feasible solution c :F R The solution of the optimization problem is the feasible solution with optimal (minimal/maximal) cost c.f., Optimal solutions/costs, optimal (exact) algorithms (Attn: optimal exact in the theoretic computer science community).