cad for vlsi ramakrishna lecture#1

Post on 06-Jan-2018

244 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

CAD for VLSI

Ramakrishnasramki@gmail.com

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.

© 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

© Ramakrishna 4

IC Complexity

© Ramakrishna 5

© 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

© 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

© 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

© Ramakrishna 9

Transistors counted as seconds

© Ramakrishna 10

Productivity Gap

© Ramakrishna 11

Design Steps

© 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

© Ramakrishna 13

Evolution of CAD

© Ramakrishna 14

Past Trends & its Impact

© Ramakrishna 15

Design Goals

© Ramakrishna 16

CAD Goals

© Ramakrishna 17

Principles of Dealing with Complexity

• Abstraction• Hierarchical• Regularity• Design Methodology

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

© Ramakrishna 18

Handling Complexity

© Ramakrishna 19

© 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

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

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

© 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

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

© 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

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

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

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

top related