Transcript
Page 1: CAD for VLSI Ramakrishna Lecture#1

CAD for VLSI

[email protected]

Lecture#1

Page 2: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 2

Scope of Course-ware“This course material has been developed to supplement thethe discussions during the lectures in class. You can use thisas the principal reference material. However, this coursematerial is not a text book. You may still want to read upsome of the books listed in the reference list to gain moreinsight or to get alternate explanation for a given topic.”

Your feedback is welcome in terms of any corrections or anyadditions to be done to the course-ware to improve its utility.

Page 3: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 3

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

Page 4: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 4

IC Complexity

Page 5: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 5

Page 6: CAD for VLSI Ramakrishna Lecture#1

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

Page 7: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 7

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

Page 8: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 8

Issues in IC Design

New Figure 4 (Draft Rev. B, 3-12-99)

SYSTEM DESIGN

SUBSYSTEM DESIGN

CIRCUIT DESIGN

PHYSICAL DESIGN

MANUFACTURE INTERFACE

Design

Test

SW designPartitioningFunctional mapping

Test architecture

Logic optimizationTechnology mapping

Test logic insertion

Analog andmacro designExtraction

Test modelgeneration

DetailedplacementDetailedrouting

Patterngeneration & merge

Chip test &diagnostics

Floorplanning

Mask correctionYield optimizationSorting

Red denotes most challenging activity

Analysis PerformancemodelingPowerestimation

Powerestimation

Power, noiseanalysisSignal integrity

Powerdistributionanalysis

N/A

VerificationSystemsimulation

Functionalsimulation

Circuit simulation

LVS/DRCFormal checking

N/A

Static timing verification

Equivalence checking

Spec Xtrs MasksRTL/code Gates/Cells Chip

Page 9: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 9

Transistors counted as seconds

Page 10: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 10

Productivity Gap

Page 11: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 11

Design Steps

Page 12: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 12

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

Page 13: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 13

Evolution of CAD

Page 14: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 14

Past Trends & its Impact

Page 15: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 15

Design Goals

Page 16: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 16

CAD Goals

Page 17: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 17

Principles of Dealing with Complexity

• Abstraction• Hierarchical• Regularity• Design Methodology

– Engg becomes a discipline– Predefined decisions– Self-imposed restrictions– Basis for automation

Page 18: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 18

Handling Complexity

Page 19: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 19

Page 20: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 20

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

Page 21: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 21

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)

Page 22: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 22

Graph Terminology

• G(V, E) Where V is the set and E is the binary relation on V

• Directed edges between vi to vj (vi, vj) 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.

Page 23: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 23

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

Page 24: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 24

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 lg⇒ n– 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).

Page 25: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 25

Asymptotic Functions• Polynomial-time complexity: O(nk), where n is the input

size and k is a constant.• Example polynomial functions:

– 999: constant– lgn: logarithmic– √n: Sublinear– n: linear– nlgn: loglinear– n2: quadratic– n3: cubic․

• Example non-polynomial functions– 2n, 3n: exponential– n!: factorial

Page 26: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 26

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.

Page 27: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 27

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.

Page 28: CAD for VLSI Ramakrishna Lecture#1

© Ramakrishna 28

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


Recommended