Presentation is loading. Please wait.

Presentation is loading. Please wait.

CAD for VLSI Ramakrishna Lecture#1.

Similar presentations


Presentation on theme: "CAD for VLSI Ramakrishna Lecture#1."— Presentation transcript:

1 CAD for VLSI Ramakrishna sramki@gmail.com Lecture#1

2 © 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.

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

4 © Ramakrishna4 IC Complexity

5 © Ramakrishna5

6 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

7 © 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

8 © Ramakrishna8

9 9 Transistors counted as seconds

10 © Ramakrishna10 Productivity Gap

11 © Ramakrishna11 Design Steps

12 © 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

13 © Ramakrishna13 Evolution of CAD

14 © Ramakrishna14 Past Trends & its Impact

15 © Ramakrishna15 Design Goals

16 © Ramakrishna16 CAD Goals

17 © Ramakrishna17 Principles of Dealing with Complexity Abstraction Hierarchical Regularity Design Methodology –Engg becomes a discipline –Predefined decisions –Self-imposed restrictions –Basis for automation

18 © Ramakrishna18 Handling Complexity

19 © Ramakrishna19

20 © 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

21 © 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)

22 © 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.

23 © 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

24 © 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).

25 © 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

26 © 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.

27 © 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.

28 © 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).


Download ppt "CAD for VLSI Ramakrishna Lecture#1."

Similar presentations


Ads by Google